diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index f619eac..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Build and Deploy Flutter Web - -on: - push: - branches: - - main -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up Flutter - uses: subosito/flutter-action@v1 - with: - channel: 'stable' - - name: Get dependencies - run: | - cd example - flutter pub get - - uses: bluefireteam/flutter-gh-pages@v7 - with: - workingDir: example - baseHref: /flutter_ocr_sdk/ diff --git a/.gitignore b/.gitignore deleted file mode 100644 index ef9bc8d..0000000 --- a/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ - -# IntelliJ related -*.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 -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. -/pubspec.lock -**/doc/api/ -.dart_tool/ -.packages -build/ diff --git a/.last_build_id b/.last_build_id new file mode 100644 index 0000000..a2ed3ac --- /dev/null +++ b/.last_build_id @@ -0,0 +1 @@ +57bc06d43d40d381af4dd2773544be3e \ No newline at end of file diff --git a/.metadata b/.metadata deleted file mode 100644 index 87ee1c4..0000000 --- a/.metadata +++ /dev/null @@ -1,42 +0,0 @@ -# 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. - -version: - revision: f92f44110e87bad5ff168335c36da6f6053036e6 - channel: stable - -project_type: plugin - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: android - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: ios - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: linux - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: web - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: windows - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - # 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' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index fe3392a..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,49 +0,0 @@ -## 1.2.0 -- Support AGP 8 for Android. -- Update example code. - -## 1.1.4 -- Fixed dependency issue for iOS. - -## 1.1.3 -- Added try/catch for web license. - -## 1.1.2 -- Fixed confidence issue for web. - -## 1.1.1 -- Supported JSON serialization for `MrzResult` class. -- Refurbished the example app. - -## 1.1.0 -- Updated `init()` method. -- Implemented `recognizeByBuffer()` method asynchronously for Windows. - -## 1.0.0 -- Supported iOS development. - -## 0.5.0 -- Supported Linux development. - -## 0.4.0 -- Supported Windows development. - -## 0.3.1 -- Moved MRZ model to plugin assets. - -## 0.3.0 -- Supported web development. - -## 0.2.0 -- Added `MrzLine` class. -- Added image pixel format enum. -- Updated recognition APIs to return `List>` instead of `JSON String`. - -## 0.1.0 - -* Updated Dynamsoft Label Recognizer SDK. -* Supported three line MRZ. - -## 0.0.1 - -* Added basic APIs for Android. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 4004771..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 yushulx - -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/README.md b/README.md deleted file mode 100644 index ddffc3f..0000000 --- a/README.md +++ /dev/null @@ -1,102 +0,0 @@ -# Flutter MRZ SDK - -A wrapper for [Dynamsoft Label Recognizer v2.x](https://www.dynamsoft.com/label-recognition/overview/) with MRZ detection model. It helps developers build Flutter applications to detect machine-readable zones (**MRZ**) in passports, travel documents, and ID cards. - -## License Key -To use the SDK, you need a [license key for Dynamsoft Label Recognizer](https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform). Make sure to get your trial or commercial license before using the library. - -## Try Flutter MRZ Detection Example - -```bash -cd example -flutter run # for Android -flutter run -d chrome # for Web -flutter run -d windows # for Windows -``` - -![Flutter Passport MRZ recognition](https://www.dynamsoft.com/codepool/img/2024/10/flutter-passport-mrz-reader-scanner.png) - - -## Supported Platforms -- Android -- Web -- Windows -- Linux -- iOS - -## Installation -Add `flutter_ocr_sdk` as a dependency in your `pubspec.yaml` file. - -```yml -dependencies: - ... - flutter_ocr_sdk: -``` - -### Additional Step for Web -To support web functionality, include the JavaScript library of Dynamsoft Label Recognizer in your `index.html` file: - -```html - -``` - - -## API Compatibility -| Methods | Android | iOS | Windows | Linux | macOS | Web| -| ----------- | ----------- | ----------- | ----------- |----------- |----------- |----------- | -| `Future init(String key)` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | :heavy_check_mark: | -| `Future loadModel()` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | -| `Future>?> recognizeByFile(String filename)` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | -| `Future>?> recognizeByBuffer(Uint8List bytes, int width, int height, int stride, int format)` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |:heavy_check_mark: | :heavy_check_mark: | - - -## Usage -- Initialize the MRZ detector with a [valid license key](https://www.dynamsoft.com/customer/license/trialLicense/?product=dlr): - - ```dart - FlutterOcrSdk _mrzDetector = FlutterOcrSdk(); - int? ret = await _mrzDetector.init( "DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ=="); - ``` -- Load the MRZ detection model: - ```dart - await _mrzDetector.loadModel(); - ``` -- Recognize MRZ from an image file: - - ```dart - List>? results = await _mrzDetector.recognizeByFile(photo.path); - ``` -- Recognize MRZ from an image buffer: - - ```dart - ui.Image image = await decodeImageFromList(fileBytes); - - ByteData? byteData = - await image.toByteData(format: ui.ImageByteFormat.rawRgba); - - List>? results = await _mrzDetector.recognizeByBuffer( - byteData.buffer.asUint8List(), - image.width, - image.height, - byteData.lengthInBytes ~/ image.height, - ImagePixelFormat.IPF_ARGB_8888.index); - ``` -- Parse MRZ information: - - ```dart - String information = ''; - if (results != null && results.isNotEmpty) { - for (List area in results) { - if (area.length == 2) { - information = - MRZ.parseTwoLines(area[0].text, area[1].text).toString(); - } else if (area.length == 3) { - information = MRZ - .parseThreeLines(area[0].text, area[1].text, area[2].text) - .toString(); - } - } - } - ``` - - diff --git a/android/.gitignore b/android/.gitignore deleted file mode 100644 index 161bdcd..0000000 --- a/android/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/workspace.xml -/.idea/libraries -.DS_Store -/build -/captures -.cxx diff --git a/android/build.gradle b/android/build.gradle deleted file mode 100644 index 5291e46..0000000 --- a/android/build.gradle +++ /dev/null @@ -1,46 +0,0 @@ -group 'com.dynamsoft.flutter_ocr_sdk' -version '1.0' - -buildscript { - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.1.2' - } -} - -rootProject.allprojects { - repositories { - maven { - url "https://download2.dynamsoft.com/maven/aar" - } - google() - mavenCentral() - } -} - -apply plugin: 'com.android.library' - -android { - if (project.android.hasProperty('namespace')) { - namespace 'com.dynamsoft.flutter_ocr_sdk' - } - - compileSdkVersion 31 - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - defaultConfig { - minSdkVersion 21 - } -} - -dependencies { - implementation "com.dynamsoft:dynamsoftlabelrecognizer:2.2.20" -} \ No newline at end of file diff --git a/android/settings.gradle b/android/settings.gradle deleted file mode 100644 index c00777a..0000000 --- a/android/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'flutter_ocr_sdk' diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml deleted file mode 100644 index d661cba..0000000 --- a/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,3 +0,0 @@ - - diff --git a/android/src/main/java/com/dynamsoft/flutter_ocr_sdk/FlutterOcrSdkPlugin.java b/android/src/main/java/com/dynamsoft/flutter_ocr_sdk/FlutterOcrSdkPlugin.java deleted file mode 100644 index b0c61c0..0000000 --- a/android/src/main/java/com/dynamsoft/flutter_ocr_sdk/FlutterOcrSdkPlugin.java +++ /dev/null @@ -1,153 +0,0 @@ -package com.dynamsoft.flutter_ocr_sdk; - -import androidx.annotation.NonNull; - -import android.os.Handler; -import android.os.HandlerThread; -import android.os.Looper; -import io.flutter.embedding.engine.plugins.FlutterPlugin; -import io.flutter.plugin.common.MethodCall; -import io.flutter.plugin.common.MethodChannel; -import io.flutter.plugin.common.MethodChannel.MethodCallHandler; -import io.flutter.plugin.common.MethodChannel.Result; - -import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding; -import io.flutter.embedding.engine.plugins.activity.ActivityAware; -import android.app.Activity; - -import java.util.concurrent.Executor; -import java.util.concurrent.Executors; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** FlutterOcrSdkPlugin */ -public class FlutterOcrSdkPlugin implements FlutterPlugin, MethodCallHandler, ActivityAware { - /// The MethodChannel that will the communication between Flutter and native Android - /// - /// This local reference serves to register the plugin with the Flutter Engine and unregister it - /// when the Flutter Engine is detached from the Activity - private MethodChannel channel; - private OCRManager mOCRManager; - private HandlerThread mHandlerThread; - private Handler mHandler; - private final Executor mExecutor; - private FlutterPluginBinding flutterPluginBinding; - private Activity activity; - - public FlutterOcrSdkPlugin() { - mOCRManager = new OCRManager(); - mHandler = new Handler(Looper.getMainLooper()); - mExecutor = Executors.newSingleThreadExecutor(); - } - - @Override - public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) { - channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "flutter_ocr_sdk"); - channel.setMethodCallHandler(this); - this.flutterPluginBinding = flutterPluginBinding; - } - - @Override - public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) { - switch (call.method) { - case "getPlatformVersion": - result.success("Android " + android.os.Build.VERSION.RELEASE); - break; - case "init": { - final String license = call.argument("key"); - mOCRManager.init(license, activity, result); - break; - } - case "recognizeByFile": { - final String filename = call.argument("filename"); - final Result r = result; - mExecutor.execute(new Runnable() { - @Override - public void run() { - final ArrayList>> results = mOCRManager.recognizeByFile(filename); - mHandler.post(new Runnable() { - @Override - public void run() { - r.success(results); - } - }); - - } - }); - } - break; - case "recognizeByBuffer": { - final byte[] bytes = call.argument("bytes"); - final int width = call.argument("width"); - final int height = call.argument("height"); - final int stride = call.argument("stride"); - final int format = call.argument("format"); - final Result r = result; - mExecutor.execute(new Runnable() { - @Override - public void run() { - final ArrayList>> results = mOCRManager.recognizeByBuffer(bytes, width, height, stride, format); - mHandler.post(new Runnable() { - @Override - public void run() { - r.success(results); - } - }); - - } - }); - } - break; - case "loadModelFiles": { - final String name = call.argument("name"); - final byte[] prototxtBuffer = call.argument("prototxtBuffer"); - final byte[] txtBuffer = call.argument("txtBuffer"); - final byte[] characterModelBuffer = call.argument("characterModelBuffer"); - mOCRManager.loadModelFiles(name, prototxtBuffer, txtBuffer, characterModelBuffer); - result.success(0); - } - break; - case "loadTemplate": { - final String template = call.argument("template"); - mOCRManager.loadTemplate(template); - result.success(0); - } - break; - default: - result.notImplemented(); - } - } - - @Override - public void onDetachedFromEngine(@NonNull FlutterPluginBinding binding) { - channel.setMethodCallHandler(null); - flutterPluginBinding = null; - } - - private void bind(ActivityPluginBinding activityPluginBinding) { - activity = activityPluginBinding.getActivity(); - } - - @Override - public void onAttachedToActivity(ActivityPluginBinding activityPluginBinding) { - bind(activityPluginBinding); - } - - @Override - public void onReattachedToActivityForConfigChanges(ActivityPluginBinding activityPluginBinding) { - bind(activityPluginBinding); - } - - @Override - public void onDetachedFromActivityForConfigChanges() { - activity = null; - } - - @Override - public void onDetachedFromActivity() { - activity = null; - } -} diff --git a/android/src/main/java/com/dynamsoft/flutter_ocr_sdk/OCRManager.java b/android/src/main/java/com/dynamsoft/flutter_ocr_sdk/OCRManager.java deleted file mode 100644 index 6e5a1b0..0000000 --- a/android/src/main/java/com/dynamsoft/flutter_ocr_sdk/OCRManager.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.dynamsoft.flutter_ocr_sdk; - -import android.util.Log; - -import com.dynamsoft.core.ImageData; -import com.dynamsoft.core.CoreException; -import com.dynamsoft.core.LicenseManager; -import com.dynamsoft.core.LicenseVerificationListener; -import com.dynamsoft.dlr.LabelRecognizer; -import com.dynamsoft.dlr.DLRResult; -import com.dynamsoft.dlr.DLRLineResult; - -import android.content.Context; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import io.flutter.plugin.common.MethodChannel.Result; - -public class OCRManager { - private static String TAG = "OCR"; - private LabelRecognizer mLabelRecognizer; - - public OCRManager() { - try { - mLabelRecognizer = new LabelRecognizer(); - } catch (Exception e) { - e.printStackTrace(); - } - - } - - public void init(String license, Context context, final Result result) { - LicenseManager.initLicense( - license, context, - new LicenseVerificationListener() { - @Override - public void licenseVerificationCallback(boolean isSuccessful, CoreException e) { - if (isSuccessful) - { - result.success(0); - } - else { - result.success(-1); - } - } - }); - } - - public ArrayList>> recognizeByFile(String fileName) { - ArrayList>> ret = new ArrayList>>(); - DLRResult[] results = null; - try { - results = mLabelRecognizer.recognizeFile(fileName); - ret = wrapResults(results); - } catch (Exception e) { - Log.e(TAG, e.toString()); - } - return ret; - } - - public ArrayList>> recognizeByBuffer(byte[] bytes, int width, int height, int stride, int format) { - ArrayList>> ret = new ArrayList>>(); - DLRResult[] results = null; - ImageData data = new ImageData(); - data.bytes = bytes; - data.width = width; - data.height = height; - data.stride = stride; - data.format = format; - try { - results = mLabelRecognizer.recognizeBuffer(data); - ret = wrapResults(results); - } catch (Exception e) { - Log.e(TAG, e.toString()); - } - return ret; - } - - private ArrayList>> wrapResults(DLRResult[] results) { - ArrayList>> objectList = new ArrayList>>(); - if (results != null) { - try { - for (DLRResult result : results) { - ArrayList> area = new ArrayList>(); - - DLRLineResult[] lineResults = result.lineResults; - for (DLRLineResult lineResult : lineResults) { - HashMap line = new HashMap<>(); - - line.put("confidence", lineResult.confidence); - line.put("text", lineResult.text); - line.put("x1", lineResult.location.points[0].x); - line.put("y1", lineResult.location.points[0].y); - line.put("x2", lineResult.location.points[1].x); - line.put("y2", lineResult.location.points[1].y); - line.put("x3", lineResult.location.points[2].x); - line.put("y3", lineResult.location.points[2].y); - line.put("x4", lineResult.location.points[3].x); - line.put("y4", lineResult.location.points[3].y); - - area.add(line); - } - - objectList.add(area); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - return objectList; - } - - public void loadModelFiles(String name, byte[] prototxtBuffer, byte[] txtBuffer, byte[] characterModelBuffer) { - try { - mLabelRecognizer.appendCharacterModelBuffer(name, prototxtBuffer, txtBuffer, characterModelBuffer); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public void loadTemplate(String content) { - try { - mLabelRecognizer.initRuntimeSettings(content); - } catch (Exception e) { - e.printStackTrace(); - } - } -} diff --git a/assets/AssetManifest.bin b/assets/AssetManifest.bin new file mode 100644 index 0000000..d8b5171 --- /dev/null +++ b/assets/AssetManifest.bin @@ -0,0 +1 @@ + images/icon-about-gray.png  assetimages/icon-about-gray.pngimages/icon-about-orange.png  assetimages/icon-about-orange.pngimages/icon-arrow-green.png  assetimages/icon-arrow-green.pngimages/icon-arrow-orange.png  assetimages/icon-arrow-orange.pngimages/icon-camera.png  assetimages/icon-camera.pngimages/icon-delete.png  assetimages/icon-delete.pngimages/icon-history-gray.png  assetimages/icon-history-gray.pngimages/icon-history-orange.png  assetimages/icon-history-orange.pngimages/icon-home-gray.png  assetimages/icon-home-gray.pngimages/icon-home-orange.png  assetimages/icon-home-orange.pngimages/icon-image.png  assetimages/icon-image.pngimages/image-mrz.png  assetimages/image-mrz.pngimages/logo-dlr.png  assetimages/logo-dlr.png2packages/cupertino_icons/assets/CupertinoIcons.ttf  asset2packages/cupertino_icons/assets/CupertinoIcons.ttf1packages/flutter_ocr_sdk/lib/model/MRZ.caffemodel  asset1packages/flutter_ocr_sdk/lib/model/MRZ.caffemodel+packages/flutter_ocr_sdk/lib/model/MRZ.json  asset+packages/flutter_ocr_sdk/lib/model/MRZ.json/packages/flutter_ocr_sdk/lib/model/MRZ.prototxt  asset/packages/flutter_ocr_sdk/lib/model/MRZ.prototxt*packages/flutter_ocr_sdk/lib/model/MRZ.txt  asset*packages/flutter_ocr_sdk/lib/model/MRZ.txt \ No newline at end of file diff --git a/assets/AssetManifest.bin.json b/assets/AssetManifest.bin.json new file mode 100644 index 0000000..266c65f --- /dev/null +++ b/assets/AssetManifest.bin.json @@ -0,0 +1 @@ +"DRIHGmltYWdlcy9pY29uLWFib3V0LWdyYXkucG5nDAENAQcFYXNzZXQHGmltYWdlcy9pY29uLWFib3V0LWdyYXkucG5nBxxpbWFnZXMvaWNvbi1hYm91dC1vcmFuZ2UucG5nDAENAQcFYXNzZXQHHGltYWdlcy9pY29uLWFib3V0LW9yYW5nZS5wbmcHG2ltYWdlcy9pY29uLWFycm93LWdyZWVuLnBuZwwBDQEHBWFzc2V0BxtpbWFnZXMvaWNvbi1hcnJvdy1ncmVlbi5wbmcHHGltYWdlcy9pY29uLWFycm93LW9yYW5nZS5wbmcMAQ0BBwVhc3NldAccaW1hZ2VzL2ljb24tYXJyb3ctb3JhbmdlLnBuZwcWaW1hZ2VzL2ljb24tY2FtZXJhLnBuZwwBDQEHBWFzc2V0BxZpbWFnZXMvaWNvbi1jYW1lcmEucG5nBxZpbWFnZXMvaWNvbi1kZWxldGUucG5nDAENAQcFYXNzZXQHFmltYWdlcy9pY29uLWRlbGV0ZS5wbmcHHGltYWdlcy9pY29uLWhpc3RvcnktZ3JheS5wbmcMAQ0BBwVhc3NldAccaW1hZ2VzL2ljb24taGlzdG9yeS1ncmF5LnBuZwceaW1hZ2VzL2ljb24taGlzdG9yeS1vcmFuZ2UucG5nDAENAQcFYXNzZXQHHmltYWdlcy9pY29uLWhpc3Rvcnktb3JhbmdlLnBuZwcZaW1hZ2VzL2ljb24taG9tZS1ncmF5LnBuZwwBDQEHBWFzc2V0BxlpbWFnZXMvaWNvbi1ob21lLWdyYXkucG5nBxtpbWFnZXMvaWNvbi1ob21lLW9yYW5nZS5wbmcMAQ0BBwVhc3NldAcbaW1hZ2VzL2ljb24taG9tZS1vcmFuZ2UucG5nBxVpbWFnZXMvaWNvbi1pbWFnZS5wbmcMAQ0BBwVhc3NldAcVaW1hZ2VzL2ljb24taW1hZ2UucG5nBxRpbWFnZXMvaW1hZ2UtbXJ6LnBuZwwBDQEHBWFzc2V0BxRpbWFnZXMvaW1hZ2UtbXJ6LnBuZwcTaW1hZ2VzL2xvZ28tZGxyLnBuZwwBDQEHBWFzc2V0BxNpbWFnZXMvbG9nby1kbHIucG5nBzJwYWNrYWdlcy9jdXBlcnRpbm9faWNvbnMvYXNzZXRzL0N1cGVydGlub0ljb25zLnR0ZgwBDQEHBWFzc2V0BzJwYWNrYWdlcy9jdXBlcnRpbm9faWNvbnMvYXNzZXRzL0N1cGVydGlub0ljb25zLnR0ZgcxcGFja2FnZXMvZmx1dHRlcl9vY3Jfc2RrL2xpYi9tb2RlbC9NUlouY2FmZmVtb2RlbAwBDQEHBWFzc2V0BzFwYWNrYWdlcy9mbHV0dGVyX29jcl9zZGsvbGliL21vZGVsL01SWi5jYWZmZW1vZGVsBytwYWNrYWdlcy9mbHV0dGVyX29jcl9zZGsvbGliL21vZGVsL01SWi5qc29uDAENAQcFYXNzZXQHK3BhY2thZ2VzL2ZsdXR0ZXJfb2NyX3Nkay9saWIvbW9kZWwvTVJaLmpzb24HL3BhY2thZ2VzL2ZsdXR0ZXJfb2NyX3Nkay9saWIvbW9kZWwvTVJaLnByb3RvdHh0DAENAQcFYXNzZXQHL3BhY2thZ2VzL2ZsdXR0ZXJfb2NyX3Nkay9saWIvbW9kZWwvTVJaLnByb3RvdHh0BypwYWNrYWdlcy9mbHV0dGVyX29jcl9zZGsvbGliL21vZGVsL01SWi50eHQMAQ0BBwVhc3NldAcqcGFja2FnZXMvZmx1dHRlcl9vY3Jfc2RrL2xpYi9tb2RlbC9NUloudHh0" \ No newline at end of file diff --git a/assets/AssetManifest.json b/assets/AssetManifest.json new file mode 100644 index 0000000..4967a33 --- /dev/null +++ b/assets/AssetManifest.json @@ -0,0 +1 @@ +{"images/icon-about-gray.png":["images/icon-about-gray.png"],"images/icon-about-orange.png":["images/icon-about-orange.png"],"images/icon-arrow-green.png":["images/icon-arrow-green.png"],"images/icon-arrow-orange.png":["images/icon-arrow-orange.png"],"images/icon-camera.png":["images/icon-camera.png"],"images/icon-delete.png":["images/icon-delete.png"],"images/icon-history-gray.png":["images/icon-history-gray.png"],"images/icon-history-orange.png":["images/icon-history-orange.png"],"images/icon-home-gray.png":["images/icon-home-gray.png"],"images/icon-home-orange.png":["images/icon-home-orange.png"],"images/icon-image.png":["images/icon-image.png"],"images/image-mrz.png":["images/image-mrz.png"],"images/logo-dlr.png":["images/logo-dlr.png"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"],"packages/flutter_ocr_sdk/lib/model/MRZ.caffemodel":["packages/flutter_ocr_sdk/lib/model/MRZ.caffemodel"],"packages/flutter_ocr_sdk/lib/model/MRZ.json":["packages/flutter_ocr_sdk/lib/model/MRZ.json"],"packages/flutter_ocr_sdk/lib/model/MRZ.prototxt":["packages/flutter_ocr_sdk/lib/model/MRZ.prototxt"],"packages/flutter_ocr_sdk/lib/model/MRZ.txt":["packages/flutter_ocr_sdk/lib/model/MRZ.txt"]} \ No newline at end of file diff --git a/assets/FontManifest.json b/assets/FontManifest.json new file mode 100644 index 0000000..464ab58 --- /dev/null +++ b/assets/FontManifest.json @@ -0,0 +1 @@ +[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}] \ No newline at end of file diff --git a/assets/NOTICES b/assets/NOTICES new file mode 100644 index 0000000..babc35a --- /dev/null +++ b/assets/NOTICES @@ -0,0 +1,35049 @@ +aFileChooser + + 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 2011 - 2013 Paul Burke + + Licensed under the Apache License, Version 2.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 + +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. +-------------------------------------------------------------------------------- +abseil-cpp +angle +cpu_features +dart +etc1 +expat +flatbuffers +fuchsia_sdk +glslang +perfetto +shaderc +spirv-cross +txt +vulkan +vulkan-headers +vulkan-utility-libraries +vulkan-validation-layers +wuffs + +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. +-------------------------------------------------------------------------------- +accessibility + +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. +-------------------------------------------------------------------------------- +accessibility + +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. +-------------------------------------------------------------------------------- +accessibility + +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. +-------------------------------------------------------------------------------- +accessibility + +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. +-------------------------------------------------------------------------------- +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 + +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 + +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 + +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 + +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. +-------------------------------------------------------------------------------- +accessibility +angle + +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. +-------------------------------------------------------------------------------- +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 +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 +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 +engine +image_picker +spring_animation +tonic +txt +url_launcher_web +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 +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle + +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. +-------------------------------------------------------------------------------- +angle +xxhash + +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. +-------------------------------------------------------------------------------- +async +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. + +-------------------------------------------------------------------------------- +boolean_selector +meta + +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. + +-------------------------------------------------------------------------------- +boringssl + +Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) +All rights reserved. + +This package is an SSL implementation written +by Eric Young (eay@cryptsoft.com). +The implementation was written so as to conform with Netscapes SSL. + +This library is free for commercial and non-commercial use as long as +the following conditions are aheared to. The following conditions +apply to all code found in this distribution, be it the RC4, RSA, +lhash, DES, etc., code; not just the SSL code. The SSL documentation +included with this distribution is covered by the same copyright terms +except that the holder is Tim Hudson (tjh@cryptsoft.com). + +Copyright remains Eric Young's, and as such any Copyright notices in +the code are not to be removed. +If this package is used in a product, Eric Young should be given attribution +as the author of the parts of the library used. +This can be in the form of a textual message at program startup or +in documentation (online or textual) provided with the package. + +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 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. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word 'cryptographic' can be left out if the rouines from the library + being used are not cryptographic related :-). +4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + +THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +ANY EXPRESS OR IMPLIED 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 OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (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 licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be +copied and put under another distribution licence +[including the GNU Public Licence.] +-------------------------------------------------------------------------------- +boringssl + +Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +All rights reserved. + +This package is an SSL implementation written +by Eric Young (eay@cryptsoft.com). +The implementation was written so as to conform with Netscapes SSL. + +This library is free for commercial and non-commercial use as long as +the following conditions are aheared to. The following conditions +apply to all code found in this distribution, be it the RC4, RSA, +lhash, DES, etc., code; not just the SSL code. The SSL documentation +included with this distribution is covered by the same copyright terms +except that the holder is Tim Hudson (tjh@cryptsoft.com). + +Copyright remains Eric Young's, and as such any Copyright notices in +the code are not to be removed. +If this package is used in a product, Eric Young should be given attribution +as the author of the parts of the library used. +This can be in the form of a textual message at program startup or +in documentation (online or textual) provided with the package. + +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 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. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word 'cryptographic' can be left out if the rouines from the library + being used are not cryptographic related :-). +4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + +THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +ANY EXPRESS OR IMPLIED 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 OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (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 licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be +copied and put under another distribution licence +[including the GNU Public Licence.] +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2000 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2001 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2002 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2003 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2004 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2005 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2005 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2006 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2007 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1998-2011 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2002 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2003 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2004 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2005 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2007 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 1999-2008 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000-2002 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000-2003 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2000-2005 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2001 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2001-2011 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2002-2006 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2003 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2004 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2005 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2006 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2006,2007 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2008 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2010 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2011 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2011 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2012 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2013 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2014, Google Inc. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2015, Google Inc. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2016, Google Inc. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2017, Google Inc. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2017, the HRSS authors. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2018, Google Inc. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2018, Google Inc. +Copyright (c) 2020, Arm Ltd. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2019, Google Inc. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2020, Google Inc. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2021, Google Inc. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2022, Google Inc. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2022, Robert Nagy + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright (c) 2023, Google Inc. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + +Portions of the attached software ("Contribution") are developed by +SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + +The Contribution is licensed pursuant to the Eric Young open source +license provided above. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. + +Portions of the attached software ("Contribution") are developed by +SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. + +The Contribution is licensed pursuant to the OpenSSL open source +license provided above. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + licensing@OpenSSL.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +OF THE POSSIBILITY OF SUCH DAMAGE. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. +ECC cipher suite support in OpenSSL originally developed by +SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. +ECDH support in OpenSSL originally developed by +SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2005 Nokia. All rights reserved. + +The portions of the attached software ("Contribution") is developed by +Nokia Corporation and is licensed pursuant to the OpenSSL open source +license. + +The Contribution, originally written by Mika Kousa and Pasi Eronen of +Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites +support (see RFC 4279) to OpenSSL. + +No patent licenses or other rights except those expressly stated in +the OpenSSL open source license shall be deemed granted or received +expressly, by implication, estoppel, or otherwise. + +No assurances are provided by Nokia that the Contribution does not +infringe the patent or other intellectual property rights of any third +party or that the license provides you with all the necessary rights +to make use of the Contribution. + +THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN +ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA +SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY +OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR +OTHERWISE. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2007-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2010 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +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 +-------------------------------------------------------------------------------- +boringssl + +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 +-------------------------------------------------------------------------------- +boringssl + +Copyright 2012-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright (c) 2012, Intel Corporation. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +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 +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright (c) 2014, Intel Corporation. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved. +Copyright (c) 2015, Intel Inc. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2014-2020 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2015 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +https://www.openssl.org/source/license.html +-------------------------------------------------------------------------------- +boringssl + +Copyright 2016 Brian Smith. + +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. +-------------------------------------------------------------------------------- +boringssl + +Copyright 2016 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +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 +-------------------------------------------------------------------------------- +boringssl + +Copyright 2019 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +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 +-------------------------------------------------------------------------------- +boringssl + +Copyright 2023 The Chromium Authors +Use of this source code is governed by a BSD-style license that can be +found in the LICENSE file +-------------------------------------------------------------------------------- +boringssl + +Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + +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. +-------------------------------------------------------------------------------- +boringssl + +DTLS code by Eric Rescorla + +Copyright (C) 2006, Network Resonance, Inc. +Copyright (C) 2011, RTFM, Inc. +-------------------------------------------------------------------------------- +boringssl + +OpenSSL License +--------------- + +Copyright (c) 1998-2011 The OpenSSL 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: + +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. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + +4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + +5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + +6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + +THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY +EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (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 product includes cryptographic software written by Eric Young +(eay@cryptsoft.com). This product includes software written by Tim +Hudson (tjh@cryptsoft.com). + +Original SSLeay License +----------------------- + +Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +All rights reserved. + +This package is an SSL implementation written +by Eric Young (eay@cryptsoft.com). +The implementation was written so as to conform with Netscapes SSL. + +This library is free for commercial and non-commercial use as long as +the following conditions are aheared to. The following conditions +apply to all code found in this distribution, be it the RC4, RSA, +lhash, DES, etc., code; not just the SSL code. The SSL documentation +included with this distribution is covered by the same copyright terms +except that the holder is Tim Hudson (tjh@cryptsoft.com). + +Copyright remains Eric Young's, and as such any Copyright notices in +the code are not to be removed. +If this package is used in a product, Eric Young should be given attribution +as the author of the parts of the library used. +This can be in the form of a textual message at program startup or +in documentation (online or textual) provided with the package. + +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 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. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word 'cryptographic' can be left out if the rouines from the library + being used are not cryptographic related :-). +4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + +THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND +ANY EXPRESS OR IMPLIED 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 OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (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 licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be +copied and put under another distribution licence +[including the GNU Public Licence.] + +ISC license used for completely new code in BoringSSL: + +Copyright (c) 2015, Google Inc. + +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. + +The code in third_party/fiat carries the MIT license: + +Copyright (c) 2015-2016 the fiat-crypto authors (see +https://github.com/mit-plv/fiat-crypto/blob/master/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. + +Licenses for support code +------------------------- + +Parts of the TLS test suite are under the Go license. This code is not included +in BoringSSL (i.e. libcrypto and libssl) when compiled, however, so +distributing code linked against BoringSSL does not trigger this license: + +Copyright (c) 2009 The Go 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. + +BoringSSL uses the Chromium test infrastructure to run a continuous build, +trybots etc. The scripts which manage this, and the script for generating build +metadata, are under the Chromium license. Distributing code linked against +BoringSSL does not trigger this license. + +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. +-------------------------------------------------------------------------------- +camera +camera_android_camerax +camera_avfoundation +camera_platform_interface +camera_web +camera_windows +cross_file +file_selector_linux +file_selector_macos +file_selector_platform_interface +file_selector_windows +flutter_lints +flutter_plugin_android_lifecycle +image_picker_for_web +image_picker_linux +image_picker_macos +image_picker_platform_interface +image_picker_windows +path_provider +path_provider_android +path_provider_foundation +path_provider_linux +path_provider_platform_interface +path_provider_windows +plugin_platform_interface +shared_preferences +shared_preferences_android +shared_preferences_foundation +shared_preferences_linux +shared_preferences_platform_interface +shared_preferences_web +shared_preferences_windows +url_launcher +url_launcher_android +url_launcher_ios +url_launcher_linux +url_launcher_macos +url_launcher_platform_interface +url_launcher_windows +xdg_directories + +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. + +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +characters +ffi + +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. + +-------------------------------------------------------------------------------- +clock +fake_async + + + 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. +-------------------------------------------------------------------------------- +cpu_features + +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. +-------------------------------------------------------------------------------- +cpu_features + +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. +-------------------------------------------------------------------------------- +crypto +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. + +-------------------------------------------------------------------------------- +cupertino_icons + +The MIT License (MIT) + +Copyright (c) 2016 Vladimir Kharlampidi + +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 + +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. +-------------------------------------------------------------------------------- +dart + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +dart + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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 +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. +-------------------------------------------------------------------------------- +engine + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +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-2022 Sebastian Pipping +Copyright (c) 2016 Cristian Rodríguez +Copyright (c) 2016 Thomas Beutlich +Copyright (c) 2017 Rhodri James +Copyright (c) 2022 Thijs Schreijer + +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 + +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-2022 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 Dong-hee Na +Copyright (c) 2022 Samanta Navarro +Copyright (c) 2022 Jeffrey Walton +Copyright (c) 2022 Jann Horn + +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 + +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 + +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-2022 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 Dong-hee Na +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. +-------------------------------------------------------------------------------- +expat + +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-2022 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 + +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 + +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 + +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 + +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-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 + +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. +-------------------------------------------------------------------------------- +expat + +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-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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +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-2021 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Dong-hee 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. +-------------------------------------------------------------------------------- +expat + +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 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. +-------------------------------------------------------------------------------- +expat + +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-2021 Sebastian Pipping +Copyright (c) 2017 Rhodri James +Copyright (c) 2019 David Loffredo +Copyright (c) 2021 Dong-hee 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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper +Copyright (c) 2001-2022 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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 2000 Clark Cooper +Copyright (c) 2002 Greg Stein +Copyright (c) 2005 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. +-------------------------------------------------------------------------------- +expat + +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. +-------------------------------------------------------------------------------- +expat + +Copyright (c) 2002-2003 Fred L. Drake, Jr. +Copyright (c) 2002-2006 Karl Waclawek +Copyright (c) 2003 Greg Stein +Copyright (c) 2016-2022 Sebastian Pipping +Copyright (c) 2018 Yury Gribov +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. +-------------------------------------------------------------------------------- +expat +harfbuzz + +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. +-------------------------------------------------------------------------------- +fallback_root_certificates + +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/+/ffc8bb004a64f6357e3d5d1185e974e966f00931 +/third_party/fallback_root_certificates/ + +-------------------------------------------------------------------------------- +ffx_spd + +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. +-------------------------------------------------------------------------------- +ffx_spd + +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. +-------------------------------------------------------------------------------- +fiat + +Copyright (c) 2015-2020 the fiat-crypto authors (see + +https://github.com/mit-plv/fiat-crypto/blob/master/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. +-------------------------------------------------------------------------------- +file + +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. +-------------------------------------------------------------------------------- +fixnum +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. + +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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_exif_rotation + +BSD 3-Clause License + +Copyright (c) 2019, Nadia Ghebreial +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright 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 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. +-------------------------------------------------------------------------------- +flutter_ocr_sdk + +MIT License + +Copyright (c) 2021 yushulx + +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 (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. +-------------------------------------------------------------------------------- +freetype2 + +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. +-------------------------------------------------------------------------------- +freetype2 + +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. +-------------------------------------------------------------------------------- +freetype2 + +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. +-------------------------------------------------------------------------------- +freetype2 + +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. +-------------------------------------------------------------------------------- +freetype2 + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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 --- +-------------------------------------------------------------------------------- +freetype2 + +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. +-------------------------------------------------------------------------------- +freetype2 + +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".) +-------------------------------------------------------------------------------- +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 + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +glfw + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +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. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright 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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright 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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + Redistributions in binary form must reproduce the above + copyright 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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang + +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. +-------------------------------------------------------------------------------- +glslang +skia + +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. +-------------------------------------------------------------------------------- +glslang +spirv-cross + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +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 +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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,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. +-------------------------------------------------------------------------------- +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. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software 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,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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +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. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software 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 © 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 © 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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +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. + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software 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 © 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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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 © 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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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 © 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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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 © 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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz + +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. +-------------------------------------------------------------------------------- +harfbuzz +icu +web_unicode + +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. +-------------------------------------------------------------------------------- +http +http_parser +matcher +path +source_span +string_scanner + +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. + +-------------------------------------------------------------------------------- +icu + +# 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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-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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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-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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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-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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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-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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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, International Business Machines +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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 +Corporation and others. All Rights Reserved. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of data files and any associated documentation (the "Data Files") or +software and any associated documentation (the "Software") to deal in the +Data Files or Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, and/or sell +copies of the Data Files or Software, and to permit persons to whom the +Data Files or Software are furnished to do so, provided that either (a) +this copyright and permission notice appear with all copies of the Data +Files or Software, or (b) this copyright and permission notice appear in +associated Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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-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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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 - 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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-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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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-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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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-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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +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. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +THIRD PARTY RIGHTS. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE +BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA +FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. + +Except as contained in this notice, the name of a copyright holder shall +not be used in advertising 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) 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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +icu + +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. +-------------------------------------------------------------------------------- +include + +Copyright (C) 2011 Nick Bruun +Copyright (C) 2013 Vlad Lazarenko +Copyright (C) 2014 Nicolas Pauss +-------------------------------------------------------------------------------- +include + +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. +-------------------------------------------------------------------------------- +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: + +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. +-------------------------------------------------------------------------------- +include + +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. +-------------------------------------------------------------------------------- +include + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. + +-------------------------------------------------------------------------------- +json + +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. +-------------------------------------------------------------------------------- +khronos + +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. +-------------------------------------------------------------------------------- +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. + +-------------------------------------------------------------------------------- +libXNVCtrl + +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. +-------------------------------------------------------------------------------- +libXNVCtrl + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +libcxx +libcxxabi + +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. +-------------------------------------------------------------------------------- +libcxx +libcxxabi + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +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. + +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. +-------------------------------------------------------------------------------- +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. + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +libjpeg-turbo + +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." +-------------------------------------------------------------------------------- +libjpeg-turbo + +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 +-------------------------------------------------------------------------------- +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. + + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +libmicrohttpd +skia + +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. +-------------------------------------------------------------------------------- +libpng + +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. +-------------------------------------------------------------------------------- +libtess2 + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +libwebp + +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. +-------------------------------------------------------------------------------- +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. + +-------------------------------------------------------------------------------- +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. + +-------------------------------------------------------------------------------- +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. +See the License for the specific language governing permissions and +limitations under the License. +-------------------------------------------------------------------------------- +pkg + +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. +-------------------------------------------------------------------------------- +pkg + +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. +-------------------------------------------------------------------------------- +pkg + +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. +-------------------------------------------------------------------------------- +pkg + +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. +-------------------------------------------------------------------------------- +pkg + +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. +-------------------------------------------------------------------------------- +pkg + +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. +-------------------------------------------------------------------------------- +pkg + +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. +-------------------------------------------------------------------------------- +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 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. +-------------------------------------------------------------------------------- +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. + +-------------------------------------------------------------------------------- +platform_detect + + 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 2017 Workiva 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. + +-------------------------------------------------------------------------------- +rapidjson + +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. +-------------------------------------------------------------------------------- +rapidjson + +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. +-------------------------------------------------------------------------------- +rapidjson + +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. +-------------------------------------------------------------------------------- +rapidjson + +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. +-------------------------------------------------------------------------------- +share_plus + +Copyright 2017, the Flutter 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. + +-------------------------------------------------------------------------------- +share_plus_platform_interface + +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. + +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +Copyright 2019 Google LLC. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +Copyright 2020 Google LLC. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +skia + +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +sprintf + +Copyright (c) 2012, Richard Eames +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. + +-------------------------------------------------------------------------------- +sqlite + +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. +-------------------------------------------------------------------------------- +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. + +-------------------------------------------------------------------------------- +test_api + +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. + +-------------------------------------------------------------------------------- +uuid + +Copyright (c) 2021 Yulian Kuncheff + +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. +-------------------------------------------------------------------------------- +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. + +-------------------------------------------------------------------------------- +vulkan-validation-layers + +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers + +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. +-------------------------------------------------------------------------------- +vulkan-validation-layers +vulkan_memory_allocator + +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. +-------------------------------------------------------------------------------- +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. + +-------------------------------------------------------------------------------- +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. +-------------------------------------------------------------------------------- +win32 + +BSD 3-Clause License + +Copyright (c) 2024, Halil Durmus + +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 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 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. + +-------------------------------------------------------------------------------- +xxhash + +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. +-------------------------------------------------------------------------------- +xxhash + +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. +-------------------------------------------------------------------------------- +zlib + +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. +-------------------------------------------------------------------------------- +zlib + +Copyright (C) 1998-2005 Gilles Vollant +-------------------------------------------------------------------------------- +zlib + +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. +-------------------------------------------------------------------------------- +zlib + +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. +-------------------------------------------------------------------------------- +zlib + +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. +-------------------------------------------------------------------------------- +zlib + +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. +-------------------------------------------------------------------------------- +zlib + +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. +-------------------------------------------------------------------------------- +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 +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. +-------------------------------------------------------------------------------- +zlib + +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. diff --git a/assets/fonts/MaterialIcons-Regular.otf b/assets/fonts/MaterialIcons-Regular.otf new file mode 100644 index 0000000..aaa3774 Binary files /dev/null and b/assets/fonts/MaterialIcons-Regular.otf differ diff --git a/example/images/icon-about-gray.png b/assets/images/icon-about-gray.png similarity index 100% rename from example/images/icon-about-gray.png rename to assets/images/icon-about-gray.png diff --git a/example/images/icon-about-orange.png b/assets/images/icon-about-orange.png similarity index 100% rename from example/images/icon-about-orange.png rename to assets/images/icon-about-orange.png diff --git a/example/images/icon-arrow-green.png b/assets/images/icon-arrow-green.png similarity index 100% rename from example/images/icon-arrow-green.png rename to assets/images/icon-arrow-green.png diff --git a/example/images/icon-arrow-orange.png b/assets/images/icon-arrow-orange.png similarity index 100% rename from example/images/icon-arrow-orange.png rename to assets/images/icon-arrow-orange.png diff --git a/example/images/icon-camera.png b/assets/images/icon-camera.png similarity index 100% rename from example/images/icon-camera.png rename to assets/images/icon-camera.png diff --git a/example/images/icon-delete.png b/assets/images/icon-delete.png similarity index 100% rename from example/images/icon-delete.png rename to assets/images/icon-delete.png diff --git a/example/images/icon-history-gray.png b/assets/images/icon-history-gray.png similarity index 100% rename from example/images/icon-history-gray.png rename to assets/images/icon-history-gray.png diff --git a/example/images/icon-history-orange.png b/assets/images/icon-history-orange.png similarity index 100% rename from example/images/icon-history-orange.png rename to assets/images/icon-history-orange.png diff --git a/example/images/icon-home-gray.png b/assets/images/icon-home-gray.png similarity index 100% rename from example/images/icon-home-gray.png rename to assets/images/icon-home-gray.png diff --git a/example/images/icon-home-orange.png b/assets/images/icon-home-orange.png similarity index 100% rename from example/images/icon-home-orange.png rename to assets/images/icon-home-orange.png diff --git a/example/images/icon-image.png b/assets/images/icon-image.png similarity index 100% rename from example/images/icon-image.png rename to assets/images/icon-image.png diff --git a/example/images/image-mrz.png b/assets/images/image-mrz.png similarity index 100% rename from example/images/image-mrz.png rename to assets/images/image-mrz.png diff --git a/example/images/logo-dlr.png b/assets/images/logo-dlr.png similarity index 100% rename from example/images/logo-dlr.png rename to assets/images/logo-dlr.png diff --git a/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf b/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf new file mode 100644 index 0000000..ba5317d Binary files /dev/null and b/assets/packages/cupertino_icons/assets/CupertinoIcons.ttf differ diff --git a/lib/model/MRZ.caffemodel b/assets/packages/flutter_ocr_sdk/lib/model/MRZ.caffemodel similarity index 100% rename from lib/model/MRZ.caffemodel rename to assets/packages/flutter_ocr_sdk/lib/model/MRZ.caffemodel diff --git a/lib/model/MRZ.json b/assets/packages/flutter_ocr_sdk/lib/model/MRZ.json similarity index 100% rename from lib/model/MRZ.json rename to assets/packages/flutter_ocr_sdk/lib/model/MRZ.json diff --git a/lib/model/MRZ.prototxt b/assets/packages/flutter_ocr_sdk/lib/model/MRZ.prototxt similarity index 100% rename from lib/model/MRZ.prototxt rename to assets/packages/flutter_ocr_sdk/lib/model/MRZ.prototxt diff --git a/lib/model/MRZ.txt b/assets/packages/flutter_ocr_sdk/lib/model/MRZ.txt similarity index 100% rename from lib/model/MRZ.txt rename to assets/packages/flutter_ocr_sdk/lib/model/MRZ.txt diff --git a/assets/shaders/ink_sparkle.frag b/assets/shaders/ink_sparkle.frag new file mode 100644 index 0000000..d43532a --- /dev/null +++ b/assets/shaders/ink_sparkle.frag @@ -0,0 +1,126 @@ +{ + "sksl": { + "entrypoint": "ink_sparkle_fragment_main", + "shader": "// This SkSL shader is autogenerated by spirv-cross.\n\nfloat4 flutter_FragCoord;\n\nuniform vec4 u_color;\nuniform vec4 u_composite_1;\nuniform vec2 u_center;\nuniform float u_max_radius;\nuniform vec2 u_resolution_scale;\nuniform vec2 u_noise_scale;\nuniform float u_noise_phase;\nuniform vec2 u_circle1;\nuniform vec2 u_circle2;\nuniform vec2 u_circle3;\nuniform vec2 u_rotation1;\nuniform vec2 u_rotation2;\nuniform vec2 u_rotation3;\n\nvec4 fragColor;\n\nfloat u_alpha;\nfloat u_sparkle_alpha;\nfloat u_blur;\nfloat u_radius_scale;\n\nvec2 FLT_flutter_local_FlutterFragCoord()\n{\n return flutter_FragCoord.xy;\n}\n\nmat2 FLT_flutter_local_rotate2d(vec2 rad)\n{\n return mat2(vec2(rad.x, -rad.y), vec2(rad.y, rad.x));\n}\n\nfloat FLT_flutter_local_soft_circle(vec2 uv, vec2 xy, float radius, float blur)\n{\n float blur_half = blur * 0.5;\n float d = distance(uv, xy);\n return 1.0 - smoothstep(1.0 - blur_half, 1.0 + blur_half, d / radius);\n}\n\nfloat FLT_flutter_local_circle_grid(vec2 resolution, inout vec2 p, vec2 xy, vec2 rotation, float cell_diameter)\n{\n vec2 param = rotation;\n p = (FLT_flutter_local_rotate2d(param) * (xy - p)) + xy;\n p = mod(p, vec2(cell_diameter)) / resolution;\n float cell_uv = (cell_diameter / resolution.y) * 0.5;\n float r = 0.64999997615814208984375 * cell_uv;\n vec2 param_1 = p;\n vec2 param_2 = vec2(cell_uv);\n float param_3 = r;\n float param_4 = r * 50.0;\n return FLT_flutter_local_soft_circle(param_1, param_2, param_3, param_4);\n}\n\nfloat FLT_flutter_local_turbulence(vec2 uv)\n{\n vec2 uv_scale = uv * vec2(0.800000011920928955078125);\n vec2 param = vec2(0.800000011920928955078125);\n vec2 param_1 = uv_scale;\n vec2 param_2 = u_circle1;\n vec2 param_3 = u_rotation1;\n float param_4 = 0.17000000178813934326171875;\n float _319 = FLT_flutter_local_circle_grid(param, param_1, param_2, param_3, param_4);\n float g1 = _319;\n vec2 param_5 = vec2(0.800000011920928955078125);\n vec2 param_6 = uv_scale;\n vec2 param_7 = u_circle2;\n vec2 param_8 = u_rotation2;\n float param_9 = 0.20000000298023223876953125;\n float _331 = FLT_flutter_local_circle_grid(param_5, param_6, param_7, param_8, param_9);\n float g2 = _331;\n vec2 param_10 = vec2(0.800000011920928955078125);\n vec2 param_11 = uv_scale;\n vec2 param_12 = u_circle3;\n vec2 param_13 = u_rotation3;\n float param_14 = 0.2750000059604644775390625;\n float _344 = FLT_flutter_local_circle_grid(param_10, param_11, param_12, param_13, param_14);\n float g3 = _344;\n float v = (((g1 * g1) + g2) - g3) * 0.5;\n return clamp(0.449999988079071044921875 + (0.800000011920928955078125 * v), 0.0, 1.0);\n}\n\nfloat FLT_flutter_local_soft_ring(vec2 uv, vec2 xy, float radius, float thickness, float blur)\n{\n vec2 param = uv;\n vec2 param_1 = xy;\n float param_2 = radius + thickness;\n float param_3 = blur;\n float circle_outer = FLT_flutter_local_soft_circle(param, param_1, param_2, param_3);\n vec2 param_4 = uv;\n vec2 param_5 = xy;\n float param_6 = max(radius - thickness, 0.0);\n float param_7 = blur;\n float circle_inner = FLT_flutter_local_soft_circle(param_4, param_5, param_6, param_7);\n return clamp(circle_outer - circle_inner, 0.0, 1.0);\n}\n\nfloat FLT_flutter_local_triangle_noise(inout vec2 n)\n{\n n = fract(n * vec2(5.398700237274169921875, 5.442100048065185546875));\n n += vec2(dot(n.yx, n + vec2(21.5351009368896484375, 14.3136997222900390625)));\n float xy = n.x * n.y;\n return (fract(xy * 95.43070220947265625) + fract(xy * 75.0496063232421875)) - 1.0;\n}\n\nfloat FLT_flutter_local_threshold(float v, float l, float h)\n{\n return step(l, v) * (1.0 - step(h, v));\n}\n\nfloat FLT_flutter_local_sparkle(vec2 uv, float t)\n{\n vec2 param = uv;\n float _242 = FLT_flutter_local_triangle_noise(param);\n float n = _242;\n float param_1 = n;\n float param_2 = 0.0;\n float param_3 = 0.0500000007450580596923828125;\n float s = FLT_flutter_local_threshold(param_1, param_2, param_3);\n float param_4 = n + sin(3.1415927410125732421875 * (t + 0.3499999940395355224609375));\n float param_5 = 0.100000001490116119384765625;\n float param_6 = 0.1500000059604644775390625;\n s += FLT_flutter_local_threshold(param_4, param_5, param_6);\n float param_7 = n + sin(3.1415927410125732421875 * (t + 0.699999988079071044921875));\n float param_8 = 0.20000000298023223876953125;\n float param_9 = 0.25;\n s += FLT_flutter_local_threshold(param_7, param_8, param_9);\n float param_10 = n + sin(3.1415927410125732421875 * (t + 1.0499999523162841796875));\n float param_11 = 0.300000011920928955078125;\n float param_12 = 0.3499999940395355224609375;\n s += FLT_flutter_local_threshold(param_10, param_11, param_12);\n return clamp(s, 0.0, 1.0) * 0.550000011920928955078125;\n}\n\nvoid FLT_main()\n{\n u_alpha = u_composite_1.x;\n u_sparkle_alpha = u_composite_1.y;\n u_blur = u_composite_1.z;\n u_radius_scale = u_composite_1.w;\n vec2 p = FLT_flutter_local_FlutterFragCoord();\n vec2 uv_1 = p * u_resolution_scale;\n vec2 density_uv = uv_1 - mod(p, u_noise_scale);\n float radius = u_max_radius * u_radius_scale;\n vec2 param_13 = uv_1;\n float turbulence = FLT_flutter_local_turbulence(param_13);\n vec2 param_14 = p;\n vec2 param_15 = u_center;\n float param_16 = radius;\n float param_17 = 0.0500000007450580596923828125 * u_max_radius;\n float param_18 = u_blur;\n float ring = FLT_flutter_local_soft_ring(param_14, param_15, param_16, param_17, param_18);\n vec2 param_19 = density_uv;\n float param_20 = u_noise_phase;\n float sparkle = ((FLT_flutter_local_sparkle(param_19, param_20) * ring) * turbulence) * u_sparkle_alpha;\n vec2 param_21 = p;\n vec2 param_22 = u_center;\n float param_23 = radius;\n float param_24 = u_blur;\n float wave_alpha = (FLT_flutter_local_soft_circle(param_21, param_22, param_23, param_24) * u_alpha) * u_color.w;\n vec4 wave_color = vec4(u_color.xyz * wave_alpha, wave_alpha);\n fragColor = mix(wave_color, vec4(1.0), vec4(sparkle));\n}\n\nhalf4 main(float2 iFragCoord)\n{\n flutter_FragCoord = float4(iFragCoord, 0, 0);\n FLT_main();\n return fragColor;\n}\n", + "stage": 1, + "uniforms": [ + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 0, + "name": "u_color", + "rows": 4, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 1, + "name": "u_composite_1", + "rows": 4, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 2, + "name": "u_center", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 3, + "name": "u_max_radius", + "rows": 1, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 4, + "name": "u_resolution_scale", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 5, + "name": "u_noise_scale", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 6, + "name": "u_noise_phase", + "rows": 1, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 7, + "name": "u_circle1", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 8, + "name": "u_circle2", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 9, + "name": "u_circle3", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 10, + "name": "u_rotation1", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 11, + "name": "u_rotation2", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 12, + "name": "u_rotation3", + "rows": 2, + "type": 10 + } + ] + } +} \ No newline at end of file diff --git a/canvaskit/canvaskit.js b/canvaskit/canvaskit.js new file mode 100644 index 0000000..d023371 --- /dev/null +++ b/canvaskit/canvaskit.js @@ -0,0 +1,215 @@ + +var CanvasKitInit = (() => { + var _scriptDir = import.meta.url; + + return ( +async function(moduleArg = {}) { + +var r=moduleArg,aa,ba;r.ready=new Promise((a,b)=>{aa=a;ba=b}); +(function(a){a.Md=a.Md||[];a.Md.push(function(){a.MakeSWCanvasSurface=function(b){var c=b,e="undefined"!==typeof OffscreenCanvas&&c instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&c instanceof HTMLCanvasElement||e||(c=document.getElementById(b),c)))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.me=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var e={width:b,height:c,colorType:a.ColorType.RGBA_8888, +alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},f=b*c*4,k=a._malloc(f);if(e=a.Surface._makeRasterDirect(e,k,4*b))e.me=null,e.Ue=b,e.Re=c,e.Se=f,e.xe=k,e.getCanvas().clear(a.TRANSPARENT);return e};a.MakeRasterDirectSurface=function(b,c,e){return a.Surface._makeRasterDirect(b,c.byteOffset,e)};a.Surface.prototype.flush=function(b){a.Jd(this.Id);this._flush();if(this.me){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.xe,this.Se);c=new ImageData(c,this.Ue,this.Re);b?this.me.getContext("2d").putImageData(c, +0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.me.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=function(){this.xe&&a._free(this.xe);this.delete()};a.Jd=a.Jd||function(){};a.ne=a.ne||function(){return null}})})(r); +(function(a){a.Md=a.Md||[];a.Md.push(function(){function b(m,p,w){return m&&m.hasOwnProperty(p)?m[p]:w}function c(m){var p=da(ea);ea[p]=m;return p}function e(m){return m.naturalHeight||m.videoHeight||m.displayHeight||m.height}function f(m){return m.naturalWidth||m.videoWidth||m.displayWidth||m.width}function k(m,p,w,y){m.bindTexture(m.TEXTURE_2D,p);y||w.alphaType!==a.AlphaType.Premul||m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return p}function l(m,p,w){w||p.alphaType!==a.AlphaType.Premul|| +m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);m.bindTexture(m.TEXTURE_2D,null)}a.GetWebGLContext=function(m,p){if(!m)throw"null canvas passed into makeWebGLContext";var w={alpha:b(p,"alpha",1),depth:b(p,"depth",1),stencil:b(p,"stencil",8),antialias:b(p,"antialias",0),premultipliedAlpha:b(p,"premultipliedAlpha",1),preserveDrawingBuffer:b(p,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(p,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(p,"failIfMajorPerformanceCaveat", +0),enableExtensionsByDefault:b(p,"enableExtensionsByDefault",1),explicitSwapControl:b(p,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(p,"renderViaOffscreenBackBuffer",0)};w.majorVersion=p&&p.majorVersion?p.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(w.explicitSwapControl)throw"explicitSwapControl is not supported";m=fa(m,w);if(!m)return 0;ha(m);v.Ud.getExtension("WEBGL_debug_renderer_info");return m};a.deleteContext=function(m){v===ia[m]&&(v=null);"object"==typeof JSEvents&& +JSEvents.yf(ia[m].Ud.canvas);ia[m]&&ia[m].Ud.canvas&&(ia[m].Ud.canvas.Oe=void 0);ia[m]=null};a._setTextureCleanup({deleteTexture:function(m,p){var w=ea[p];w&&ia[m].Ud.deleteTexture(w);ea[p]=null}});a.MakeWebGLContext=function(m){if(!this.Jd(m))return null;var p=this._MakeGrContext();if(!p)return null;p.Id=m;var w=p.delete.bind(p);p["delete"]=function(){a.Jd(this.Id);w()}.bind(p);return v.ze=p};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Jd(this.Id); +this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Jd(this.Id);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Jd(this.Id);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(m){a.Jd(this.Id);this._setResourceCacheLimitBytes(m)};a.MakeOnScreenGLSurface=function(m,p,w,y,B,D){if(!this.Jd(m.Id))return null;p=void 0===B||void 0===D? +this._MakeOnScreenGLSurface(m,p,w,y):this._MakeOnScreenGLSurface(m,p,w,y,B,D);if(!p)return null;p.Id=m.Id;return p};a.MakeRenderTarget=function(){var m=arguments[0];if(!this.Jd(m.Id))return null;if(3===arguments.length){var p=this._MakeRenderTargetWH(m,arguments[1],arguments[2]);if(!p)return null}else if(2===arguments.length){if(p=this._MakeRenderTargetII(m,arguments[1]),!p)return null}else return null;p.Id=m.Id;return p};a.MakeWebGLCanvasSurface=function(m,p,w){p=p||null;var y=m,B="undefined"!== +typeof OffscreenCanvas&&y instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&y instanceof HTMLCanvasElement||B||(y=document.getElementById(m),y)))throw"Canvas with id "+m+" was not found";m=this.GetWebGLContext(y,w);if(!m||0>m)throw"failed to create webgl context: err "+m;m=this.MakeWebGLContext(m);p=this.MakeOnScreenGLSurface(m,y.width,y.height,p);return p?p:(p=y.cloneNode(!0),y.parentNode.replaceChild(p,y),p.classList.add("ck-replaced"),a.MakeSWCanvasSurface(p))};a.MakeCanvasSurface= +a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(m,p){a.Jd(this.Id);m=c(m);if(p=this._makeImageFromTexture(this.Id,m,p))p.he=m;return p};a.Surface.prototype.makeImageFromTextureSource=function(m,p,w){p||(p={height:e(m),width:f(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul});p.colorSpace||(p.colorSpace=a.ColorSpace.SRGB);a.Jd(this.Id);var y=v.Ud;w=k(y,y.createTexture(),p,w);2===v.version?y.texImage2D(y.TEXTURE_2D,0,y.RGBA,p.width,p.height, +0,y.RGBA,y.UNSIGNED_BYTE,m):y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,m);l(y,p);this._resetContext();return this.makeImageFromTexture(w,p)};a.Surface.prototype.updateTextureFromSource=function(m,p,w){if(m.he){a.Jd(this.Id);var y=m.getImageInfo(),B=v.Ud,D=k(B,ea[m.he],y,w);2===v.version?B.texImage2D(B.TEXTURE_2D,0,B.RGBA,f(p),e(p),0,B.RGBA,B.UNSIGNED_BYTE,p):B.texImage2D(B.TEXTURE_2D,0,B.RGBA,B.RGBA,B.UNSIGNED_BYTE,p);l(B,y,w);this._resetContext();ea[m.he]=null;m.he=c(D);y.colorSpace= +m.getColorSpace();p=this._makeImageFromTexture(this.Id,m.he,y);w=m.kd.Kd;B=m.kd.Pd;m.kd.Kd=p.kd.Kd;m.kd.Pd=p.kd.Pd;p.kd.Kd=w;p.kd.Pd=B;p.delete();y.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(m,p,w){p||(p={height:e(m),width:f(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul});p.colorSpace||(p.colorSpace=a.ColorSpace.SRGB);var y={makeTexture:function(){var B=v,D=B.Ud,u=k(D,D.createTexture(),p,w);2===B.version?D.texImage2D(D.TEXTURE_2D,0,D.RGBA, +p.width,p.height,0,D.RGBA,D.UNSIGNED_BYTE,m):D.texImage2D(D.TEXTURE_2D,0,D.RGBA,D.RGBA,D.UNSIGNED_BYTE,m);l(D,p,w);return c(u)},freeSrc:function(){}};"VideoFrame"===m.constructor.name&&(y.freeSrc=function(){m.close()});return a.Image._makeFromGenerator(p,y)};a.Jd=function(m){return m?ha(m):!1};a.ne=function(){return v&&v.ze&&!v.ze.isDeleted()?v.ze:null}})})(r); +(function(a){function b(g){return(f(255*g[3])<<24|f(255*g[0])<<16|f(255*g[1])<<8|f(255*g[2])<<0)>>>0}function c(g){if(g&&g._ck)return g;if(g instanceof Float32Array){for(var d=Math.floor(g.length/4),h=new Uint32Array(d),n=0;nz;z++)a.HEAPF32[t+n]=g[x][z],n++;g=h}else g=M;d.Rd=g}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof g;return d}function p(g){if(!g)return M;var d=T.toTypedArray();if(g.length){if(6===g.length||9===g.length)return l(g,"HEAPF32",H),6===g.length&&a.HEAPF32.set(fd,6+H/4),H;if(16===g.length)return d[0]=g[0],d[1]=g[1],d[2]=g[3],d[3]=g[4],d[4]=g[5],d[5]=g[7],d[6]=g[12],d[7]=g[13],d[8]=g[15],H;throw"invalid matrix size"; +}if(void 0===g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m41;d[3]=g.m12;d[4]=g.m22;d[5]=g.m42;d[6]=g.m14;d[7]=g.m24;d[8]=g.m44;return H}function w(g){if(!g)return M;var d=Y.toTypedArray();if(g.length){if(16!==g.length&&6!==g.length&&9!==g.length)throw"invalid matrix size";if(16===g.length)return l(g,"HEAPF32",ca);d.fill(0);d[0]=g[0];d[1]=g[1];d[3]=g[2];d[4]=g[3];d[5]=g[4];d[7]=g[5];d[10]=1;d[12]=g[6];d[13]=g[7];d[15]=g[8];6===g.length&&(d[12]=0,d[13]=0,d[15]=1);return ca}if(void 0=== +g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m31;d[3]=g.m41;d[4]=g.m12;d[5]=g.m22;d[6]=g.m32;d[7]=g.m42;d[8]=g.m13;d[9]=g.m23;d[10]=g.m33;d[11]=g.m43;d[12]=g.m14;d[13]=g.m24;d[14]=g.m34;d[15]=g.m44;return ca}function y(g,d){return l(g,"HEAPF32",d||va)}function B(g,d,h,n){var t=Na.toTypedArray();t[0]=g;t[1]=d;t[2]=h;t[3]=n;return va}function D(g){for(var d=new Float32Array(4),h=0;4>h;h++)d[h]=a.HEAPF32[g/4+h];return d}function u(g,d){return l(g,"HEAPF32",d||X)}function F(g,d){return l(g, +"HEAPF32",d||Eb)}a.Color=function(g,d,h,n){void 0===n&&(n=1);return a.Color4f(f(g)/255,f(d)/255,f(h)/255,n)};a.ColorAsInt=function(g,d,h,n){void 0===n&&(n=255);return(f(n)<<24|f(g)<<16|f(d)<<8|f(h)<<0&268435455)>>>0};a.Color4f=function(g,d,h,n){void 0===n&&(n=1);return Float32Array.of(g,d,h,n)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,"WHITE",{get:function(){return a.Color4f(1, +1,1,1)}});Object.defineProperty(a,"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,0,1,1)}});a.getColorComponents=function(g){return[Math.floor(255* +g[0]),Math.floor(255*g[1]),Math.floor(255*g[2]),g[3]]};a.parseColorString=function(g,d){g=g.toLowerCase();if(g.startsWith("#")){d=255;switch(g.length){case 9:d=parseInt(g.slice(7,9),16);case 7:var h=parseInt(g.slice(1,3),16);var n=parseInt(g.slice(3,5),16);var t=parseInt(g.slice(5,7),16);break;case 5:d=17*parseInt(g.slice(4,5),16);case 4:h=17*parseInt(g.slice(1,2),16),n=17*parseInt(g.slice(2,3),16),t=17*parseInt(g.slice(3,4),16)}return a.Color(h,n,t,d/255)}return g.startsWith("rgba")?(g=g.slice(5, +-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("rgb")?(g=g.slice(4,-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("gray(")||g.startsWith("hsl")||!d||(g=d[g],void 0===g)?a.BLACK:g};a.multiplyByAlpha=function(g,d){g=g.slice();g[3]=Math.max(0,Math.min(g[3]*d,1));return g};a.Malloc=function(g,d){var h=a._malloc(d*g.BYTES_PER_ELEMENT);return{_ck:!0,length:d,byteOffset:h,be:null,subarray:function(n,t){n=this.toTypedArray().subarray(n,t);n._ck=!0;return n},toTypedArray:function(){if(this.be&& +this.be.length)return this.be;this.be=new g(a.HEAPU8.buffer,h,d);this.be._ck=!0;return this.be}}};a.Free=function(g){a._free(g.byteOffset);g.byteOffset=M;g.toTypedArray=null;g.be=null};var H=M,T,ca=M,Y,va=M,Na,na,X=M,fc,Ba=M,gc,Fb=M,hc,Gb=M,hb,Sa=M,ic,Eb=M,jc,kc=M,fd=Float32Array.of(0,0,1),M=0;a.onRuntimeInitialized=function(){function g(d,h,n,t,x,z,E){z||(z=4*t.width,t.colorType===a.ColorType.RGBA_F16?z*=2:t.colorType===a.ColorType.RGBA_F32&&(z*=4));var J=z*t.height;var I=x?x.byteOffset:a._malloc(J); +if(E?!d._readPixels(t,I,z,h,n,E):!d._readPixels(t,I,z,h,n))return x||a._free(I),null;if(x)return x.toTypedArray();switch(t.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:d=(new Uint8Array(a.HEAPU8.buffer,I,J)).slice();break;case a.ColorType.RGBA_F32:d=(new Float32Array(a.HEAPU8.buffer,I,J)).slice();break;default:return null}a._free(I);return d}Na=a.Malloc(Float32Array,4);va=Na.byteOffset;Y=a.Malloc(Float32Array,16);ca=Y.byteOffset;T=a.Malloc(Float32Array,9);H=T.byteOffset;ic=a.Malloc(Float32Array, +12);Eb=ic.byteOffset;jc=a.Malloc(Float32Array,12);kc=jc.byteOffset;na=a.Malloc(Float32Array,4);X=na.byteOffset;fc=a.Malloc(Float32Array,4);Ba=fc.byteOffset;gc=a.Malloc(Float32Array,3);Fb=gc.byteOffset;hc=a.Malloc(Float32Array,3);Gb=hc.byteOffset;hb=a.Malloc(Int32Array,4);Sa=hb.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds= +function(d){var h=l(d,"HEAPF32"),n=a.Path._MakeFromCmds(h,d.length);k(h,d);return n};a.Path.MakeFromVerbsPointsWeights=function(d,h,n){var t=l(d,"HEAPU8"),x=l(h,"HEAPF32"),z=l(n,"HEAPF32"),E=a.Path._MakeFromVerbsPointsWeights(t,d.length,x,h.length,z,n&&n.length||0);k(t,d);k(x,h);k(z,n);return E};a.Path.prototype.addArc=function(d,h,n){d=u(d);this._addArc(d,h,n);return this};a.Path.prototype.addCircle=function(d,h,n,t){this._addCircle(d,h,n,!!t);return this};a.Path.prototype.addOval=function(d,h,n){void 0=== +n&&(n=1);d=u(d);this._addOval(d,!!h,n);return this};a.Path.prototype.addPath=function(){var d=Array.prototype.slice.call(arguments),h=d[0],n=!1;"boolean"===typeof d[d.length-1]&&(n=d.pop());if(1===d.length)this._addPath(h,1,0,0,0,1,0,0,0,1,n);else if(2===d.length)d=d[1],this._addPath(h,d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1,n);else if(7===d.length||10===d.length)this._addPath(h,d[1],d[2],d[3],d[4],d[5],d[6],d[7]||0,d[8]||0,d[9]||1,n);else return null;return this};a.Path.prototype.addPoly= +function(d,h){var n=l(d,"HEAPF32");this._addPoly(n,d.length/2,h);k(n,d);return this};a.Path.prototype.addRect=function(d,h){d=u(d);this._addRect(d,!!h);return this};a.Path.prototype.addRRect=function(d,h){d=F(d);this._addRRect(d,!!h);return this};a.Path.prototype.addVerbsPointsWeights=function(d,h,n){var t=l(d,"HEAPU8"),x=l(h,"HEAPF32"),z=l(n,"HEAPF32");this._addVerbsPointsWeights(t,d.length,x,h.length,z,n&&n.length||0);k(t,d);k(x,h);k(z,n)};a.Path.prototype.arc=function(d,h,n,t,x,z){d=a.LTRBRect(d- +n,h-n,d+n,h+n);x=(x-t)/Math.PI*180-360*!!z;z=new a.Path;z.addArc(d,t/Math.PI*180,x);this.addPath(z,!0);z.delete();return this};a.Path.prototype.arcToOval=function(d,h,n,t){d=u(d);this._arcToOval(d,h,n,t);return this};a.Path.prototype.arcToRotated=function(d,h,n,t,x,z,E){this._arcToRotated(d,h,n,!!t,!!x,z,E);return this};a.Path.prototype.arcToTangent=function(d,h,n,t,x){this._arcToTangent(d,h,n,t,x);return this};a.Path.prototype.close=function(){this._close();return this};a.Path.prototype.conicTo= +function(d,h,n,t,x){this._conicTo(d,h,n,t,x);return this};a.Path.prototype.computeTightBounds=function(d){this._computeTightBounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.cubicTo=function(d,h,n,t,x,z){this._cubicTo(d,h,n,t,x,z);return this};a.Path.prototype.dash=function(d,h,n){return this._dash(d,h,n)?this:null};a.Path.prototype.getBounds=function(d){this._getBounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.lineTo=function(d, +h){this._lineTo(d,h);return this};a.Path.prototype.moveTo=function(d,h){this._moveTo(d,h);return this};a.Path.prototype.offset=function(d,h){this._transform(1,0,d,0,1,h,0,0,1);return this};a.Path.prototype.quadTo=function(d,h,n,t){this._quadTo(d,h,n,t);return this};a.Path.prototype.rArcTo=function(d,h,n,t,x,z,E){this._rArcTo(d,h,n,t,x,z,E);return this};a.Path.prototype.rConicTo=function(d,h,n,t,x){this._rConicTo(d,h,n,t,x);return this};a.Path.prototype.rCubicTo=function(d,h,n,t,x,z){this._rCubicTo(d, +h,n,t,x,z);return this};a.Path.prototype.rLineTo=function(d,h){this._rLineTo(d,h);return this};a.Path.prototype.rMoveTo=function(d,h){this._rMoveTo(d,h);return this};a.Path.prototype.rQuadTo=function(d,h,n,t){this._rQuadTo(d,h,n,t);return this};a.Path.prototype.stroke=function(d){d=d||{};d.width=d.width||1;d.miter_limit=d.miter_limit||4;d.cap=d.cap||a.StrokeCap.Butt;d.join=d.join||a.StrokeJoin.Miter;d.precision=d.precision||1;return this._stroke(d)?this:null};a.Path.prototype.transform=function(){if(1=== +arguments.length){var d=arguments[0];this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1)}else if(6===arguments.length||9===arguments.length)d=arguments,this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.trim=function(d,h,n){return this._trim(d,h,!!n)?this:null};a.Image.prototype.encodeToBytes=function(d,h){var n=a.ne();d=d||a.ImageFormat.PNG;h=h||100; +return n?this._encodeToBytes(d,h,n):this._encodeToBytes(d,h)};a.Image.prototype.makeShaderCubic=function(d,h,n,t,x){x=p(x);return this._makeShaderCubic(d,h,n,t,x)};a.Image.prototype.makeShaderOptions=function(d,h,n,t,x){x=p(x);return this._makeShaderOptions(d,h,n,t,x)};a.Image.prototype.readPixels=function(d,h,n,t,x){var z=a.ne();return g(this,d,h,n,t,x,z)};a.Canvas.prototype.clear=function(d){a.Jd(this.Id);d=y(d);this._clear(d)};a.Canvas.prototype.clipRRect=function(d,h,n){a.Jd(this.Id);d=F(d);this._clipRRect(d, +h,n)};a.Canvas.prototype.clipRect=function(d,h,n){a.Jd(this.Id);d=u(d);this._clipRect(d,h,n)};a.Canvas.prototype.concat=function(d){a.Jd(this.Id);d=w(d);this._concat(d)};a.Canvas.prototype.drawArc=function(d,h,n,t,x){a.Jd(this.Id);d=u(d);this._drawArc(d,h,n,t,x)};a.Canvas.prototype.drawAtlas=function(d,h,n,t,x,z,E){if(d&&t&&h&&n&&h.length===n.length){a.Jd(this.Id);x||(x=a.BlendMode.SrcOver);var J=l(h,"HEAPF32"),I=l(n,"HEAPF32"),U=n.length/4,V=l(c(z),"HEAPU32");if(E&&"B"in E&&"C"in E)this._drawAtlasCubic(d, +I,J,V,U,x,E.B,E.C,t);else{let q=a.FilterMode.Linear,A=a.MipmapMode.None;E&&(q=E.filter,"mipmap"in E&&(A=E.mipmap));this._drawAtlasOptions(d,I,J,V,U,x,q,A,t)}k(J,h);k(I,n);k(V,z)}};a.Canvas.prototype.drawCircle=function(d,h,n,t){a.Jd(this.Id);this._drawCircle(d,h,n,t)};a.Canvas.prototype.drawColor=function(d,h){a.Jd(this.Id);d=y(d);void 0!==h?this._drawColor(d,h):this._drawColor(d)};a.Canvas.prototype.drawColorInt=function(d,h){a.Jd(this.Id);this._drawColorInt(d,h||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents= +function(d,h,n,t,x){a.Jd(this.Id);d=B(d,h,n,t);void 0!==x?this._drawColor(d,x):this._drawColor(d)};a.Canvas.prototype.drawDRRect=function(d,h,n){a.Jd(this.Id);d=F(d,Eb);h=F(h,kc);this._drawDRRect(d,h,n)};a.Canvas.prototype.drawImage=function(d,h,n,t){a.Jd(this.Id);this._drawImage(d,h,n,t||null)};a.Canvas.prototype.drawImageCubic=function(d,h,n,t,x,z){a.Jd(this.Id);this._drawImageCubic(d,h,n,t,x,z||null)};a.Canvas.prototype.drawImageOptions=function(d,h,n,t,x,z){a.Jd(this.Id);this._drawImageOptions(d, +h,n,t,x,z||null)};a.Canvas.prototype.drawImageNine=function(d,h,n,t,x){a.Jd(this.Id);h=l(h,"HEAP32",Sa);n=u(n);this._drawImageNine(d,h,n,t,x||null)};a.Canvas.prototype.drawImageRect=function(d,h,n,t,x){a.Jd(this.Id);u(h,X);u(n,Ba);this._drawImageRect(d,X,Ba,t,!!x)};a.Canvas.prototype.drawImageRectCubic=function(d,h,n,t,x,z){a.Jd(this.Id);u(h,X);u(n,Ba);this._drawImageRectCubic(d,X,Ba,t,x,z||null)};a.Canvas.prototype.drawImageRectOptions=function(d,h,n,t,x,z){a.Jd(this.Id);u(h,X);u(n,Ba);this._drawImageRectOptions(d, +X,Ba,t,x,z||null)};a.Canvas.prototype.drawLine=function(d,h,n,t,x){a.Jd(this.Id);this._drawLine(d,h,n,t,x)};a.Canvas.prototype.drawOval=function(d,h){a.Jd(this.Id);d=u(d);this._drawOval(d,h)};a.Canvas.prototype.drawPaint=function(d){a.Jd(this.Id);this._drawPaint(d)};a.Canvas.prototype.drawParagraph=function(d,h,n){a.Jd(this.Id);this._drawParagraph(d,h,n)};a.Canvas.prototype.drawPatch=function(d,h,n,t,x){if(24>d.length)throw"Need 12 cubic points";if(h&&4>h.length)throw"Need 4 colors";if(n&&8>n.length)throw"Need 4 shader coordinates"; +a.Jd(this.Id);const z=l(d,"HEAPF32"),E=h?l(c(h),"HEAPU32"):M,J=n?l(n,"HEAPF32"):M;t||(t=a.BlendMode.Modulate);this._drawPatch(z,E,J,t,x);k(J,n);k(E,h);k(z,d)};a.Canvas.prototype.drawPath=function(d,h){a.Jd(this.Id);this._drawPath(d,h)};a.Canvas.prototype.drawPicture=function(d){a.Jd(this.Id);this._drawPicture(d)};a.Canvas.prototype.drawPoints=function(d,h,n){a.Jd(this.Id);var t=l(h,"HEAPF32");this._drawPoints(d,t,h.length/2,n);k(t,h)};a.Canvas.prototype.drawRRect=function(d,h){a.Jd(this.Id);d=F(d); +this._drawRRect(d,h)};a.Canvas.prototype.drawRect=function(d,h){a.Jd(this.Id);d=u(d);this._drawRect(d,h)};a.Canvas.prototype.drawRect4f=function(d,h,n,t,x){a.Jd(this.Id);this._drawRect4f(d,h,n,t,x)};a.Canvas.prototype.drawShadow=function(d,h,n,t,x,z,E){a.Jd(this.Id);var J=l(x,"HEAPF32"),I=l(z,"HEAPF32");h=l(h,"HEAPF32",Fb);n=l(n,"HEAPF32",Gb);this._drawShadow(d,h,n,t,J,I,E);k(J,x);k(I,z)};a.getShadowLocalBounds=function(d,h,n,t,x,z,E){d=p(d);n=l(n,"HEAPF32",Fb);t=l(t,"HEAPF32",Gb);if(!this._getShadowLocalBounds(d, +h,n,t,x,z,X))return null;h=na.toTypedArray();return E?(E.set(h),E):h.slice()};a.Canvas.prototype.drawTextBlob=function(d,h,n,t){a.Jd(this.Id);this._drawTextBlob(d,h,n,t)};a.Canvas.prototype.drawVertices=function(d,h,n){a.Jd(this.Id);this._drawVertices(d,h,n)};a.Canvas.prototype.getDeviceClipBounds=function(d){this._getDeviceClipBounds(Sa);var h=hb.toTypedArray();d?d.set(h):d=h.slice();return d};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(ca);for(var d=ca,h=Array(16),n=0;16> +n;n++)h[n]=a.HEAPF32[d/4+n];return h};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(H);for(var d=Array(9),h=0;9>h;h++)d[h]=a.HEAPF32[H/4+h];return d};a.Canvas.prototype.makeSurface=function(d){d=this._makeSurface(d);d.Id=this.Id;return d};a.Canvas.prototype.readPixels=function(d,h,n,t,x){a.Jd(this.Id);return g(this,d,h,n,t,x)};a.Canvas.prototype.saveLayer=function(d,h,n,t){h=u(h);return this._saveLayer(d||null,h,n||null,t||0)};a.Canvas.prototype.writePixels=function(d,h,n,t,x, +z,E,J){if(d.byteLength%(h*n))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Jd(this.Id);var I=d.byteLength/(h*n);z=z||a.AlphaType.Unpremul;E=E||a.ColorType.RGBA_8888;J=J||a.ColorSpace.SRGB;var U=I*h;I=l(d,"HEAPU8");h=this._writePixels({width:h,height:n,colorType:E,alphaType:z,colorSpace:J},I,U,t,x);k(I,d);return h};a.ColorFilter.MakeBlend=function(d,h,n){d=y(d);n=n||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(d,h,n)};a.ColorFilter.MakeMatrix=function(d){if(!d||20!==d.length)throw"invalid color matrix"; +var h=l(d,"HEAPF32"),n=a.ColorFilter._makeMatrix(h);k(h,d);return n};a.ContourMeasure.prototype.getPosTan=function(d,h){this._getPosTan(d,X);d=na.toTypedArray();return h?(h.set(d),h):d.slice()};a.ImageFilter.prototype.getOutputBounds=function(d,h,n){d=u(d,X);h=p(h);this._getOutputBounds(d,h,Sa);h=hb.toTypedArray();return n?(n.set(h),n):h.slice()};a.ImageFilter.MakeDropShadow=function(d,h,n,t,x,z){x=y(x,va);return a.ImageFilter._MakeDropShadow(d,h,n,t,x,z)};a.ImageFilter.MakeDropShadowOnly=function(d, +h,n,t,x,z){x=y(x,va);return a.ImageFilter._MakeDropShadowOnly(d,h,n,t,x,z)};a.ImageFilter.MakeImage=function(d,h,n,t){n=u(n,X);t=u(t,Ba);if("B"in h&&"C"in h)return a.ImageFilter._MakeImageCubic(d,h.B,h.C,n,t);const x=h.filter;let z=a.MipmapMode.None;"mipmap"in h&&(z=h.mipmap);return a.ImageFilter._MakeImageOptions(d,x,z,n,t)};a.ImageFilter.MakeMatrixTransform=function(d,h,n){d=p(d);if("B"in h&&"C"in h)return a.ImageFilter._MakeMatrixTransformCubic(d,h.B,h.C,n);const t=h.filter;let x=a.MipmapMode.None; +"mipmap"in h&&(x=h.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(d,t,x,n)};a.Paint.prototype.getColor=function(){this._getColor(va);return D(va)};a.Paint.prototype.setColor=function(d,h){h=h||null;d=y(d);this._setColor(d,h)};a.Paint.prototype.setColorComponents=function(d,h,n,t,x){x=x||null;d=B(d,h,n,t);this._setColor(d,x)};a.Path.prototype.getPoint=function(d,h){this._getPoint(d,X);d=na.toTypedArray();return h?(h[0]=d[0],h[1]=d[1],h):d.slice(0,2)};a.Picture.prototype.makeShader=function(d, +h,n,t,x){t=p(t);x=u(x);return this._makeShader(d,h,n,t,x)};a.Picture.prototype.cullRect=function(d){this._cullRect(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.PictureRecorder.prototype.beginRecording=function(d,h){d=u(d);return this._beginRecording(d,!!h)};a.Surface.prototype.getCanvas=function(){var d=this._getCanvas();d.Id=this.Id;return d};a.Surface.prototype.makeImageSnapshot=function(d){a.Jd(this.Id);d=l(d,"HEAP32",Sa);return this._makeImageSnapshot(d)};a.Surface.prototype.makeSurface= +function(d){a.Jd(this.Id);d=this._makeSurface(d);d.Id=this.Id;return d};a.Surface.prototype.Te=function(d,h){this.ge||(this.ge=this.getCanvas());return requestAnimationFrame(function(){a.Jd(this.Id);d(this.ge);this.flush(h)}.bind(this))};a.Surface.prototype.requestAnimationFrame||(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.Te);a.Surface.prototype.Qe=function(d,h){this.ge||(this.ge=this.getCanvas());requestAnimationFrame(function(){a.Jd(this.Id);d(this.ge);this.flush(h);this.dispose()}.bind(this))}; +a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.Qe);a.PathEffect.MakeDash=function(d,h){h||(h=0);if(!d.length||1===d.length%2)throw"Intervals array must have even length";var n=l(d,"HEAPF32");h=a.PathEffect._MakeDash(n,d.length,h);k(n,d);return h};a.PathEffect.MakeLine2D=function(d,h){h=p(h);return a.PathEffect._MakeLine2D(d,h)};a.PathEffect.MakePath2D=function(d,h){d=p(d);return a.PathEffect._MakePath2D(d,h)};a.Shader.MakeColor=function(d,h){h=h||null;d=y(d);return a.Shader._MakeColor(d, +h)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(d,h,n,t,x,z,E,J){J=J||null;var I=m(n),U=l(t,"HEAPF32");E=E||0;z=p(z);var V=na.toTypedArray();V.set(d);V.set(h,2);d=a.Shader._MakeLinearGradient(X,I.Rd,I.colorType,U,I.count,x,E,z,J);k(I.Rd,n);t&&k(U,t);return d};a.Shader.MakeRadialGradient=function(d,h,n,t,x,z,E,J){J=J||null;var I=m(n),U=l(t,"HEAPF32");E=E||0;z=p(z);d=a.Shader._MakeRadialGradient(d[0],d[1],h,I.Rd,I.colorType,U,I.count,x,E, +z,J);k(I.Rd,n);t&&k(U,t);return d};a.Shader.MakeSweepGradient=function(d,h,n,t,x,z,E,J,I,U){U=U||null;var V=m(n),q=l(t,"HEAPF32");E=E||0;J=J||0;I=I||360;z=p(z);d=a.Shader._MakeSweepGradient(d,h,V.Rd,V.colorType,q,V.count,x,J,I,E,z,U);k(V.Rd,n);t&&k(q,t);return d};a.Shader.MakeTwoPointConicalGradient=function(d,h,n,t,x,z,E,J,I,U){U=U||null;var V=m(x),q=l(z,"HEAPF32");I=I||0;J=p(J);var A=na.toTypedArray();A.set(d);A.set(n,2);d=a.Shader._MakeTwoPointConicalGradient(X,h,t,V.Rd,V.colorType,q,V.count,E, +I,J,U);k(V.Rd,x);z&&k(q,z);return d};a.Vertices.prototype.bounds=function(d){this._bounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Md&&a.Md.forEach(function(d){d()})};a.computeTonalColors=function(g){var d=l(g.ambient,"HEAPF32"),h=l(g.spot,"HEAPF32");this._computeTonalColors(d,h);var n={ambient:D(d),spot:D(h)};k(d,g.ambient);k(h,g.spot);return n};a.LTRBRect=function(g,d,h,n){return Float32Array.of(g,d,h,n)};a.XYWHRect=function(g,d,h,n){return Float32Array.of(g,d,g+h,d+n)};a.LTRBiRect= +function(g,d,h,n){return Int32Array.of(g,d,h,n)};a.XYWHiRect=function(g,d,h,n){return Int32Array.of(g,d,g+h,d+n)};a.RRectXY=function(g,d,h){return Float32Array.of(g[0],g[1],g[2],g[3],d,h,d,h,d,h,d,h)};a.MakeAnimatedImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeAnimatedImage(d,g.byteLength))?g:null};a.MakeImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeImage(d,g.byteLength))? +g:null};var Ta=null;a.MakeImageFromCanvasImageSource=function(g){var d=g.width,h=g.height;Ta||(Ta=document.createElement("canvas"));Ta.width=d;Ta.height=h;var n=Ta.getContext("2d",{willReadFrequently:!0});n.drawImage(g,0,0);g=n.getImageData(0,0,d,h);return a.MakeImage({width:d,height:h,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},g.data,4*d)};a.MakeImage=function(g,d,h){var n=a._malloc(d.length);a.HEAPU8.set(d,n);return a._MakeImage(g,n,d.length,h)}; +a.MakeVertices=function(g,d,h,n,t,x){var z=t&&t.length||0,E=0;h&&h.length&&(E|=1);n&&n.length&&(E|=2);void 0===x||x||(E|=4);g=new a._VerticesBuilder(g,d.length/2,z,E);l(d,"HEAPF32",g.positions());g.texCoords()&&l(h,"HEAPF32",g.texCoords());g.colors()&&l(c(n),"HEAPU32",g.colors());g.indices()&&l(t,"HEAPU16",g.indices());return g.detach()};(function(g){g.Md=g.Md||[];g.Md.push(function(){function d(q){q&&(q.dir=0===q.dir?g.TextDirection.RTL:g.TextDirection.LTR);return q}function h(q){if(!q||!q.length)return[]; +for(var A=[],P=0;Pd)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.Font.prototype.getGlyphIntercepts=function(g,d,h,n){var t=l(g,"HEAPU16"),x=l(d,"HEAPF32");return this._getGlyphIntercepts(t, +g.length,!(g&&g._ck),x,d.length,!(d&&d._ck),h,n)};a.Font.prototype.getGlyphWidths=function(g,d,h){var n=l(g,"HEAPU16"),t=a._malloc(4*g.length);this._getGlyphWidthBounds(n,g.length,t,M,d||null);d=new Float32Array(a.HEAPU8.buffer,t,g.length);k(n,g);if(h)return h.set(d),a._free(t),h;g=Float32Array.from(d);a._free(t);return g};a.FontMgr.FromData=function(){if(!arguments.length)return null;var g=arguments;1===g.length&&Array.isArray(g[0])&&(g=arguments[0]);if(!g.length)return null;for(var d=[],h=[],n= +0;nd)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.TextBlob.MakeOnPath=function(g,d,h,n){if(g&&g.length&&d&&d.countPoints()){if(1===d.countPoints())return this.MakeFromText(g,h);n||(n=0);var t=h.getGlyphIDs(g);t=h.getGlyphWidths(t);var x=[];d=new a.ContourMeasureIter(d,!1,1);for(var z=d.next(),E=new Float32Array(4),J=0;Jz.length()){z.delete();z=d.next();if(!z){g=g.substring(0,J);break}n=I/2}z.getPosTan(n,E);var U=E[2],V=E[3];x.push(U,V,E[0]-I/2*U,E[1]-I/2*V);n+=I/2}g=this.MakeFromRSXform(g,x,h);z&&z.delete();d.delete();return g}};a.TextBlob.MakeFromRSXform=function(g,d,h){var n=ja(g)+1,t=a._malloc(n);ka(g,C,t,n);g=l(d,"HEAPF32");h=a.TextBlob._MakeFromRSXform(t,n-1,g,h);a._free(t);return h?h:null};a.TextBlob.MakeFromRSXformGlyphs=function(g,d,h){var n=l(g,"HEAPU16");d=l(d,"HEAPF32"); +h=a.TextBlob._MakeFromRSXformGlyphs(n,2*g.length,d,h);k(n,g);return h?h:null};a.TextBlob.MakeFromGlyphs=function(g,d){var h=l(g,"HEAPU16");d=a.TextBlob._MakeFromGlyphs(h,2*g.length,d);k(h,g);return d?d:null};a.TextBlob.MakeFromText=function(g,d){var h=ja(g)+1,n=a._malloc(h);ka(g,C,n,h);g=a.TextBlob._MakeFromText(n,h-1,d);a._free(n);return g?g:null};a.MallocGlyphIDs=function(g){return a.Malloc(Uint16Array,g)}});a.Md=a.Md||[];a.Md.push(function(){a.MakePicture=function(g){g=new Uint8Array(g);var d= +a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._MakePicture(d,g.byteLength))?g:null}});a.Md=a.Md||[];a.Md.push(function(){a.RuntimeEffect.Make=function(g,d){return a.RuntimeEffect._Make(g,{onError:d||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.MakeForBlender=function(g,d){return a.RuntimeEffect._MakeForBlender(g,{onError:d||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.prototype.makeShader=function(g,d){var h=!g._ck,n=l(g,"HEAPF32");d=p(d);return this._makeShader(n, +4*g.length,h,d)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(g,d,h){var n=!g._ck,t=l(g,"HEAPF32");h=p(h);for(var x=[],z=0;z{throw b;},pa="object"==typeof window,ra="function"==typeof importScripts,sa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,ta="",ua,wa,xa; +if(sa){const {createRequire:a}=await import("module");var require=a(import.meta.url),fs=require("fs"),ya=require("path");ra?ta=ya.dirname(ta)+"/":ta=require("url").fileURLToPath(new URL("./",import.meta.url));ua=(b,c)=>{b=b.startsWith("file://")?new URL(b):ya.normalize(b);return fs.readFileSync(b,c?void 0:"utf8")};xa=b=>{b=ua(b,!0);b.buffer||(b=new Uint8Array(b));return b};wa=(b,c,e,f=!0)=>{b=b.startsWith("file://")?new URL(b):ya.normalize(b);fs.readFile(b,f?void 0: +"utf8",(k,l)=>{k?e(k):c(f?l.buffer:l)})};!r.thisProgram&&1{process.exitCode=b;throw c;};r.inspect=()=>"[Emscripten Module object]"}else if(pa||ra)ra?ta=self.location.href:"undefined"!=typeof document&&document.currentScript&&(ta=document.currentScript.src),_scriptDir&&(ta=_scriptDir),0!==ta.indexOf("blob:")?ta=ta.substr(0,ta.replace(/[?#].*/,"").lastIndexOf("/")+1):ta="",ua=a=>{var b=new XMLHttpRequest;b.open("GET", +a,!1);b.send(null);return b.responseText},ra&&(xa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),wa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)};var Aa=r.print||console.log.bind(console),Ca=r.printErr||console.error.bind(console);Object.assign(r,la);la=null;r.thisProgram&&(ma=r.thisProgram); +r.quit&&(oa=r.quit);var Da;r.wasmBinary&&(Da=r.wasmBinary);var noExitRuntime=r.noExitRuntime||!0;"object"!=typeof WebAssembly&&Ea("no native wasm support detected");var Fa,G,Ga=!1,Ha,C,Ia,Ja,K,L,N,Ka;function La(){var a=Fa.buffer;r.HEAP8=Ha=new Int8Array(a);r.HEAP16=Ia=new Int16Array(a);r.HEAP32=K=new Int32Array(a);r.HEAPU8=C=new Uint8Array(a);r.HEAPU16=Ja=new Uint16Array(a);r.HEAPU32=L=new Uint32Array(a);r.HEAPF32=N=new Float32Array(a);r.HEAPF64=Ka=new Float64Array(a)}var Ma,Oa=[],Pa=[],Qa=[]; +function Ra(){var a=r.preRun.shift();Oa.unshift(a)}var Ua=0,Va=null,Wa=null;function Ea(a){if(r.onAbort)r.onAbort(a);a="Aborted("+a+")";Ca(a);Ga=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Xa(a){return a.startsWith("data:application/octet-stream;base64,")}var Ya;if(r.locateFile){if(Ya="canvaskit.wasm",!Xa(Ya)){var Za=Ya;Ya=r.locateFile?r.locateFile(Za,ta):ta+Za}}else Ya=(new URL("canvaskit.wasm",import.meta.url)).href; +function $a(a){if(a==Ya&&Da)return new Uint8Array(Da);if(xa)return xa(a);throw"both async and sync fetching of the wasm failed";}function ab(a){if(!Da&&(pa||ra)){if("function"==typeof fetch&&!a.startsWith("file://"))return fetch(a,{credentials:"same-origin"}).then(b=>{if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(()=>$a(a));if(wa)return new Promise((b,c)=>{wa(a,e=>b(new Uint8Array(e)),c)})}return Promise.resolve().then(()=>$a(a))} +function bb(a,b,c){return ab(a).then(e=>WebAssembly.instantiate(e,b)).then(e=>e).then(c,e=>{Ca("failed to asynchronously prepare wasm: "+e);Ea(e)})} +function cb(a,b){var c=Ya;return Da||"function"!=typeof WebAssembly.instantiateStreaming||Xa(c)||c.startsWith("file://")||sa||"function"!=typeof fetch?bb(c,a,b):fetch(c,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){Ca("wasm streaming compile failed: "+f);Ca("falling back to ArrayBuffer instantiation");return bb(c,a,b)}))}function db(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}var eb=a=>{for(;0>2]=b};this.we=function(b){L[this.Kd+8>>2]=b};this.Zd=function(b,c){this.ve();this.Pe(b);this.we(c)};this.ve=function(){L[this.Kd+16>>2]=0}} +var gb=0,ib=0,jb="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,kb=(a,b,c)=>{var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}, +lb={};function mb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function nb(a){return this.fromWireType(K[a>>2])}var ob={},pb={},qb={},rb=void 0;function sb(a){throw new rb(a);} +function tb(a,b,c){function e(m){m=c(m);m.length!==a.length&&sb("Mismatched type converter count");for(var p=0;p{pb.hasOwnProperty(m)?f[p]=pb[m]:(k.push(m),ob.hasOwnProperty(m)||(ob[m]=[]),ob[m].push(()=>{f[p]=pb[m];++l;l===k.length&&e(f)}))});0===k.length&&e(f)} +function vb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${a}`);}}var wb=void 0;function O(a){for(var b="";C[a];)b+=wb[C[a++]];return b}var xb=void 0;function Q(a){throw new xb(a);} +function yb(a,b,c={}){var e=b.name;a||Q(`type "${e}" must have a positive integer typeid pointer`);if(pb.hasOwnProperty(a)){if(c.ff)return;Q(`Cannot register type '${e}' twice`)}pb[a]=b;delete qb[a];ob.hasOwnProperty(a)&&(b=ob[a],delete ob[a],b.forEach(f=>f()))}function ub(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");yb(a,b,c)}function zb(a){Q(a.kd.Nd.Ld.name+" instance already deleted")}var Ab=!1;function Bb(){} +function Cb(a){--a.count.value;0===a.count.value&&(a.Pd?a.Td.Xd(a.Pd):a.Nd.Ld.Xd(a.Kd))}function Db(a,b,c){if(b===c)return a;if(void 0===c.Qd)return null;a=Db(a,b,c.Qd);return null===a?null:c.Ye(a)}var Jb={},Kb=[];function Lb(){for(;Kb.length;){var a=Kb.pop();a.kd.ee=!1;a["delete"]()}}var Mb=void 0,Nb={};function Ob(a,b){for(void 0===b&&Q("ptr should not be undefined");a.Qd;)b=a.ke(b),a=a.Qd;return Nb[b]} +function Pb(a,b){b.Nd&&b.Kd||sb("makeClassHandle requires ptr and ptrType");!!b.Td!==!!b.Pd&&sb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Qb(Object.create(a,{kd:{value:b}}))}function Qb(a){if("undefined"===typeof FinalizationRegistry)return Qb=b=>b,a;Ab=new FinalizationRegistry(b=>{Cb(b.kd)});Qb=b=>{var c=b.kd;c.Pd&&Ab.register(b,{kd:c},b);return b};Bb=b=>{Ab.unregister(b)};return Qb(a)}function Rb(){} +function Sb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a}function Tb(a,b){a=Sb(a);return{[a]:function(){return b.apply(this,arguments)}}[a]} +function Ub(a,b,c){if(void 0===a[b].Od){var e=a[b];a[b]=function(){a[b].Od.hasOwnProperty(arguments.length)||Q(`Function '${c}' called with an invalid number of arguments (${arguments.length}) - expects one of (${a[b].Od})!`);return a[b].Od[arguments.length].apply(this,arguments)};a[b].Od=[];a[b].Od[e.ce]=e}} +function Vb(a,b,c){r.hasOwnProperty(a)?((void 0===c||void 0!==r[a].Od&&void 0!==r[a].Od[c])&&Q(`Cannot register public name '${a}' twice`),Ub(r,a,a),r.hasOwnProperty(c)&&Q(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`),r[a].Od[c]=b):(r[a]=b,void 0!==c&&(r[a].xf=c))}function Wb(a,b,c,e,f,k,l,m){this.name=a;this.constructor=b;this.fe=c;this.Xd=e;this.Qd=f;this.af=k;this.ke=l;this.Ye=m;this.kf=[]} +function Xb(a,b,c){for(;b!==c;)b.ke||Q(`Expected null or instance of ${c.name}, got an instance of ${b.name}`),a=b.ke(a),b=b.Qd;return a}function Yb(a,b){if(null===b)return this.Ae&&Q(`null is not a valid ${this.name}`),0;b.kd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.kd.Kd||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);return Xb(b.kd.Kd,b.kd.Nd.Ld,this.Ld)} +function $b(a,b){if(null===b){this.Ae&&Q(`null is not a valid ${this.name}`);if(this.pe){var c=this.Be();null!==a&&a.push(this.Xd,c);return c}return 0}b.kd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.kd.Kd||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);!this.oe&&b.kd.Nd.oe&&Q(`Cannot convert argument of type ${b.kd.Td?b.kd.Td.name:b.kd.Nd.name} to parameter type ${this.name}`);c=Xb(b.kd.Kd,b.kd.Nd.Ld,this.Ld);if(this.pe)switch(void 0===b.kd.Pd&&Q("Passing raw pointer to smart pointer is illegal"), +this.qf){case 0:b.kd.Td===this?c=b.kd.Pd:Q(`Cannot convert argument of type ${b.kd.Td?b.kd.Td.name:b.kd.Nd.name} to parameter type ${this.name}`);break;case 1:c=b.kd.Pd;break;case 2:if(b.kd.Td===this)c=b.kd.Pd;else{var e=b.clone();c=this.lf(c,ac(function(){e["delete"]()}));null!==a&&a.push(this.Xd,c)}break;default:Q("Unsupporting sharing policy")}return c} +function bc(a,b){if(null===b)return this.Ae&&Q(`null is not a valid ${this.name}`),0;b.kd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.kd.Kd||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);b.kd.Nd.oe&&Q(`Cannot convert argument of type ${b.kd.Nd.name} to parameter type ${this.name}`);return Xb(b.kd.Kd,b.kd.Nd.Ld,this.Ld)} +function cc(a,b,c,e,f,k,l,m,p,w,y){this.name=a;this.Ld=b;this.Ae=c;this.oe=e;this.pe=f;this.jf=k;this.qf=l;this.Ke=m;this.Be=p;this.lf=w;this.Xd=y;f||void 0!==b.Qd?this.toWireType=$b:(this.toWireType=e?Yb:bc,this.Sd=null)}function dc(a,b,c){r.hasOwnProperty(a)||sb("Replacing nonexistant public symbol");void 0!==r[a].Od&&void 0!==c?r[a].Od[c]=b:(r[a]=b,r[a].ce=c)} +var ec=(a,b)=>{var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var e=r["dynCall_"+a];e=c&&c.length?e.apply(null,[b].concat(c)):e.call(null,b)}else e=Ma.get(b).apply(null,c);return e}};function mc(a,b){a=O(a);var c=a.includes("j")?ec(a,b):Ma.get(b);"function"!=typeof c&&Q(`unknown function pointer with signature ${a}: ${b}`);return c}var nc=void 0;function oc(a){a=pc(a);var b=O(a);qc(a);return b} +function rc(a,b){function c(k){f[k]||pb[k]||(qb[k]?qb[k].forEach(c):(e.push(k),f[k]=!0))}var e=[],f={};b.forEach(c);throw new nc(`${a}: `+e.map(oc).join([", "]));} +function sc(a,b,c,e,f){var k=b.length;2>k&&Q("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==b[1]&&null!==c,m=!1;for(c=1;c>2]);return c}function uc(){this.Wd=[void 0];this.Ie=[]}var vc=new uc;function wc(a){a>=vc.Zd&&0===--vc.get(a).Le&&vc.we(a)} +var xc=a=>{a||Q("Cannot use deleted val. handle = "+a);return vc.get(a).value},ac=a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:return vc.ve({Le:1,value:a})}};function yc(a,b,c){switch(b){case 0:return function(e){return this.fromWireType((c?Ha:C)[e])};case 1:return function(e){return this.fromWireType((c?Ia:Ja)[e>>1])};case 2:return function(e){return this.fromWireType((c?K:L)[e>>2])};default:throw new TypeError("Unknown integer type: "+a);}} +function zc(a,b){var c=pb[a];void 0===c&&Q(b+" has unknown type "+oc(a));return c}function Zb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}function Ac(a,b){switch(b){case 2:return function(c){return this.fromWireType(N[c>>2])};case 3:return function(c){return this.fromWireType(Ka[c>>3])};default:throw new TypeError("Unknown float type: "+a);}} +function Bc(a,b,c){switch(b){case 0:return c?function(e){return Ha[e]}:function(e){return C[e]};case 1:return c?function(e){return Ia[e>>1]}:function(e){return Ja[e>>1]};case 2:return c?function(e){return K[e>>2]}:function(e){return L[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}} +var ka=(a,b,c,e)=>{if(!(0=l){var m=a.charCodeAt(++k);l=65536+((l&1023)<<10)|m&1023}if(127>=l){if(c>=e)break;b[c++]=l}else{if(2047>=l){if(c+1>=e)break;b[c++]=192|l>>6}else{if(65535>=l){if(c+2>=e)break;b[c++]=224|l>>12}else{if(c+3>=e)break;b[c++]=240|l>>18;b[c++]=128|l>>12&63}b[c++]=128|l>>6&63}b[c++]=128|l&63}}b[c]=0;return c-f},ja=a=>{for(var b=0,c=0;c=e?b++:2047>= +e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b},Cc="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Dc=(a,b)=>{var c=a>>1;for(var e=c+b/2;!(c>=e)&&Ja[c];)++c;c<<=1;if(32=b/2);++e){var f=Ia[a+2*e>>1];if(0==f)break;c+=String.fromCharCode(f)}return c},Ec=(a,b,c)=>{void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f>1]=a.charCodeAt(f),b+=2;Ia[b>>1]=0;return b-e}, +Fc=a=>2*a.length,Gc=(a,b)=>{for(var c=0,e="";!(c>=b/4);){var f=K[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e},Hc=(a,b,c)=>{void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f=k){var l=a.charCodeAt(++f);k=65536+((k&1023)<<10)|l&1023}K[b>>2]=k;b+=4;if(b+4>c)break}K[b>>2]=0;return b-e},Ic=a=>{for(var b=0,c=0;c=e&&++c;b+=4}return b},Jc={};function Kc(a){var b=Jc[a];return void 0===b?O(a):b}var Lc=[]; +function Mc(){function a(b){b.$$$embind_global$$$=b;var c="object"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;c||delete b.$$$embind_global$$$;return c}if("object"==typeof globalThis)return globalThis;if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;"object"==typeof global&&a(global)?$$$embind_global$$$=global:"object"==typeof self&&a(self)&&($$$embind_global$$$=self);if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object."); +}function Nc(a){var b=Lc.length;Lc.push(a);return b}function Oc(a,b){for(var c=Array(a),e=0;e>2],"parameter "+e);return c}var Pc=[];function Qc(a){var b=Array(a+1);return function(c,e,f){b[0]=c;for(var k=0;k>2],"parameter "+k);b[k+1]=l.readValueFromPointer(f);f+=l.argPackAdvance}c=new (c.bind.apply(c,b));return ac(c)}}var Rc={}; +function Sc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,e){b.vertexAttribDivisorANGLE(c,e)},a.drawArraysInstanced=function(c,e,f,k){b.drawArraysInstancedANGLE(c,e,f,k)},a.drawElementsInstanced=function(c,e,f,k,l){b.drawElementsInstancedANGLE(c,e,f,k,l)})} +function Tc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Uc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,e){b.drawBuffersWEBGL(c,e)})} +var Vc=1,Wc=[],Xc=[],Yc=[],Zc=[],ea=[],$c=[],ad=[],ia=[],bd=[],cd=[],dd={},ed={},gd=4;function R(a){hd||(hd=a)}function da(a){for(var b=Vc++,c=a.length;ca.version||!b.Ge)b.Ge=b.getExtension("EXT_disjoint_timer_query");b.wf=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}} +var v,hd,ld={},nd=()=>{if(!md){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ma||"./this.program"},b;for(b in ld)void 0===ld[b]?delete a[b]:a[b]=ld[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);md=c}return md},md,od=[null,[],[]];function pd(a){S.bindVertexArray(ad[a])} +function qd(a,b){for(var c=0;c>2];S.deleteVertexArray(ad[e]);ad[e]=null}}var rd=[];function sd(a,b,c,e){S.drawElements(a,b,c,e)}function td(a,b,c,e){for(var f=0;f>2]=l}}function ud(a,b){td(a,b,"createVertexArray",ad)} +function vd(a,b,c){if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&R(1280);return;case 34814:case 36345:e=0;break;case 34466:var f=S.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>v.version){R(1282);return}e=2*(S.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>v.version){R(1280);return}e=33307==a?3:0}if(void 0===e)switch(f=S.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":R(1280);return;case "object":if(null=== +f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=0;break;default:R(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a>2]=f[a];break;case 2:N[b+4*a>>2]=f[a];break;case 4:Ha[b+a>>0]=f[a]?1:0}return}try{e=f.name|0}catch(k){R(1280); +Ca("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+k+")");return}}break;default:R(1280);Ca("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=e;L[b>>2]=c;L[b+4>>2]=(c-L[b>>2])/4294967296;break;case 0:K[b>>2]=e;break;case 2:N[b>>2]=e;break;case 4:Ha[b>>0]=e?1:0}}else R(1281)}var xd=a=>{var b=ja(a)+1,c=wd(b);c&&ka(a,C,c,b);return c}; +function yd(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function zd(a){a-=5120;return 0==a?Ha:1==a?C:2==a?Ia:4==a?K:6==a?N:5==a||28922==a||28520==a||30779==a||30782==a?L:Ja}function Ad(a,b,c,e,f){a=zd(a);var k=31-Math.clz32(a.BYTES_PER_ELEMENT),l=gd;return a.subarray(f>>k,f+e*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<>k)} +function W(a){var b=S.We;if(b){var c=b.je[a];"number"==typeof c&&(b.je[a]=c=S.getUniformLocation(b,b.Me[a]+(00===a%4&&(0!==a%100||0===a%400),Ed=[31,29,31,30,31,30,31,31,30,31,30,31],Fd=[31,28,31,30,31,30,31,31,30,31,30,31];function Gd(a){var b=Array(ja(a)+1);ka(a,b,0,b.length);return b} +var Hd=(a,b,c,e)=>{function f(u,F,H){for(u="number"==typeof u?u.toString():u||"";u.lengthca?-1:0T-u.getDate())F-=T-u.getDate()+1,u.setDate(1),11>H?u.setMonth(H+1):(u.setMonth(0),u.setFullYear(u.getFullYear()+1));else{u.setDate(u.getDate()+F);break}}H=new Date(u.getFullYear()+1,0,4);F=m(new Date(u.getFullYear(), +0,4));H=m(H);return 0>=l(F,u)?0>=l(H,u)?u.getFullYear()+1:u.getFullYear():u.getFullYear()-1}var w=K[e+40>>2];e={tf:K[e>>2],sf:K[e+4>>2],te:K[e+8>>2],Ce:K[e+12>>2],ue:K[e+16>>2],ae:K[e+20>>2],Vd:K[e+24>>2],$d:K[e+28>>2],zf:K[e+32>>2],rf:K[e+36>>2],uf:w?w?kb(C,w):"":""};c=c?kb(C,c):"";w={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y", +"%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var y in w)c=c.replace(new RegExp(y,"g"),w[y]);var B="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),D="January February March April May June July August September October November December".split(" ");w={"%a":u=>B[u.Vd].substring(0,3),"%A":u=>B[u.Vd],"%b":u=>D[u.ue].substring(0,3),"%B":u=>D[u.ue],"%C":u=>k((u.ae+1900)/ +100|0,2),"%d":u=>k(u.Ce,2),"%e":u=>f(u.Ce,2," "),"%g":u=>p(u).toString().substring(2),"%G":u=>p(u),"%H":u=>k(u.te,2),"%I":u=>{u=u.te;0==u?u=12:12{for(var F=0,H=0;H<=u.ue-1;F+=(Dd(u.ae+1900)?Ed:Fd)[H++]);return k(u.Ce+F,3)},"%m":u=>k(u.ue+1,2),"%M":u=>k(u.sf,2),"%n":()=>"\n","%p":u=>0<=u.te&&12>u.te?"AM":"PM","%S":u=>k(u.tf,2),"%t":()=>"\t","%u":u=>u.Vd||7,"%U":u=>k(Math.floor((u.$d+7-u.Vd)/7),2),"%V":u=>{var F=Math.floor((u.$d+7-(u.Vd+6)%7)/7);2>=(u.Vd+371-u.$d- +2)%7&&F++;if(F)53==F&&(H=(u.Vd+371-u.$d)%7,4==H||3==H&&Dd(u.ae)||(F=1));else{F=52;var H=(u.Vd+7-u.$d-1)%7;(4==H||5==H&&Dd(u.ae%400-1))&&F++}return k(F,2)},"%w":u=>u.Vd,"%W":u=>k(Math.floor((u.$d+7-(u.Vd+6)%7)/7),2),"%y":u=>(u.ae+1900).toString().substring(2),"%Y":u=>u.ae+1900,"%z":u=>{u=u.rf;var F=0<=u;u=Math.abs(u)/60;return(F?"+":"-")+String("0000"+(u/60*100+u%60)).slice(-4)},"%Z":u=>u.uf,"%%":()=>"%"};c=c.replace(/%%/g,"\x00\x00");for(y in w)c.includes(y)&&(c=c.replace(new RegExp(y,"g"),w[y](e))); +c=c.replace(/\0\0/g,"%");y=Gd(c);if(y.length>b)return 0;Ha.set(y,a);return y.length-1};rb=r.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}};for(var Id=Array(256),Jd=0;256>Jd;++Jd)Id[Jd]=String.fromCharCode(Jd);wb=Id;xb=r.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}}; +Rb.prototype.isAliasOf=function(a){if(!(this instanceof Rb&&a instanceof Rb))return!1;var b=this.kd.Nd.Ld,c=this.kd.Kd,e=a.kd.Nd.Ld;for(a=a.kd.Kd;b.Qd;)c=b.ke(c),b=b.Qd;for(;e.Qd;)a=e.ke(a),e=e.Qd;return b===e&&c===a}; +Rb.prototype.clone=function(){this.kd.Kd||zb(this);if(this.kd.ie)return this.kd.count.value+=1,this;var a=Qb,b=Object,c=b.create,e=Object.getPrototypeOf(this),f=this.kd;a=a(c.call(b,e,{kd:{value:{count:f.count,ee:f.ee,ie:f.ie,Kd:f.Kd,Nd:f.Nd,Pd:f.Pd,Td:f.Td}}}));a.kd.count.value+=1;a.kd.ee=!1;return a};Rb.prototype["delete"]=function(){this.kd.Kd||zb(this);this.kd.ee&&!this.kd.ie&&Q("Object already scheduled for deletion");Bb(this);Cb(this.kd);this.kd.ie||(this.kd.Pd=void 0,this.kd.Kd=void 0)}; +Rb.prototype.isDeleted=function(){return!this.kd.Kd};Rb.prototype.deleteLater=function(){this.kd.Kd||zb(this);this.kd.ee&&!this.kd.ie&&Q("Object already scheduled for deletion");Kb.push(this);1===Kb.length&&Mb&&Mb(Lb);this.kd.ee=!0;return this};r.getInheritedInstanceCount=function(){return Object.keys(Nb).length};r.getLiveInheritedInstances=function(){var a=[],b;for(b in Nb)Nb.hasOwnProperty(b)&&a.push(Nb[b]);return a};r.flushPendingDeletes=Lb;r.setDelayFunction=function(a){Mb=a;Kb.length&&Mb&&Mb(Lb)}; +cc.prototype.bf=function(a){this.Ke&&(a=this.Ke(a));return a};cc.prototype.Ee=function(a){this.Xd&&this.Xd(a)};cc.prototype.argPackAdvance=8;cc.prototype.readValueFromPointer=nb;cc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()}; +cc.prototype.fromWireType=function(a){function b(){return this.pe?Pb(this.Ld.fe,{Nd:this.jf,Kd:c,Td:this,Pd:a}):Pb(this.Ld.fe,{Nd:this,Kd:a})}var c=this.bf(a);if(!c)return this.Ee(a),null;var e=Ob(this.Ld,c);if(void 0!==e){if(0===e.kd.count.value)return e.kd.Kd=c,e.kd.Pd=a,e.clone();e=e.clone();this.Ee(a);return e}e=this.Ld.af(c);e=Jb[e];if(!e)return b.call(this);e=this.oe?e.Ve:e.pointerType;var f=Db(c,this.Ld,e.Ld);return null===f?b.call(this):this.pe?Pb(e.Ld.fe,{Nd:e,Kd:f,Td:this,Pd:a}):Pb(e.Ld.fe, +{Nd:e,Kd:f})};nc=r.UnboundTypeError=function(a,b){var c=Tb(b,function(e){this.name=b;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c}(Error,"UnboundTypeError"); +Object.assign(uc.prototype,{get(a){return this.Wd[a]},has(a){return void 0!==this.Wd[a]},ve(a){var b=this.Ie.pop()||this.Wd.length;this.Wd[b]=a;return b},we(a){this.Wd[a]=void 0;this.Ie.push(a)}});vc.Wd.push({value:void 0},{value:null},{value:!0},{value:!1});vc.Zd=vc.Wd.length;r.count_emval_handles=function(){for(var a=0,b=vc.Zd;bKd;++Kd)rd.push(Array(Kd));var Ld=new Float32Array(288); +for(Kd=0;288>Kd;++Kd)Bd[Kd]=Ld.subarray(0,Kd+1);var Md=new Int32Array(288);for(Kd=0;288>Kd;++Kd)Cd[Kd]=Md.subarray(0,Kd+1); +var $d={H:function(a,b,c){(new fb(a)).Zd(b,c);gb=a;ib++;throw gb;},$:function(){return 0},$c:()=>{},_c:function(){return 0},Zc:()=>{},Yc:()=>{},_:function(){},Xc:()=>{},D:function(a){var b=lb[a];delete lb[a];var c=b.Be,e=b.Xd,f=b.He,k=f.map(l=>l.ef).concat(f.map(l=>l.nf));tb([a],k,l=>{var m={};f.forEach((p,w)=>{var y=l[w],B=p.cf,D=p.df,u=l[w+f.length],F=p.mf,H=p.pf;m[p.$e]={read:T=>y.fromWireType(B(D,T)),write:(T,ca)=>{var Y=[];F(H,T,u.toWireType(Y,ca));mb(Y)}}});return[{name:b.name,fromWireType:function(p){var w= +{},y;for(y in m)w[y]=m[y].read(p);e(p);return w},toWireType:function(p,w){for(var y in m)if(!(y in w))throw new TypeError(`Missing field: "${y}"`);var B=c();for(y in m)m[y].write(B,w[y]);null!==p&&p.push(e,B);return B},argPackAdvance:8,readValueFromPointer:nb,Sd:e}]})},fa:function(){},Tc:function(a,b,c,e,f){var k=vb(c);b=O(b);ub(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,m){return m?e:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var m=Ha;else if(2===c)m=Ia; +else if(4===c)m=K;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(m[l>>k])},Sd:null})},l:function(a,b,c,e,f,k,l,m,p,w,y,B,D){y=O(y);k=mc(f,k);m&&(m=mc(l,m));w&&(w=mc(p,w));D=mc(B,D);var u=Sb(y);Vb(u,function(){rc(`Cannot construct ${y} due to unbound types`,[e])});tb([a,b,c],e?[e]:[],function(F){F=F[0];if(e){var H=F.Ld;var T=H.fe}else T=Rb.prototype;F=Tb(u,function(){if(Object.getPrototypeOf(this)!==ca)throw new xb("Use 'new' to construct "+y);if(void 0===Y.Yd)throw new xb(y+ +" has no accessible constructor");var Na=Y.Yd[arguments.length];if(void 0===Na)throw new xb(`Tried to invoke ctor of ${y} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(Y.Yd).toString()}) parameters instead!`);return Na.apply(this,arguments)});var ca=Object.create(T,{constructor:{value:F}});F.prototype=ca;var Y=new Wb(y,F,ca,D,H,k,m,w);Y.Qd&&(void 0===Y.Qd.le&&(Y.Qd.le=[]),Y.Qd.le.push(Y));H=new cc(y,Y,!0,!1,!1);T=new cc(y+"*",Y,!1,!1,!1);var va=new cc(y+" const*", +Y,!1,!0,!1);Jb[a]={pointerType:T,Ve:va};dc(u,F);return[H,T,va]})},e:function(a,b,c,e,f,k,l){var m=tc(c,e);b=O(b);k=mc(f,k);tb([],[a],function(p){function w(){rc(`Cannot call ${y} due to unbound types`,m)}p=p[0];var y=`${p.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var B=p.Ld.constructor;void 0===B[b]?(w.ce=c-1,B[b]=w):(Ub(B,b,y),B[b].Od[c-1]=w);tb([],m,function(D){D=[D[0],null].concat(D.slice(1));D=sc(y,D,null,k,l);void 0===B[b].Od?(D.ce=c-1,B[b]=D):B[b].Od[c-1]=D;if(p.Ld.le)for(const u of p.Ld.le)u.constructor.hasOwnProperty(b)|| +(u.constructor[b]=D);return[]});return[]})},B:function(a,b,c,e,f,k){var l=tc(b,c);f=mc(e,f);tb([],[a],function(m){m=m[0];var p=`constructor ${m.name}`;void 0===m.Ld.Yd&&(m.Ld.Yd=[]);if(void 0!==m.Ld.Yd[b-1])throw new xb(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${m.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);m.Ld.Yd[b-1]=()=>{rc(`Cannot construct ${m.name} due to unbound types`,l)}; +tb([],l,function(w){w.splice(1,0,null);m.Ld.Yd[b-1]=sc(p,w,null,f,k);return[]});return[]})},a:function(a,b,c,e,f,k,l,m){var p=tc(c,e);b=O(b);k=mc(f,k);tb([],[a],function(w){function y(){rc(`Cannot call ${B} due to unbound types`,p)}w=w[0];var B=`${w.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);m&&w.Ld.kf.push(b);var D=w.Ld.fe,u=D[b];void 0===u||void 0===u.Od&&u.className!==w.name&&u.ce===c-2?(y.ce=c-2,y.className=w.name,D[b]=y):(Ub(D,b,B),D[b].Od[c-2]=y);tb([],p,function(F){F=sc(B,F, +w,k,l);void 0===D[b].Od?(F.ce=c-2,D[b]=F):D[b].Od[c-2]=F;return[]});return[]})},s:function(a,b,c){a=O(a);tb([],[b],function(e){e=e[0];r[a]=e.fromWireType(c);return[]})},Sc:function(a,b){b=O(b);ub(a,{name:b,fromWireType:function(c){var e=xc(c);wc(c);return e},toWireType:function(c,e){return ac(e)},argPackAdvance:8,readValueFromPointer:nb,Sd:null})},j:function(a,b,c,e){function f(){}c=vb(c);b=O(b);f.values={};ub(a,{name:b,constructor:f,fromWireType:function(k){return this.constructor.values[k]},toWireType:function(k, +l){return l.value},argPackAdvance:8,readValueFromPointer:yc(b,c,e),Sd:null});Vb(b,f)},b:function(a,b,c){var e=zc(a,"enum");b=O(b);a=e.constructor;e=Object.create(e.constructor.prototype,{value:{value:c},constructor:{value:Tb(`${e.name}_${b}`,function(){})}});a.values[c]=e;a[b]=e},Y:function(a,b,c){c=vb(c);b=O(b);ub(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){return f},argPackAdvance:8,readValueFromPointer:Ac(b,c),Sd:null})},v:function(a,b,c,e,f,k){var l=tc(b,c);a=O(a);f= +mc(e,f);Vb(a,function(){rc(`Cannot call ${a} due to unbound types`,l)},b-1);tb([],l,function(m){m=[m[0],null].concat(m.slice(1));dc(a,sc(a,m,null,f,k),b-1);return[]})},E:function(a,b,c,e,f){b=O(b);-1===f&&(f=4294967295);f=vb(c);var k=m=>m;if(0===e){var l=32-8*c;k=m=>m<>>l}c=b.includes("unsigned")?function(m,p){return p>>>0}:function(m,p){return p};ub(a,{name:b,fromWireType:k,toWireType:c,argPackAdvance:8,readValueFromPointer:Bc(b,f,0!==e),Sd:null})},r:function(a,b,c){function e(k){k>>=2;var l= +L;return new f(l.buffer,l[k+1],l[k])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=O(c);ub(a,{name:c,fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{ff:!0})},o:function(a,b,c,e,f,k,l,m,p,w,y,B){c=O(c);k=mc(f,k);m=mc(l,m);w=mc(p,w);B=mc(y,B);tb([a],[b],function(D){D=D[0];return[new cc(c,D.Ld,!1,!1,!0,D,e,k,m,w,B)]})},X:function(a,b){b=O(b);var c="std::string"===b;ub(a,{name:b,fromWireType:function(e){var f=L[e>>2],k=e+4;if(c)for(var l= +k,m=0;m<=f;++m){var p=k+m;if(m==f||0==C[p]){l=l?kb(C,l,p-l):"";if(void 0===w)var w=l;else w+=String.fromCharCode(0),w+=l;l=p+1}}else{w=Array(f);for(m=0;m>2]= +l;if(c&&k)ka(f,C,p,l+1);else if(k)for(k=0;kJa;var m=1}else 4===b&&(e=Gc,f=Hc,k=Ic,l=()=>L,m=2);ub(a,{name:c,fromWireType:function(p){for(var w=L[p>>2],y=l(),B,D=p+4,u=0;u<=w;++u){var F= +p+4+u*b;if(u==w||0==y[F>>m])D=e(D,F-D),void 0===B?B=D:(B+=String.fromCharCode(0),B+=D),D=F+b}qc(p);return B},toWireType:function(p,w){"string"!=typeof w&&Q(`Cannot pass non-string to C++ string type ${c}`);var y=k(w),B=wd(4+y+b);L[B>>2]=y>>m;f(w,B+4,y+b);null!==p&&p.push(qc,B);return B},argPackAdvance:8,readValueFromPointer:nb,Sd:function(p){qc(p)}})},C:function(a,b,c,e,f,k){lb[a]={name:O(b),Be:mc(c,e),Xd:mc(f,k),He:[]}},d:function(a,b,c,e,f,k,l,m,p,w){lb[a].He.push({$e:O(b),ef:c,cf:mc(e,f),df:k, +nf:l,mf:mc(m,p),pf:w})},Rc:function(a,b){b=O(b);ub(a,{hf:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},Qc:()=>!0,Pc:()=>{throw Infinity;},G:function(a,b,c){a=xc(a);b=zc(b,"emval::as");var e=[],f=ac(e);L[c>>2]=f;return b.toWireType(e,a)},N:function(a,b,c,e,f){a=Lc[a];b=xc(b);c=Kc(c);var k=[];L[e>>2]=ac(k);return a(b,c,k,f)},t:function(a,b,c,e){a=Lc[a];b=xc(b);c=Kc(c);a(b,c,null,e)},c:wc,M:function(a){if(0===a)return ac(Mc());a=Kc(a);return ac(Mc()[a])},p:function(a, +b){var c=Oc(a,b),e=c[0];b=e.name+"_$"+c.slice(1).map(function(l){return l.name}).join("_")+"$";var f=Pc[b];if(void 0!==f)return f;var k=Array(a-1);f=Nc((l,m,p,w)=>{for(var y=0,B=0;B{Ea("")},Nc:()=>performance.now(),Mc:a=>{var b=C.length;a>>>=0;if(2147483648=c;c*=2){var e=b*(1+.2/c); +e=Math.min(e,a+100663296);var f=Math;e=Math.max(a,e);a:{f=f.min.call(f,2147483648,e+(65536-e%65536)%65536)-Fa.buffer.byteLength+65535>>>16;try{Fa.grow(f);La();var k=1;break a}catch(l){}k=void 0}if(k)return!0}return!1},Lc:function(){return v?v.handle:0},Wc:(a,b)=>{var c=0;nd().forEach(function(e,f){var k=b+c;f=L[a+4*f>>2]=k;for(k=0;k>0]=e.charCodeAt(k);Ha[f>>0]=0;c+=e.length+1});return 0},Vc:(a,b)=>{var c=nd();L[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});L[b>> +2]=e;return 0},Kc:a=>{if(!noExitRuntime){if(r.onExit)r.onExit(a);Ga=!0}oa(a,new db(a))},P:()=>52,ha:function(){return 52},Uc:()=>52,ga:function(){return 70},Z:(a,b,c,e)=>{for(var f=0,k=0;k>2],m=L[b+4>>2];b+=8;for(var p=0;p>2]=f;return 0},Jc:function(a){S.activeTexture(a)},Ic:function(a,b){S.attachShader(Xc[a],$c[b])},Hc:function(a,b,c){S.bindAttribLocation(Xc[a],b,c?kb(C,c):"")},Gc:function(a, +b){35051==a?S.ye=b:35052==a&&(S.de=b);S.bindBuffer(a,Wc[b])},W:function(a,b){S.bindFramebuffer(a,Yc[b])},Fc:function(a,b){S.bindRenderbuffer(a,Zc[b])},Ec:function(a,b){S.bindSampler(a,bd[b])},Dc:function(a,b){S.bindTexture(a,ea[b])},Cc:pd,Bc:pd,Ac:function(a,b,c,e){S.blendColor(a,b,c,e)},zc:function(a){S.blendEquation(a)},yc:function(a,b){S.blendFunc(a,b)},xc:function(a,b,c,e,f,k,l,m,p,w){S.blitFramebuffer(a,b,c,e,f,k,l,m,p,w)},wc:function(a,b,c,e){2<=v.version?c&&b?S.bufferData(a,C,e,c,b):S.bufferData(a, +b,e):S.bufferData(a,c?C.subarray(c,c+b):b,e)},vc:function(a,b,c,e){2<=v.version?c&&S.bufferSubData(a,b,C,e,c):S.bufferSubData(a,b,C.subarray(e,e+c))},uc:function(a){return S.checkFramebufferStatus(a)},V:function(a){S.clear(a)},U:function(a,b,c,e){S.clearColor(a,b,c,e)},T:function(a){S.clearStencil(a)},ca:function(a,b,c,e){return S.clientWaitSync(cd[a],b,(c>>>0)+4294967296*e)},tc:function(a,b,c,e){S.colorMask(!!a,!!b,!!c,!!e)},sc:function(a){S.compileShader($c[a])},rc:function(a,b,c,e,f,k,l,m){2<= +v.version?S.de||!l?S.compressedTexImage2D(a,b,c,e,f,k,l,m):S.compressedTexImage2D(a,b,c,e,f,k,C,m,l):S.compressedTexImage2D(a,b,c,e,f,k,m?C.subarray(m,m+l):null)},qc:function(a,b,c,e,f,k,l,m,p){2<=v.version?S.de||!m?S.compressedTexSubImage2D(a,b,c,e,f,k,l,m,p):S.compressedTexSubImage2D(a,b,c,e,f,k,l,C,p,m):S.compressedTexSubImage2D(a,b,c,e,f,k,l,p?C.subarray(p,p+m):null)},pc:function(a,b,c,e,f){S.copyBufferSubData(a,b,c,e,f)},oc:function(a,b,c,e,f,k,l,m){S.copyTexSubImage2D(a,b,c,e,f,k,l,m)},nc:function(){var a= +da(Xc),b=S.createProgram();b.name=a;b.se=b.qe=b.re=0;b.De=1;Xc[a]=b;return a},mc:function(a){var b=da($c);$c[b]=S.createShader(a);return b},lc:function(a){S.cullFace(a)},kc:function(a,b){for(var c=0;c>2],f=Wc[e];f&&(S.deleteBuffer(f),f.name=0,Wc[e]=null,e==S.ye&&(S.ye=0),e==S.de&&(S.de=0))}},jc:function(a,b){for(var c=0;c>2],f=Yc[e];f&&(S.deleteFramebuffer(f),f.name=0,Yc[e]=null)}},ic:function(a){if(a){var b=Xc[a];b?(S.deleteProgram(b),b.name=0,Xc[a]=null): +R(1281)}},hc:function(a,b){for(var c=0;c>2],f=Zc[e];f&&(S.deleteRenderbuffer(f),f.name=0,Zc[e]=null)}},gc:function(a,b){for(var c=0;c>2],f=bd[e];f&&(S.deleteSampler(f),f.name=0,bd[e]=null)}},fc:function(a){if(a){var b=$c[a];b?(S.deleteShader(b),$c[a]=null):R(1281)}},ec:function(a){if(a){var b=cd[a];b?(S.deleteSync(b),b.name=0,cd[a]=null):R(1281)}},dc:function(a,b){for(var c=0;c>2],f=ea[e];f&&(S.deleteTexture(f),f.name=0,ea[e]=null)}}, +cc:qd,bc:qd,ac:function(a){S.depthMask(!!a)},$b:function(a){S.disable(a)},_b:function(a){S.disableVertexAttribArray(a)},Zb:function(a,b,c){S.drawArrays(a,b,c)},Yb:function(a,b,c,e){S.drawArraysInstanced(a,b,c,e)},Xb:function(a,b,c,e,f){S.Fe.drawArraysInstancedBaseInstanceWEBGL(a,b,c,e,f)},Wb:function(a,b){for(var c=rd[a],e=0;e>2];S.drawBuffers(c)},Vb:sd,Ub:function(a,b,c,e,f){S.drawElementsInstanced(a,b,c,e,f)},Tb:function(a,b,c,e,f,k,l){S.Fe.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a, +b,c,e,f,k,l)},Sb:function(a,b,c,e,f,k){sd(a,e,f,k)},Rb:function(a){S.enable(a)},Qb:function(a){S.enableVertexAttribArray(a)},Pb:function(a,b){return(a=S.fenceSync(a,b))?(b=da(cd),a.name=b,cd[b]=a,b):0},Ob:function(){S.finish()},Nb:function(){S.flush()},Mb:function(a,b,c,e){S.framebufferRenderbuffer(a,b,c,Zc[e])},Lb:function(a,b,c,e,f){S.framebufferTexture2D(a,b,c,ea[e],f)},Kb:function(a){S.frontFace(a)},Jb:function(a,b){td(a,b,"createBuffer",Wc)},Ib:function(a,b){td(a,b,"createFramebuffer",Yc)},Hb:function(a, +b){td(a,b,"createRenderbuffer",Zc)},Gb:function(a,b){td(a,b,"createSampler",bd)},Fb:function(a,b){td(a,b,"createTexture",ea)},Eb:ud,Db:ud,Cb:function(a){S.generateMipmap(a)},Bb:function(a,b,c){c?K[c>>2]=S.getBufferParameter(a,b):R(1281)},Ab:function(){var a=S.getError()||hd;hd=0;return a},zb:function(a,b){vd(a,b,2)},yb:function(a,b,c,e){a=S.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;K[e>>2]=a},K:function(a,b){vd(a,b,0)},xb:function(a, +b,c,e){a=S.getProgramInfoLog(Xc[a]);null===a&&(a="(unknown error)");b=0>2]=b)},wb:function(a,b,c){if(c)if(a>=Vc)R(1281);else if(a=Xc[a],35716==b)a=S.getProgramInfoLog(a),null===a&&(a="(unknown error)"),K[c>>2]=a.length+1;else if(35719==b){if(!a.se)for(b=0;b>2]=a.se}else if(35722==b){if(!a.qe)for(b=0;b>2]=a.qe}else if(35381==b){if(!a.re)for(b=0;b>2]=a.re}else K[c>>2]=S.getProgramParameter(a,b);else R(1281)},vb:function(a,b,c){c?K[c>>2]=S.getRenderbufferParameter(a,b):R(1281)},ub:function(a,b,c,e){a=S.getShaderInfoLog($c[a]);null===a&&(a="(unknown error)");b=0>2]=b)},tb:function(a,b,c,e){a=S.getShaderPrecisionFormat(a,b);K[c>>2]=a.rangeMin;K[c+4>> +2]=a.rangeMax;K[e>>2]=a.precision},sb:function(a,b,c){c?35716==b?(a=S.getShaderInfoLog($c[a]),null===a&&(a="(unknown error)"),K[c>>2]=a?a.length+1:0):35720==b?(a=S.getShaderSource($c[a]),K[c>>2]=a?a.length+1:0):K[c>>2]=S.getShaderParameter($c[a],b):R(1281)},S:function(a){var b=dd[a];if(!b){switch(a){case 7939:b=S.getSupportedExtensions()||[];b=b.concat(b.map(function(e){return"GL_"+e}));b=xd(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=S.getParameter(a))||R(1280);b=b&&xd(b);break; +case 7938:b=S.getParameter(7938);b=2<=v.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=xd(b);break;case 35724:b=S.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=xd(b);break;default:R(1280)}dd[a]=b}return b},rb:function(a,b){if(2>v.version)return R(1282),0;var c=ed[a];if(c)return 0>b||b>=c.length?(R(1281),0):c[b];switch(a){case 7939:return c=S.getSupportedExtensions()||[], +c=c.concat(c.map(function(e){return"GL_"+e})),c=c.map(function(e){return xd(e)}),c=ed[a]=c,0>b||b>=c.length?(R(1281),0):c[b];default:return R(1280),0}},qb:function(a,b){b=b?kb(C,b):"";if(a=Xc[a]){var c=a,e=c.je,f=c.Ne,k;if(!e)for(c.je=e={},c.Me={},k=0;k>>0,f=b.slice(0, +k));if((f=a.Ne[f])&&e>2];S.invalidateFramebuffer(a,e)},ob:function(a,b,c,e,f,k,l){for(var m=rd[b],p=0;p>2];S.invalidateSubFramebuffer(a,m,e,f,k,l)},nb:function(a){return S.isSync(cd[a])},mb:function(a){return(a=ea[a])?S.isTexture(a):0},lb:function(a){S.lineWidth(a)},kb:function(a){a=Xc[a];S.linkProgram(a);a.je=0;a.Ne={}},jb:function(a, +b,c,e,f,k){S.Je.multiDrawArraysInstancedBaseInstanceWEBGL(a,K,b>>2,K,c>>2,K,e>>2,L,f>>2,k)},ib:function(a,b,c,e,f,k,l,m){S.Je.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,K,b>>2,c,K,e>>2,K,f>>2,K,k>>2,L,l>>2,m)},hb:function(a,b){3317==a&&(gd=b);S.pixelStorei(a,b)},gb:function(a){S.readBuffer(a)},fb:function(a,b,c,e,f,k,l){if(2<=v.version)if(S.ye)S.readPixels(a,b,c,e,f,k,l);else{var m=zd(k);S.readPixels(a,b,c,e,f,k,m,l>>31-Math.clz32(m.BYTES_PER_ELEMENT))}else(l=Ad(k,f,c,e,l))?S.readPixels(a, +b,c,e,f,k,l):R(1280)},eb:function(a,b,c,e){S.renderbufferStorage(a,b,c,e)},db:function(a,b,c,e,f){S.renderbufferStorageMultisample(a,b,c,e,f)},cb:function(a,b,c){S.samplerParameterf(bd[a],b,c)},bb:function(a,b,c){S.samplerParameteri(bd[a],b,c)},ab:function(a,b,c){S.samplerParameteri(bd[a],b,K[c>>2])},$a:function(a,b,c,e){S.scissor(a,b,c,e)},_a:function(a,b,c,e){for(var f="",k=0;k>2]:-1,m=K[c+4*k>>2];l=m?kb(C,m,0>l?void 0:l):"";f+=l}S.shaderSource($c[a],f)},Za:function(a,b, +c){S.stencilFunc(a,b,c)},Ya:function(a,b,c,e){S.stencilFuncSeparate(a,b,c,e)},Xa:function(a){S.stencilMask(a)},Wa:function(a,b){S.stencilMaskSeparate(a,b)},Va:function(a,b,c){S.stencilOp(a,b,c)},Ua:function(a,b,c,e){S.stencilOpSeparate(a,b,c,e)},Ta:function(a,b,c,e,f,k,l,m,p){if(2<=v.version)if(S.de)S.texImage2D(a,b,c,e,f,k,l,m,p);else if(p){var w=zd(m);S.texImage2D(a,b,c,e,f,k,l,m,w,p>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else S.texImage2D(a,b,c,e,f,k,l,m,null);else S.texImage2D(a,b,c,e,f,k,l,m,p? +Ad(m,l,e,f,p):null)},Sa:function(a,b,c){S.texParameterf(a,b,c)},Ra:function(a,b,c){S.texParameterf(a,b,N[c>>2])},Qa:function(a,b,c){S.texParameteri(a,b,c)},Pa:function(a,b,c){S.texParameteri(a,b,K[c>>2])},Oa:function(a,b,c,e,f){S.texStorage2D(a,b,c,e,f)},Na:function(a,b,c,e,f,k,l,m,p){if(2<=v.version)if(S.de)S.texSubImage2D(a,b,c,e,f,k,l,m,p);else if(p){var w=zd(m);S.texSubImage2D(a,b,c,e,f,k,l,m,w,p>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else S.texSubImage2D(a,b,c,e,f,k,l,m,null);else w=null,p&&(w= +Ad(m,l,f,k,p)),S.texSubImage2D(a,b,c,e,f,k,l,m,w)},Ma:function(a,b){S.uniform1f(W(a),b)},La:function(a,b,c){if(2<=v.version)b&&S.uniform1fv(W(a),N,c>>2,b);else{if(288>=b)for(var e=Bd[b-1],f=0;f>2];else e=N.subarray(c>>2,c+4*b>>2);S.uniform1fv(W(a),e)}},Ka:function(a,b){S.uniform1i(W(a),b)},Ja:function(a,b,c){if(2<=v.version)b&&S.uniform1iv(W(a),K,c>>2,b);else{if(288>=b)for(var e=Cd[b-1],f=0;f>2];else e=K.subarray(c>>2,c+4*b>>2);S.uniform1iv(W(a),e)}},Ia:function(a, +b,c){S.uniform2f(W(a),b,c)},Ha:function(a,b,c){if(2<=v.version)b&&S.uniform2fv(W(a),N,c>>2,2*b);else{if(144>=b)for(var e=Bd[2*b-1],f=0;f<2*b;f+=2)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2];else e=N.subarray(c>>2,c+8*b>>2);S.uniform2fv(W(a),e)}},Ga:function(a,b,c){S.uniform2i(W(a),b,c)},Fa:function(a,b,c){if(2<=v.version)b&&S.uniform2iv(W(a),K,c>>2,2*b);else{if(144>=b)for(var e=Cd[2*b-1],f=0;f<2*b;f+=2)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2];else e=K.subarray(c>>2,c+8*b>>2);S.uniform2iv(W(a),e)}},Ea:function(a, +b,c,e){S.uniform3f(W(a),b,c,e)},Da:function(a,b,c){if(2<=v.version)b&&S.uniform3fv(W(a),N,c>>2,3*b);else{if(96>=b)for(var e=Bd[3*b-1],f=0;f<3*b;f+=3)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2],e[f+2]=N[c+(4*f+8)>>2];else e=N.subarray(c>>2,c+12*b>>2);S.uniform3fv(W(a),e)}},Ca:function(a,b,c,e){S.uniform3i(W(a),b,c,e)},Ba:function(a,b,c){if(2<=v.version)b&&S.uniform3iv(W(a),K,c>>2,3*b);else{if(96>=b)for(var e=Cd[3*b-1],f=0;f<3*b;f+=3)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2],e[f+2]=K[c+(4*f+8)>>2];else e= +K.subarray(c>>2,c+12*b>>2);S.uniform3iv(W(a),e)}},Aa:function(a,b,c,e,f){S.uniform4f(W(a),b,c,e,f)},za:function(a,b,c){if(2<=v.version)b&&S.uniform4fv(W(a),N,c>>2,4*b);else{if(72>=b){var e=Bd[4*b-1],f=N;c>>=2;for(var k=0;k<4*b;k+=4){var l=c+k;e[k]=f[l];e[k+1]=f[l+1];e[k+2]=f[l+2];e[k+3]=f[l+3]}}else e=N.subarray(c>>2,c+16*b>>2);S.uniform4fv(W(a),e)}},ya:function(a,b,c,e,f){S.uniform4i(W(a),b,c,e,f)},xa:function(a,b,c){if(2<=v.version)b&&S.uniform4iv(W(a),K,c>>2,4*b);else{if(72>=b)for(var e=Cd[4*b- +1],f=0;f<4*b;f+=4)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2],e[f+2]=K[c+(4*f+8)>>2],e[f+3]=K[c+(4*f+12)>>2];else e=K.subarray(c>>2,c+16*b>>2);S.uniform4iv(W(a),e)}},wa:function(a,b,c,e){if(2<=v.version)b&&S.uniformMatrix2fv(W(a),!!c,N,e>>2,4*b);else{if(72>=b)for(var f=Bd[4*b-1],k=0;k<4*b;k+=4)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2];else f=N.subarray(e>>2,e+16*b>>2);S.uniformMatrix2fv(W(a),!!c,f)}},va:function(a,b,c,e){if(2<=v.version)b&&S.uniformMatrix3fv(W(a), +!!c,N,e>>2,9*b);else{if(32>=b)for(var f=Bd[9*b-1],k=0;k<9*b;k+=9)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2],f[k+4]=N[e+(4*k+16)>>2],f[k+5]=N[e+(4*k+20)>>2],f[k+6]=N[e+(4*k+24)>>2],f[k+7]=N[e+(4*k+28)>>2],f[k+8]=N[e+(4*k+32)>>2];else f=N.subarray(e>>2,e+36*b>>2);S.uniformMatrix3fv(W(a),!!c,f)}},ua:function(a,b,c,e){if(2<=v.version)b&&S.uniformMatrix4fv(W(a),!!c,N,e>>2,16*b);else{if(18>=b){var f=Bd[16*b-1],k=N;e>>=2;for(var l=0;l<16*b;l+=16){var m=e+l;f[l]= +k[m];f[l+1]=k[m+1];f[l+2]=k[m+2];f[l+3]=k[m+3];f[l+4]=k[m+4];f[l+5]=k[m+5];f[l+6]=k[m+6];f[l+7]=k[m+7];f[l+8]=k[m+8];f[l+9]=k[m+9];f[l+10]=k[m+10];f[l+11]=k[m+11];f[l+12]=k[m+12];f[l+13]=k[m+13];f[l+14]=k[m+14];f[l+15]=k[m+15]}}else f=N.subarray(e>>2,e+64*b>>2);S.uniformMatrix4fv(W(a),!!c,f)}},ta:function(a){a=Xc[a];S.useProgram(a);S.We=a},sa:function(a,b){S.vertexAttrib1f(a,b)},ra:function(a,b){S.vertexAttrib2f(a,N[b>>2],N[b+4>>2])},qa:function(a,b){S.vertexAttrib3f(a,N[b>>2],N[b+4>>2],N[b+8>>2])}, +pa:function(a,b){S.vertexAttrib4f(a,N[b>>2],N[b+4>>2],N[b+8>>2],N[b+12>>2])},oa:function(a,b){S.vertexAttribDivisor(a,b)},na:function(a,b,c,e,f){S.vertexAttribIPointer(a,b,c,e,f)},ma:function(a,b,c,e,f,k){S.vertexAttribPointer(a,b,c,!!e,f,k)},la:function(a,b,c,e){S.viewport(a,b,c,e)},ba:function(a,b,c,e){S.waitSync(cd[a],b,(c>>>0)+4294967296*e)},n:Nd,u:Od,k:Pd,J:Qd,R:Rd,Q:Sd,x:Td,y:Ud,q:Vd,w:Wd,ka:Xd,ja:Yd,ia:Zd,aa:(a,b,c,e)=>Hd(a,b,c,e)}; +(function(){function a(c){G=c=c.exports;Fa=G.ad;La();Ma=G.dd;Pa.unshift(G.bd);Ua--;r.monitorRunDependencies&&r.monitorRunDependencies(Ua);if(0==Ua&&(null!==Va&&(clearInterval(Va),Va=null),Wa)){var e=Wa;Wa=null;e()}return c}var b={a:$d};Ua++;r.monitorRunDependencies&&r.monitorRunDependencies(Ua);if(r.instantiateWasm)try{return r.instantiateWasm(b,a)}catch(c){Ca("Module.instantiateWasm callback failed with error: "+c),ba(c)}cb(b,function(c){a(c.instance)}).catch(ba);return{}})(); +var wd=r._malloc=a=>(wd=r._malloc=G.cd)(a),qc=r._free=a=>(qc=r._free=G.ed)(a),pc=a=>(pc=G.fd)(a);r.__embind_initialize_bindings=()=>(r.__embind_initialize_bindings=G.gd)();var ae=(a,b)=>(ae=G.hd)(a,b),be=()=>(be=G.id)(),ce=a=>(ce=G.jd)(a);r.dynCall_viji=(a,b,c,e,f)=>(r.dynCall_viji=G.ld)(a,b,c,e,f);r.dynCall_vijiii=(a,b,c,e,f,k,l)=>(r.dynCall_vijiii=G.md)(a,b,c,e,f,k,l);r.dynCall_viiiiij=(a,b,c,e,f,k,l,m)=>(r.dynCall_viiiiij=G.nd)(a,b,c,e,f,k,l,m); +r.dynCall_iiiji=(a,b,c,e,f,k)=>(r.dynCall_iiiji=G.od)(a,b,c,e,f,k);r.dynCall_jii=(a,b,c)=>(r.dynCall_jii=G.pd)(a,b,c);r.dynCall_vij=(a,b,c,e)=>(r.dynCall_vij=G.qd)(a,b,c,e);r.dynCall_iiij=(a,b,c,e,f)=>(r.dynCall_iiij=G.rd)(a,b,c,e,f);r.dynCall_iiiij=(a,b,c,e,f,k)=>(r.dynCall_iiiij=G.sd)(a,b,c,e,f,k);r.dynCall_viij=(a,b,c,e,f)=>(r.dynCall_viij=G.td)(a,b,c,e,f);r.dynCall_viiij=(a,b,c,e,f,k)=>(r.dynCall_viiij=G.ud)(a,b,c,e,f,k); +r.dynCall_jiiiiii=(a,b,c,e,f,k,l)=>(r.dynCall_jiiiiii=G.vd)(a,b,c,e,f,k,l);r.dynCall_jiiiiji=(a,b,c,e,f,k,l,m)=>(r.dynCall_jiiiiji=G.wd)(a,b,c,e,f,k,l,m);r.dynCall_ji=(a,b)=>(r.dynCall_ji=G.xd)(a,b);r.dynCall_iijj=(a,b,c,e,f,k)=>(r.dynCall_iijj=G.yd)(a,b,c,e,f,k);r.dynCall_iiji=(a,b,c,e,f)=>(r.dynCall_iiji=G.zd)(a,b,c,e,f);r.dynCall_iijjiii=(a,b,c,e,f,k,l,m,p)=>(r.dynCall_iijjiii=G.Ad)(a,b,c,e,f,k,l,m,p);r.dynCall_iij=(a,b,c,e)=>(r.dynCall_iij=G.Bd)(a,b,c,e); +r.dynCall_vijjjii=(a,b,c,e,f,k,l,m,p,w)=>(r.dynCall_vijjjii=G.Cd)(a,b,c,e,f,k,l,m,p,w);r.dynCall_jiji=(a,b,c,e,f)=>(r.dynCall_jiji=G.Dd)(a,b,c,e,f);r.dynCall_viijii=(a,b,c,e,f,k,l)=>(r.dynCall_viijii=G.Ed)(a,b,c,e,f,k,l);r.dynCall_iiiiij=(a,b,c,e,f,k,l)=>(r.dynCall_iiiiij=G.Fd)(a,b,c,e,f,k,l);r.dynCall_iiiiijj=(a,b,c,e,f,k,l,m,p)=>(r.dynCall_iiiiijj=G.Gd)(a,b,c,e,f,k,l,m,p);r.dynCall_iiiiiijj=(a,b,c,e,f,k,l,m,p,w)=>(r.dynCall_iiiiiijj=G.Hd)(a,b,c,e,f,k,l,m,p,w); +function Wd(a,b,c,e,f){var k=be();try{Ma.get(a)(b,c,e,f)}catch(l){ce(k);if(l!==l+0)throw l;ae(1,0)}}function Od(a,b,c){var e=be();try{return Ma.get(a)(b,c)}catch(f){ce(e);if(f!==f+0)throw f;ae(1,0)}}function Ud(a,b,c){var e=be();try{Ma.get(a)(b,c)}catch(f){ce(e);if(f!==f+0)throw f;ae(1,0)}}function Nd(a,b){var c=be();try{return Ma.get(a)(b)}catch(e){ce(c);if(e!==e+0)throw e;ae(1,0)}}function Td(a,b){var c=be();try{Ma.get(a)(b)}catch(e){ce(c);if(e!==e+0)throw e;ae(1,0)}} +function Pd(a,b,c,e){var f=be();try{return Ma.get(a)(b,c,e)}catch(k){ce(f);if(k!==k+0)throw k;ae(1,0)}}function Zd(a,b,c,e,f,k,l,m,p,w){var y=be();try{Ma.get(a)(b,c,e,f,k,l,m,p,w)}catch(B){ce(y);if(B!==B+0)throw B;ae(1,0)}}function Vd(a,b,c,e){var f=be();try{Ma.get(a)(b,c,e)}catch(k){ce(f);if(k!==k+0)throw k;ae(1,0)}}function Yd(a,b,c,e,f,k,l){var m=be();try{Ma.get(a)(b,c,e,f,k,l)}catch(p){ce(m);if(p!==p+0)throw p;ae(1,0)}} +function Qd(a,b,c,e,f){var k=be();try{return Ma.get(a)(b,c,e,f)}catch(l){ce(k);if(l!==l+0)throw l;ae(1,0)}}function Rd(a,b,c,e,f,k,l){var m=be();try{return Ma.get(a)(b,c,e,f,k,l)}catch(p){ce(m);if(p!==p+0)throw p;ae(1,0)}}function Xd(a,b,c,e,f,k){var l=be();try{Ma.get(a)(b,c,e,f,k)}catch(m){ce(l);if(m!==m+0)throw m;ae(1,0)}}function Sd(a,b,c,e,f,k,l,m,p,w){var y=be();try{return Ma.get(a)(b,c,e,f,k,l,m,p,w)}catch(B){ce(y);if(B!==B+0)throw B;ae(1,0)}}var de;Wa=function ee(){de||fe();de||(Wa=ee)}; +function fe(){function a(){if(!de&&(de=!0,r.calledRun=!0,!Ga)){eb(Pa);aa(r);if(r.onRuntimeInitialized)r.onRuntimeInitialized();if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var b=r.postRun.shift();Qa.unshift(b)}eb(Qa)}}if(!(0\28SkColorSpace*\29 +219:__memcpy +220:SkString::~SkString\28\29 +221:__memset +222:GrGLSLShaderBuilder::codeAppendf\28char\20const*\2c\20...\29 +223:uprv_free_74 +224:memcmp +225:SkColorInfo::~SkColorInfo\28\29 +226:SkDebugf\28char\20const*\2c\20...\29 +227:SkString::SkString\28\29 +228:SkData::~SkData\28\29 +229:SkContainerAllocator::allocate\28int\2c\20double\29 +230:memmove +231:SkString::insert\28unsigned\20long\2c\20char\20const*\29 +232:hb_blob_destroy +233:uprv_malloc_74 +234:SkPath::~SkPath\28\29 +235:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::~__func\28\29 +236:strlen +237:sk_report_container_overflow_and_die\28\29 +238:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\29 +239:SkSL::ErrorReporter::error\28SkSL::Position\2c\20std::__2::basic_string_view>\29 +240:SkArenaAlloc::ensureSpace\28unsigned\20int\2c\20unsigned\20int\29 +241:SkRasterPipeline::append\28SkRasterPipelineOp\2c\20void*\29 +242:strcmp +243:SkString::SkString\28char\20const*\29 +244:ft_mem_free +245:FT_MulFix +246:emscripten::default_smart_ptr_trait>::share\28void*\29 +247:SkTDStorage::append\28\29 +248:SkMatrix::computeTypeMask\28\29\20const +249:GrGpuResource::notifyARefCntIsZero\28GrIORef::LastRemovedRef\29\20const +250:testSetjmp +251:SkWriter32::growToAtLeast\28unsigned\20long\29 +252:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\2c\20unsigned\20long\29 +253:fmaxf +254:std::__2::basic_string\2c\20std::__2::allocator>::size\5babi:v160004\5d\28\29\20const +255:SkString::SkString\28SkString&&\29 +256:SkSL::Pool::AllocMemory\28unsigned\20long\29 +257:std::__2::basic_string\2c\20std::__2::allocator>::__throw_length_error\5babi:v160004\5d\28\29\20const +258:GrColorInfo::~GrColorInfo\28\29 +259:SkIRect::intersect\28SkIRect\20const&\2c\20SkIRect\20const&\29 +260:GrBackendFormat::~GrBackendFormat\28\29 +261:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\29 +262:GrContext_Base::caps\28\29\20const +263:icu_74::UnicodeString::~UnicodeString\28\29 +264:std::__2::vector>::__throw_length_error\5babi:v160004\5d\28\29\20const +265:SkPaint::~SkPaint\28\29 +266:icu_74::UMemory::operator\20delete\28void*\29 +267:strncmp +268:SkTDStorage::~SkTDStorage\28\29 +269:sk_malloc_throw\28unsigned\20long\2c\20unsigned\20long\29 +270:SkTDStorage::SkTDStorage\28int\29 +271:SkSL::RP::Generator::pushExpression\28SkSL::Expression\20const&\2c\20bool\29 +272:SkStrokeRec::getStyle\28\29\20const +273:SkString::SkString\28SkString\20const&\29 +274:void\20emscripten::internal::raw_destructor\28SkContourMeasure*\29 +275:hb_ot_map_builder_t::add_feature\28unsigned\20int\2c\20hb_ot_map_feature_flags_t\2c\20unsigned\20int\29 +276:SkMatrix::mapRect\28SkRect*\2c\20SkRect\20const&\2c\20SkApplyPerspectiveClip\29\20const +277:SkBitmap::~SkBitmap\28\29 +278:SkFontMgr*\20emscripten::base::convertPointer\28skia::textlayout::TypefaceFontProvider*\29 +279:hb_buffer_t::make_room_for\28unsigned\20int\2c\20unsigned\20int\29 +280:fminf +281:SkArenaAlloc::installFooter\28char*\20\28*\29\28char*\29\2c\20unsigned\20int\29 +282:SkArenaAlloc::allocObjectWithFooter\28unsigned\20int\2c\20unsigned\20int\29 +283:icu_74::CharString::append\28char\20const*\2c\20int\2c\20UErrorCode&\29 +284:skia_private::TArray::push_back\28SkPoint\20const&\29 +285:SkString::operator=\28SkString&&\29 +286:SkSemaphore::osSignal\28int\29 +287:SkPath::SkPath\28\29 +288:skia_png_error +289:hb_buffer_t::message\28hb_font_t*\2c\20char\20const*\2c\20...\29 +290:SkSL::Parser::nextRawToken\28\29 +291:SkArenaAlloc::~SkArenaAlloc\28\29 +292:SkMatrix::computePerspectiveTypeMask\28\29\20const +293:icu_74::StringPiece::StringPiece\28char\20const*\29 +294:SkSemaphore::osWait\28\29 +295:std::__2::__shared_weak_count::__release_weak\28\29 +296:SkColorInfo::SkColorInfo\28SkColorInfo\20const&\29 +297:SkIntersections::insert\28double\2c\20double\2c\20SkDPoint\20const&\29 +298:dlmalloc +299:FT_DivFix +300:SkString::appendf\28char\20const*\2c\20...\29 +301:uprv_isASCIILetter_74 +302:std::__throw_bad_array_new_length\5babi:v160004\5d\28\29 +303:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +304:skia_png_free +305:SkChecksum::Hash32\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20int\29 +306:utext_setNativeIndex_74 +307:utext_getNativeIndex_74 +308:skia_png_crc_finish +309:SkPath::lineTo\28float\2c\20float\29 +310:SkMatrix::setTranslate\28float\2c\20float\29 +311:ures_closeBundle\28UResourceBundle*\2c\20signed\20char\29 +312:skia_png_chunk_benign_error +313:SkMatrix::mapPoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +314:dlrealloc +315:skia_png_warning +316:SkBlitter::~SkBlitter\28\29 +317:OT::VarData::get_delta\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20OT::VarRegionList\20const&\2c\20float*\29\20const +318:ft_mem_qrealloc +319:SkColorInfo::bytesPerPixel\28\29\20const +320:SkPaint::SkPaint\28SkPaint\20const&\29 +321:GrVertexChunkBuilder::allocChunk\28int\29 +322:OT::DeltaSetIndexMap::map\28unsigned\20int\29\20const +323:strchr +324:ft_mem_realloc +325:SkReadBuffer::readUInt\28\29 +326:strstr +327:SkMatrix::reset\28\29 +328:SkImageInfo::MakeUnknown\28int\2c\20int\29 +329:GrSurfaceProxyView::asRenderTargetProxy\28\29\20const +330:skia_private::TArray::push_back\28unsigned\20char&&\29 +331:SkBitmap::SkBitmap\28\29 +332:skia_private::TArray::push_back\28unsigned\20long\20const&\29 +333:SkPath::SkPath\28SkPath\20const&\29 +334:ft_validator_error +335:SkPaint::SkPaint\28\29 +336:SkOpPtT::segment\28\29\20const +337:GrTextureGenerator::isTextureGenerator\28\29\20const +338:SkSL::Parser::expect\28SkSL::Token::Kind\2c\20char\20const*\2c\20SkSL::Token*\29 +339:SkJSONWriter::appendName\28char\20const*\29 +340:sk_malloc_flags\28unsigned\20long\2c\20unsigned\20int\29 +341:std::__2::basic_string\2c\20std::__2::allocator>::__get_pointer\5babi:v160004\5d\28\29 +342:skia_private::TArray\2c\20true>::push_back\28sk_sp&&\29 +343:SkMatrix::invertNonIdentity\28SkMatrix*\29\20const +344:SkJSONWriter::beginValue\28bool\29 +345:uhash_close_74 +346:dlcalloc +347:SkSL::RP::Builder::appendInstruction\28SkSL::RP::BuilderOp\2c\20SkSL::RP::Builder::SlotList\2c\20int\2c\20int\2c\20int\2c\20int\29 +348:SkImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +349:skia_private::TArray::push_back\28SkSL::RP::Instruction&&\29 +350:skia_png_get_uint_32 +351:skia_png_calculate_crc +352:std::__2::basic_string\2c\20std::__2::allocator>::resize\5babi:v160004\5d\28unsigned\20long\29 +353:SkSL::GLSLCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +354:skgpu::Swizzle::Swizzle\28char\20const*\29 +355:SkPoint::Length\28float\2c\20float\29 +356:GrImageInfo::GrImageInfo\28GrImageInfo\20const&\29 +357:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +358:SkPath::getBounds\28\29\20const +359:std::__2::locale::~locale\28\29 +360:SkLoadICULib\28\29 +361:ucptrie_internalSmallIndex_74 +362:skia_private::TArray::push_back\28SkString&&\29 +363:icu_74::CharString::append\28char\2c\20UErrorCode&\29 +364:SkPathRef::Editor::Editor\28sk_sp*\2c\20int\2c\20int\2c\20int\29 +365:FT_Stream_Seek +366:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28char\29 +367:SkRect::join\28SkRect\20const&\29 +368:SkRect::intersect\28SkRect\20const&\29 +369:std::__2::__throw_bad_function_call\5babi:v160004\5d\28\29 +370:hb_blob_reference +371:cf2_stack_popFixed +372:GrGLExtensions::has\28char\20const*\29\20const +373:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +374:SkRect::setBoundsCheck\28SkPoint\20const*\2c\20int\29 +375:SkRasterPipeline::uncheckedAppend\28SkRasterPipelineOp\2c\20void*\29 +376:SkCachedData::internalUnref\28bool\29\20const +377:GrProcessor::operator\20new\28unsigned\20long\29 +378:FT_MulDiv +379:strcpy +380:std::__2::to_string\28int\29 +381:skia_private::TArray>\2c\20true>::operator=\28skia_private::TArray>\2c\20true>&&\29 +382:std::__2::ios_base::getloc\28\29\20const +383:icu_74::UnicodeString::doAppend\28char16_t\20const*\2c\20int\2c\20int\29 +384:SkRegion::~SkRegion\28\29 +385:skia_png_read_push_finish_row +386:skia::textlayout::TextStyle::~TextStyle\28\29 +387:hb_blob_make_immutable +388:SkString::operator=\28char\20const*\29 +389:SkSemaphore::~SkSemaphore\28\29 +390:SkReadBuffer::setInvalid\28\29 +391:SkColorInfo::operator=\28SkColorInfo&&\29 +392:umtx_unlock_74 +393:hb_ot_map_builder_t::add_pause\28unsigned\20int\2c\20bool\20\28*\29\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29\29 +394:embind_init_Paragraph\28\29::$_10::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +395:cff1_path_procs_extents_t::curve\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +396:VP8GetValue +397:uhash_get_74 +398:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28\29 +399:skgpu::ganesh::SurfaceContext::caps\28\29\20const +400:icu_74::UnicodeSet::~UnicodeSet\28\29 +401:icu_74::UnicodeSet::contains\28int\29\20const +402:SkSL::String::printf\28char\20const*\2c\20...\29 +403:SkPoint::normalize\28\29 +404:SkColorInfo::operator=\28SkColorInfo\20const&\29 +405:SkArenaAlloc::SkArenaAlloc\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +406:FT_Stream_ReadUShort +407:utext_next32_74 +408:jdiv_round_up +409:SkSL::RP::Builder::binary_op\28SkSL::RP::BuilderOp\2c\20int\29 +410:SkImageGenerator::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +411:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +412:jzero_far +413:hb_blob_get_data_writable +414:SkPathRef::growForVerb\28int\2c\20float\29 +415:SkColorInfo::SkColorInfo\28SkColorInfo&&\29 +416:skia_png_write_data +417:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +418:SkSL::Type::matches\28SkSL::Type\20const&\29\20const +419:SkRuntimeEffect::uniformSize\28\29\20const +420:SkMatrix::setConcat\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +421:FT_Stream_ExitFrame +422:umtx_lock_74 +423:subtag_matches\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20int\29 +424:skia_private::TArray::push_back_raw\28int\29 +425:__shgetc +426:SkBlitter::~SkBlitter\28\29.1 +427:FT_Stream_GetUShort +428:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28wchar_t\20const*\29 +429:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28char\20const*\29 +430:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +431:SkSL::SymbolTable::addWithoutOwnershipOrDie\28SkSL::Symbol*\29 +432:SkPoint::scale\28float\2c\20SkPoint*\29\20const +433:SkIRect\20skif::Mapping::map\28SkIRect\20const&\2c\20SkMatrix\20const&\29 +434:GrFragmentProcessor::ProgramImpl::invokeChild\28int\2c\20char\20const*\2c\20char\20const*\2c\20GrFragmentProcessor::ProgramImpl::EmitArgs&\2c\20std::__2::basic_string_view>\29 +435:sktext::gpu::BagOfBytes::~BagOfBytes\28\29 +436:icu_74::UVector32::expandCapacity\28int\2c\20UErrorCode&\29 +437:hb_face_reference_table +438:SkStringPrintf\28char\20const*\2c\20...\29 +439:GrSurfaceProxyView::asTextureProxy\28\29\20const +440:RoughlyEqualUlps\28float\2c\20float\29 +441:GrGLSLVaryingHandler::addVarying\28char\20const*\2c\20GrGLSLVarying*\2c\20GrGLSLVaryingHandler::Interpolation\29 +442:skia_png_chunk_error +443:SkTDStorage::reserve\28int\29 +444:SkPath::Iter::next\28SkPoint*\29 +445:SkDynamicMemoryWStream::write\28void\20const*\2c\20unsigned\20long\29 +446:OT::Layout::Common::Coverage::get_coverage\28unsigned\20int\29\20const +447:GrQuad::MakeFromRect\28SkRect\20const&\2c\20SkMatrix\20const&\29 +448:round +449:SkRecord::grow\28\29 +450:SkRGBA4f<\28SkAlphaType\293>::toBytes_RGBA\28\29\20const +451:GrProcessor::operator\20new\28unsigned\20long\2c\20unsigned\20long\29 +452:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28SkSL::SymbolTable*\29\20const +453:skgpu::ganesh::SurfaceDrawContext::addDrawOp\28GrClip\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::function\20const&\29 +454:skgpu::ResourceKeyHash\28unsigned\20int\20const*\2c\20unsigned\20long\29 +455:icu_74::UVector::elementAt\28int\29\20const +456:VP8LoadFinalBytes +457:SkSL::TProgramVisitor::visitStatement\28SkSL::Statement\20const&\29 +458:SkSL::RP::Builder::discard_stack\28int\2c\20int\29 +459:SkPath::conicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\29 +460:SkCanvas::predrawNotify\28bool\29 +461:std::__2::__cloc\28\29 +462:sscanf +463:SkSurfaceProps::SkSurfaceProps\28\29 +464:SkStrikeSpec::~SkStrikeSpec\28\29 +465:SkPath::moveTo\28float\2c\20float\29 +466:GrSkSLFP::GrSkSLFP\28sk_sp\2c\20char\20const*\2c\20GrSkSLFP::OptFlags\29 +467:GrBackendFormat::GrBackendFormat\28\29 +468:icu_74::umtx_initImplPreInit\28icu_74::UInitOnce&\29 +469:icu_74::umtx_initImplPostInit\28icu_74::UInitOnce&\29 +470:__multf3 +471:VP8LReadBits +472:SkTDStorage::append\28int\29 +473:SkPath::isFinite\28\29\20const +474:SkMatrix::setScale\28float\2c\20float\29 +475:GrOpsRenderPass::setScissorRect\28SkIRect\20const&\29 +476:GrOpsRenderPass::bindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +477:GrCaps::getDefaultBackendFormat\28GrColorType\2c\20skgpu::Renderable\29\20const +478:hb_draw_funcs_t::start_path\28void*\2c\20hb_draw_state_t&\29 +479:SkSL::ConstructorCompound::MakeFromConstants\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20double\20const*\29 +480:SkRuntimeEffect::MakeForShader\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +481:SkPath::isEmpty\28\29\20const +482:SkColorSpaceXformSteps::SkColorSpaceXformSteps\28SkColorSpace\20const*\2c\20SkAlphaType\2c\20SkColorSpace\20const*\2c\20SkAlphaType\29 +483:GrSimpleMeshDrawOpHelper::~GrSimpleMeshDrawOpHelper\28\29 +484:GrProcessorSet::GrProcessorSet\28GrPaint&&\29 +485:GrBackendFormats::AsGLFormat\28GrBackendFormat\20const&\29 +486:std::__2::locale::id::__get\28\29 +487:std::__2::locale::facet::facet\5babi:v160004\5d\28unsigned\20long\29 +488:skia_private::TArray::push_back_raw\28int\29 +489:hb_buffer_t::_infos_set_glyph_flags\28hb_glyph_info_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +490:SkSL::PipelineStage::PipelineStageCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +491:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29 +492:SkSL::GLSLCodeGenerator::writeIdentifier\28std::__2::basic_string_view>\29 +493:SkPath::reset\28\29 +494:SkPath::operator=\28SkPath\20const&\29 +495:GrGeometryProcessor::AttributeSet::initImplicit\28GrGeometryProcessor::Attribute\20const*\2c\20int\29 +496:GrContext_Base::contextID\28\29\20const +497:FT_Stream_EnterFrame +498:AlmostEqualUlps\28float\2c\20float\29 +499:udata_close_74 +500:ucln_common_registerCleanup_74 +501:std::__2::locale::__imp::install\28std::__2::locale::facet*\2c\20long\29 +502:skia_png_read_data +503:SkSpinlock::contendedAcquire\28\29 +504:SkSL::evaluate_n_way_intrinsic\28SkSL::Context\20const&\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29\20\28.18\29 +505:SkSL::FunctionDeclaration::description\28\29\20const +506:SkPaint::setStyle\28SkPaint::Style\29 +507:SkMatrix::setRectToRect\28SkRect\20const&\2c\20SkRect\20const&\2c\20SkMatrix::ScaleToFit\29 +508:SkDPoint::approximatelyEqual\28SkDPoint\20const&\29\20const +509:GrSurfaceProxy::backingStoreDimensions\28\29\20const +510:GrOpsRenderPass::bindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +511:uprv_asciitolower_74 +512:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +513:skgpu::ganesh::SurfaceContext::drawingManager\28\29 +514:skgpu::UniqueKey::GenerateDomain\28\29 +515:hb_buffer_t::_set_glyph_flags\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +516:emscripten_longjmp +517:GrMeshDrawOp::GrMeshDrawOp\28unsigned\20int\29 +518:FT_RoundFix +519:uprv_realloc_74 +520:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +521:std::__2::unique_ptr::unique_ptr\5babi:v160004\5d\28unsigned\20char*\2c\20std::__2::__dependent_type\2c\20true>::__good_rval_ref_type\29 +522:icu_74::UnicodeSet::UnicodeSet\28\29 +523:hb_face_get_glyph_count +524:cf2_stack_pushFixed +525:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +526:__multi3 +527:SkSL::RP::Builder::push_duplicates\28int\29 +528:SkMatrix::postTranslate\28float\2c\20float\29 +529:SkColorInfo::refColorSpace\28\29\20const +530:SkCanvas::concat\28SkMatrix\20const&\29 +531:SkBlockAllocator::reset\28\29 +532:SkBitmapDevice::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +533:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20SkFilterMode\2c\20SkMipmapMode\29 +534:GrGLSLVaryingHandler::addPassThroughAttribute\28GrShaderVar\20const&\2c\20char\20const*\2c\20GrGLSLVaryingHandler::Interpolation\29 +535:GrFragmentProcessor::registerChild\28std::__2::unique_ptr>\2c\20SkSL::SampleUsage\29 +536:FT_Stream_ReleaseFrame +537:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +538:skia::textlayout::TextStyle::TextStyle\28skia::textlayout::TextStyle\20const&\29 +539:hb_buffer_t::merge_clusters_impl\28unsigned\20int\2c\20unsigned\20int\29 +540:decltype\28fp.sanitize\28this\29\29\20hb_sanitize_context_t::_dispatch\28OT::Layout::Common::Coverage\20const&\2c\20hb_priority<1u>\29 +541:SkWStream::writePackedUInt\28unsigned\20long\29 +542:SkSL::RP::Builder::push_constant_i\28int\2c\20int\29 +543:SkSL::BreakStatement::~BreakStatement\28\29 +544:SkPaint::setShader\28sk_sp\29 +545:SkNullBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +546:SkBitmap::setImmutable\28\29 +547:GrPipeline::visitProxies\28std::__2::function\20const&\29\20const +548:GrGeometryProcessor::GrGeometryProcessor\28GrProcessor::ClassID\29 +549:void\20emscripten::internal::raw_destructor\28GrDirectContext*\29 +550:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +551:icu_74::UnicodeSet::add\28int\2c\20int\29 +552:SkString::equals\28SkString\20const&\29\20const +553:SkSL::fold_expression\28SkSL::Position\2c\20double\2c\20SkSL::Type\20const*\29 +554:SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0::operator\28\29\28SkSL::FunctionDefinition\20const*\2c\20SkSL::FunctionDefinition\20const*\29\20const +555:SkSL::RP::Generator::binaryOp\28SkSL::Type\20const&\2c\20SkSL::RP::Generator::TypedOps\20const&\29 +556:SkJSONWriter::appendf\28char\20const*\2c\20...\29 +557:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29 +558:GrGeometryProcessor::Attribute&\20skia_private::TArray::emplace_back\28char\20const\20\28&\29\20\5b10\5d\2c\20GrVertexAttribType&&\2c\20SkSLType&&\29 +559:Cr_z_crc32 +560:u_strlen_74 +561:skia_png_push_save_buffer +562:cosf +563:SkSL::Type::MakeAliasType\28std::__2::basic_string_view>\2c\20SkSL::Type\20const&\29 +564:SkSL::RP::SlotManager::getVariableSlots\28SkSL::Variable\20const&\29 +565:SkSL::RP::Builder::unary_op\28SkSL::RP::BuilderOp\2c\20int\29 +566:SkReadBuffer::readScalar\28\29 +567:GrProcessorSet::visitProxies\28std::__2::function\20const&\29\20const +568:GrGLTexture::target\28\29\20const +569:ures_getByKey_74 +570:sk_srgb_singleton\28\29 +571:fmodf +572:fma +573:SkSurface_Base::aboutToDraw\28SkSurface::ContentChangeMode\29 +574:SkSL::Pool::FreeMemory\28void*\29 +575:SkPaint::SkPaint\28SkPaint&&\29 +576:SkDPoint::ApproximatelyEqual\28SkPoint\20const&\2c\20SkPoint\20const&\29 +577:SkBitmap::SkBitmap\28SkBitmap\20const&\29 +578:void\20std::__2::vector>\2c\20std::__2::allocator>>>::__push_back_slow_path>>\28std::__2::unique_ptr>&&\29 +579:std::__2::basic_string\2c\20std::__2::allocator>::__init_copy_ctor_external\28char\20const*\2c\20unsigned\20long\29 +580:skip_spaces +581:skcms_Transform +582:sk_realloc_throw\28void*\2c\20unsigned\20long\29 +583:emscripten::smart_ptr_trait>::get\28sk_sp\20const&\29 +584:cff2_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +585:cff1_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +586:bool\20OT::Layout::Common::Coverage::collect_coverage\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>>\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>*\29\20const +587:SkString::operator=\28SkString\20const&\29 +588:SkSL::Type::toCompound\28SkSL::Context\20const&\2c\20int\2c\20int\29\20const +589:SkPath::transform\28SkMatrix\20const&\2c\20SkPath*\2c\20SkApplyPerspectiveClip\29\20const +590:SkPath::quadTo\28float\2c\20float\2c\20float\2c\20float\29 +591:SkCanvas::save\28\29 +592:SkBlockAllocator::addBlock\28int\2c\20int\29 +593:SkBitmap::tryAllocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29 +594:SkAAClipBlitter::~SkAAClipBlitter\28\29 +595:OT::hb_ot_apply_context_t::match_properties_mark\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +596:GrThreadSafeCache::VertexData::~VertexData\28\29 +597:GrShape::asPath\28SkPath*\2c\20bool\29\20const +598:GrShaderVar::appendDecl\28GrShaderCaps\20const*\2c\20SkString*\29\20const +599:GrPixmapBase::~GrPixmapBase\28\29 +600:GrGLSLVaryingHandler::emitAttributes\28GrGeometryProcessor\20const&\29 +601:uhash_put_74 +602:std::__2::unique_ptr::reset\5babi:v160004\5d\28unsigned\20char*\29 +603:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +604:skia_private::TArray::push_back\28SkPaint\20const&\29 +605:png_icc_profile_error +606:icu_74::UnicodeString::getChar32At\28int\29\20const +607:icu_74::CharStringByteSink::CharStringByteSink\28icu_74::CharString*\29 +608:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression\20const&\29 +609:SkRasterClip::~SkRasterClip\28\29 +610:SkPixmap::reset\28SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +611:SkPathRef::~SkPathRef\28\29 +612:SkPath::countPoints\28\29\20const +613:SkPaint::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +614:SkPaint::canComputeFastBounds\28\29\20const +615:SkOpPtT::contains\28SkOpPtT\20const*\29\20const +616:SkOpAngle::segment\28\29\20const +617:SkMatrix::preConcat\28SkMatrix\20const&\29 +618:SkMatrix::mapVectors\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +619:SkMasks::getRed\28unsigned\20int\29\20const +620:SkMasks::getGreen\28unsigned\20int\29\20const +621:SkMasks::getBlue\28unsigned\20int\29\20const +622:SkColorInfo::shiftPerPixel\28\29\20const +623:GrProcessorSet::~GrProcessorSet\28\29 +624:GrMeshDrawOp::createProgramInfo\28GrMeshDrawTarget*\29 +625:FT_Stream_ReadFields +626:AutoLayerForImageFilter::~AutoLayerForImageFilter\28\29 +627:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +628:saveSetjmp +629:operator==\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +630:icu_74::UnicodeString::UnicodeString\28icu_74::UnicodeString\20const&\29 +631:icu_74::UnicodeSet::compact\28\29 +632:hb_face_t::load_num_glyphs\28\29\20const +633:emscripten::internal::MethodInvoker::invoke\28int\20\28SkAnimatedImage::*\20const&\29\28\29\2c\20SkAnimatedImage*\29 +634:emscripten::default_smart_ptr_trait>::construct_null\28\29 +635:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +636:VP8GetSignedValue +637:SkSafeMath::Mul\28unsigned\20long\2c\20unsigned\20long\29 +638:SkSL::Type::MakeVectorType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\29 +639:SkRasterPipeline::SkRasterPipeline\28SkArenaAlloc*\29 +640:SkPoint::setLength\28float\29 +641:SkImageGenerator::onIsValid\28GrRecordingContext*\29\20const +642:OT::GDEF::accelerator_t::mark_set_covers\28unsigned\20int\2c\20unsigned\20int\29\20const +643:GrTextureProxy::mipmapped\28\29\20const +644:GrGpuResource::~GrGpuResource\28\29 +645:FT_Stream_GetULong +646:FT_Get_Char_Index +647:Cr_z__tr_flush_bits +648:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +649:void\20emscripten::internal::MemberAccess::setWire\28int\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform&\2c\20int\29 +650:uhash_setKeyDeleter_74 +651:uhash_init_74 +652:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +653:std::__2::__throw_overflow_error\5babi:v160004\5d\28char\20const*\29 +654:skia_private::THashMap::set\28char\20const*\2c\20unsigned\20int\29 +655:skia_png_chunk_report +656:skgpu::UniqueKey::operator=\28skgpu::UniqueKey\20const&\29 +657:sk_double_nearly_zero\28double\29 +658:int\20emscripten::internal::MemberAccess::getWire\28int\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform\20const&\29 +659:icu_74::UnicodeString::tempSubString\28int\2c\20int\29\20const +660:icu_74::Locale::~Locale\28\29 +661:hb_font_get_glyph +662:ft_mem_qalloc +663:fit_linear\28skcms_Curve\20const*\2c\20int\2c\20float\2c\20float*\2c\20float*\2c\20float*\29 +664:expf +665:_output_with_dotted_circle\28hb_buffer_t*\29 +666:WebPSafeMalloc +667:SkStream::readS32\28int*\29 +668:SkSL::GLSLCodeGenerator::getTypeName\28SkSL::Type\20const&\29 +669:SkRGBA4f<\28SkAlphaType\293>::FromColor\28unsigned\20int\29 +670:SkPath::Iter::Iter\28SkPath\20const&\2c\20bool\29 +671:SkMatrix::postConcat\28SkMatrix\20const&\29 +672:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_3::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +673:SkGlyph::rowBytes\28\29\20const +674:SkDrawable::getFlattenableType\28\29\20const +675:SkDrawable::getBounds\28\29 +676:SkDCubic::ptAtT\28double\29\20const +677:SkColorSpace::MakeSRGB\28\29 +678:SkColorInfo::SkColorInfo\28\29 +679:GrOpFlushState::drawMesh\28GrSimpleMesh\20const&\29 +680:GrImageInfo::GrImageInfo\28SkImageInfo\20const&\29 +681:DefaultGeoProc::Impl::~Impl\28\29 +682:skif::LayerSpace::mapRect\28skif::LayerSpace\20const&\29\20const +683:out +684:jpeg_fill_bit_buffer +685:icu_74::ReorderingBuffer::appendZeroCC\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29 +686:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +687:SkString::data\28\29 +688:SkShaderBase::SkShaderBase\28\29 +689:SkSL::Type::coerceExpression\28std::__2::unique_ptr>\2c\20SkSL::Context\20const&\29\20const +690:SkSL::Type::MakeGenericType\28char\20const*\2c\20SkSpan\2c\20SkSL::Type\20const*\29 +691:SkSL::ConstantFolder::GetConstantValueForVariable\28SkSL::Expression\20const&\29 +692:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29 +693:SkRegion::setRect\28SkIRect\20const&\29 +694:SkRegion::SkRegion\28\29 +695:SkRecords::FillBounds::adjustForSaveLayerPaints\28SkRect*\2c\20int\29\20const +696:SkPathStroker::lineTo\28SkPoint\20const&\2c\20SkPath::Iter\20const*\29 +697:SkPaint::setPathEffect\28sk_sp\29 +698:SkPaint::setMaskFilter\28sk_sp\29 +699:SkPaint::setColor\28unsigned\20int\29 +700:SkPaint::setColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\29 +701:SkOpContourBuilder::flush\28\29 +702:SkImageFilter::getInput\28int\29\20const +703:SkData::MakeWithCopy\28void\20const*\2c\20unsigned\20long\29 +704:SkCanvas::~SkCanvas\28\29.1 +705:SkCanvas::restoreToCount\28int\29 +706:SkCanvas::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +707:SkAutoPixmapStorage::~SkAutoPixmapStorage\28\29 +708:GrMatrixEffect::Make\28SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +709:u_memcpy_74 +710:std::__2::char_traits::assign\28char&\2c\20char\20const&\29 +711:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +712:std::__2::__check_grouping\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int&\29 +713:skia_png_malloc +714:skia::textlayout::Cluster::run\28\29\20const +715:skgpu::ganesh::SurfaceDrawContext::drawFilledQuad\28GrClip\20const*\2c\20GrPaint&&\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\29 +716:sk_sp::~sk_sp\28\29 +717:png_write_complete_chunk +718:pad +719:icu_74::UnicodeString::UnicodeString\28char16_t\20const*\29 +720:icu_74::UnicodeSet::add\28int\29 +721:hb_lockable_set_t::fini\28hb_mutex_t&\29 +722:ft_mem_alloc +723:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20SkBlendMode\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20SkBlendMode\29 +724:__ashlti3 +725:SkWBuffer::writeNoSizeCheck\28void\20const*\2c\20unsigned\20long\29 +726:SkTCoincident::setPerp\28SkTCurve\20const&\2c\20double\2c\20SkDPoint\20const&\2c\20SkTCurve\20const&\29 +727:SkStrokeRec::SkStrokeRec\28SkStrokeRec::InitStyle\29 +728:SkString::printf\28char\20const*\2c\20...\29 +729:SkSL::Type::MakeMatrixType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\2c\20signed\20char\29 +730:SkSL::Operator::tightOperatorName\28\29\20const +731:SkReadBuffer::readColor4f\28SkRGBA4f<\28SkAlphaType\293>*\29 +732:SkPixmap::reset\28\29 +733:SkPictureData::requiredPaint\28SkReadBuffer*\29\20const +734:SkPath::cubicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +735:SkPath::close\28\29 +736:SkPaintToGrPaint\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +737:SkPaint::setBlendMode\28SkBlendMode\29 +738:SkFindUnitQuadRoots\28float\2c\20float\2c\20float\2c\20float*\29 +739:SkDeque::push_back\28\29 +740:SkCanvas::internalQuickReject\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\29 +741:SkBinaryWriteBuffer::writeBool\28bool\29 +742:OT::hb_paint_context_t::return_t\20OT::Paint::dispatch\28OT::hb_paint_context_t*\29\20const +743:GrShape::bounds\28\29\20const +744:GrProgramInfo::GrProgramInfo\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrGeometryProcessor\20const*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +745:GrPixmapBase::GrPixmapBase\28GrImageInfo\2c\20void*\2c\20unsigned\20long\29 +746:GrColorInfo::GrColorInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\29 +747:FT_Outline_Translate +748:FT_Load_Glyph +749:FT_GlyphLoader_CheckPoints +750:DefaultGeoProc::~DefaultGeoProc\28\29 +751:utext_current32_74 +752:u_terminateUChars_74 +753:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +754:std::__2::basic_string\2c\20std::__2::allocator>::__set_short_size\5babi:v160004\5d\28unsigned\20long\29 +755:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_size\5babi:v160004\5d\28unsigned\20long\29 +756:sinf +757:icu_74::BMPSet::~BMPSet\28\29.1 +758:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28GrDirectContext&\2c\20unsigned\20long\29\2c\20GrDirectContext*\2c\20unsigned\20long\29 +759:byn$mgfn-shared$std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +760:SkTextBlob::~SkTextBlob\28\29 +761:SkRasterPipeline::extend\28SkRasterPipeline\20const&\29 +762:SkMatrix::preTranslate\28float\2c\20float\29 +763:SkMatrix::mapXY\28float\2c\20float\2c\20SkPoint*\29\20const +764:SkMatrix::mapRadius\28float\29\20const +765:SkIRect::join\28SkIRect\20const&\29 +766:SkData::MakeUninitialized\28unsigned\20long\29 +767:SkDQuad::RootsValidT\28double\2c\20double\2c\20double\2c\20double*\29 +768:SkDLine::nearPoint\28SkDPoint\20const&\2c\20bool*\29\20const +769:SkConic::chopIntoQuadsPOW2\28SkPoint*\2c\20int\29\20const +770:SkColorSpaceXformSteps::apply\28float*\29\20const +771:SkCodec::applyColorXform\28void*\2c\20void\20const*\2c\20int\29\20const +772:SkCachedData::internalRef\28bool\29\20const +773:SkBitmap::installPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29 +774:GrSurface::RefCntedReleaseProc::~RefCntedReleaseProc\28\29 +775:GrStyle::initPathEffect\28sk_sp\29 +776:GrProcessor::operator\20delete\28void*\29 +777:GrGpuResource::hasRef\28\29\20const +778:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::~Impl\28\29 +779:GrBufferAllocPool::~GrBufferAllocPool\28\29.1 +780:strncpy +781:std::__2::numpunct::thousands_sep\5babi:v160004\5d\28\29\20const +782:std::__2::numpunct::grouping\5babi:v160004\5d\28\29\20const +783:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +784:skia_png_malloc_warn +785:rewind\28GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +786:icu_74::UVector::removeAllElements\28\29 +787:icu_74::BytesTrie::~BytesTrie\28\29 +788:icu_74::BytesTrie::next\28int\29 +789:cf2_stack_popInt +790:SkUTF::NextUTF8\28char\20const**\2c\20char\20const*\29 +791:SkSL::GLSLCodeGenerator::write\28std::__2::basic_string_view>\29 +792:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29 +793:SkPaint::setColorFilter\28sk_sp\29 +794:SkMatrixPriv::MapRect\28SkM44\20const&\2c\20SkRect\20const&\29 +795:SkImageInfo::MakeA8\28int\2c\20int\29 +796:SkData::MakeWithProc\28void\20const*\2c\20unsigned\20long\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +797:SkData::MakeEmpty\28\29 +798:SkConic::computeQuadPOW2\28float\29\20const +799:SkColorTypeIsAlwaysOpaque\28SkColorType\29 +800:SkColorInfo::makeColorType\28SkColorType\29\20const +801:SkCodec::~SkCodec\28\29 +802:SkAAClip::quickContains\28int\2c\20int\2c\20int\2c\20int\29\20const +803:SkAAClip::isRect\28\29\20const +804:GrSurface::ComputeSize\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20bool\29 +805:GrSimpleMeshDrawOpHelper::GrSimpleMeshDrawOpHelper\28GrProcessorSet*\2c\20GrAAType\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +806:GrGeometryProcessor::ProgramImpl::SetTransform\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrResourceHandle\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix*\29 +807:GrDrawingManager::flushIfNecessary\28\29 +808:GrBlendFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkBlendMode\2c\20bool\29 +809:FT_Stream_ExtractFrame +810:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +811:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +812:std::__2::basic_string\2c\20std::__2::allocator>::__is_long\5babi:v160004\5d\28\29\20const +813:std::__2::__throw_bad_optional_access\5babi:v160004\5d\28\29 +814:skia_png_malloc_base +815:skgpu::ganesh::AsView\28GrRecordingContext*\2c\20SkImage\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +816:skcms_TransferFunction_eval +817:pow +818:icu_74::UnicodeString::setToBogus\28\29 +819:icu_74::UnicodeString::releaseBuffer\28int\29 +820:icu_74::UnicodeSet::_appendToPat\28icu_74::UnicodeString&\2c\20int\2c\20signed\20char\29 +821:icu_74::UVector::~UVector\28\29 +822:hb_ot_face_t::init0\28hb_face_t*\29 +823:hb_lazy_loader_t\2c\20hb_face_t\2c\2025u\2c\20OT::GSUB_accelerator_t>::get\28\29\20const +824:__addtf3 +825:SkTDStorage::reset\28\29 +826:SkScan::AntiHairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +827:SkSL::TProgramVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +828:SkSL::RP::Builder::label\28int\29 +829:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +830:SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +831:SkReadBuffer::skip\28unsigned\20long\2c\20unsigned\20long\29 +832:SkPath::countVerbs\28\29\20const +833:SkMatrix::set9\28float\20const*\29 +834:SkMatrix::getMaxScale\28\29\20const +835:SkImageInfo::computeByteSize\28unsigned\20long\29\20const +836:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +837:SkImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +838:SkImageFilter_Base::SkImageFilter_Base\28sk_sp\20const*\2c\20int\2c\20std::__2::optional\29 +839:SkFontMgr::countFamilies\28\29\20const +840:SkDrawBase::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20bool\2c\20bool\2c\20SkBlitter*\29\20const +841:SkDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +842:SkBlockAllocator::SkBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\2c\20unsigned\20long\29 +843:SkBlender::Mode\28SkBlendMode\29 +844:ReadHuffmanCode +845:GrSurfaceProxy::~GrSurfaceProxy\28\29 +846:GrRenderTask::makeClosed\28GrRecordingContext*\29 +847:GrGpuBuffer::unmap\28\29 +848:GrContext_Base::options\28\29\20const +849:GrCaps::getReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +850:GrBufferAllocPool::reset\28\29 +851:FT_Stream_ReadByte +852:std::__2::char_traits::assign\28wchar_t&\2c\20wchar_t\20const&\29 +853:std::__2::char_traits::copy\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +854:std::__2::basic_string\2c\20std::__2::allocator>::begin\5babi:v160004\5d\28\29 +855:std::__2::__next_prime\28unsigned\20long\29 +856:std::__2::__libcpp_snprintf_l\28char*\2c\20unsigned\20long\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +857:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29 +858:locale_get_default_74 +859:is_equal\28std::type_info\20const*\2c\20std::type_info\20const*\2c\20bool\29 +860:hb_buffer_t::sync\28\29 +861:cbrtf +862:__floatsitf +863:WebPSafeCalloc +864:StreamRemainingLengthIsBelow\28SkStream*\2c\20unsigned\20long\29 +865:SkSize\20skif::Mapping::map\28SkSize\20const&\2c\20SkMatrix\20const&\29 +866:SkSL::RP::Builder::swizzle\28int\2c\20SkSpan\29 +867:SkSL::Parser::expression\28\29 +868:SkRuntimeEffect::Uniform::sizeInBytes\28\29\20const +869:SkRGBA4f<\28SkAlphaType\293>::toSkColor\28\29\20const +870:SkPath::isConvex\28\29\20const +871:SkImageFilter_Base::getFlattenableType\28\29\20const +872:SkImageFilter_Base::getChildOutputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +873:SkImageFilter_Base::getChildInputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +874:SkIDChangeListener::List::~List\28\29 +875:SkDQuad::ptAtT\28double\29\20const +876:SkDLine::exactPoint\28SkDPoint\20const&\29\20const +877:SkDConic::ptAtT\28double\29\20const +878:SkColorInfo::makeAlphaType\28SkAlphaType\29\20const +879:SkCanvas::restore\28\29 +880:SkCanvas::drawImage\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +881:SkBitmap::setInfo\28SkImageInfo\20const&\2c\20unsigned\20long\29 +882:SkAAClip::Builder::addRun\28int\2c\20int\2c\20unsigned\20int\2c\20int\29 +883:GrSkSLFP::addChild\28std::__2::unique_ptr>\2c\20bool\29 +884:GrGLSLShaderBuilder::appendTextureLookup\28SkString*\2c\20GrResourceHandle\2c\20char\20const*\29\20const +885:GrFragmentProcessor::cloneAndRegisterAllChildProcessors\28GrFragmentProcessor\20const&\29 +886:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::~SwizzleFragmentProcessor\28\29 +887:GrDrawOpAtlas::~GrDrawOpAtlas\28\29 +888:GrBackendFormat::GrBackendFormat\28GrBackendFormat\20const&\29 +889:AutoLayerForImageFilter::AutoLayerForImageFilter\28SkCanvas*\2c\20SkPaint\20const&\2c\20SkRect\20const*\2c\20bool\29 +890:AutoFTAccess::AutoFTAccess\28SkTypeface_FreeType\20const*\29 +891:AlmostPequalUlps\28float\2c\20float\29 +892:void\20std::__2::vector>\2c\20std::__2::allocator>>>::__emplace_back_slow_path>\28unsigned\20int\20const&\2c\20sk_sp&&\29 +893:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20char\29\20const +894:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\29 +895:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_cap\5babi:v160004\5d\28unsigned\20long\29 +896:skia_png_reset_crc +897:skia_png_benign_error +898:memchr +899:icu_74::UnicodeString::operator=\28icu_74::UnicodeString\20const&\29 +900:icu_74::UnicodeString::doReplace\28int\2c\20int\2c\20char16_t\20const*\2c\20int\2c\20int\29 +901:icu_74::UnicodeString::UnicodeString\28signed\20char\2c\20icu_74::ConstChar16Ptr\2c\20int\29 +902:icu_74::UVector::adoptElement\28void*\2c\20UErrorCode&\29 +903:icu_74::MlBreakEngine::initKeyValue\28UResourceBundle*\2c\20char\20const*\2c\20char\20const*\2c\20icu_74::Hashtable&\2c\20UErrorCode&\29 +904:icu_74::ByteSinkUtil::appendUnchanged\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::ByteSink&\2c\20unsigned\20int\2c\20icu_74::Edits*\2c\20UErrorCode&\29 +905:hb_buffer_t::sync_so_far\28\29 +906:hb_buffer_t::move_to\28unsigned\20int\29 +907:VP8ExitCritical +908:SkTDStorage::resize\28int\29 +909:SkSwizzler::swizzle\28void*\2c\20unsigned\20char\20const*\29 +910:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20float\29 +911:SkStream::readPackedUInt\28unsigned\20long*\29 +912:SkSL::Type::coercionCost\28SkSL::Type\20const&\29\20const +913:SkSL::Type::clone\28SkSL::Context\20const&\2c\20SkSL::SymbolTable*\29\20const +914:SkSL::RP::Generator::writeStatement\28SkSL::Statement\20const&\29 +915:SkSL::Parser::operatorRight\28SkSL::Parser::AutoDepth&\2c\20SkSL::OperatorKind\2c\20std::__2::unique_ptr>\20\28SkSL::Parser::*\29\28\29\2c\20std::__2::unique_ptr>&\29 +916:SkRuntimeEffectBuilder::writableUniformData\28\29 +917:SkRuntimeEffect::findUniform\28std::__2::basic_string_view>\29\20const +918:SkResourceCache::Key::init\28void*\2c\20unsigned\20long\20long\2c\20unsigned\20long\29 +919:SkReadBuffer::skip\28unsigned\20long\29 +920:SkReadBuffer::readFlattenable\28SkFlattenable::Type\29 +921:SkRRect::initializeRect\28SkRect\20const&\29 +922:SkPaint::asBlendMode\28\29\20const +923:SkGlyph::path\28\29\20const +924:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\29 +925:GrRenderTargetProxy::arenas\28\29 +926:GrOpFlushState::caps\28\29\20const +927:GrGpuResource::hasNoCommandBufferUsages\28\29\20const +928:GrGeometryProcessor::ProgramImpl::WriteLocalCoord\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20GrShaderVar\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +929:GrGLTextureParameters::SamplerOverriddenState::SamplerOverriddenState\28\29 +930:GrGLGpu::deleteFramebuffer\28unsigned\20int\29 +931:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\29 +932:FT_Stream_ReadULong +933:FT_Get_Module +934:Cr_z__tr_flush_block +935:AlmostBequalUlps\28float\2c\20float\29 +936:utext_previous32_74 +937:ures_hasNext_74 +938:ures_getByKeyWithFallback_74 +939:std::__2::numpunct::truename\5babi:v160004\5d\28\29\20const +940:std::__2::moneypunct::do_grouping\28\29\20const +941:std::__2::locale::use_facet\28std::__2::locale::id&\29\20const +942:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29\20const +943:std::__2::basic_string\2c\20std::__2::allocator>::empty\5babi:v160004\5d\28\29\20const +944:sktext::gpu::BagOfBytes::needMoreBytes\28int\2c\20int\29 +945:skia_png_save_int_32 +946:skia_png_safecat +947:skia_png_gamma_significant +948:skgpu::ganesh::SurfaceContext::readPixels\28GrDirectContext*\2c\20GrPixmap\2c\20SkIPoint\29 +949:icu_74::UnicodeString::setTo\28signed\20char\2c\20icu_74::ConstChar16Ptr\2c\20int\29 +950:icu_74::UnicodeString::getBuffer\28int\29 +951:icu_74::UnicodeString::doAppend\28icu_74::UnicodeString\20const&\2c\20int\2c\20int\29 +952:icu_74::UVector32::~UVector32\28\29 +953:icu_74::RuleBasedBreakIterator::handleNext\28\29 +954:icu_74::Locale::Locale\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +955:hb_lazy_loader_t\2c\20hb_face_t\2c\2026u\2c\20OT::GPOS_accelerator_t>::get\28\29\20const +956:hb_font_get_nominal_glyph +957:hb_buffer_t::clear_output\28\29 +958:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPaint\20const&\29\2c\20SkCanvas*\2c\20SkPaint*\29 +959:emscripten::internal::FunctionInvoker::invoke\28unsigned\20long\20\28**\29\28GrDirectContext&\29\2c\20GrDirectContext*\29 +960:cff_parse_num +961:\28anonymous\20namespace\29::write_trc_tag\28skcms_Curve\20const&\29 +962:T_CString_toLowerCase_74 +963:SkWStream::writeScalarAsText\28float\29 +964:SkTSect::SkTSect\28SkTCurve\20const&\29 +965:SkString::set\28char\20const*\2c\20unsigned\20long\29 +966:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Context\20const&\2c\20SkSL::Symbol*\29 +967:SkSL::Swizzle::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29 +968:SkSL::Parser::layoutInt\28\29 +969:SkSL::Parser::expectIdentifier\28SkSL::Token*\29 +970:SkRegion::Cliperator::next\28\29 +971:SkRegion::Cliperator::Cliperator\28SkRegion\20const&\2c\20SkIRect\20const&\29 +972:SkRRect::setOval\28SkRect\20const&\29 +973:SkPictureRecorder::~SkPictureRecorder\28\29 +974:SkPathRef::CreateEmpty\28\29 +975:SkPath::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +976:SkPaint::operator=\28SkPaint&&\29 +977:SkMasks::getAlpha\28unsigned\20int\29\20const +978:SkM44::setConcat\28SkM44\20const&\2c\20SkM44\20const&\29 +979:SkImageFilters::Crop\28SkRect\20const&\2c\20SkTileMode\2c\20sk_sp\29 +980:SkImageFilter_Base::getChildOutput\28int\2c\20skif::Context\20const&\29\20const +981:SkIDChangeListener::List::List\28\29 +982:SkData::MakeFromMalloc\28void\20const*\2c\20unsigned\20long\29 +983:SkDRect::setBounds\28SkTCurve\20const&\29 +984:SkColorFilter::isAlphaUnchanged\28\29\20const +985:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +986:SkCanvas::translate\28float\2c\20float\29 +987:SkBitmapCache::Rec::getKey\28\29\20const +988:PS_Conv_ToFixed +989:OT::hb_ot_apply_context_t::hb_ot_apply_context_t\28unsigned\20int\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20hb_blob_t*\29 +990:GrTriangulator::Line::intersect\28GrTriangulator::Line\20const&\2c\20SkPoint*\29\20const +991:GrSimpleMeshDrawOpHelper::isCompatible\28GrSimpleMeshDrawOpHelper\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +992:GrQuad::MakeFromSkQuad\28SkPoint\20const*\2c\20SkMatrix\20const&\29 +993:GrOpsRenderPass::bindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +994:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkISize\20const&\29 +995:GrGLSLShaderBuilder::appendTextureLookup\28GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +996:GrColorInfo::GrColorInfo\28SkColorInfo\20const&\29 +997:AlmostDequalUlps\28double\2c\20double\29 +998:utrace_exit_74 +999:utrace_entry_74 +1000:ures_getNextResource_74 +1001:uprv_toupper_74 +1002:tt_face_get_name +1003:strrchr +1004:std::__2::vector>::size\5babi:v160004\5d\28\29\20const +1005:std::__2::to_string\28long\20long\29 +1006:std::__2::__libcpp_locale_guard::~__libcpp_locale_guard\5babi:v160004\5d\28\29 +1007:std::__2::__libcpp_locale_guard::__libcpp_locale_guard\5babi:v160004\5d\28__locale_struct*&\29 +1008:skif::FilterResult::~FilterResult\28\29 +1009:skia_png_app_error +1010:skgpu::ganesh::SurfaceFillContext::getOpsTask\28\29 +1011:isdigit +1012:icu_74::UnicodeString::doIndexOf\28char16_t\2c\20int\2c\20int\29\20const +1013:hb_sanitize_context_t::return_t\20OT::Paint::dispatch\28hb_sanitize_context_t*\29\20const +1014:hb_ot_layout_lookup_would_substitute +1015:hb_buffer_t::unsafe_to_break\28unsigned\20int\2c\20unsigned\20int\29 +1016:ft_module_get_service +1017:cf2_hintmap_map +1018:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +1019:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28\29\20const +1020:__sindf +1021:__shlim +1022:__cosdf +1023:\28anonymous\20namespace\29::init_resb_result\28UResourceDataEntry*\2c\20unsigned\20int\2c\20char\20const*\2c\20int\2c\20UResourceDataEntry*\2c\20char\20const*\2c\20int\2c\20UResourceBundle*\2c\20UErrorCode*\29 +1024:SkTiff::ImageFileDirectory::getEntryValuesGeneric\28unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20int\2c\20void*\29\20const +1025:SkSurface::getCanvas\28\29 +1026:SkSL::cast_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +1027:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitType\28SkSL::Type\20const&\29 +1028:SkSL::VariableReference::VariableReference\28SkSL::Position\2c\20SkSL::Variable\20const*\2c\20SkSL::VariableRefKind\29 +1029:SkSL::Variable::initialValue\28\29\20const +1030:SkSL::SymbolTable::lookup\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +1031:SkSL::SymbolTable::addArrayDimension\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20int\29 +1032:SkSL::StringStream::str\28\29\20const +1033:SkSL::RP::Program::appendCopy\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20std::byte*\2c\20SkSL::RP::ProgramOp\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29\20const +1034:SkSL::RP::Generator::makeLValue\28SkSL::Expression\20const&\2c\20bool\29 +1035:SkSL::RP::DynamicIndexLValue::dynamicSlotRange\28\29 +1036:SkSL::GLSLCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1037:SkSL::Expression::description\28\29\20const +1038:SkSL::Analysis::UpdateVariableRefKind\28SkSL::Expression*\2c\20SkSL::VariableRefKind\2c\20SkSL::ErrorReporter*\29 +1039:SkRegion::setEmpty\28\29 +1040:SkRasterPipeline::appendLoadDst\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +1041:SkRRect::setRectRadii\28SkRect\20const&\2c\20SkPoint\20const*\29 +1042:SkPointPriv::DistanceToLineSegmentBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +1043:SkPath::arcTo\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +1044:SkPath::addPath\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPath::AddPathMode\29 +1045:SkPaint::setImageFilter\28sk_sp\29 +1046:SkOpSpanBase::contains\28SkOpSegment\20const*\29\20const +1047:SkMipmap::ComputeLevelCount\28int\2c\20int\29 +1048:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint\20const*\2c\20int\29\20const +1049:SkMatrix::isSimilarity\28float\29\20const +1050:SkKnownRuntimeEffects::GetKnownRuntimeEffect\28SkKnownRuntimeEffects::StableKey\29 +1051:SkImageFilter::countInputs\28\29\20const +1052:SkIDChangeListener::List::changed\28\29 +1053:SkDynamicMemoryWStream::detachAsData\28\29 +1054:SkColorSpace::Equals\28SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +1055:SkColorFilter::filterColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\2c\20SkColorSpace*\29\20const +1056:SkCanvas::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +1057:SkAutoPixmapStorage::SkAutoPixmapStorage\28\29 +1058:SkAAClipBlitterWrapper::init\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1059:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28\29 +1060:RunBasedAdditiveBlitter::flush\28\29 +1061:GrSurface::onRelease\28\29 +1062:GrStyledShape::unstyledKeySize\28\29\20const +1063:GrShape::convex\28bool\29\20const +1064:GrRecordingContext::threadSafeCache\28\29 +1065:GrProxyProvider::caps\28\29\20const +1066:GrOp::GrOp\28unsigned\20int\29 +1067:GrMakeUncachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +1068:GrGLSLShaderBuilder::getMangledFunctionName\28char\20const*\29 +1069:GrGLGpu::bindBuffer\28GrGpuBufferType\2c\20GrBuffer\20const*\29 +1070:GrGLAttribArrayState::set\28GrGLGpu*\2c\20int\2c\20GrBuffer\20const*\2c\20GrVertexAttribType\2c\20SkSLType\2c\20int\2c\20unsigned\20long\2c\20int\29 +1071:GrAAConvexTessellator::Ring::computeNormals\28GrAAConvexTessellator\20const&\29 +1072:GrAAConvexTessellator::Ring::computeBisectors\28GrAAConvexTessellator\20const&\29 +1073:FT_Activate_Size +1074:Cr_z_adler32 +1075:vsnprintf +1076:void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +1077:void\20extend_pts<\28SkPaint::Cap\291>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +1078:ucptrie_getRange_74 +1079:u_strchr_74 +1080:top12 +1081:toSkImageInfo\28SimpleImageInfo\20const&\29 +1082:std::__2::pair::type\2c\20std::__2::__unwrap_ref_decay::type>\20std::__2::make_pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +1083:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +1084:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\2c\20std::__2::allocator>\28char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +1085:std::__2::__tree\2c\20std::__2::__map_value_compare\2c\20std::__2::less\2c\20true>\2c\20std::__2::allocator>>::destroy\28std::__2::__tree_node\2c\20void*>*\29 +1086:std::__2::__num_put_base::__identify_padding\28char*\2c\20char*\2c\20std::__2::ios_base\20const&\29 +1087:std::__2::__num_get_base::__get_base\28std::__2::ios_base&\29 +1088:std::__2::__libcpp_asprintf_l\28char**\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +1089:skia_private::THashTable::Traits>::removeSlot\28int\29 +1090:skia_png_zstream_error +1091:skia::textlayout::TextLine::iterateThroughVisualRuns\28bool\2c\20std::__2::function\2c\20float*\29>\20const&\29\20const +1092:skia::textlayout::ParagraphImpl::cluster\28unsigned\20long\29 +1093:skia::textlayout::Cluster::runOrNull\28\29\20const +1094:skgpu::ganesh::SurfaceFillContext::replaceOpsTask\28\29 +1095:skcms_TransferFunction_getType +1096:skcms_GetTagBySignature +1097:res_getStringNoTrace_74 +1098:read_curve\28unsigned\20char\20const*\2c\20unsigned\20int\2c\20skcms_Curve*\2c\20unsigned\20int*\29 +1099:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +1100:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +1101:icu_74::UnicodeString::unBogus\28\29 +1102:icu_74::UnicodeSetStringSpan::~UnicodeSetStringSpan\28\29 +1103:icu_74::SimpleFilteredSentenceBreakIterator::operator==\28icu_74::BreakIterator\20const&\29\20const +1104:icu_74::Locale::init\28char\20const*\2c\20signed\20char\29 +1105:hb_serialize_context_t::pop_pack\28bool\29 +1106:hb_lazy_loader_t\2c\20hb_face_t\2c\206u\2c\20hb_blob_t>::get\28\29\20const +1107:getenv +1108:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::__wrap_iter\20const&\2c\20std::__2::__wrap_iter\20const&\29 +1109:afm_parser_read_vals +1110:__extenddftf2 +1111:\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1112:\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1113:\28anonymous\20namespace\29::colrv1_transform\28FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\2c\20SkCanvas*\2c\20SkMatrix*\29 +1114:WebPRescalerImport +1115:SkTDStorage::removeShuffle\28int\29 +1116:SkString::SkString\28char\20const*\2c\20unsigned\20long\29 +1117:SkScan::HairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +1118:SkSL::ProgramUsage::get\28SkSL::Variable\20const&\29\20const +1119:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29 +1120:SkSL::InlineCandidateAnalyzer::visitExpression\28std::__2::unique_ptr>*\29 +1121:SkSL::GLSLCodeGenerator::getTypePrecision\28SkSL::Type\20const&\29 +1122:SkReadBuffer::readByteArray\28void*\2c\20unsigned\20long\29 +1123:SkRasterPipeline::run\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +1124:SkRBuffer::read\28void*\2c\20unsigned\20long\29 +1125:SkPictureData::optionalPaint\28SkReadBuffer*\29\20const +1126:SkPathWriter::isClosed\28\29\20const +1127:SkPath::isRect\28SkRect*\2c\20bool*\2c\20SkPathDirection*\29\20const +1128:SkPath::getGenerationID\28\29\20const +1129:SkPaint::setStrokeWidth\28float\29 +1130:SkOpSegment::nextChase\28SkOpSpanBase**\2c\20int*\2c\20SkOpSpan**\2c\20SkOpSpanBase**\29\20const +1131:SkOpSegment::addCurveTo\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkPathWriter*\29\20const +1132:SkMemoryStream::Make\28sk_sp\29 +1133:SkMatrix::preScale\28float\2c\20float\29 +1134:SkMatrix::postScale\28float\2c\20float\29 +1135:SkMask::computeImageSize\28\29\20const +1136:SkIntersections::removeOne\28int\29 +1137:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\29 +1138:SkDevice::makeSpecial\28SkBitmap\20const&\29 +1139:SkDLine::ptAtT\28double\29\20const +1140:SkBulkGlyphMetrics::~SkBulkGlyphMetrics\28\29 +1141:SkBlockMemoryStream::getLength\28\29\20const +1142:SkBitmap::peekPixels\28SkPixmap*\29\20const +1143:SkAAClip::setEmpty\28\29 +1144:PS_Conv_Strtol +1145:OT::Layout::GSUB_impl::SubstLookup*\20hb_serialize_context_t::push\28\29 +1146:GrTriangulator::makeConnectingEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\2c\20int\29 +1147:GrTextureProxy::~GrTextureProxy\28\29 +1148:GrSimpleMeshDrawOpHelper::createProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1149:GrResourceAllocator::addInterval\28GrSurfaceProxy*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20GrResourceAllocator::ActualUse\2c\20GrResourceAllocator::AllowRecycling\29 +1150:GrRecordingContextPriv::makeSFCWithFallback\28GrImageInfo\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1151:GrGpuBuffer::updateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +1152:GrGLTextureParameters::NonsamplerState::NonsamplerState\28\29 +1153:GrGLSLShaderBuilder::~GrGLSLShaderBuilder\28\29 +1154:GrGLSLProgramBuilder::nameVariable\28char\2c\20char\20const*\2c\20bool\29 +1155:GrGLGpu::prepareToDraw\28GrPrimitiveType\29 +1156:GrGLFormatFromGLEnum\28unsigned\20int\29 +1157:GrBackendTexture::getBackendFormat\28\29\20const +1158:GrBackendFormats::MakeGL\28unsigned\20int\2c\20unsigned\20int\29 +1159:GrBackendFormatToCompressionType\28GrBackendFormat\20const&\29 +1160:FilterLoop24_C +1161:FT_Stream_Skip +1162:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1163:AAT::Lookup::sanitize\28hb_sanitize_context_t*\29\20const +1164:utext_close_74 +1165:ures_open_74 +1166:ures_getStringByKey_74 +1167:ures_getKey_74 +1168:ulocimp_getLanguage_74\28char\20const*\2c\20char\20const**\2c\20UErrorCode&\29 +1169:uhash_puti_74 +1170:u_terminateChars_74 +1171:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +1172:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\20const*\2c\20char\20const*\29\20const +1173:std::__2::enable_if::type\20skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::AddTrianglesWhenChopping\2c\20skgpu::tess::DiscardFlatCurves>::writeTriangleStack\28skgpu::tess::MiddleOutPolygonTriangulator::PoppedTriangleStack&&\29 +1174:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +1175:std::__2::basic_string\2c\20std::__2::allocator>::__get_long_cap\5babi:v160004\5d\28\29\20const +1176:skif::LayerSpace::ceil\28\29\20const +1177:skia_private::TArray::push_back\28float\20const&\29 +1178:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +1179:skia_png_write_finish_row +1180:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29 +1181:scalbn +1182:non-virtual\20thunk\20to\20GrOpFlushState::allocator\28\29 +1183:icu_74::UnicodeSet::applyPattern\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +1184:icu_74::Normalizer2Impl::getFCD16FromNormData\28int\29\20const +1185:icu_74::Locale::Locale\28\29 +1186:icu_74::BytesTrie::readValue\28unsigned\20char\20const*\2c\20int\29 +1187:hb_lazy_loader_t\2c\20hb_face_t\2c\2022u\2c\20hb_blob_t>::get\28\29\20const +1188:hb_lazy_loader_t\2c\20hb_face_t\2c\2024u\2c\20OT::GDEF_accelerator_t>::get\28\29\20const +1189:hb_buffer_get_glyph_infos +1190:hb_buffer_destroy +1191:embind_init_Paragraph\28\29::$_5::__invoke\28skia::textlayout::ParagraphBuilderImpl&\29 +1192:cff2_path_param_t::line_to\28CFF::point_t\20const&\29 +1193:cff1_path_param_t::line_to\28CFF::point_t\20const&\29 +1194:cf2_stack_getReal +1195:byn$mgfn-shared$GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +1196:antifilldot8\28int\2c\20int\2c\20int\2c\20int\2c\20SkBlitter*\2c\20bool\29 +1197:afm_stream_skip_spaces +1198:WebPRescalerInit +1199:WebPRescalerExportRow +1200:SkWStream::writeDecAsText\28int\29 +1201:SkTextBlobBuilder::allocInternal\28SkFont\20const&\2c\20SkTextBlob::GlyphPositioning\2c\20int\2c\20int\2c\20SkPoint\2c\20SkRect\20const*\29 +1202:SkTDStorage::append\28void\20const*\2c\20int\29 +1203:SkString::Rec::Make\28char\20const*\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +1204:SkStrike::digestFor\28skglyph::ActionType\2c\20SkPackedGlyphID\29 +1205:SkShaders::Color\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\29 +1206:SkShader::makeWithLocalMatrix\28SkMatrix\20const&\29\20const +1207:SkSafeMath::Add\28unsigned\20long\2c\20unsigned\20long\29 +1208:SkSL::Parser::assignmentExpression\28\29 +1209:SkSL::ConstructorSplat::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1210:SkSL::ConstructorScalarCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1211:SkResourceCache::Find\28SkResourceCache::Key\20const&\2c\20bool\20\28*\29\28SkResourceCache::Rec\20const&\2c\20void*\29\2c\20void*\29 +1212:SkRegion::SkRegion\28SkIRect\20const&\29 +1213:SkRect::toQuad\28SkPoint*\29\20const +1214:SkRasterPipeline::appendTransferFunction\28skcms_TransferFunction\20const&\29 +1215:SkRasterPipeline::appendStore\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +1216:SkRasterPipeline::appendConstantColor\28SkArenaAlloc*\2c\20float\20const*\29 +1217:SkRasterClip::SkRasterClip\28\29 +1218:SkRRect::checkCornerContainment\28float\2c\20float\29\20const +1219:SkPictureData::getImage\28SkReadBuffer*\29\20const +1220:SkPathMeasure::getLength\28\29 +1221:SkPathBuilder::~SkPathBuilder\28\29 +1222:SkPathBuilder::detach\28\29 +1223:SkPathBuilder::SkPathBuilder\28\29 +1224:SkPath::addPoly\28SkPoint\20const*\2c\20int\2c\20bool\29 +1225:SkPaint::refPathEffect\28\29\20const +1226:SkMipmap::getLevel\28int\2c\20SkMipmap::Level*\29\20const +1227:SkJSONWriter::endArray\28\29 +1228:SkJSONWriter::appendCString\28char\20const*\2c\20char\20const*\29 +1229:SkIntersections::setCoincident\28int\29 +1230:SkImageInfo::computeOffset\28int\2c\20int\2c\20unsigned\20long\29\20const +1231:SkImageFilter_Base::flatten\28SkWriteBuffer&\29\20const +1232:SkDrawBase::SkDrawBase\28\29 +1233:SkDLine::NearPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1234:SkDLine::NearPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1235:SkDLine::ExactPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1236:SkDLine::ExactPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1237:SkColorSpaceXformSteps::apply\28SkRasterPipeline*\29\20const +1238:SkColorFilter::asAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +1239:SkCodec::SkCodec\28SkEncodedInfo&&\2c\20skcms_PixelFormat\2c\20std::__2::unique_ptr>\2c\20SkEncodedOrigin\29 +1240:SkCanvas::drawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +1241:SkCanvas::drawColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +1242:SkCanvas::aboutToDraw\28SkPaint\20const&\2c\20SkRect\20const*\2c\20SkEnumBitMask\29 +1243:SkBulkGlyphMetrics::SkBulkGlyphMetrics\28SkStrikeSpec\20const&\29 +1244:SkBlockAllocator::releaseBlock\28SkBlockAllocator::Block*\29 +1245:SkBitmap::asImage\28\29\20const +1246:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1247:OT::MVAR::get_var\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29\20const +1248:GrXferProcessor::GrXferProcessor\28GrProcessor::ClassID\2c\20bool\2c\20GrProcessorAnalysisCoverage\29 +1249:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20GrCaps\20const&\2c\20float\20const*\29 +1250:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\29 +1251:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +1252:GrResourceProvider::findResourceByUniqueKey\28skgpu::UniqueKey\20const&\29 +1253:GrRecordingContext::OwnedArenas::get\28\29 +1254:GrProxyProvider::createProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\29 +1255:GrProxyProvider::assignUniqueKeyToProxy\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\29 +1256:GrProcessorSet::finalize\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrCaps\20const&\2c\20GrClampType\2c\20SkRGBA4f<\28SkAlphaType\292>*\29 +1257:GrOpFlushState::allocator\28\29 +1258:GrOp::cutChain\28\29 +1259:GrMeshDrawTarget::makeVertexWriter\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +1260:GrGpuResource::GrGpuResource\28GrGpu*\2c\20std::__2::basic_string_view>\29 +1261:GrGeometryProcessor::TextureSampler::reset\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +1262:GrGeometryProcessor::AttributeSet::end\28\29\20const +1263:GrGeometryProcessor::AttributeSet::Iter::operator++\28\29 +1264:GrGeometryProcessor::AttributeSet::Iter::operator*\28\29\20const +1265:GrGLTextureParameters::set\28GrGLTextureParameters::SamplerOverriddenState\20const*\2c\20GrGLTextureParameters::NonsamplerState\20const&\2c\20unsigned\20long\20long\29 +1266:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29 +1267:GrBackendTexture::~GrBackendTexture\28\29 +1268:FT_Outline_Get_CBox +1269:FT_Get_Sfnt_Table +1270:utf8_prevCharSafeBody_74 +1271:ures_getString_74 +1272:ulocimp_getScript_74\28char\20const*\2c\20char\20const**\2c\20UErrorCode&\29 +1273:uhash_open_74 +1274:u_UCharsToChars_74 +1275:std::__2::vector>::__destroy_vector::__destroy_vector\28std::__2::vector>&\29 +1276:std::__2::moneypunct::negative_sign\5babi:v160004\5d\28\29\20const +1277:std::__2::moneypunct::neg_format\5babi:v160004\5d\28\29\20const +1278:std::__2::moneypunct::do_pos_format\28\29\20const +1279:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +1280:std::__2::char_traits::copy\28wchar_t*\2c\20wchar_t\20const*\2c\20unsigned\20long\29 +1281:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1282:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1283:std::__2::basic_string\2c\20std::__2::allocator>::__set_size\5babi:v160004\5d\28unsigned\20long\29 +1284:std::__2::basic_string\2c\20std::__2::allocator>::__assign_external\28char\20const*\2c\20unsigned\20long\29 +1285:std::__2::__itoa::__append2\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1286:snprintf +1287:sktext::gpu::GlyphVector::glyphs\28\29\20const +1288:sktext::SkStrikePromise::SkStrikePromise\28sktext::SkStrikePromise&&\29 +1289:skif::FilterResult::resolve\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20bool\29\20const +1290:skif::FilterResult::analyzeBounds\28SkMatrix\20const&\2c\20SkIRect\20const&\2c\20skif::FilterResult::BoundsScope\29\20const +1291:skia_png_read_finish_row +1292:skia_png_handle_unknown +1293:skia_png_gamma_correct +1294:skia_png_colorspace_sync +1295:skia_png_app_warning +1296:skia::textlayout::TextStyle::operator=\28skia::textlayout::TextStyle\20const&\29 +1297:skia::textlayout::TextLine::offset\28\29\20const +1298:skia::textlayout::Run::placeholderStyle\28\29\20const +1299:skia::textlayout::Cluster::Cluster\28skia::textlayout::ParagraphImpl*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkSpan\2c\20float\2c\20float\29 +1300:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +1301:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20std::__2::basic_string_view>\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1302:skgpu::ganesh::SurfaceContext::PixelTransferResult::~PixelTransferResult\28\29 +1303:skgpu::ganesh::ClipStack::SaveRecord::state\28\29\20const +1304:sk_doubles_nearly_equal_ulps\28double\2c\20double\2c\20unsigned\20char\29 +1305:ps_parser_to_token +1306:isspace +1307:icu_74::UnicodeString::moveIndex32\28int\2c\20int\29\20const +1308:icu_74::UnicodeString::cloneArrayIfNeeded\28int\2c\20int\2c\20signed\20char\2c\20int**\2c\20signed\20char\29 +1309:icu_74::UnicodeSet::span\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1310:icu_74::UVector::indexOf\28void*\2c\20int\29\20const +1311:icu_74::UVector::addElement\28void*\2c\20UErrorCode&\29 +1312:icu_74::UVector32::UVector32\28UErrorCode&\29 +1313:icu_74::RuleCharacterIterator::next\28int\2c\20signed\20char&\2c\20UErrorCode&\29 +1314:icu_74::ReorderingBuffer::appendBMP\28char16_t\2c\20unsigned\20char\2c\20UErrorCode&\29 +1315:icu_74::LSR::deleteOwned\28\29 +1316:icu_74::ICUServiceKey::prefix\28icu_74::UnicodeString&\29\20const +1317:icu_74::Edits::addReplace\28int\2c\20int\29 +1318:icu_74::CharString::appendInvariantChars\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +1319:icu_74::CharString::appendInvariantChars\28char16_t\20const*\2c\20int\2c\20UErrorCode&\29 +1320:icu_74::BreakIterator::buildInstance\28icu_74::Locale\20const&\2c\20char\20const*\2c\20UErrorCode&\29 +1321:hb_face_t::load_upem\28\29\20const +1322:hb_buffer_t::merge_out_clusters\28unsigned\20int\2c\20unsigned\20int\29 +1323:hb_buffer_t::enlarge\28unsigned\20int\29 +1324:hb_buffer_reverse +1325:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint&\29\2c\20SkCanvas*\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint*\29 +1326:cff_index_init +1327:cf2_glyphpath_curveTo +1328:atan2f +1329:WebPCopyPlane +1330:SkTMaskGamma_build_correcting_lut\28unsigned\20char*\2c\20unsigned\20int\2c\20float\2c\20SkColorSpaceLuminance\20const&\2c\20float\29 +1331:SkSurface_Raster::type\28\29\20const +1332:SkString::swap\28SkString&\29 +1333:SkString::reset\28\29 +1334:SkSampler::Fill\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::ZeroInitialized\29 +1335:SkSL::Type::MakeTextureType\28char\20const*\2c\20SpvDim_\2c\20bool\2c\20bool\2c\20bool\2c\20SkSL::Type::TextureAccess\29 +1336:SkSL::Type::MakeSpecialType\28char\20const*\2c\20char\20const*\2c\20SkSL::Type::TypeKind\29 +1337:SkSL::RP::Builder::push_slots_or_immutable\28SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +1338:SkSL::RP::Builder::push_clone_from_stack\28SkSL::RP::SlotRange\2c\20int\2c\20int\29 +1339:SkSL::Program::~Program\28\29 +1340:SkSL::PipelineStage::PipelineStageCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1341:SkSL::Operator::isAssignment\28\29\20const +1342:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mul\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +1343:SkSL::InlineCandidateAnalyzer::visitStatement\28std::__2::unique_ptr>*\2c\20bool\29 +1344:SkSL::GLSLCodeGenerator::writeModifiers\28SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20bool\29 +1345:SkSL::ExpressionStatement::Make\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +1346:SkSL::ConstructorCompound::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +1347:SkSL::Analysis::GetReturnComplexity\28SkSL::FunctionDefinition\20const&\29 +1348:SkSL::AliasType::resolve\28\29\20const +1349:SkResourceCache::Add\28SkResourceCache::Rec*\2c\20void*\29 +1350:SkRegion::writeToMemory\28void*\29\20const +1351:SkReadBuffer::readMatrix\28SkMatrix*\29 +1352:SkReadBuffer::readBool\28\29 +1353:SkRasterClip::setRect\28SkIRect\20const&\29 +1354:SkRasterClip::SkRasterClip\28SkRasterClip\20const&\29 +1355:SkPathMeasure::~SkPathMeasure\28\29 +1356:SkPathMeasure::SkPathMeasure\28SkPath\20const&\2c\20bool\2c\20float\29 +1357:SkPath::swap\28SkPath&\29 +1358:SkParse::FindScalars\28char\20const*\2c\20float*\2c\20int\29 +1359:SkPaint::operator=\28SkPaint\20const&\29 +1360:SkOpSpan::computeWindSum\28\29 +1361:SkOpSegment::existing\28double\2c\20SkOpSegment\20const*\29\20const +1362:SkOpPtT::find\28SkOpSegment\20const*\29\20const +1363:SkOpCoincidence::addEndMovedSpans\28SkOpSpan\20const*\2c\20SkOpSpanBase\20const*\29 +1364:SkNoDrawCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1365:SkMakeImageFromRasterBitmap\28SkBitmap\20const&\2c\20SkCopyPixelsMode\29 +1366:SkImage_Ganesh::SkImage_Ganesh\28sk_sp\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20SkColorInfo\29 +1367:SkImageInfo::makeColorSpace\28sk_sp\29\20const +1368:SkImage::refColorSpace\28\29\20const +1369:SkGlyph::imageSize\28\29\20const +1370:SkGetICULib\28\29 +1371:SkFont::textToGlyphs\28void\20const*\2c\20unsigned\20long\2c\20SkTextEncoding\2c\20unsigned\20short*\2c\20int\29\20const +1372:SkFont::setSubpixel\28bool\29 +1373:SkDraw::SkDraw\28\29 +1374:SkDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +1375:SkColorTypeBytesPerPixel\28SkColorType\29 +1376:SkColorFilter::makeComposed\28sk_sp\29\20const +1377:SkChopQuadAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +1378:SkCanvas::drawImageRect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1379:SkBmpCodec::getDstRow\28int\2c\20int\29\20const +1380:SkAutoDescriptor::SkAutoDescriptor\28\29 +1381:OT::DeltaSetIndexMap::sanitize\28hb_sanitize_context_t*\29\20const +1382:OT::ClassDef::sanitize\28hb_sanitize_context_t*\29\20const +1383:GrTriangulator::Comparator::sweep_lt\28SkPoint\20const&\2c\20SkPoint\20const&\29\20const +1384:GrTextureProxy::textureType\28\29\20const +1385:GrSurfaceProxy::createSurfaceImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\29\20const +1386:GrStyledShape::writeUnstyledKey\28unsigned\20int*\29\20const +1387:GrStyledShape::simplify\28\29 +1388:GrSkSLFP::setInput\28std::__2::unique_ptr>\29 +1389:GrSimpleMeshDrawOpHelperWithStencil::GrSimpleMeshDrawOpHelperWithStencil\28GrProcessorSet*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +1390:GrShape::operator=\28GrShape\20const&\29 +1391:GrResourceProvider::createPatternedIndexBuffer\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\2c\20skgpu::UniqueKey\20const*\29 +1392:GrRenderTarget::~GrRenderTarget\28\29 +1393:GrRecordingContextPriv::makeSC\28GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +1394:GrOpFlushState::detachAppliedClip\28\29 +1395:GrGpuBuffer::map\28\29 +1396:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\29 +1397:GrGLSLShaderBuilder::declAppend\28GrShaderVar\20const&\29 +1398:GrGLGpu::didDrawTo\28GrRenderTarget*\29 +1399:GrFragmentProcessors::Make\28GrRecordingContext*\2c\20SkColorFilter\20const*\2c\20std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1400:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +1401:GrCaps::validateSurfaceParams\28SkISize\20const&\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20GrTextureType\29\20const +1402:GrBufferAllocPool::putBack\28unsigned\20long\29 +1403:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29::$_0::operator\28\29\28SkIRect\2c\20SkIRect\29\20const +1404:GrBackendTexture::GrBackendTexture\28\29 +1405:GrAAConvexTessellator::createInsetRing\28GrAAConvexTessellator::Ring\20const&\2c\20GrAAConvexTessellator::Ring*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +1406:FT_Stream_GetByte +1407:FT_Set_Transform +1408:FT_Add_Module +1409:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +1410:AlmostLessOrEqualUlps\28float\2c\20float\29 +1411:ActiveEdge::intersect\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29\20const +1412:wrapper_cmp +1413:void\20std::__2::reverse\5babi:v160004\5d\28char*\2c\20char*\29 +1414:void\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__do_rehash\28unsigned\20long\29 +1415:utrace_data_74 +1416:utf8_nextCharSafeBody_74 +1417:utext_setup_74 +1418:uhash_openSize_74 +1419:uhash_nextElement_74 +1420:ubidi_getParaLevelAtIndex_74 +1421:u_charType_74 +1422:tanf +1423:std::__2::vector>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29 +1424:std::__2::vector>::capacity\5babi:v160004\5d\28\29\20const +1425:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ios_base&\2c\20wchar_t\29 +1426:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ios_base&\2c\20char\29 +1427:std::__2::char_traits::to_int_type\28char\29 +1428:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1429:std::__2::basic_ios>::~basic_ios\28\29 +1430:std::__2::basic_ios>::setstate\5babi:v160004\5d\28unsigned\20int\29 +1431:std::__2::__compressed_pair_elem::__compressed_pair_elem\5babi:v160004\5d\28void\20\28*&&\29\28void*\29\29 +1432:sktext::gpu::GlyphVector::~GlyphVector\28\29 +1433:sktext::StrikeMutationMonitor::~StrikeMutationMonitor\28\29 +1434:sktext::StrikeMutationMonitor::StrikeMutationMonitor\28sktext::StrikeForGPU*\29 +1435:skif::RoundOut\28SkRect\29 +1436:skif::LayerSpace::contains\28skif::LayerSpace\20const&\29\20const +1437:skif::FilterResult::AutoSurface::snap\28\29 +1438:skif::FilterResult::AutoSurface::AutoSurface\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult::PixelBoundary\2c\20bool\2c\20SkSurfaceProps\20const*\29 +1439:skif::Backend::~Backend\28\29.1 +1440:skia_private::TArray::push_back\28skif::FilterResult::Builder::SampledFilterResult&&\29 +1441:skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>::~STArray\28\29 +1442:skia_png_chunk_unknown_handling +1443:skia::textlayout::TextStyle::TextStyle\28\29 +1444:skia::textlayout::TextLine::iterateThroughSingleRunByStyles\28skia::textlayout::TextLine::TextAdjustment\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::StyleType\2c\20std::__2::function\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\20const&\29\20const +1445:skgpu::ganesh::SurfaceFillContext::internalClear\28SkIRect\20const*\2c\20std::__2::array\2c\20bool\29 +1446:skgpu::ganesh::SurfaceDrawContext::fillRectToRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +1447:skgpu::SkSLToBackend\28SkSL::ShaderCaps\20const*\2c\20bool\20\28*\29\28SkSL::Program&\2c\20SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\29\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20skgpu::ShaderErrorHandler*\29 +1448:skgpu::GetApproxSize\28SkISize\29 +1449:skcms_Matrix3x3_invert +1450:res_getTableItemByKey_74 +1451:icu_74::UnicodeString::operator=\28icu_74::UnicodeString&&\29 +1452:icu_74::UnicodeString::doEquals\28icu_74::UnicodeString\20const&\2c\20int\29\20const +1453:icu_74::UnicodeSet::ensureCapacity\28int\29 +1454:icu_74::UnicodeSet::clear\28\29 +1455:icu_74::UVector::UVector\28void\20\28*\29\28void*\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +1456:icu_74::UVector32::setElementAt\28int\2c\20int\29 +1457:icu_74::RuleCharacterIterator::setPos\28icu_74::RuleCharacterIterator::Pos\20const&\29 +1458:icu_74::ResourceTable::findValue\28char\20const*\2c\20icu_74::ResourceValue&\29\20const +1459:icu_74::Locale::operator=\28icu_74::Locale\20const&\29 +1460:icu_74::Edits::addUnchanged\28int\29 +1461:icu_74::CharString::extract\28char*\2c\20int\2c\20UErrorCode&\29\20const +1462:hb_lazy_loader_t\2c\20hb_face_t\2c\2011u\2c\20hb_blob_t>::get\28\29\20const +1463:hb_lazy_loader_t\2c\20hb_face_t\2c\202u\2c\20hb_blob_t>::get\28\29\20const +1464:hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +1465:hb_font_t::scale_glyph_extents\28hb_glyph_extents_t*\29 +1466:hb_font_t::get_glyph_h_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +1467:hb_buffer_append +1468:emscripten::internal::MethodInvoker\29\2c\20void\2c\20SkFont*\2c\20sk_sp>::invoke\28void\20\28SkFont::*\20const&\29\28sk_sp\29\2c\20SkFont*\2c\20sk_sp*\29 +1469:emscripten::internal::Invoker::invoke\28unsigned\20long\20\28*\29\28\29\29 +1470:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +1471:cos +1472:cf2_glyphpath_lineTo +1473:byn$mgfn-shared$SkTDStorage::calculateSizeOrDie\28int\29::$_0::operator\28\29\28\29\20const +1474:alloc_small +1475:af_latin_hints_compute_segments +1476:_hb_glyph_info_set_unicode_props\28hb_glyph_info_t*\2c\20hb_buffer_t*\29 +1477:__lshrti3 +1478:__letf2 +1479:__cxx_global_array_dtor.3 +1480:\28anonymous\20namespace\29::SkBlurImageFilter::~SkBlurImageFilter\28\29 +1481:SkUTF::ToUTF16\28int\2c\20unsigned\20short*\29 +1482:SkTextBlobBuilder::~SkTextBlobBuilder\28\29 +1483:SkTextBlobBuilder::make\28\29 +1484:SkSurfaces::RenderTarget\28GrRecordingContext*\2c\20skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20int\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const*\2c\20bool\2c\20bool\29 +1485:SkSurface::makeImageSnapshot\28\29 +1486:SkString::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +1487:SkString::insertUnichar\28unsigned\20long\2c\20int\29 +1488:SkStrikeSpec::findOrCreateScopedStrike\28sktext::StrikeForGPUCacheInterface*\29\20const +1489:SkStrikeCache::GlobalStrikeCache\28\29 +1490:SkShader::isAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +1491:SkSL::is_constant_value\28SkSL::Expression\20const&\2c\20double\29 +1492:SkSL::evaluate_pairwise_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +1493:SkSL::compile_and_shrink\28SkSL::Compiler*\2c\20SkSL::ProgramKind\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::Module\20const*\29 +1494:SkSL::\28anonymous\20namespace\29::ReturnsOnAllPathsVisitor::visitStatement\28SkSL::Statement\20const&\29 +1495:SkSL::Type::MakeScalarType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type::NumberKind\2c\20signed\20char\2c\20signed\20char\29 +1496:SkSL::RP::Generator::pushBinaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +1497:SkSL::RP::Builder::push_clone\28int\2c\20int\29 +1498:SkSL::ProgramUsage::remove\28SkSL::Statement\20const*\29 +1499:SkSL::Parser::statement\28bool\29 +1500:SkSL::Operator::determineBinaryType\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\29\20const +1501:SkSL::ModifierFlags::description\28\29\20const +1502:SkSL::Layout::paddedDescription\28\29\20const +1503:SkSL::GetModuleData\28SkSL::ModuleName\2c\20char\20const*\29 +1504:SkSL::FieldAccess::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20int\2c\20SkSL::FieldAccessOwnerKind\29 +1505:SkSL::ConstructorCompoundCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1506:SkSL::Compiler::~Compiler\28\29 +1507:SkSL::Analysis::IsSameExpressionTree\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +1508:SkRuntimeEffect::findChild\28std::__2::basic_string_view>\29\20const +1509:SkRect\20skif::Mapping::map\28SkRect\20const&\2c\20SkMatrix\20const&\29 +1510:SkRectPriv::Subtract\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkIRect*\29 +1511:SkPictureRecorder::SkPictureRecorder\28\29 +1512:SkPictureData::~SkPictureData\28\29 +1513:SkPathMeasure::nextContour\28\29 +1514:SkPathMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29 +1515:SkPathMeasure::getPosTan\28float\2c\20SkPoint*\2c\20SkPoint*\29 +1516:SkPathBuilder::lineTo\28SkPoint\29 +1517:SkPath::getPoint\28int\29\20const +1518:SkPath::getLastPt\28SkPoint*\29\20const +1519:SkPaint::setBlender\28sk_sp\29 +1520:SkPaint::setAlphaf\28float\29 +1521:SkOpSegment::addT\28double\29 +1522:SkNoPixelsDevice::ClipState&\20skia_private::TArray::emplace_back\28SkIRect&&\2c\20bool&&\2c\20bool&&\29 +1523:SkNextID::ImageID\28\29 +1524:SkMessageBus::Inbox::Inbox\28unsigned\20int\29 +1525:SkJSONWriter::endObject\28\29 +1526:SkImage_Lazy::generator\28\29\20const +1527:SkImage_Base::~SkImage_Base\28\29 +1528:SkImage_Base::SkImage_Base\28SkImageInfo\20const&\2c\20unsigned\20int\29 +1529:SkImageInfo::Make\28SkISize\2c\20SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +1530:SkImage::isAlphaOnly\28\29\20const +1531:SkFont::getWidthsBounds\28unsigned\20short\20const*\2c\20int\2c\20float*\2c\20SkRect*\2c\20SkPaint\20const*\29\20const +1532:SkFont::getMetrics\28SkFontMetrics*\29\20const +1533:SkFont::SkFont\28sk_sp\2c\20float\29 +1534:SkFont::SkFont\28\29 +1535:SkDrawBase::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20SkRect\20const*\29\20const +1536:SkDevice::setGlobalCTM\28SkM44\20const&\29 +1537:SkDescriptor::operator==\28SkDescriptor\20const&\29\20const +1538:SkConvertPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +1539:SkConic::chopAt\28float\2c\20SkConic*\29\20const +1540:SkColorSpace::gammaIsLinear\28\29\20const +1541:SkColorSpace::MakeRGB\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +1542:SkCodec::fillIncompleteImage\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::ZeroInitialized\2c\20int\2c\20int\29 +1543:SkCanvas::saveLayer\28SkRect\20const*\2c\20SkPaint\20const*\29 +1544:SkCanvas::drawPaint\28SkPaint\20const&\29 +1545:SkCanvas::ImageSetEntry::~ImageSetEntry\28\29 +1546:SkBulkGlyphMetrics::glyphs\28SkSpan\29 +1547:SkBitmap::operator=\28SkBitmap&&\29 +1548:SkBitmap::getGenerationID\28\29\20const +1549:SkArenaAllocWithReset::reset\28\29 +1550:OT::Layout::GPOS_impl::AnchorFormat3::sanitize\28hb_sanitize_context_t*\29\20const +1551:OT::GDEF::get_glyph_props\28unsigned\20int\29\20const +1552:OT::CmapSubtable::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +1553:Ins_UNKNOWN +1554:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\2c\20bool\29 +1555:GrSurfaceProxyView::mipmapped\28\29\20const +1556:GrSurfaceProxy::instantiateImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::UniqueKey\20const*\29 +1557:GrSimpleMeshDrawOpHelperWithStencil::isCompatible\28GrSimpleMeshDrawOpHelperWithStencil\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +1558:GrSimpleMeshDrawOpHelperWithStencil::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +1559:GrShape::simplifyRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20unsigned\20int\29 +1560:GrQuad::projectedBounds\28\29\20const +1561:GrProcessorSet::MakeEmptySet\28\29 +1562:GrPorterDuffXPFactory::SimpleSrcOverXP\28\29 +1563:GrPixmap::Allocate\28GrImageInfo\20const&\29 +1564:GrPathTessellationShader::MakeSimpleTriangleShader\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +1565:GrMakeCachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\29 +1566:GrImageInfo::operator=\28GrImageInfo&&\29 +1567:GrImageInfo::makeColorType\28GrColorType\29\20const +1568:GrGpuResource::setUniqueKey\28skgpu::UniqueKey\20const&\29 +1569:GrGpuResource::release\28\29 +1570:GrGpuResource::isPurgeable\28\29\20const +1571:GrGeometryProcessor::textureSampler\28int\29\20const +1572:GrGeometryProcessor::AttributeSet::begin\28\29\20const +1573:GrGLSLShaderBuilder::addFeature\28unsigned\20int\2c\20char\20const*\29 +1574:GrGLGpu::clearErrorsAndCheckForOOM\28\29 +1575:GrGLGpu::bindSurfaceFBOForPixelOps\28GrSurface*\2c\20int\2c\20unsigned\20int\2c\20GrGLGpu::TempFBOTarget\29 +1576:GrGLCompileAndAttachShader\28GrGLContext\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20bool\2c\20GrThreadSafePipelineBuilder::Stats*\2c\20skgpu::ShaderErrorHandler*\29 +1577:GrFragmentProcessor::MakeColor\28SkRGBA4f<\28SkAlphaType\292>\29 +1578:GrDirectContextPriv::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +1579:GrDefaultGeoProcFactory::Make\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +1580:GrConvertPixels\28GrPixmap\20const&\2c\20GrCPixmap\20const&\2c\20bool\29 +1581:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +1582:GrColorInfo::GrColorInfo\28\29 +1583:GrBlurUtils::convolve_gaussian_1d\28skgpu::ganesh::SurfaceFillContext*\2c\20GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\2c\20SkIRect\20const&\2c\20SkAlphaType\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\29 +1584:GrBackendFormat::operator=\28GrBackendFormat\20const&\29 +1585:FT_Stream_Read +1586:FT_GlyphLoader_Rewind +1587:FT_Done_Face +1588:Cr_z_inflate +1589:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1590:void\20std::__2::__stable_sort\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +1591:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20unsigned\20int*&\2c\20unsigned\20int*&\29 +1592:void\20icu_74::\28anonymous\20namespace\29::MixedBlocks::extend\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\29 +1593:void\20hb_serialize_context_t::add_link\2c\20true>>\28OT::OffsetTo\2c\20true>&\2c\20unsigned\20int\2c\20hb_serialize_context_t::whence_t\2c\20unsigned\20int\29 +1594:void\20emscripten::internal::MemberAccess::setWire\28bool\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform&\2c\20bool\29 +1595:utext_nativeLength_74 +1596:ures_openDirect_74 +1597:ures_getStringWithAlias\28UResourceBundle\20const*\2c\20unsigned\20int\2c\20int\2c\20int*\2c\20UErrorCode*\29 +1598:ures_getStringByKeyWithFallback_74 +1599:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +1600:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +1601:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +1602:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +1603:ulocimp_getKeywordValue_74 +1604:ulocimp_getCountry_74\28char\20const*\2c\20char\20const**\2c\20UErrorCode&\29 +1605:ulocimp_forLanguageTag_74 +1606:uenum_close_74 +1607:udata_getMemory_74 +1608:ucptrie_openFromBinary_74 +1609:u_charsToUChars_74 +1610:toupper +1611:top12.2 +1612:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1613:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1614:std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>::type\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>\28skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*\29\20const +1615:std::__2::ctype::narrow\5babi:v160004\5d\28char\2c\20char\29\20const +1616:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28wchar_t\20const*\29 +1617:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1618:std::__2::basic_streambuf>::~basic_streambuf\28\29 +1619:std::__2::basic_streambuf>::setg\5babi:v160004\5d\28char*\2c\20char*\2c\20char*\29 +1620:std::__2::__num_get::__stage2_int_loop\28wchar_t\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20wchar_t\20const*\29 +1621:std::__2::__num_get::__stage2_int_loop\28char\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20char\20const*\29 +1622:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1623:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1624:src_p\28unsigned\20char\2c\20unsigned\20char\29 +1625:skif::FilterResult::subset\28skif::LayerSpace\20const&\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +1626:skif::FilterResult::operator=\28skif::FilterResult&&\29 +1627:skia_private::THashMap::operator\5b\5d\28SkSL::Variable\20const*\20const&\29 +1628:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +1629:skia_private::TArray::resize_back\28int\29 +1630:skia_png_get_valid +1631:skia_png_gamma_8bit_correct +1632:skia_png_free_data +1633:skia_png_chunk_warning +1634:skia::textlayout::TextLine::measureTextInsideOneRun\28skia::textlayout::SkRange\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20float\2c\20bool\2c\20skia::textlayout::TextLine::TextAdjustment\29\20const +1635:skia::textlayout::Run::positionX\28unsigned\20long\29\20const +1636:skia::textlayout::Run::Run\28skia::textlayout::ParagraphImpl*\2c\20SkShaper::RunHandler::RunInfo\20const&\2c\20unsigned\20long\2c\20float\2c\20bool\2c\20float\2c\20unsigned\20long\2c\20float\29 +1637:skia::textlayout::ParagraphCacheKey::operator==\28skia::textlayout::ParagraphCacheKey\20const&\29\20const +1638:skia::textlayout::FontCollection::enableFontFallback\28\29 +1639:skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\294>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\298>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::ReplicateLineEndPoints\2c\20skgpu::tess::TrackJoinControlPoints>::chopAndWriteCubics\28skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20int\29 +1640:skgpu::ganesh::SmallPathAtlasMgr::reset\28\29 +1641:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::vertexSize\28\29\20const +1642:skgpu::ganesh::Device::readSurfaceView\28\29 +1643:skgpu::ganesh::ClipStack::clip\28skgpu::ganesh::ClipStack::RawElement&&\29 +1644:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::RawElement\20const&\29\20const +1645:skgpu::ganesh::ClipStack::RawElement::RawElement\28SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\2c\20SkClipOp\29 +1646:skgpu::TAsyncReadResult::Plane&\20skia_private::TArray::Plane\2c\20false>::emplace_back\2c\20unsigned\20long&>\28sk_sp&&\2c\20unsigned\20long&\29 +1647:skgpu::Swizzle::asString\28\29\20const +1648:skgpu::ScratchKey::GenerateResourceType\28\29 +1649:skgpu::GetBlendFormula\28bool\2c\20bool\2c\20SkBlendMode\29 +1650:select_curve_ops\28skcms_Curve\20const*\2c\20int\2c\20OpAndArg*\29 +1651:sbrk +1652:ps_tofixedarray +1653:processPropertySeq\28UBiDi*\2c\20LevState*\2c\20unsigned\20char\2c\20int\2c\20int\29 +1654:png_format_buffer +1655:png_check_keyword +1656:nextafterf +1657:jpeg_huff_decode +1658:init_entry\28char\20const*\2c\20char\20const*\2c\20UErrorCode*\29 +1659:icu_74::UnicodeString::countChar32\28int\2c\20int\29\20const +1660:icu_74::UnicodeString::UnicodeString\28char\20const*\2c\20int\2c\20icu_74::UnicodeString::EInvariant\29 +1661:icu_74::UnicodeSet::getRangeStart\28int\29\20const +1662:icu_74::UnicodeSet::getRangeEnd\28int\29\20const +1663:icu_74::UnicodeSet::getRangeCount\28\29\20const +1664:icu_74::UVector::UVector\28void\20\28*\29\28void*\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20int\2c\20UErrorCode&\29 +1665:icu_74::UVector32::addElement\28int\2c\20UErrorCode&\29 +1666:icu_74::UVector32::UVector32\28int\2c\20UErrorCode&\29 +1667:icu_74::UCharsTrie::next\28int\29 +1668:icu_74::UCharsTrie::branchNext\28char16_t\20const*\2c\20int\2c\20int\29 +1669:icu_74::StackUResourceBundle::StackUResourceBundle\28\29 +1670:icu_74::ReorderingBuffer::appendSupplementary\28int\2c\20unsigned\20char\2c\20UErrorCode&\29 +1671:icu_74::Norm2AllModes::createNFCInstance\28UErrorCode&\29 +1672:icu_74::LanguageBreakEngine::LanguageBreakEngine\28\29 +1673:icu_74::LSR::LSR\28char\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20int\2c\20UErrorCode&\29 +1674:icu_74::CharacterProperties::getInclusionsForProperty\28UProperty\2c\20UErrorCode&\29 +1675:icu_74::CharString::ensureCapacity\28int\2c\20int\2c\20UErrorCode&\29 +1676:hb_unicode_funcs_destroy +1677:hb_serialize_context_t::pop_discard\28\29 +1678:hb_buffer_set_flags +1679:hb_blob_create_sub_blob +1680:hb_array_t::hash\28\29\20const +1681:hairquad\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1682:haircubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1683:fmt_u +1684:flush_pending +1685:emscripten::internal::Invoker>::invoke\28sk_sp\20\28*\29\28\29\29 +1686:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\29\2c\20SkPath*\29 +1687:do_fixed +1688:destroy_face +1689:decltype\28fp\28\28SkRecords::NoOp*\29\28nullptr\29\29\29\20SkRecord::Record::mutate\28SkRecord::Destroyer&\29 +1690:char*\20const&\20std::__2::max\5babi:v160004\5d\28char*\20const&\2c\20char*\20const&\29 +1691:cf2_stack_pushInt +1692:cf2_interpT2CharString +1693:cf2_glyphpath_moveTo +1694:byn$mgfn-shared$skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +1695:byn$mgfn-shared$skif::Backend::~Backend\28\29.1 +1696:byn$mgfn-shared$SkUnicode_icu::isEmoji\28int\29 +1697:byn$mgfn-shared$SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +1698:byn$mgfn-shared$GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +1699:bool\20hb_hashmap_t::set_with_hash\28unsigned\20int\20const&\2c\20unsigned\20int\2c\20unsigned\20int\20const&\2c\20bool\29 +1700:bool\20emscripten::internal::MemberAccess::getWire\28bool\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform\20const&\29 +1701:_isVariantSubtag\28char\20const*\2c\20int\29 +1702:_hb_ot_metrics_get_position_common\28hb_font_t*\2c\20hb_ot_metrics_tag_t\2c\20int*\29 +1703:_getStringOrCopyKey\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +1704:__wasi_syscall_ret +1705:__tandf +1706:__syscall_ret +1707:__floatunsitf +1708:__cxa_allocate_exception +1709:\28anonymous\20namespace\29::PathGeoBuilder::createMeshAndPutBackReserve\28\29 +1710:\28anonymous\20namespace\29::MeshOp::fixedFunctionFlags\28\29\20const +1711:\28anonymous\20namespace\29::DrawAtlasOpImpl::fixedFunctionFlags\28\29\20const +1712:WebPDemuxGetI +1713:VP8LDoFillBitWindow +1714:VP8LClear +1715:TT_Get_MM_Var +1716:SkWStream::writeScalar\28float\29 +1717:SkUTF::UTF8ToUTF16\28unsigned\20short*\2c\20int\2c\20char\20const*\2c\20unsigned\20long\29 +1718:SkTypeface::MakeEmpty\28\29 +1719:SkTSect::BinarySearch\28SkTSect*\2c\20SkTSect*\2c\20SkIntersections*\29 +1720:SkTConic::operator\5b\5d\28int\29\20const +1721:SkTBlockList::reset\28\29 +1722:SkTBlockList::reset\28\29 +1723:SkString::insertU32\28unsigned\20long\2c\20unsigned\20int\29 +1724:SkSpecialImages::MakeDeferredFromGpu\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1725:SkShaders::MatrixRec::applyForFragmentProcessor\28SkMatrix\20const&\29\20const +1726:SkScan::FillRect\28SkRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +1727:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +1728:SkSL::optimize_comparison\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20bool\20\28*\29\28double\2c\20double\29\29 +1729:SkSL::Type::convertArraySize\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20long\20long\29\20const +1730:SkSL::String::appendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20...\29 +1731:SkSL::RP::Builder::dot_floats\28int\29 +1732:SkSL::ProgramUsage::get\28SkSL::FunctionDeclaration\20const&\29\20const +1733:SkSL::Parser::type\28SkSL::Modifiers*\29 +1734:SkSL::Parser::modifiers\28\29 +1735:SkSL::ConstructorDiagonalMatrix::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1736:SkSL::ConstructorArrayCast::~ConstructorArrayCast\28\29 +1737:SkSL::ConstantFolder::MakeConstantValueForVariable\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +1738:SkSL::Compiler::Compiler\28\29 +1739:SkSL::Analysis::IsTrivialExpression\28SkSL::Expression\20const&\29 +1740:SkRuntimeShaderBuilder::~SkRuntimeShaderBuilder\28\29 +1741:SkRuntimeShaderBuilder::makeShader\28SkMatrix\20const*\29\20const +1742:SkRuntimeShaderBuilder::SkRuntimeShaderBuilder\28sk_sp\29 +1743:SkRuntimeEffectPriv::CanDraw\28SkCapabilities\20const*\2c\20SkRuntimeEffect\20const*\29 +1744:SkRegion::setPath\28SkPath\20const&\2c\20SkRegion\20const&\29 +1745:SkRegion::operator=\28SkRegion\20const&\29 +1746:SkRegion::op\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\29 +1747:SkRegion::Iterator::next\28\29 +1748:SkRasterPipeline::compile\28\29\20const +1749:SkRasterPipeline::appendClampIfNormalized\28SkImageInfo\20const&\29 +1750:SkRRect::transform\28SkMatrix\20const&\2c\20SkRRect*\29\20const +1751:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20SkBBHFactory*\29 +1752:SkPathWriter::finishContour\28\29 +1753:SkPathStroker::cubicPerpRay\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +1754:SkPath::getSegmentMasks\28\29\20const +1755:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\29 +1756:SkPaintPriv::ComputeLuminanceColor\28SkPaint\20const&\29 +1757:SkPaint::nothingToDraw\28\29\20const +1758:SkPaint::isSrcOver\28\29\20const +1759:SkOpAngle::linesOnOriginalSide\28SkOpAngle\20const*\29 +1760:SkNotifyBitmapGenIDIsStale\28unsigned\20int\29 +1761:SkNoDrawCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +1762:SkMipmap::Build\28SkPixmap\20const&\2c\20SkDiscardableMemory*\20\28*\29\28unsigned\20long\29\2c\20bool\29 +1763:SkMeshSpecification::~SkMeshSpecification\28\29 +1764:SkMatrix::setSinCos\28float\2c\20float\2c\20float\2c\20float\29 +1765:SkMatrix::setRSXform\28SkRSXform\20const&\29 +1766:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint3\20const*\2c\20int\29\20const +1767:SkMaskFilterBase::getFlattenableType\28\29\20const +1768:SkMaskBuilder::AllocImage\28unsigned\20long\2c\20SkMaskBuilder::AllocType\29 +1769:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_2D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1770:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1771:SkJSONWriter::appendString\28char\20const*\2c\20unsigned\20long\29 +1772:SkIntersections::insertNear\28double\2c\20double\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29 +1773:SkIntersections::flip\28\29 +1774:SkImageFilters::Empty\28\29 +1775:SkImageFilter_Base::~SkImageFilter_Base\28\29 +1776:SkGlyph::drawable\28\29\20const +1777:SkFont::unicharToGlyph\28int\29\20const +1778:SkFont::setTypeface\28sk_sp\29 +1779:SkFont::setHinting\28SkFontHinting\29 +1780:SkFindQuadMaxCurvature\28SkPoint\20const*\29 +1781:SkEvalCubicAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29 +1782:SkDrawTiler::stepAndSetupTileDraw\28\29 +1783:SkDrawTiler::SkDrawTiler\28SkBitmapDevice*\2c\20SkRect\20const*\29 +1784:SkDevice::accessPixels\28SkPixmap*\29 +1785:SkDeque::SkDeque\28unsigned\20long\2c\20void*\2c\20unsigned\20long\2c\20int\29 +1786:SkDCubic::FindExtrema\28double\20const*\2c\20double*\29 +1787:SkColorFilters::Blend\28unsigned\20int\2c\20SkBlendMode\29 +1788:SkCodec::getPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const*\29 +1789:SkCanvas::topDevice\28\29\20const +1790:SkCanvas::internalRestore\28\29 +1791:SkCanvas::init\28sk_sp\29 +1792:SkCanvas::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +1793:SkBlendMode_AsCoeff\28SkBlendMode\2c\20SkBlendModeCoeff*\2c\20SkBlendModeCoeff*\29 +1794:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29 +1795:SkAutoPixmapStorage::tryAlloc\28SkImageInfo\20const&\29 +1796:SkAAClip::SkAAClip\28\29 +1797:OT::glyf_accelerator_t::glyf_accelerator_t\28hb_face_t*\29 +1798:OT::VariationStore::sanitize\28hb_sanitize_context_t*\29\20const +1799:OT::Layout::GPOS_impl::ValueFormat::sanitize_value_devices\28hb_sanitize_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\29\20const +1800:OT::Layout::GPOS_impl::ValueFormat::apply_value\28OT::hb_ot_apply_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\2c\20hb_glyph_position_t&\29\20const +1801:OT::HVARVVAR::sanitize\28hb_sanitize_context_t*\29\20const +1802:GrTriangulator::VertexList::insert\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\29 +1803:GrTriangulator::Poly::addEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Side\2c\20GrTriangulator*\29 +1804:GrTriangulator::EdgeList::remove\28GrTriangulator::Edge*\29 +1805:GrStyledShape::operator=\28GrStyledShape\20const&\29 +1806:GrSimpleMeshDrawOpHelperWithStencil::createProgramInfoWithStencil\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1807:GrResourceCache::purgeAsNeeded\28\29 +1808:GrRenderTask::addDependency\28GrDrawingManager*\2c\20GrSurfaceProxy*\2c\20skgpu::Mipmapped\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +1809:GrRenderTask::GrRenderTask\28\29 +1810:GrRenderTarget::onRelease\28\29 +1811:GrProxyProvider::findOrCreateProxyByUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxy::UseAllocator\29 +1812:GrProcessorSet::operator==\28GrProcessorSet\20const&\29\20const +1813:GrPathUtils::generateQuadraticPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +1814:GrMeshDrawOp::QuadHelper::QuadHelper\28GrMeshDrawTarget*\2c\20unsigned\20long\2c\20int\29 +1815:GrIsStrokeHairlineOrEquivalent\28GrStyle\20const&\2c\20SkMatrix\20const&\2c\20float*\29 +1816:GrImageContext::abandoned\28\29 +1817:GrGpuResource::registerWithCache\28skgpu::Budgeted\29 +1818:GrGpuBuffer::isMapped\28\29\20const +1819:GrGpu::submitToGpu\28GrSyncCpu\29 +1820:GrGpu::didWriteToSurface\28GrSurface*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const*\2c\20unsigned\20int\29\20const +1821:GrGeometryProcessor::ProgramImpl::setupUniformColor\28GrGLSLFPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20GrResourceHandle*\29 +1822:GrGLGpu::flushRenderTarget\28GrGLRenderTarget*\2c\20bool\29 +1823:GrFragmentProcessor::visitTextureEffects\28std::__2::function\20const&\29\20const +1824:GrFragmentProcessor::visitProxies\28std::__2::function\20const&\29\20const +1825:GrCpuBuffer::ref\28\29\20const +1826:GrBufferAllocPool::makeSpace\28unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\29 +1827:GrBackendTextures::GetGLTextureInfo\28GrBackendTexture\20const&\2c\20GrGLTextureInfo*\29 +1828:FilterLoop26_C +1829:FT_Vector_Transform +1830:FT_Vector_NormLen +1831:FT_Outline_Transform +1832:CFF::dict_opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +1833:AlmostBetweenUlps\28float\2c\20float\2c\20float\29 +1834:void\20std::__2::vector>::__emplace_back_slow_path\28skia::textlayout::OneLineShaper::RunBlock&\29 +1835:utext_openUChars_74 +1836:utext_char32At_74 +1837:ures_openWithType\28UResourceBundle*\2c\20char\20const*\2c\20char\20const*\2c\20UResOpenType\2c\20UErrorCode*\29 +1838:ures_getSize_74 +1839:udata_openChoice_74 +1840:ucptrie_internalSmallU8Index_74 +1841:ucptrie_get_74 +1842:ubidi_getMemory_74 +1843:ubidi_getClass_74 +1844:transform\28unsigned\20int*\2c\20unsigned\20char\20const*\29 +1845:toUpperOrTitle\28int\2c\20int\20\28*\29\28void*\2c\20signed\20char\29\2c\20void*\2c\20char16_t\20const**\2c\20int\2c\20signed\20char\29 +1846:strtod +1847:strcspn +1848:std::__2::locale::locale\28std::__2::locale\20const&\29 +1849:std::__2::locale::classic\28\29 +1850:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +1851:std::__2::chrono::__libcpp_steady_clock_now\28\29 +1852:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20char\20const*\29 +1853:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +1854:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1855:std::__2::__wrap_iter\20std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float\20const*\2c\20float\20const*\29 +1856:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1857:std::__2::__throw_bad_variant_access\5babi:v160004\5d\28\29 +1858:std::__2::__split_buffer>::push_front\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +1859:std::__2::__shared_count::__release_shared\5babi:v160004\5d\28\29 +1860:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20wchar_t&\29 +1861:std::__2::__num_get::__do_widen\28std::__2::ios_base&\2c\20wchar_t*\29\20const +1862:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20char&\29 +1863:std::__2::__itoa::__append1\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1864:sktext::gpu::VertexFiller::vertexStride\28SkMatrix\20const&\29\20const +1865:skif::RoundIn\28SkRect\29 +1866:skif::LayerSpace::round\28\29\20const +1867:skif::LayerSpace::inverseMapRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29\20const +1868:skif::FilterResult::applyTransform\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkSamplingOptions\20const&\29\20const +1869:skif::FilterResult::Builder::~Builder\28\29 +1870:skif::FilterResult::Builder::Builder\28skif::Context\20const&\29 +1871:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair&&\29 +1872:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +1873:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +1874:skia_private::TArray::resize_back\28int\29 +1875:skia_private::TArray::push_back_raw\28int\29 +1876:skia_png_sig_cmp +1877:skia_png_set_progressive_read_fn +1878:skia_png_set_longjmp_fn +1879:skia_png_set_interlace_handling +1880:skia_png_reciprocal +1881:skia_png_read_chunk_header +1882:skia_png_get_io_ptr +1883:skia_png_calloc +1884:skia::textlayout::TextLine::~TextLine\28\29 +1885:skia::textlayout::ParagraphStyle::ParagraphStyle\28skia::textlayout::ParagraphStyle\20const&\29 +1886:skia::textlayout::ParagraphCacheKey::~ParagraphCacheKey\28\29 +1887:skia::textlayout::FontCollection::findTypefaces\28std::__2::vector>\20const&\2c\20SkFontStyle\2c\20std::__2::optional\20const&\29 +1888:skia::textlayout::Cluster::trimmedWidth\28unsigned\20long\29\20const +1889:skgpu::ganesh::TextureOp::BatchSizeLimiter::createOp\28GrTextureSetEntry*\2c\20int\2c\20GrAAType\29 +1890:skgpu::ganesh::SurfaceFillContext::fillWithFP\28std::__2::unique_ptr>\29 +1891:skgpu::ganesh::SurfaceDrawContext::drawShapeUsingPathRenderer\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\2c\20bool\29 +1892:skgpu::ganesh::SurfaceDrawContext::drawRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const*\29 +1893:skgpu::ganesh::SurfaceDrawContext::drawRRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20GrStyle\20const&\29 +1894:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29 +1895:skgpu::ganesh::QuadPerEdgeAA::CalcIndexBufferOption\28GrAAType\2c\20int\29 +1896:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29::$_0::operator\28\29\28GrSurfaceProxyView\20const&\29\20const +1897:skgpu::ganesh::Device::targetProxy\28\29 +1898:skgpu::ganesh::ClipStack::getConservativeBounds\28\29\20const +1899:skgpu::TAsyncReadResult::addTransferResult\28skgpu::ganesh::SurfaceContext::PixelTransferResult\20const&\2c\20SkISize\2c\20unsigned\20long\2c\20skgpu::TClientMappedBufferManager*\29 +1900:skgpu::Plot::resetRects\28\29 +1901:skcms_TransferFunction_invert +1902:res_getTableItemByIndex_74 +1903:res_getArrayItem_74 +1904:ps_dimension_add_t1stem +1905:powf +1906:log2f +1907:log +1908:jcopy_sample_rows +1909:icu_74::initSingletons\28char\20const*\2c\20UErrorCode&\29 +1910:icu_74::\28anonymous\20namespace\29::AliasReplacer::replaceLanguage\28bool\2c\20bool\2c\20bool\2c\20icu_74::UVector&\2c\20UErrorCode&\29 +1911:icu_74::UnicodeString::append\28int\29 +1912:icu_74::UnicodeSetStringSpan::UnicodeSetStringSpan\28icu_74::UnicodeSet\20const&\2c\20icu_74::UVector\20const&\2c\20unsigned\20int\29 +1913:icu_74::UnicodeSet::spanUTF8\28char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1914:icu_74::UnicodeSet::spanBack\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1915:icu_74::UnicodeSet::spanBackUTF8\28char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +1916:icu_74::UnicodeSet::retain\28int\20const*\2c\20int\2c\20signed\20char\29 +1917:icu_74::UnicodeSet::removeAllStrings\28\29 +1918:icu_74::UnicodeSet::operator=\28icu_74::UnicodeSet\20const&\29 +1919:icu_74::UnicodeSet::complement\28\29 +1920:icu_74::UnicodeSet::_add\28icu_74::UnicodeString\20const&\29 +1921:icu_74::UVector32::setSize\28int\29 +1922:icu_74::UCharsTrieBuilder::write\28char16_t\20const*\2c\20int\29 +1923:icu_74::StringEnumeration::~StringEnumeration\28\29 +1924:icu_74::RuleCharacterIterator::getPos\28icu_74::RuleCharacterIterator::Pos&\29\20const +1925:icu_74::RuleBasedBreakIterator::BreakCache::populatePreceding\28UErrorCode&\29 +1926:icu_74::ResourceDataValue::~ResourceDataValue\28\29 +1927:icu_74::ReorderingBuffer::previousCC\28\29 +1928:icu_74::Normalizer2Impl::compose\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20signed\20char\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +1929:icu_74::Normalizer2Factory::getNFCImpl\28UErrorCode&\29 +1930:icu_74::LocaleUtility::initLocaleFromName\28icu_74::UnicodeString\20const&\2c\20icu_74::Locale&\29 +1931:icu_74::LocaleKeyFactory::~LocaleKeyFactory\28\29 +1932:icu_74::Locale::setToBogus\28\29 +1933:icu_74::LSR::indexForRegion\28char\20const*\29 +1934:icu_74::LSR::LSR\28icu_74::StringPiece\2c\20icu_74::StringPiece\2c\20icu_74::StringPiece\2c\20int\2c\20UErrorCode&\29 +1935:icu_74::BreakIterator::createInstance\28icu_74::Locale\20const&\2c\20int\2c\20UErrorCode&\29 +1936:hb_font_t::has_func\28unsigned\20int\29 +1937:hb_buffer_create_similar +1938:ft_service_list_lookup +1939:fseek +1940:fiprintf +1941:fflush +1942:expm1 +1943:emscripten::internal::MethodInvoker::invoke\28void\20\28GrDirectContext::*\20const&\29\28\29\2c\20GrDirectContext*\29 +1944:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +1945:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFont&\29\2c\20SkFont*\29 +1946:do_putc +1947:crc32_z +1948:cf2_hintmap_insertHint +1949:cf2_hintmap_build +1950:cf2_glyphpath_pushPrevElem +1951:byn$mgfn-shared$std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +1952:byn$mgfn-shared$std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +1953:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +1954:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +1955:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +1956:blit_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +1957:afm_stream_read_one +1958:af_latin_hints_link_segments +1959:af_latin_compute_stem_width +1960:af_glyph_hints_reload +1961:acosf +1962:__sin +1963:__cos +1964:\28anonymous\20namespace\29::PathSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +1965:VP8LHuffmanTablesDeallocate +1966:UDataMemory_createNewInstance_74 +1967:SkWriter32::writeSampling\28SkSamplingOptions\20const&\29 +1968:SkVertices::Builder::detach\28\29 +1969:SkUTF::NextUTF8WithReplacement\28char\20const**\2c\20char\20const*\29 +1970:SkTypeface_FreeType::~SkTypeface_FreeType\28\29 +1971:SkTypeface_FreeType::FaceRec::~FaceRec\28\29 +1972:SkTypeface::SkTypeface\28SkFontStyle\20const&\2c\20bool\29 +1973:SkTextBlobBuilder::TightRunBounds\28SkTextBlob::RunRecord\20const&\29 +1974:SkTextBlob::RunRecord::textSizePtr\28\29\20const +1975:SkTMultiMap::remove\28skgpu::ScratchKey\20const&\2c\20GrGpuResource\20const*\29 +1976:SkTMultiMap::insert\28skgpu::ScratchKey\20const&\2c\20GrGpuResource*\29 +1977:SkTDStorage::insert\28int\2c\20int\2c\20void\20const*\29 +1978:SkTDPQueue<\28anonymous\20namespace\29::RunIteratorQueue::Entry\2c\20&\28anonymous\20namespace\29::RunIteratorQueue::CompareEntry\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\2c\20\28int*\20\28*\29\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\290>::insert\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\29 +1979:SkSwizzler::Make\28SkEncodedInfo\20const&\2c\20unsigned\20int\20const*\2c\20SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20SkIRect\20const*\29 +1980:SkSurfaces::Raster\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +1981:SkSurface_Base::~SkSurface_Base\28\29 +1982:SkSurface::recordingContext\28\29\20const +1983:SkString::resize\28unsigned\20long\29 +1984:SkStrikeSpec::SkStrikeSpec\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1985:SkStrikeSpec::MakeMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1986:SkStrikeSpec::MakeCanonicalized\28SkFont\20const&\2c\20SkPaint\20const*\29 +1987:SkStrikeCache::findOrCreateStrike\28SkStrikeSpec\20const&\29 +1988:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +1989:SkShaders::MatrixRec::apply\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +1990:SkShaders::MatrixRec::MatrixRec\28SkMatrix\20const&\29 +1991:SkShaders::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +1992:SkScan::FillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\29 +1993:SkScalerContext_FreeType::emboldenIfNeeded\28FT_FaceRec_*\2c\20FT_GlyphSlotRec_*\2c\20unsigned\20short\29 +1994:SkSL::Type::displayName\28\29\20const +1995:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20double\2c\20SkSL::Position\29\20const +1996:SkSL::SymbolTable::find\28std::__2::basic_string_view>\29\20const +1997:SkSL::String::Separator\28\29::Output::~Output\28\29 +1998:SkSL::RP::SlotManager::addSlotDebugInfoForGroup\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20int*\2c\20bool\29 +1999:SkSL::RP::Generator::foldComparisonOp\28SkSL::Operator\2c\20int\29 +2000:SkSL::RP::Builder::branch_if_no_lanes_active\28int\29 +2001:SkSL::PrefixExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +2002:SkSL::PipelineStage::PipelineStageCodeGenerator::typedVariable\28SkSL::Type\20const&\2c\20std::__2::basic_string_view>\29 +2003:SkSL::Parser::parseArrayDimensions\28SkSL::Position\2c\20SkSL::Type\20const**\29 +2004:SkSL::Parser::arraySize\28long\20long*\29 +2005:SkSL::Operator::operatorName\28\29\20const +2006:SkSL::ModifierFlags::paddedDescription\28\29\20const +2007:SkSL::IndexExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +2008:SkSL::ConstantFolder::GetConstantValue\28SkSL::Expression\20const&\2c\20double*\29 +2009:SkSL::ConstantFolder::GetConstantInt\28SkSL::Expression\20const&\2c\20long\20long*\29 +2010:SkSL::Compiler::convertProgram\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::ProgramSettings\20const&\29 +2011:SkResourceCache::remove\28SkResourceCache::Rec*\29 +2012:SkRegion::op\28SkRegion\20const&\2c\20SkIRect\20const&\2c\20SkRegion::Op\29 +2013:SkRegion::Iterator::Iterator\28SkRegion\20const&\29 +2014:SkRectPriv::ClosestDisjointEdge\28SkIRect\20const&\2c\20SkIRect\20const&\29 +2015:SkRecords::FillBounds::bounds\28SkRecords::DrawArc\20const&\29\20const +2016:SkReadBuffer::setMemory\28void\20const*\2c\20unsigned\20long\29 +2017:SkRasterClip::SkRasterClip\28SkIRect\20const&\29 +2018:SkRRect::writeToMemory\28void*\29\20const +2019:SkRRect::setRectXY\28SkRect\20const&\2c\20float\2c\20float\29 +2020:SkPointPriv::DistanceToLineBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPointPriv::Side*\29 +2021:SkPoint::setNormalize\28float\2c\20float\29 +2022:SkPixmapUtils::SwapWidthHeight\28SkImageInfo\20const&\29 +2023:SkPictureRecorder::finishRecordingAsPicture\28\29 +2024:SkPathPriv::ComputeFirstDirection\28SkPath\20const&\29 +2025:SkPathEffect::asADash\28SkPathEffect::DashInfo*\29\20const +2026:SkPathEdgeIter::SkPathEdgeIter\28SkPath\20const&\29 +2027:SkPath::rewind\28\29 +2028:SkPath::isLine\28SkPoint*\29\20const +2029:SkPath::incReserve\28int\2c\20int\2c\20int\29 +2030:SkPath::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2031:SkPaint::setStrokeCap\28SkPaint::Cap\29 +2032:SkPaint::refShader\28\29\20const +2033:SkOpSpan::setWindSum\28int\29 +2034:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20int\2c\20SkOpSpanBase**\29 +2035:SkOpContourBuilder::addCurve\28SkPath::Verb\2c\20SkPoint\20const*\2c\20float\29 +2036:SkOpAngle::starter\28\29 +2037:SkOpAngle::insert\28SkOpAngle*\29 +2038:SkNoDestructor::SkNoDestructor\28SkSL::String::Separator\28\29::Output&&\29 +2039:SkMatrixPriv::InverseMapRect\28SkMatrix\20const&\2c\20SkRect*\2c\20SkRect\20const&\29 +2040:SkMatrix::setSinCos\28float\2c\20float\29 +2041:SkMatrix::decomposeScale\28SkSize*\2c\20SkMatrix*\29\20const +2042:SkMaskFilter::MakeBlur\28SkBlurStyle\2c\20float\2c\20bool\29 +2043:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29 +2044:SkMD5::write\28void\20const*\2c\20unsigned\20long\29 +2045:SkLineClipper::IntersectLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\29 +2046:SkImage_GaneshBase::SkImage_GaneshBase\28sk_sp\2c\20SkImageInfo\2c\20unsigned\20int\29 +2047:SkImageGenerator::onRefEncodedData\28\29 +2048:SkImage::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +2049:SkImage::makeRasterImage\28GrDirectContext*\2c\20SkImage::CachingHint\29\20const +2050:SkIDChangeListener::SkIDChangeListener\28\29 +2051:SkIDChangeListener::List::reset\28\29 +2052:SkGradientBaseShader::flatten\28SkWriteBuffer&\29\20const +2053:SkFontMgr::RefEmpty\28\29 +2054:SkFont::setEdging\28SkFont::Edging\29 +2055:SkEvalQuadAt\28SkPoint\20const*\2c\20float\29 +2056:SkEncodedInfo::makeImageInfo\28\29\20const +2057:SkEdgeClipper::next\28SkPoint*\29 +2058:SkDevice::scalerContextFlags\28\29\20const +2059:SkConic::evalAt\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +2060:SkColorInfo::SkColorInfo\28SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +2061:SkCodec::skipScanlines\28int\29 +2062:SkChopCubicAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +2063:SkCapabilities::RasterBackend\28\29 +2064:SkCanvas::saveLayer\28SkCanvas::SaveLayerRec\20const&\29 +2065:SkCanvas::imageInfo\28\29\20const +2066:SkCanvas::drawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +2067:SkCanvas::drawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +2068:SkCanvas::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +2069:SkBmpBaseCodec::~SkBmpBaseCodec\28\29 +2070:SkBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +2071:SkBlendMode\20SkReadBuffer::read32LE\28SkBlendMode\29 +2072:SkBitmap::operator=\28SkBitmap\20const&\29 +2073:SkBitmap::extractSubset\28SkBitmap*\2c\20SkIRect\20const&\29\20const +2074:SkBitmap::SkBitmap\28SkBitmap&&\29 +2075:SkBinaryWriteBuffer::writeByteArray\28void\20const*\2c\20unsigned\20long\29 +2076:SkBinaryWriteBuffer::SkBinaryWriteBuffer\28SkSerialProcs\20const&\29 +2077:SkBaseShadowTessellator::handleLine\28SkPoint\20const&\29 +2078:SkAAClip::setRegion\28SkRegion\20const&\29 +2079:R +2080:OT::hb_ot_apply_context_t::_set_glyph_class\28unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +2081:OT::cmap::find_subtable\28unsigned\20int\2c\20unsigned\20int\29\20const +2082:GrXPFactory::FromBlendMode\28SkBlendMode\29 +2083:GrTriangulator::setBottom\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2084:GrTriangulator::mergeCollinearEdges\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2085:GrTriangulator::Edge::disconnect\28\29 +2086:GrThreadSafeCache::find\28skgpu::UniqueKey\20const&\29 +2087:GrThreadSafeCache::add\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2088:GrThreadSafeCache::Entry::makeEmpty\28\29 +2089:GrSurfaceProxyView::operator==\28GrSurfaceProxyView\20const&\29\20const +2090:GrSurfaceProxyView::Copy\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\29 +2091:GrSurfaceProxyPriv::doLazyInstantiation\28GrResourceProvider*\29 +2092:GrSurfaceProxy::isFunctionallyExact\28\29\20const +2093:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20sk_sp*\29 +2094:GrSimpleMeshDrawOpHelperWithStencil::fixedFunctionFlags\28\29\20const +2095:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20GrProcessorAnalysisColor*\29 +2096:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrProcessorSet&&\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrPipeline::InputFlags\2c\20GrUserStencilSettings\20const*\29 +2097:GrSimpleMeshDrawOpHelper::CreatePipeline\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20skgpu::Swizzle\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrProcessorSet&&\2c\20GrPipeline::InputFlags\29 +2098:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20void\20const*\2c\20skgpu::UniqueKey\20const&\29 +2099:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20skgpu::UniqueKey\20const&\2c\20void\20\28*\29\28skgpu::VertexWriter\2c\20unsigned\20long\29\29 +2100:GrResourceCache::findAndRefScratchResource\28skgpu::ScratchKey\20const&\29 +2101:GrRecordingContextPriv::makeSFC\28GrImageInfo\2c\20std::__2::basic_string_view>\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +2102:GrQuadUtils::TessellationHelper::Vertices::moveAlong\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +2103:GrQuad::asRect\28SkRect*\29\20const +2104:GrProcessorSet::GrProcessorSet\28GrProcessorSet&&\29 +2105:GrPathUtils::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +2106:GrGpu::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +2107:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +2108:GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +2109:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +2110:GrGLSLColorSpaceXformHelper::emitCode\28GrGLSLUniformHandler*\2c\20GrColorSpaceXform\20const*\2c\20unsigned\20int\29 +2111:GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +2112:GrGLRenderTarget::bindInternal\28unsigned\20int\2c\20bool\29 +2113:GrGLGpu::getErrorAndCheckForOOM\28\29 +2114:GrGLGpu::bindTexture\28int\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20GrGLTexture*\29 +2115:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkMatrix\20const&\29 +2116:GrFragmentProcessor::visitWithImpls\28std::__2::function\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\20const +2117:GrFragmentProcessor::ColorMatrix\28std::__2::unique_ptr>\2c\20float\20const*\2c\20bool\2c\20bool\2c\20bool\29 +2118:GrDrawingManager::appendTask\28sk_sp\29 +2119:GrColorInfo::GrColorInfo\28GrColorInfo\20const&\29 +2120:GrCaps::isFormatCompressed\28GrBackendFormat\20const&\29\20const +2121:GrAAConvexTessellator::lineTo\28SkPoint\20const&\2c\20GrAAConvexTessellator::CurveState\29 +2122:FT_Select_Metrics +2123:FT_Select_Charmap +2124:FT_Get_Next_Char +2125:FT_Get_Module_Interface +2126:FT_Done_Size +2127:DecodeImageStream +2128:CFF::opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +2129:CFF::Charset::get_glyph\28unsigned\20int\2c\20unsigned\20int\29\20const +2130:wuffs_gif__decoder__num_decoded_frames +2131:void\20std::__2::vector\2c\20std::__2::allocator>>::__push_back_slow_path\20const&>\28sk_sp\20const&\29 +2132:void\20std::__2::reverse\5babi:v160004\5d\28wchar_t*\2c\20wchar_t*\29 +2133:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.2 +2134:void\20merge_sort<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +2135:void\20merge_sort<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +2136:void\20icu_74::\28anonymous\20namespace\29::MixedBlocks::extend\28unsigned\20int\20const*\2c\20int\2c\20int\2c\20int\29 +2137:void\20emscripten::internal::MemberAccess::setWire\28float\20StrokeOpts::*\20const&\2c\20StrokeOpts&\2c\20float\29 +2138:validate_offsetToRestore\28SkReadBuffer*\2c\20unsigned\20long\29 +2139:utrie2_enum_74 +2140:utext_clone_74 +2141:ustr_hashUCharsN_74 +2142:ures_getValueWithFallback_74 +2143:ures_appendResPath\28UResourceBundle*\2c\20char\20const*\2c\20int\2c\20UErrorCode*\29 +2144:uprv_isInvariantUString_74 +2145:umutablecptrie_set_74 +2146:umutablecptrie_close_74 +2147:uloc_getVariant_74 +2148:uhash_setValueDeleter_74 +2149:uenum_next_74 +2150:ubidi_setPara_74 +2151:ubidi_getVisualRun_74 +2152:ubidi_getRuns_74 +2153:u_strstr_74 +2154:u_getPropertyValueEnum_74 +2155:u_getIntPropertyValue_74 +2156:tt_set_mm_blend +2157:tt_face_get_ps_name +2158:trinkle +2159:strtox.1 +2160:strtoul +2161:std::__2::unique_ptr::release\5babi:v160004\5d\28\29 +2162:std::__2::pair\2c\20void*>*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__emplace_unique_key_args\2c\20std::__2::tuple<>>\28GrTriangulator::Vertex*\20const&\2c\20std::__2::piecewise_construct_t\20const&\2c\20std::__2::tuple&&\2c\20std::__2::tuple<>&&\29 +2163:std::__2::pair::pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +2164:std::__2::moneypunct::do_decimal_point\28\29\20const +2165:std::__2::moneypunct::do_decimal_point\28\29\20const +2166:std::__2::istreambuf_iterator>::istreambuf_iterator\5babi:v160004\5d\28std::__2::basic_istream>&\29 +2167:std::__2::ios_base::good\5babi:v160004\5d\28\29\20const +2168:std::__2::default_delete\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot>::type\20std::__2::default_delete\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot>\28skia_private::THashTable\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot*\29\20const +2169:std::__2::ctype::toupper\5babi:v160004\5d\28char\29\20const +2170:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +2171:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +2172:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +2173:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +2174:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +2175:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +2176:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +2177:std::__2::basic_string\2c\20std::__2::allocator>::__get_short_size\5babi:v160004\5d\28\29\20const +2178:std::__2::basic_string\2c\20std::__2::allocator>&\20std::__2::basic_string\2c\20std::__2::allocator>::__assign_no_alias\28char\20const*\2c\20unsigned\20long\29 +2179:std::__2::basic_streambuf>::__pbump\5babi:v160004\5d\28long\29 +2180:std::__2::basic_iostream>::~basic_iostream\28\29.1 +2181:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::allocator&\2c\20wchar_t*\2c\20unsigned\20long\29 +2182:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::allocator&\2c\20char*\2c\20unsigned\20long\29 +2183:std::__2::__num_put_base::__format_int\28char*\2c\20char\20const*\2c\20bool\2c\20unsigned\20int\29 +2184:std::__2::__num_put_base::__format_float\28char*\2c\20char\20const*\2c\20unsigned\20int\29 +2185:std::__2::__itoa::__append8\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2186:sktext::gpu::VertexFiller::deviceRectAndCheckTransform\28SkMatrix\20const&\29\20const +2187:sktext::gpu::TextBlob::Key::operator==\28sktext::gpu::TextBlob::Key\20const&\29\20const +2188:sktext::gpu::GlyphVector::packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29 +2189:sktext::SkStrikePromise::strike\28\29 +2190:skif::\28anonymous\20namespace\29::downscale_step_count\28float\29 +2191:skif::FilterResult::getAnalyzedShaderView\28skif::Context\20const&\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\29\20const +2192:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20bool\2c\20SkBlender\20const*\29\20const +2193:skif::FilterResult::applyCrop\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkTileMode\29\20const +2194:skif::Context::~Context\28\29 +2195:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::resize\28int\29 +2196:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +2197:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +2198:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2199:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::resize\28int\29 +2200:skia_private::THashTable::Traits>::resize\28int\29 +2201:skia_private::TArray::move\28void*\29 +2202:skia_private::TArray::operator=\28skia_private::TArray&&\29 +2203:skia_private::TArray\2c\20true>::push_back\28SkRGBA4f<\28SkAlphaType\293>&&\29 +2204:skia_png_set_text_2 +2205:skia_png_set_palette_to_rgb +2206:skia_png_handle_IHDR +2207:skia_png_handle_IEND +2208:skia_png_destroy_write_struct +2209:skia::textlayout::operator==\28skia::textlayout::FontArguments\20const&\2c\20skia::textlayout::FontArguments\20const&\29 +2210:skia::textlayout::TextWrapper::TextStretch::extend\28skia::textlayout::Cluster*\29 +2211:skia::textlayout::FontCollection::getFontManagerOrder\28\29\20const +2212:skia::textlayout::FontArguments::FontArguments\28skia::textlayout::FontArguments\20const&\29 +2213:skia::textlayout::Decorations::calculateGaps\28skia::textlayout::TextLine::ClipContext\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\29 +2214:skia::textlayout::Block&\20skia_private::TArray::emplace_back\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20skia::textlayout::TextStyle\20const&\29 +2215:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::fixedFunctionFlags\28\29\20const +2216:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +2217:skgpu::ganesh::SurfaceFillContext::SurfaceFillContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +2218:skgpu::ganesh::SurfaceDrawContext::drawShape\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\29 +2219:skgpu::ganesh::SurfaceDrawContext::drawPaint\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\29 +2220:skgpu::ganesh::SurfaceDrawContext::MakeWithFallback\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +2221:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29 +2222:skgpu::ganesh::SurfaceContext::PixelTransferResult::operator=\28skgpu::ganesh::SurfaceContext::PixelTransferResult&&\29 +2223:skgpu::ganesh::SmallPathAtlasMgr::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +2224:skgpu::ganesh::OpsTask::~OpsTask\28\29 +2225:skgpu::ganesh::OpsTask::setColorLoadOp\28GrLoadOp\2c\20std::__2::array\29 +2226:skgpu::ganesh::OpsTask::deleteOps\28\29 +2227:skgpu::ganesh::FillRectOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +2228:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29::$_0::operator\28\29\28int\29\20const +2229:skgpu::ganesh::ClipStack::~ClipStack\28\29 +2230:skgpu::TClientMappedBufferManager::~TClientMappedBufferManager\28\29 +2231:skgpu::Swizzle::apply\28SkRasterPipeline*\29\20const +2232:skgpu::Plot::addSubImage\28int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +2233:skgpu::GetLCDBlendFormula\28SkBlendMode\29 +2234:skcms_TransferFunction_isHLGish +2235:skcms_Matrix3x3_concat +2236:sk_srgb_linear_singleton\28\29 +2237:shr +2238:shl +2239:setRegionCheck\28SkRegion*\2c\20SkRegion\20const&\29 +2240:res_findResource_74 +2241:read_header\28SkStream*\2c\20SkPngChunkReader*\2c\20SkCodec**\2c\20png_struct_def**\2c\20png_info_def**\29 +2242:ps_dimension_set_mask_bits +2243:operator==\28SkPath\20const&\2c\20SkPath\20const&\29 +2244:mbrtowc +2245:jround_up +2246:jpeg_make_d_derived_tbl +2247:init\28\29 +2248:ilogbf +2249:icu_74::locale_set_default_internal\28char\20const*\2c\20UErrorCode&\29 +2250:icu_74::compute\28int\2c\20icu_74::ReadArray2D\20const&\2c\20icu_74::ReadArray2D\20const&\2c\20icu_74::ReadArray1D\20const&\2c\20icu_74::ReadArray1D\20const&\2c\20icu_74::Array1D&\2c\20icu_74::Array1D&\2c\20icu_74::Array1D&\29 +2251:icu_74::UnicodeString::getChar32Start\28int\29\20const +2252:icu_74::UnicodeString::fromUTF8\28icu_74::StringPiece\29 +2253:icu_74::UnicodeString::extract\28int\2c\20int\2c\20char*\2c\20int\2c\20icu_74::UnicodeString::EInvariant\29\20const +2254:icu_74::UnicodeString::doReplace\28int\2c\20int\2c\20icu_74::UnicodeString\20const&\2c\20int\2c\20int\29 +2255:icu_74::UnicodeString::copyFrom\28icu_74::UnicodeString\20const&\2c\20signed\20char\29 +2256:icu_74::UnicodeSet::setToBogus\28\29 +2257:icu_74::UnicodeSet::freeze\28\29 +2258:icu_74::UnicodeSet::copyFrom\28icu_74::UnicodeSet\20const&\2c\20signed\20char\29 +2259:icu_74::UnicodeSet::add\28int\20const*\2c\20int\2c\20signed\20char\29 +2260:icu_74::UnicodeSet::_toPattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +2261:icu_74::UnicodeSet::UnicodeSet\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +2262:icu_74::UVector::removeElementAt\28int\29 +2263:icu_74::UDataPathIterator::next\28UErrorCode*\29 +2264:icu_74::StringTrieBuilder::writeNode\28int\2c\20int\2c\20int\29 +2265:icu_74::StringEnumeration::StringEnumeration\28\29 +2266:icu_74::SimpleFilteredSentenceBreakIterator::breakExceptionAt\28int\29 +2267:icu_74::RuleBasedBreakIterator::DictionaryCache::reset\28\29 +2268:icu_74::RuleBasedBreakIterator::BreakCache::reset\28int\2c\20int\29 +2269:icu_74::RuleBasedBreakIterator::BreakCache::populateNear\28int\2c\20UErrorCode&\29 +2270:icu_74::RuleBasedBreakIterator::BreakCache::populateFollowing\28\29 +2271:icu_74::ResourceDataValue::getBinary\28int&\2c\20UErrorCode&\29\20const +2272:icu_74::ResourceDataValue::getArray\28UErrorCode&\29\20const +2273:icu_74::ResourceArray::getValue\28int\2c\20icu_74::ResourceValue&\29\20const +2274:icu_74::ReorderingBuffer::init\28int\2c\20UErrorCode&\29 +2275:icu_74::Normalizer2Impl::makeFCD\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer*\2c\20UErrorCode&\29\20const +2276:icu_74::Normalizer2Impl::hasCompBoundaryBefore\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\29\20const +2277:icu_74::Normalizer2Impl::decomposeShort\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::Normalizer2Impl::StopAt\2c\20signed\20char\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +2278:icu_74::Normalizer2Impl::addPropertyStarts\28USetAdder\20const*\2c\20UErrorCode&\29\20const +2279:icu_74::ICU_Utility::skipWhitespace\28icu_74::UnicodeString\20const&\2c\20int&\2c\20signed\20char\29 +2280:icu_74::CheckedArrayByteSink::CheckedArrayByteSink\28char*\2c\20int\29 +2281:hb_ucd_get_unicode_funcs +2282:hb_syllabic_insert_dotted_circles\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +2283:hb_shape_full +2284:hb_serialize_context_t::~hb_serialize_context_t\28\29 +2285:hb_serialize_context_t::resolve_links\28\29 +2286:hb_serialize_context_t::reset\28\29 +2287:hb_lazy_loader_t\2c\20hb_face_t\2c\2016u\2c\20OT::cff1_accelerator_t>::get\28\29\20const +2288:hb_lazy_loader_t\2c\20hb_face_t\2c\2034u\2c\20hb_blob_t>::get\28\29\20const +2289:hb_language_from_string +2290:hb_font_t::mults_changed\28\29 +2291:hb_font_destroy +2292:hb_buffer_t::next_glyph\28\29 +2293:get_sof +2294:ftell +2295:ft_var_readpackedpoints +2296:ft_mem_strdup +2297:float\20emscripten::internal::MemberAccess::getWire\28float\20StrokeOpts::*\20const&\2c\20StrokeOpts\20const&\29 +2298:fill_window +2299:exp +2300:encodeImage\28GrDirectContext*\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int\29 +2301:emscripten::val\20MakeTypedArray\28int\2c\20float\20const*\29 +2302:emscripten::internal::MethodInvoker::invoke\28float\20\28SkContourMeasure::*\20const&\29\28\29\20const\2c\20SkContourMeasure\20const*\29 +2303:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20unsigned\20long\29 +2304:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath\20const&\2c\20SkPath\20const&\29\2c\20SkPath*\2c\20SkPath*\29 +2305:dquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2306:do_clip_op\28SkReadBuffer*\2c\20SkCanvas*\2c\20SkRegion::Op\2c\20SkClipOp*\29 +2307:do_anti_hairline\28int\2c\20int\2c\20int\2c\20int\2c\20SkIRect\20const*\2c\20SkBlitter*\29 +2308:doWriteReverse\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +2309:doWriteForward\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +2310:dline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2311:dispose_chunk +2312:direct_blur_y\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2313:decltype\28fp\28\28SkRecords::NoOp\29\28\29\29\29\20SkRecord::Record::visit\28SkRecords::Draw&\29\20const +2314:dcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2315:dconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2316:crop_rect_edge\28SkRect\20const&\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float*\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +2317:createPath\28char\20const*\2c\20int\2c\20char\20const*\2c\20int\2c\20char\20const*\2c\20icu_74::CharString&\2c\20UErrorCode*\29 +2318:char*\20std::__2::__rewrap_iter\5babi:v160004\5d>\28char*\2c\20char*\29 +2319:cff_slot_load +2320:cff_parse_real +2321:cff_index_get_sid_string +2322:cff_index_access_element +2323:cf2_doStems +2324:cf2_doFlex +2325:byn$mgfn-shared$tt_cmap8_get_info +2326:byn$mgfn-shared$tt_cmap0_get_info +2327:byn$mgfn-shared$skia_png_set_strip_16 +2328:byn$mgfn-shared$isBidiControl\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +2329:byn$mgfn-shared$SkSL::Tracer::line\28int\29 +2330:byn$mgfn-shared$AlmostBequalUlps\28float\2c\20float\29 +2331:buffer_verify_error\28hb_buffer_t*\2c\20hb_font_t*\2c\20char\20const*\2c\20...\29 +2332:blur_y_rect\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2333:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29::$_0::operator\28\29\28unsigned\20char*\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29\20const +2334:af_sort_and_quantize_widths +2335:af_glyph_hints_align_weak_points +2336:af_glyph_hints_align_strong_points +2337:af_face_globals_new +2338:af_cjk_compute_stem_width +2339:add_huff_table +2340:addPoint\28UBiDi*\2c\20int\2c\20int\29 +2341:_addExtensionToList\28ExtensionListEntry**\2c\20ExtensionListEntry*\2c\20signed\20char\29 +2342:__uselocale +2343:__math_xflow +2344:__cxxabiv1::__base_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +2345:\28anonymous\20namespace\29::make_vertices_spec\28bool\2c\20bool\29 +2346:\28anonymous\20namespace\29::gather_lines_and_quads\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\29::$_1::operator\28\29\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20bool\29\20const +2347:\28anonymous\20namespace\29::draw_stencil_rect\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrHardClip\20const&\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2348:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2349:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2350:\28anonymous\20namespace\29::CacheImpl::removeInternal\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +2351:WebPRescalerExport +2352:WebPInitAlphaProcessing +2353:WebPFreeDecBuffer +2354:WebPDemuxDelete +2355:VP8SetError +2356:VP8LInverseTransform +2357:VP8LDelete +2358:VP8LColorCacheClear +2359:UDataMemory_init_74 +2360:TT_Load_Context +2361:StringBuffer\20apply_format_string<1024>\28char\20const*\2c\20void*\2c\20char\20\28&\29\20\5b1024\5d\2c\20SkString*\29 +2362:SkYUVAPixmaps::operator=\28SkYUVAPixmaps\20const&\29 +2363:SkYUVAPixmapInfo::SupportedDataTypes::enableDataType\28SkYUVAPixmapInfo::DataType\2c\20int\29 +2364:SkWriter32::writeMatrix\28SkMatrix\20const&\29 +2365:SkWriter32::snapshotAsData\28\29\20const +2366:SkVertices::uniqueID\28\29\20const +2367:SkVertices::approximateSize\28\29\20const +2368:SkUnicode::convertUtf8ToUtf16\28char\20const*\2c\20int\29 +2369:SkUTF::UTF16ToUTF8\28char*\2c\20int\2c\20unsigned\20short\20const*\2c\20unsigned\20long\29 +2370:SkTypefaceCache::NewTypefaceID\28\29 +2371:SkTextBlobRunIterator::next\28\29 +2372:SkTextBlobRunIterator::SkTextBlobRunIterator\28SkTextBlob\20const*\29 +2373:SkTextBlobBuilder::SkTextBlobBuilder\28\29 +2374:SkTextBlobBuilder::ConservativeRunBounds\28SkTextBlob::RunRecord\20const&\29 +2375:SkTSpan::closestBoundedT\28SkDPoint\20const&\29\20const +2376:SkTSect::updateBounded\28SkTSpan*\2c\20SkTSpan*\2c\20SkTSpan*\29 +2377:SkTSect::trim\28SkTSpan*\2c\20SkTSect*\29 +2378:SkTDStorage::erase\28int\2c\20int\29 +2379:SkTDPQueue::percolateUpIfNecessary\28int\29 +2380:SkSurfaceProps::SkSurfaceProps\28unsigned\20int\2c\20SkPixelGeometry\2c\20float\2c\20float\29 +2381:SkStrokerPriv::JoinFactory\28SkPaint::Join\29 +2382:SkStrokeRec::setStrokeStyle\28float\2c\20bool\29 +2383:SkStrokeRec::setFillStyle\28\29 +2384:SkStrokeRec::applyToPath\28SkPath*\2c\20SkPath\20const&\29\20const +2385:SkString::set\28char\20const*\29 +2386:SkStrikeSpec::findOrCreateStrike\28\29\20const +2387:SkStrikeSpec::MakeWithNoDevice\28SkFont\20const&\2c\20SkPaint\20const*\29 +2388:SkStrike::unlock\28\29 +2389:SkStrike::lock\28\29 +2390:SkSharedMutex::SkSharedMutex\28\29 +2391:SkShadowTessellator::MakeSpot\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20bool\2c\20bool\29 +2392:SkShaders::Empty\28\29 +2393:SkShaders::Color\28unsigned\20int\29 +2394:SkShaderBase::appendRootStages\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +2395:SkScalerContext::~SkScalerContext\28\29.1 +2396:SkSL::write_stringstream\28SkSL::StringStream\20const&\2c\20SkSL::OutputStream&\29 +2397:SkSL::evaluate_3_way_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +2398:SkSL::VarDeclaration::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\2c\20std::__2::unique_ptr>\29 +2399:SkSL::Type::priority\28\29\20const +2400:SkSL::Type::checkIfUsableInArray\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +2401:SkSL::SymbolTable::takeOwnershipOfString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +2402:SkSL::SymbolTable::isBuiltinType\28std::__2::basic_string_view>\29\20const +2403:SkSL::RP::SlotManager::mapVariableToSlots\28SkSL::Variable\20const&\2c\20SkSL::RP::SlotRange\29 +2404:SkSL::RP::Program::appendStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkSL::RP::Callbacks*\2c\20SkSpan\29\20const +2405:SkSL::RP::Generator::pushVectorizedExpression\28SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +2406:SkSL::RP::Builder::ternary_op\28SkSL::RP::BuilderOp\2c\20int\29 +2407:SkSL::RP::Builder::simplifyPopSlotsUnmasked\28SkSL::RP::SlotRange*\29 +2408:SkSL::RP::Builder::pop_slots_unmasked\28SkSL::RP::SlotRange\29 +2409:SkSL::RP::Builder::exchange_src\28\29 +2410:SkSL::ProgramUsage::remove\28SkSL::ProgramElement\20const&\29 +2411:SkSL::ProgramUsage::isDead\28SkSL::Variable\20const&\29\20const +2412:SkSL::Pool::~Pool\28\29 +2413:SkSL::PipelineStage::PipelineStageCodeGenerator::typeName\28SkSL::Type\20const&\29 +2414:SkSL::LiteralType::priority\28\29\20const +2415:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sub\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +2416:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_dot\28std::__2::array\20const&\29 +2417:SkSL::GLSLCodeGenerator::writeAnyConstructor\28SkSL::AnyConstructor\20const&\2c\20SkSL::OperatorPrecedence\29 +2418:SkSL::ExpressionArray::clone\28\29\20const +2419:SkSL::Compiler::errorText\28bool\29 +2420:SkSL::Block::Make\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2421:SkSL::Block::MakeBlock\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2422:SkSL::Analysis::DetectVarDeclarationWithoutScope\28SkSL::Statement\20const&\2c\20SkSL::ErrorReporter*\29 +2423:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpace\20const*\29 +2424:SkRuntimeEffect::getRPProgram\28SkSL::DebugTracePriv*\29\20const +2425:SkRegion::getBoundaryPath\28SkPath*\29\20const +2426:SkRegion::Spanerator::next\28int*\2c\20int*\29 +2427:SkRegion::SkRegion\28SkRegion\20const&\29 +2428:SkReduceOrder::Quad\28SkPoint\20const*\2c\20SkPoint*\29 +2429:SkReadBuffer::skipByteArray\28unsigned\20long*\29 +2430:SkReadBuffer::readSampling\28\29 +2431:SkReadBuffer::readRRect\28SkRRect*\29 +2432:SkReadBuffer::checkInt\28int\2c\20int\29 +2433:SkRasterPipeline::appendMatrix\28SkArenaAlloc*\2c\20SkMatrix\20const&\29 +2434:SkQuads::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +2435:SkQuadraticEdge::updateQuadratic\28\29 +2436:SkPngCodec::~SkPngCodec\28\29.1 +2437:SkPngCodec::processData\28\29 +2438:SkPixmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2439:SkPictureRecord::~SkPictureRecord\28\29 +2440:SkPicture::~SkPicture\28\29.1 +2441:SkPathStroker::quadStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2442:SkPathStroker::preJoinTo\28SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\2c\20bool\29 +2443:SkPathStroker::intersectRay\28SkQuadConstruct*\2c\20SkPathStroker::IntersectRayType\29\20const +2444:SkPathStroker::cubicStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2445:SkPathStroker::conicStroke\28SkConic\20const&\2c\20SkQuadConstruct*\29 +2446:SkPathMeasure::isClosed\28\29 +2447:SkPathEffectBase::getFlattenableType\28\29\20const +2448:SkPathBuilder::moveTo\28SkPoint\29 +2449:SkPathBuilder::incReserve\28int\2c\20int\29 +2450:SkPathBuilder::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2451:SkPath::isLastContourClosed\28\29\20const +2452:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2453:SkPaintToGrPaintReplaceShader\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2454:SkPaint::setStrokeMiter\28float\29 +2455:SkPaint::setStrokeJoin\28SkPaint::Join\29 +2456:SkOpSpanBase::mergeMatches\28SkOpSpanBase*\29 +2457:SkOpSpanBase::addOpp\28SkOpSpanBase*\29 +2458:SkOpSegment::subDivide\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkDCurve*\29\20const +2459:SkOpSegment::release\28SkOpSpan\20const*\29 +2460:SkOpSegment::operand\28\29\20const +2461:SkOpSegment::moveNearby\28\29 +2462:SkOpSegment::markDone\28SkOpSpan*\29 +2463:SkOpSegment::markAndChaseDone\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpSpanBase**\29 +2464:SkOpSegment::isClose\28double\2c\20SkOpSegment\20const*\29\20const +2465:SkOpSegment::init\28SkPoint*\2c\20float\2c\20SkOpContour*\2c\20SkPath::Verb\29 +2466:SkOpSegment::addT\28double\2c\20SkPoint\20const&\29 +2467:SkOpCoincidence::fixUp\28SkOpPtT*\2c\20SkOpPtT\20const*\29 +2468:SkOpCoincidence::add\28SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\29 +2469:SkOpCoincidence::addMissing\28bool*\29 +2470:SkOpCoincidence::addIfMissing\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20double\2c\20double\2c\20SkOpSegment*\2c\20SkOpSegment*\2c\20bool*\29 +2471:SkOpCoincidence::addExpanded\28\29 +2472:SkOpAngle::set\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +2473:SkOpAngle::lineOnOneSide\28SkDPoint\20const&\2c\20SkDVector\20const&\2c\20SkOpAngle\20const*\2c\20bool\29\20const +2474:SkNoPixelsDevice::ClipState::op\28SkClipOp\2c\20SkM44\20const&\2c\20SkRect\20const&\2c\20bool\2c\20bool\29 +2475:SkMatrix\20skif::Mapping::map\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +2476:SkMatrixPriv::DifferentialAreaScale\28SkMatrix\20const&\2c\20SkPoint\20const&\29 +2477:SkMatrix::writeToMemory\28void*\29\20const +2478:SkMatrix::preservesRightAngles\28float\29\20const +2479:SkM44::normalizePerspective\28\29 +2480:SkLatticeIter::~SkLatticeIter\28\29 +2481:SkLatticeIter::next\28SkIRect*\2c\20SkRect*\2c\20bool*\2c\20unsigned\20int*\29 +2482:SkImages::RasterFromBitmap\28SkBitmap\20const&\29 +2483:SkImage_Lazy::Validator::Validator\28sk_sp\2c\20SkColorType\20const*\2c\20sk_sp\29 +2484:SkImageShader::MakeSubset\28sk_sp\2c\20SkRect\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +2485:SkImageFilters::Image\28sk_sp\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\29 +2486:SkImageFilters::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +2487:SkImage::readPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +2488:SkHalfToFloat\28unsigned\20short\29 +2489:SkGradientShader::MakeSweep\28float\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2490:SkGradientShader::MakeRadial\28SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2491:SkGradientBaseShader::commonAsAGradient\28SkShaderBase::GradientInfo*\29\20const +2492:SkGradientBaseShader::ValidGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2493:SkGradientBaseShader::SkGradientBaseShader\28SkGradientBaseShader::Descriptor\20const&\2c\20SkMatrix\20const&\29 +2494:SkGradientBaseShader::MakeDegenerateGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20float\20const*\2c\20int\2c\20sk_sp\2c\20SkTileMode\29 +2495:SkGradientBaseShader::Descriptor::~Descriptor\28\29 +2496:SkGradientBaseShader::Descriptor::Descriptor\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2497:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkPath\20const*\2c\20bool\29 +2498:SkFontMgr::matchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +2499:SkFont::setSize\28float\29 +2500:SkEvalQuadAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +2501:SkEncodedInfo::~SkEncodedInfo\28\29 +2502:SkEmptyFontMgr::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +2503:SkDrawableList::~SkDrawableList\28\29 +2504:SkDrawable::draw\28SkCanvas*\2c\20SkMatrix\20const*\29 +2505:SkData::PrivateNewWithCopy\28void\20const*\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +2506:SkDashPathEffect::Make\28float\20const*\2c\20int\2c\20float\29 +2507:SkDQuad::monotonicInX\28\29\20const +2508:SkDCubic::dxdyAtT\28double\29\20const +2509:SkDCubic::RootsValidT\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +2510:SkCubicEdge::updateCubic\28\29 +2511:SkConicalGradient::~SkConicalGradient\28\29 +2512:SkColorSpace::serialize\28\29\20const +2513:SkColorSpace::MakeSRGBLinear\28\29 +2514:SkColorFilterPriv::MakeGaussian\28\29 +2515:SkColorConverter::SkColorConverter\28unsigned\20int\20const*\2c\20int\29 +2516:SkCodec::startScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const*\29 +2517:SkCodec::handleFrameIndex\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20std::__2::function\29 +2518:SkCodec::getScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +2519:SkChopQuadAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2520:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\20const*\2c\20int\29 +2521:SkChopCubicAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2522:SkCharToGlyphCache::SkCharToGlyphCache\28\29 +2523:SkCanvas::getTotalMatrix\28\29\20const +2524:SkCanvas::getLocalToDevice\28\29\20const +2525:SkCanvas::getLocalClipBounds\28\29\20const +2526:SkCanvas::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +2527:SkCanvas::drawAtlas\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +2528:SkCanvas::concat\28SkM44\20const&\29 +2529:SkCanvas::SkCanvas\28SkBitmap\20const&\29 +2530:SkCanvas::ImageSetEntry::ImageSetEntry\28SkCanvas::ImageSetEntry\20const&\29 +2531:SkBmpCodec::ReadHeader\28SkStream*\2c\20bool\2c\20std::__2::unique_ptr>*\29 +2532:SkBlurMaskFilterImpl::computeXformedSigma\28SkMatrix\20const&\29\20const +2533:SkBlitter::blitRectRegion\28SkIRect\20const&\2c\20SkRegion\20const&\29 +2534:SkBlendMode_ShouldPreScaleCoverage\28SkBlendMode\2c\20bool\29 +2535:SkBlendMode_AppendStages\28SkBlendMode\2c\20SkRasterPipeline*\29 +2536:SkBitmap::tryAllocPixels\28SkBitmap::Allocator*\29 +2537:SkBitmap::readPixels\28SkPixmap\20const&\2c\20int\2c\20int\29\20const +2538:SkBitmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2539:SkBitmap::installPixels\28SkPixmap\20const&\29 +2540:SkBitmap::allocPixels\28SkImageInfo\20const&\29 +2541:SkBaseShadowTessellator::handleQuad\28SkPoint\20const*\29 +2542:SkAutoDescriptor::~SkAutoDescriptor\28\29 +2543:SkAnimatedImage::getFrameCount\28\29\20const +2544:SkAAClip::~SkAAClip\28\29 +2545:SkAAClip::setPath\28SkPath\20const&\2c\20SkIRect\20const&\2c\20bool\29 +2546:SkAAClip::op\28SkAAClip\20const&\2c\20SkClipOp\29 +2547:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GSUB_impl::SubstLookup\20const&\29 +2548:OT::hb_ot_apply_context_t::replace_glyph\28unsigned\20int\29 +2549:OT::apply_lookup\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20OT::LookupRecord\20const*\2c\20unsigned\20int\29 +2550:OT::Layout::GPOS_impl::ValueFormat::get_device\28OT::IntType\20const*\2c\20bool*\2c\20void\20const*\2c\20hb_sanitize_context_t&\29 +2551:OT::Layout::GPOS_impl::AnchorFormat3::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2552:OT::Layout::GPOS_impl::AnchorFormat2::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2553:OT::ClassDef::get_class\28unsigned\20int\29\20const +2554:JpegDecoderMgr::~JpegDecoderMgr\28\29 +2555:GrTriangulator::simplify\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +2556:GrTriangulator::setTop\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2557:GrTriangulator::mergeCoincidentVertices\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29\20const +2558:GrTriangulator::Vertex*\20SkArenaAlloc::make\28SkPoint&\2c\20int&&\29 +2559:GrThreadSafeCache::remove\28skgpu::UniqueKey\20const&\29 +2560:GrThreadSafeCache::internalFind\28skgpu::UniqueKey\20const&\29 +2561:GrThreadSafeCache::internalAdd\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2562:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29 +2563:GrTexture::markMipmapsClean\28\29 +2564:GrTessellationShader::MakePipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedClip&&\2c\20GrProcessorSet&&\29 +2565:GrSurfaceProxyView::concatSwizzle\28skgpu::Swizzle\29 +2566:GrSurfaceProxy::LazyCallbackResult::LazyCallbackResult\28sk_sp\29 +2567:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20GrSurfaceProxy::RectsMustMatch\2c\20sk_sp*\29 +2568:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +2569:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +2570:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrPipeline\20const*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrUserStencilSettings\20const*\29 +2571:GrShape::simplifyLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\29 +2572:GrShape::reset\28\29 +2573:GrShape::conservativeContains\28SkPoint\20const&\29\20const +2574:GrSWMaskHelper::init\28SkIRect\20const&\29 +2575:GrResourceProvider::createNonAAQuadIndexBuffer\28\29 +2576:GrResourceProvider::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\2c\20GrResourceProvider::ZeroInit\29 +2577:GrResourceCache::refAndMakeResourceMRU\28GrGpuResource*\29 +2578:GrResourceCache::findAndRefUniqueResource\28skgpu::UniqueKey\20const&\29 +2579:GrRenderTask::addTarget\28GrDrawingManager*\2c\20sk_sp\29 +2580:GrRenderTarget::~GrRenderTarget\28\29.1 +2581:GrRecordingContextPriv::createDevice\28skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\2c\20skgpu::ganesh::Device::InitContents\29 +2582:GrQuadUtils::WillUseHairline\28GrQuad\20const&\2c\20GrAAType\2c\20GrQuadAAFlags\29 +2583:GrQuadUtils::CropToRect\28SkRect\20const&\2c\20GrAA\2c\20DrawQuad*\2c\20bool\29 +2584:GrProxyProvider::processInvalidUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\29 +2585:GrPorterDuffXPFactory::Get\28SkBlendMode\29 +2586:GrPixmap::operator=\28GrPixmap&&\29 +2587:GrPathUtils::scaleToleranceToSrc\28float\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +2588:GrPathUtils::quadraticPointCount\28SkPoint\20const*\2c\20float\29 +2589:GrPathUtils::cubicPointCount\28SkPoint\20const*\2c\20float\29 +2590:GrPaint::setPorterDuffXPFactory\28SkBlendMode\29 +2591:GrPaint::GrPaint\28GrPaint\20const&\29 +2592:GrOpsRenderPass::draw\28int\2c\20int\29 +2593:GrOpsRenderPass::drawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +2594:GrMeshDrawOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +2595:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29 +2596:GrGradientShader::MakeGradientFP\28SkGradientBaseShader\20const&\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\2c\20std::__2::unique_ptr>\2c\20SkMatrix\20const*\29 +2597:GrGpuResource::getContext\28\29 +2598:GrGpu::writePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +2599:GrGLTexture::onSetLabel\28\29 +2600:GrGLTexture::onRelease\28\29 +2601:GrGLTexture::onAbandon\28\29 +2602:GrGLTexture::backendFormat\28\29\20const +2603:GrGLSLUniformHandler::addInputSampler\28skgpu::Swizzle\20const&\2c\20char\20const*\29 +2604:GrGLSLShaderBuilder::appendFunctionDecl\28SkSLType\2c\20char\20const*\2c\20SkSpan\29 +2605:GrGLSLProgramBuilder::fragmentProcessorHasCoordsParam\28GrFragmentProcessor\20const*\29\20const +2606:GrGLRenderTarget::onRelease\28\29 +2607:GrGLRenderTarget::onAbandon\28\29 +2608:GrGLGpu::resolveRenderFBOs\28GrGLRenderTarget*\2c\20SkIRect\20const&\2c\20GrGLRenderTarget::ResolveDirection\2c\20bool\29 +2609:GrGLGpu::flushBlendAndColorWrite\28skgpu::BlendInfo\20const&\2c\20skgpu::Swizzle\20const&\29 +2610:GrGLGetVersionFromString\28char\20const*\29 +2611:GrGLCheckLinkStatus\28GrGLGpu\20const*\2c\20unsigned\20int\2c\20bool\2c\20skgpu::ShaderErrorHandler*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const**\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +2612:GrGLCaps::maxRenderTargetSampleCount\28GrGLFormat\29\20const +2613:GrFragmentProcessors::Make\28SkBlenderBase\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20GrFPArgs\20const&\29 +2614:GrFragmentProcessor::isEqual\28GrFragmentProcessor\20const&\29\20const +2615:GrFragmentProcessor::asTextureEffect\28\29\20const +2616:GrFragmentProcessor::Rect\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRect\29 +2617:GrFragmentProcessor::ModulateRGBA\28std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +2618:GrDrawingManager::~GrDrawingManager\28\29 +2619:GrDrawingManager::removeRenderTasks\28\29 +2620:GrDrawingManager::getPathRenderer\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\2c\20bool\2c\20skgpu::ganesh::PathRendererChain::DrawType\2c\20skgpu::ganesh::PathRenderer::StencilSupport*\29 +2621:GrDrawOpAtlas::compact\28skgpu::AtlasToken\29 +2622:GrContext_Base::~GrContext_Base\28\29 +2623:GrContext_Base::defaultBackendFormat\28SkColorType\2c\20skgpu::Renderable\29\20const +2624:GrColorSpaceXform::XformKey\28GrColorSpaceXform\20const*\29 +2625:GrColorSpaceXform::Make\28SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +2626:GrColorSpaceXform::Make\28GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +2627:GrColorInfo::operator=\28GrColorInfo\20const&\29 +2628:GrCaps::supportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +2629:GrCaps::getFallbackColorTypeAndFormat\28GrColorType\2c\20int\29\20const +2630:GrCaps::areColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +2631:GrBufferAllocPool::~GrBufferAllocPool\28\29 +2632:GrBlurUtils::DrawShapeWithMaskFilter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\29 +2633:GrBaseContextPriv::getShaderErrorHandler\28\29\20const +2634:GrBackendTexture::GrBackendTexture\28GrBackendTexture\20const&\29 +2635:GrBackendRenderTarget::getBackendFormat\28\29\20const +2636:GrBackendFormat::operator==\28GrBackendFormat\20const&\29\20const +2637:GrAAConvexTessellator::createOuterRing\28GrAAConvexTessellator::Ring\20const&\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring*\29 +2638:GrAAConvexTessellator::createInsetRings\28GrAAConvexTessellator::Ring&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring**\29 +2639:FindSortableTop\28SkOpContourHead*\29 +2640:FT_Set_Charmap +2641:FT_Outline_Decompose +2642:FT_Open_Face +2643:FT_New_Size +2644:FT_Load_Sfnt_Table +2645:FT_GlyphLoader_Add +2646:FT_Get_Color_Glyph_Paint +2647:FT_Get_Color_Glyph_Layer +2648:FT_Get_Advance +2649:FT_Done_Library +2650:FT_CMap_New +2651:End +2652:DecodeImageData\28sk_sp\29 +2653:Current_Ratio +2654:Cr_z__tr_stored_block +2655:ClipParams_unpackRegionOp\28SkReadBuffer*\2c\20unsigned\20int\29 +2656:CircleOp::Circle&\20skia_private::TArray::emplace_back\28CircleOp::Circle&&\29 +2657:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +2658:AlmostEqualUlps_Pin\28float\2c\20float\29 +2659:wuffs_lzw__decoder__workbuf_len +2660:wuffs_gif__decoder__decode_image_config +2661:wuffs_gif__decoder__decode_frame_config +2662:winding_mono_quad\28SkPoint\20const*\2c\20float\2c\20float\2c\20int*\29 +2663:winding_mono_conic\28SkConic\20const&\2c\20float\2c\20float\2c\20int*\29 +2664:wcrtomb +2665:wchar_t\20const*\20std::__2::find\5babi:v160004\5d\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const&\29 +2666:void\20std::__2::__introsort\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2667:void\20std::__2::__introsort\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\2c\20std::__2::iterator_traits<\28anonymous\20namespace\29::Entry*>::difference_type\29 +2668:void\20std::__2::__introsort\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\2c\20std::__2::iterator_traits::difference_type\29 +2669:void\20std::__2::__introsort\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2670:void\20std::__2::__inplace_merge\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +2671:void\20sort_r_simple\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\2c\20void*\29\2c\20void*\29 +2672:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.3 +2673:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29 +2674:void\20SkTIntroSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29>\28int\2c\20double*\2c\20int\2c\20void\20SkTQSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29\20const&\29 +2675:void\20SkTIntroSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29>\28int\2c\20SkEdge*\2c\20int\2c\20void\20SkTQSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29\20const&\29 +2676:vfprintf +2677:valid_args\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20unsigned\20long*\29 +2678:utf8_back1SafeBody_74 +2679:ustrcase_internalToUpper_74 +2680:uscript_getShortName_74 +2681:uscript_getScript_74 +2682:uprv_strnicmp_74 +2683:uprv_strdup_74 +2684:uprv_sortArray_74 +2685:uprv_min_74 +2686:uprv_mapFile_74 +2687:uprv_compareASCIIPropertyNames_74 +2688:update_offset_to_base\28char\20const*\2c\20long\29 +2689:update_box +2690:unsigned\20long\20const&\20std::__2::min\5babi:v160004\5d\28unsigned\20long\20const&\2c\20unsigned\20long\20const&\29 +2691:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2692:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +2693:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2694:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2695:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2696:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +2697:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2698:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2699:umutablecptrie_get_74 +2700:ultag_isUnicodeLocaleAttributes_74 +2701:ultag_isPrivateuseValueSubtags_74 +2702:ulocimp_getKeywords_74 +2703:ulocimp_canonicalize_74 +2704:uloc_openKeywords_74 +2705:uhash_remove_74 +2706:uhash_hashChars_74 +2707:uhash_getiAndFound_74 +2708:uhash_compareChars_74 +2709:udata_getHashTable\28UErrorCode&\29 +2710:ucstrTextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +2711:u_strToUTF8_74 +2712:u_strToUTF8WithSub_74 +2713:u_strCompare_74 +2714:u_memmove_74 +2715:u_getUnicodeProperties_74 +2716:u_getDataDirectory_74 +2717:u_charMirror_74 +2718:tt_size_reset +2719:tt_sbit_decoder_load_metrics +2720:tt_face_get_location +2721:tt_face_find_bdf_prop +2722:tolower +2723:toTextStyle\28SimpleTextStyle\20const&\29 +2724:t1_cmap_unicode_done +2725:subdivide_cubic_to\28SkPath*\2c\20SkPoint\20const*\2c\20int\29 +2726:subdivide\28SkConic\20const&\2c\20SkPoint*\2c\20int\29 +2727:subQuickSort\28char*\2c\20int\2c\20int\2c\20int\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\2c\20void\20const*\29\2c\20void\20const*\2c\20void*\2c\20void*\29 +2728:strtox +2729:strtoull_l +2730:strcat +2731:std::logic_error::~logic_error\28\29.1 +2732:std::__2::vector>::__append\28unsigned\20long\29 +2733:std::__2::vector>::push_back\5babi:v160004\5d\28float&&\29 +2734:std::__2::vector>::__append\28unsigned\20long\29 +2735:std::__2::vector<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20std::__2::allocator<\28anonymous\20namespace\29::CacheImpl::Value*>>::__throw_length_error\5babi:v160004\5d\28\29\20const +2736:std::__2::vector>::reserve\28unsigned\20long\29 +2737:std::__2::vector\2c\20std::__2::allocator>>::push_back\5babi:v160004\5d\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +2738:std::__2::unique_ptr<\28anonymous\20namespace\29::SoftwarePathData\2c\20std::__2::default_delete<\28anonymous\20namespace\29::SoftwarePathData>>::reset\5babi:v160004\5d\28\28anonymous\20namespace\29::SoftwarePathData*\29 +2739:std::__2::time_put>>::~time_put\28\29.1 +2740:std::__2::pair\2c\20std::__2::allocator>>>::~pair\28\29 +2741:std::__2::pair\20std::__2::__copy_trivial::operator\28\29\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +2742:std::__2::locale::operator=\28std::__2::locale\20const&\29 +2743:std::__2::locale::locale\28\29 +2744:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\29 +2745:std::__2::ios_base::~ios_base\28\29 +2746:std::__2::ios_base::init\28void*\29 +2747:std::__2::ios_base::clear\28unsigned\20int\29 +2748:std::__2::fpos<__mbstate_t>::fpos\5babi:v160004\5d\28long\20long\29 +2749:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28SkAnimatedImage::Frame&\2c\20SkAnimatedImage::Frame&\29 +2750:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28SkSL::ProgramUsage*\29\20const +2751:std::__2::decay>::__call\28std::declval\20const&>\28\29\29\29>::type\20std::__2::__to_address\5babi:v160004\5d\2c\20void>\28std::__2::__wrap_iter\20const&\29 +2752:std::__2::chrono::duration>::duration\5babi:v160004\5d\28long\20long\20const&\2c\20std::__2::enable_if::value\20&&\20\28std::__2::integral_constant::value\20||\20!treat_as_floating_point::value\29\2c\20void>::type*\29 +2753:std::__2::char_traits::move\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +2754:std::__2::char_traits::assign\28char*\2c\20unsigned\20long\2c\20char\29 +2755:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.2 +2756:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29 +2757:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +2758:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28wchar_t\29 +2759:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +2760:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::allocator\20const&\29 +2761:std::__2::basic_string\2c\20std::__2::allocator>::__make_iterator\5babi:v160004\5d\28char*\29 +2762:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +2763:std::__2::basic_streambuf>::setp\5babi:v160004\5d\28char*\2c\20char*\29 +2764:std::__2::basic_streambuf>::basic_streambuf\28\29 +2765:std::__2::basic_ostream>::~basic_ostream\28\29.1 +2766:std::__2::basic_istream>::~basic_istream\28\29.1 +2767:std::__2::basic_istream>::sentry::sentry\28std::__2::basic_istream>&\2c\20bool\29 +2768:std::__2::basic_iostream>::~basic_iostream\28\29.2 +2769:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +2770:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +2771:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2772:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2773:std::__2::__throw_system_error\28int\2c\20char\20const*\29 +2774:std::__2::__throw_out_of_range\5babi:v160004\5d\28char\20const*\29 +2775:std::__2::__throw_length_error\5babi:v160004\5d\28char\20const*\29 +2776:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +2777:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20wchar_t*\2c\20wchar_t&\2c\20wchar_t&\29 +2778:std::__2::__num_get::__stage2_float_loop\28wchar_t\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20wchar_t*\29 +2779:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20char*\2c\20char&\2c\20char&\29 +2780:std::__2::__num_get::__stage2_float_loop\28char\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20char*\29 +2781:std::__2::__libcpp_wcrtomb_l\5babi:v160004\5d\28char*\2c\20wchar_t\2c\20__mbstate_t*\2c\20__locale_struct*\29 +2782:std::__2::__less::operator\28\29\5babi:v160004\5d\28unsigned\20int\20const&\2c\20unsigned\20long\20const&\29\20const +2783:std::__2::__itoa::__base_10_u32\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2784:std::__2::__itoa::__append6\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2785:std::__2::__itoa::__append4\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2786:std::__2::__call_once\28unsigned\20long\20volatile&\2c\20void*\2c\20void\20\28*\29\28void*\29\29 +2787:sktext::gpu::VertexFiller::flatten\28SkWriteBuffer&\29\20const +2788:sktext::gpu::VertexFiller::Make\28skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20SkRect\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::FillerType\29 +2789:sktext::gpu::SubRunContainer::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20SkRefCnt\20const*\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +2790:sktext::gpu::SubRunAllocator::SubRunAllocator\28int\29 +2791:sktext::gpu::GlyphVector::flatten\28SkWriteBuffer&\29\20const +2792:sktext::gpu::GlyphVector::Make\28sktext::SkStrikePromise&&\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\29 +2793:sktext::SkStrikePromise::flatten\28SkWriteBuffer&\29\20const +2794:sktext::GlyphRunBuilder::makeGlyphRunList\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20SkPoint\29 +2795:sktext::GlyphRun::GlyphRun\28SkFont\20const&\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\29 +2796:skpaint_to_grpaint_impl\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::optional>>\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2797:skip_literal_string +2798:skif::\28anonymous\20namespace\29::are_axes_nearly_integer_aligned\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29 +2799:skif::LayerSpace::relevantSubset\28skif::LayerSpace\2c\20SkTileMode\29\20const +2800:skif::FilterResult::applyColorFilter\28skif::Context\20const&\2c\20sk_sp\29\20const +2801:skif::FilterResult::Builder::outputBounds\28std::__2::optional>\29\20const +2802:skif::FilterResult::Builder::drawShader\28sk_sp\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +2803:skif::FilterResult::Builder::createInputShaders\28skif::LayerSpace\20const&\2c\20bool\29 +2804:skia_private::THashTable\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::resize\28int\29 +2805:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeSlot\28int\29 +2806:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2807:skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2808:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2809:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +2810:skia_private::THashTable::Traits>::resize\28int\29 +2811:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::find\28GrProgramDesc\20const&\29\20const +2812:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrThreadSafeCache::Entry*&&\29 +2813:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +2814:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +2815:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrTextureProxy*&&\29 +2816:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +2817:skia_private::THashTable::Traits>::uncheckedSet\28FT_Opaque_Paint_&&\29 +2818:skia_private::THashTable::Traits>::resize\28int\29 +2819:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::~THashMap\28\29 +2820:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::find\28std::__2::basic_string_view>\20const&\29\20const +2821:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::THashMap\28std::initializer_list>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>\29 +2822:skia_private::THashMap>\2c\20SkGoodHash>::set\28SkSL::Variable\20const*\2c\20std::__2::unique_ptr>\29 +2823:skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::set\28SkIcuBreakIteratorCache::Request\2c\20sk_sp\29 +2824:skia_private::TArray::resize_back\28int\29 +2825:skia_private::TArray::operator=\28skia_private::TArray&&\29 +2826:skia_private::TArray::push_back\28SkRasterPipeline_MemoryCtxInfo&&\29 +2827:skia_private::TArray::push_back_raw\28int\29 +2828:skia_private::TArray::resize_back\28int\29 +2829:skia_png_write_chunk +2830:skia_png_set_sBIT +2831:skia_png_set_read_fn +2832:skia_png_set_packing +2833:skia_png_set_bKGD +2834:skia_png_save_uint_32 +2835:skia_png_reciprocal2 +2836:skia_png_realloc_array +2837:skia_png_read_start_row +2838:skia_png_read_IDAT_data +2839:skia_png_handle_zTXt +2840:skia_png_handle_tRNS +2841:skia_png_handle_tIME +2842:skia_png_handle_tEXt +2843:skia_png_handle_sRGB +2844:skia_png_handle_sPLT +2845:skia_png_handle_sCAL +2846:skia_png_handle_sBIT +2847:skia_png_handle_pHYs +2848:skia_png_handle_pCAL +2849:skia_png_handle_oFFs +2850:skia_png_handle_iTXt +2851:skia_png_handle_iCCP +2852:skia_png_handle_hIST +2853:skia_png_handle_gAMA +2854:skia_png_handle_cHRM +2855:skia_png_handle_bKGD +2856:skia_png_handle_as_unknown +2857:skia_png_handle_PLTE +2858:skia_png_do_strip_channel +2859:skia_png_destroy_read_struct +2860:skia_png_destroy_info_struct +2861:skia_png_compress_IDAT +2862:skia_png_combine_row +2863:skia_png_colorspace_set_sRGB +2864:skia_png_check_fp_string +2865:skia_png_check_fp_number +2866:skia::textlayout::TypefaceFontStyleSet::createTypeface\28int\29 +2867:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::$_0::operator\28\29\28sk_sp\2c\20sk_sp\29\20const +2868:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const +2869:skia::textlayout::TextLine::getGlyphPositionAtCoordinate\28float\29 +2870:skia::textlayout::Run::isResolved\28\29\20const +2871:skia::textlayout::Run::copyTo\28SkTextBlobBuilder&\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +2872:skia::textlayout::ParagraphImpl::buildClusterTable\28\29 +2873:skia::textlayout::OneLineShaper::~OneLineShaper\28\29 +2874:skia::textlayout::FontCollection::setDefaultFontManager\28sk_sp\29 +2875:skia::textlayout::FontCollection::FontCollection\28\29 +2876:skia::textlayout::Cluster::isSoftBreak\28\29\20const +2877:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::flush\28GrMeshDrawTarget*\2c\20skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::FlushInfo*\29\20const +2878:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +2879:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::programInfo\28\29 +2880:skgpu::ganesh::SurfaceFillContext::discard\28\29 +2881:skgpu::ganesh::SurfaceDrawContext::internalStencilClear\28SkIRect\20const*\2c\20bool\29 +2882:skgpu::ganesh::SurfaceDrawContext::drawPath\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrStyle\20const&\29 +2883:skgpu::ganesh::SurfaceDrawContext::attemptQuadOptimization\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20DrawQuad*\2c\20GrPaint*\29 +2884:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +2885:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29::$_0::operator\28\29\28GrSurfaceProxyView\2c\20SkIRect\29\20const +2886:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +2887:skgpu::ganesh::QuadPerEdgeAA::MinColorType\28SkRGBA4f<\28SkAlphaType\292>\29 +2888:skgpu::ganesh::PathRendererChain::PathRendererChain\28GrRecordingContext*\2c\20skgpu::ganesh::PathRendererChain::Options\20const&\29 +2889:skgpu::ganesh::PathRenderer::getStencilSupport\28GrStyledShape\20const&\29\20const +2890:skgpu::ganesh::PathCurveTessellator::draw\28GrOpFlushState*\29\20const +2891:skgpu::ganesh::OpsTask::recordOp\28std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const*\2c\20GrCaps\20const&\29 +2892:skgpu::ganesh::FilterAndMipmapHaveNoEffect\28GrQuad\20const&\2c\20GrQuad\20const&\29 +2893:skgpu::ganesh::FillRectOp::MakeNonAARect\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +2894:skgpu::ganesh::FillRRectOp::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2895:skgpu::ganesh::Device::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +2896:skgpu::ganesh::Device::drawImageQuadDirect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +2897:skgpu::ganesh::Device::Make\28std::__2::unique_ptr>\2c\20SkAlphaType\2c\20skgpu::ganesh::Device::InitContents\29 +2898:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::setup_dashed_rect\28SkRect\20const&\2c\20skgpu::VertexWriter&\2c\20SkMatrix\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashCap\29 +2899:skgpu::ganesh::ClipStack::SaveRecord::invalidateMasks\28GrProxyProvider*\2c\20SkTBlockList*\29 +2900:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::SaveRecord\20const&\29\20const +2901:skgpu::ganesh::AtlasTextOp::operator\20new\28unsigned\20long\29 +2902:skgpu::ganesh::AtlasTextOp::Geometry::Make\28sktext::gpu::AtlasSubRun\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\2c\20sk_sp&&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\29 +2903:skgpu::ganesh::AtlasRenderTask::addAtlasDrawOp\28std::__2::unique_ptr>\2c\20GrCaps\20const&\29 +2904:skcms_Transform::$_2::operator\28\29\28skcms_Curve\20const*\2c\20int\29\20const +2905:skcms_TransferFunction_isPQish +2906:skcms_MaxRoundtripError +2907:sk_sp::~sk_sp\28\29 +2908:sk_free_releaseproc\28void\20const*\2c\20void*\29 +2909:siprintf +2910:sift +2911:shallowTextClone\28UText*\2c\20UText\20const*\2c\20UErrorCode*\29 +2912:rotate\28SkDCubic\20const&\2c\20int\2c\20int\2c\20SkDCubic&\29 +2913:res_getResource_74 +2914:read_metadata\28std::__2::vector>\20const&\2c\20unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +2915:read_header\28SkStream*\2c\20SkISize*\29 +2916:quad_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2917:qsort +2918:psh_globals_set_scale +2919:ps_parser_skip_PS_token +2920:ps_builder_done +2921:png_text_compress +2922:png_inflate_read +2923:png_inflate_claim +2924:png_image_size +2925:png_colorspace_endpoints_match +2926:png_build_16bit_table +2927:normalize +2928:next_marker +2929:morphpoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\2c\20SkPathMeasure&\2c\20float\29 +2930:make_unpremul_effect\28std::__2::unique_ptr>\29 +2931:long\20std::__2::__libcpp_atomic_refcount_decrement\5babi:v160004\5d\28long&\29 +2932:long\20const&\20std::__2::min\5babi:v160004\5d\28long\20const&\2c\20long\20const&\29 +2933:log1p +2934:locale_getKeywordsStart_74 +2935:load_truetype_glyph +2936:loadParentsExceptRoot\28UResourceDataEntry*&\2c\20char*\2c\20int\2c\20signed\20char\2c\20char*\2c\20UErrorCode*\29 +2937:line_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2938:lang_find_or_insert\28char\20const*\29 +2939:jpeg_calc_output_dimensions +2940:inner_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +2941:inflate_table +2942:increment_simple_rowgroup_ctr +2943:icu_74::spanOneUTF8\28icu_74::UnicodeSet\20const&\2c\20unsigned\20char\20const*\2c\20int\29 +2944:icu_74::enumGroupNames\28icu_74::UCharNames*\2c\20unsigned\20short\20const*\2c\20int\2c\20int\2c\20signed\20char\20\28*\29\28void*\2c\20int\2c\20UCharNameChoice\2c\20char\20const*\2c\20int\29\2c\20void*\2c\20UCharNameChoice\29 +2945:icu_74::\28anonymous\20namespace\29::appendResult\28char16_t*\2c\20int\2c\20int\2c\20int\2c\20char16_t\20const*\2c\20int\2c\20unsigned\20int\2c\20icu_74::Edits*\29 +2946:icu_74::\28anonymous\20namespace\29::AliasReplacer::replace\28icu_74::Locale\20const&\2c\20icu_74::CharString&\2c\20UErrorCode&\29::$_0::__invoke\28UElement\2c\20UElement\29 +2947:icu_74::XLikelySubtagsData::readStrings\28icu_74::ResourceTable\20const&\2c\20char\20const*\2c\20icu_74::ResourceValue&\2c\20icu_74::LocalMemory&\2c\20int&\2c\20UErrorCode&\29 +2948:icu_74::UniqueCharStrings::addByValue\28icu_74::UnicodeString\2c\20UErrorCode&\29 +2949:icu_74::UnicodeString::getTerminatedBuffer\28\29 +2950:icu_74::UnicodeString::doCompare\28int\2c\20int\2c\20char16_t\20const*\2c\20int\2c\20int\29\20const +2951:icu_74::UnicodeString::UnicodeString\28char16_t\20const*\2c\20int\29 +2952:icu_74::UnicodeSet::retainAll\28icu_74::UnicodeSet\20const&\29 +2953:icu_74::UnicodeSet::remove\28int\2c\20int\29 +2954:icu_74::UnicodeSet::exclusiveOr\28int\20const*\2c\20int\2c\20signed\20char\29 +2955:icu_74::UnicodeSet::ensureBufferCapacity\28int\29 +2956:icu_74::UnicodeSet::applyIntPropertyValue\28UProperty\2c\20int\2c\20UErrorCode&\29 +2957:icu_74::UnicodeSet::applyFilter\28signed\20char\20\28*\29\28int\2c\20void*\29\2c\20void*\2c\20icu_74::UnicodeSet\20const*\2c\20UErrorCode&\29 +2958:icu_74::UnicodeSet::UnicodeSet\28icu_74::UnicodeSet\20const&\29 +2959:icu_74::UVector::sort\28int\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +2960:icu_74::UVector::removeElement\28void*\29 +2961:icu_74::UVector::insertElementAt\28void*\2c\20int\2c\20UErrorCode&\29 +2962:icu_74::UStack::UStack\28void\20\28*\29\28void*\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +2963:icu_74::UCharsTrieBuilder::add\28icu_74::UnicodeString\20const&\2c\20int\2c\20UErrorCode&\29 +2964:icu_74::StringTrieBuilder::~StringTrieBuilder\28\29 +2965:icu_74::StringPiece::compare\28icu_74::StringPiece\29 +2966:icu_74::SimpleFilteredSentenceBreakIterator::internalNext\28int\29 +2967:icu_74::RuleCharacterIterator::atEnd\28\29\20const +2968:icu_74::ResourceDataValue::getTable\28UErrorCode&\29\20const +2969:icu_74::ResourceDataValue::getString\28int&\2c\20UErrorCode&\29\20const +2970:icu_74::ReorderingBuffer::append\28char16_t\20const*\2c\20int\2c\20signed\20char\2c\20unsigned\20char\2c\20unsigned\20char\2c\20UErrorCode&\29 +2971:icu_74::PatternProps::isWhiteSpace\28int\29 +2972:icu_74::Normalizer2Impl::~Normalizer2Impl\28\29 +2973:icu_74::Normalizer2Impl::decompose\28int\2c\20unsigned\20short\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +2974:icu_74::Normalizer2Impl::decompose\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer*\2c\20UErrorCode&\29\20const +2975:icu_74::Normalizer2Impl::decomposeShort\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20signed\20char\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +2976:icu_74::Norm2AllModes::~Norm2AllModes\28\29 +2977:icu_74::Norm2AllModes::createInstance\28icu_74::Normalizer2Impl*\2c\20UErrorCode&\29 +2978:icu_74::LocaleUtility::initNameFromLocale\28icu_74::Locale\20const&\2c\20icu_74::UnicodeString&\29 +2979:icu_74::LocaleBuilder::~LocaleBuilder\28\29 +2980:icu_74::Locale::getKeywordValue\28icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20UErrorCode&\29\20const +2981:icu_74::Locale::getDefault\28\29 +2982:icu_74::LoadedNormalizer2Impl::load\28char\20const*\2c\20char\20const*\2c\20UErrorCode&\29 +2983:icu_74::ICUServiceKey::~ICUServiceKey\28\29 +2984:icu_74::ICUResourceBundleFactory::~ICUResourceBundleFactory\28\29 +2985:icu_74::ICULocaleService::~ICULocaleService\28\29 +2986:icu_74::EmojiProps::getSingleton\28UErrorCode&\29 +2987:icu_74::Edits::reset\28\29 +2988:icu_74::DictionaryBreakEngine::~DictionaryBreakEngine\28\29 +2989:icu_74::ByteSinkUtil::appendChange\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20char16_t\20const*\2c\20int\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29 +2990:icu_74::BreakIterator::makeInstance\28icu_74::Locale\20const&\2c\20int\2c\20UErrorCode&\29 +2991:hb_tag_from_string +2992:hb_shape_plan_destroy +2993:hb_script_get_horizontal_direction +2994:hb_paint_extents_context_t::push_clip\28hb_extents_t\29 +2995:hb_ot_color_palette_get_colors +2996:hb_lazy_loader_t\2c\20hb_face_t\2c\2012u\2c\20OT::vmtx_accelerator_t>::get\28\29\20const +2997:hb_lazy_loader_t\2c\20hb_face_t\2c\2023u\2c\20hb_blob_t>::get\28\29\20const +2998:hb_lazy_loader_t\2c\20hb_face_t\2c\201u\2c\20hb_blob_t>::get\28\29\20const +2999:hb_lazy_loader_t\2c\20hb_face_t\2c\2018u\2c\20hb_blob_t>::get\28\29\20const +3000:hb_hashmap_t::alloc\28unsigned\20int\29 +3001:hb_font_funcs_destroy +3002:hb_face_get_upem +3003:hb_face_destroy +3004:hb_draw_cubic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +3005:hb_buffer_set_segment_properties +3006:hb_blob_create +3007:gray_render_line +3008:get_vendor\28char\20const*\29 +3009:get_renderer\28char\20const*\2c\20GrGLExtensions\20const&\29 +3010:get_layer_mapping_and_bounds\28SkSpan>\2c\20SkMatrix\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\2c\20float\29 +3011:get_joining_type\28unsigned\20int\2c\20hb_unicode_general_category_t\29 +3012:getDefaultScript\28icu_74::CharString\20const&\2c\20icu_74::CharString\20const&\29 +3013:generate_distance_field_from_image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\29 +3014:ft_var_readpackeddeltas +3015:ft_var_get_item_delta +3016:ft_var_done_item_variation_store +3017:ft_glyphslot_done +3018:ft_glyphslot_alloc_bitmap +3019:freelocale +3020:free_pool +3021:fquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3022:fp_barrierf +3023:fline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3024:fixN0c\28BracketData*\2c\20int\2c\20int\2c\20unsigned\20char\29 +3025:findFirstExisting\28char\20const*\2c\20char*\2c\20char\20const*\2c\20UResOpenType\2c\20signed\20char*\2c\20signed\20char*\2c\20signed\20char*\2c\20UErrorCode*\29 +3026:fcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3027:fconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3028:fclose +3029:expm1f +3030:exp2 +3031:emscripten::internal::MethodInvoker::invoke\28void\20\28SkFont::*\20const&\29\28float\29\2c\20SkFont*\2c\20float\29 +3032:emscripten::internal::MethodInvoker\20\28SkAnimatedImage::*\29\28\29\2c\20sk_sp\2c\20SkAnimatedImage*>::invoke\28sk_sp\20\28SkAnimatedImage::*\20const&\29\28\29\2c\20SkAnimatedImage*\29 +3033:emscripten::internal::Invoker>\2c\20SimpleParagraphStyle\2c\20sk_sp>::invoke\28std::__2::unique_ptr>\20\28*\29\28SimpleParagraphStyle\2c\20sk_sp\29\2c\20SimpleParagraphStyle*\2c\20sk_sp*\29 +3034:emscripten::internal::FunctionInvoker::invoke\28int\20\28**\29\28SkCanvas&\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29\2c\20SkCanvas*\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29 +3035:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFontMgr&\2c\20int\29\2c\20SkFontMgr*\2c\20int\29 +3036:do_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +3037:doLoadFromIndividualFiles\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\20\28*\29\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29\2c\20void*\2c\20UErrorCode*\2c\20UErrorCode*\29 +3038:doLoadFromCommonData\28signed\20char\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\20\28*\29\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29\2c\20void*\2c\20UErrorCode*\2c\20UErrorCode*\29 +3039:decompose\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\2c\20unsigned\20int\29 +3040:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0>\28skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3041:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool&\2c\20GrPipeline*&\2c\20GrUserStencilSettings\20const*&&\2c\20\28anonymous\20namespace\29::DrawAtlasPathShader*&\2c\20GrPrimitiveType&&\2c\20GrXferBarrierFlags&\2c\20GrLoadOp&\29::'lambda'\28void*\29>\28GrProgramInfo&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3042:cubic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3043:conic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3044:char\20const*\20std::__2::find\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char\20const&\29 +3045:char\20const*\20std::__2::__rewrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +3046:cff_index_get_pointers +3047:cff2_path_param_t::move_to\28CFF::point_t\20const&\29 +3048:cff1_path_param_t::move_to\28CFF::point_t\20const&\29 +3049:cf2_glyphpath_computeOffset +3050:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3051:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3052:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3053:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3054:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3055:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3056:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3057:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3058:byn$mgfn-shared$void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +3059:byn$mgfn-shared$ultag_isExtensionSubtags_74 +3060:byn$mgfn-shared$std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +3061:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +3062:byn$mgfn-shared$skia_private::TArray::operator=\28skia_private::TArray&&\29 +3063:byn$mgfn-shared$skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +3064:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +3065:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +3066:byn$mgfn-shared$icu_74::LaoBreakEngine::~LaoBreakEngine\28\29.1 +3067:byn$mgfn-shared$icu_74::LaoBreakEngine::~LaoBreakEngine\28\29 +3068:byn$mgfn-shared$getInPC\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +3069:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +3070:byn$mgfn-shared$SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +3071:byn$mgfn-shared$SkImageInfo::MakeN32Premul\28int\2c\20int\29 +3072:byn$mgfn-shared$SkBlockMemoryStream::~SkBlockMemoryStream\28\29.1 +3073:byn$mgfn-shared$SkBlockMemoryStream::~SkBlockMemoryStream\28\29 +3074:byn$mgfn-shared$SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +3075:byn$mgfn-shared$Round_To_Grid +3076:byn$mgfn-shared$LineConicIntersections::addLineNearEndPoints\28\29 +3077:byn$mgfn-shared$GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +3078:byn$mgfn-shared$GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +3079:byn$mgfn-shared$GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +3080:byn$mgfn-shared$DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +3081:build_tree +3082:bracketAddOpening\28BracketData*\2c\20char16_t\2c\20int\29 +3083:bool\20OT::glyf_impl::Glyph::get_points\28hb_font_t*\2c\20OT::glyf_accelerator_t\20const&\2c\20contour_point_vector_t&\2c\20contour_point_vector_t*\2c\20head_maxp_info_t*\2c\20unsigned\20int*\2c\20bool\2c\20bool\2c\20bool\2c\20hb_array_t\2c\20hb_map_t*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +3084:bool\20OT::glyf_accelerator_t::get_points\28hb_font_t*\2c\20unsigned\20int\2c\20OT::glyf_accelerator_t::points_aggregator_t\29\20const +3085:bool\20OT::GSUBGPOSVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3086:bool\20OT::GSUBGPOSVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3087:blit_aaa_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +3088:auto\20std::__2::__unwrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +3089:atan +3090:alloc_large +3091:af_glyph_hints_done +3092:add_quad\28SkPoint\20const*\2c\20skia_private::TArray*\29 +3093:acos +3094:aaa_fill_path\28SkPath\20const&\2c\20SkIRect\20const&\2c\20AdditiveBlitter*\2c\20int\2c\20int\2c\20bool\2c\20bool\2c\20bool\29 +3095:_get_path\28OT::cff1::accelerator_t\20const*\2c\20hb_font_t*\2c\20unsigned\20int\2c\20hb_draw_session_t&\2c\20bool\2c\20CFF::point_t*\29 +3096:_get_bounds\28OT::cff1::accelerator_t\20const*\2c\20unsigned\20int\2c\20bounds_t&\2c\20bool\29 +3097:_getVariant\28char\20const*\2c\20char\2c\20icu_74::ByteSink&\2c\20signed\20char\29 +3098:_enumPropertyStartsRange\28void\20const*\2c\20int\2c\20int\2c\20unsigned\20int\29 +3099:_embind_register_bindings +3100:_canonicalize\28char\20const*\2c\20icu_74::ByteSink&\2c\20unsigned\20int\2c\20UErrorCode*\29 +3101:__trunctfdf2 +3102:__towrite +3103:__toread +3104:__subtf3 +3105:__strchrnul +3106:__rem_pio2f +3107:__rem_pio2 +3108:__math_uflowf +3109:__math_oflowf +3110:__fwritex +3111:__dynamic_cast +3112:__cxxabiv1::__class_type_info::process_static_type_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\29\20const +3113:__cxxabiv1::__class_type_info::process_static_type_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\29\20const +3114:__cxxabiv1::__class_type_info::process_found_base_class\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +3115:__cxxabiv1::__base_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +3116:\28anonymous\20namespace\29::ulayout_ensureData\28UErrorCode&\29 +3117:\28anonymous\20namespace\29::shape_contains_rect\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const&\2c\20bool\29 +3118:\28anonymous\20namespace\29::getRange\28void\20const*\2c\20int\2c\20unsigned\20int\20\28*\29\28void\20const*\2c\20unsigned\20int\29\2c\20void\20const*\2c\20unsigned\20int*\29 +3119:\28anonymous\20namespace\29::generateFacePathCOLRv1\28FT_FaceRec_*\2c\20unsigned\20short\2c\20SkPath*\29 +3120:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads_with_constraint\28SkPoint\20const*\2c\20float\2c\20SkPathFirstDirection\2c\20skia_private::TArray*\2c\20int\29 +3121:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\2c\20int\2c\20bool\2c\20bool\29 +3122:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const +3123:\28anonymous\20namespace\29::bloat_quad\28SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkMatrix\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +3124:\28anonymous\20namespace\29::SkEmptyTypeface::onMakeClone\28SkFontArguments\20const&\29\20const +3125:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29.1 +3126:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29 +3127:\28anonymous\20namespace\29::SkBlurImageFilter::mapSigma\28skif::Mapping\20const&\2c\20bool\29\20const +3128:\28anonymous\20namespace\29::DrawAtlasOpImpl::visitProxies\28std::__2::function\20const&\29\20const +3129:\28anonymous\20namespace\29::DrawAtlasOpImpl::programInfo\28\29 +3130:\28anonymous\20namespace\29::DrawAtlasOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +3131:\28anonymous\20namespace\29::DirectMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +3132:\28anonymous\20namespace\29::DirectMaskSubRun::glyphs\28\29\20const +3133:WebPRescaleNeededLines +3134:WebPInitDecBufferInternal +3135:WebPInitCustomIo +3136:WebPGetFeaturesInternal +3137:WebPDemuxGetFrame +3138:VP8LInitBitReader +3139:VP8LColorIndexInverseTransformAlpha +3140:VP8InitIoInternal +3141:VP8InitBitReader +3142:UDatamemory_assign_74 +3143:T_CString_toUpperCase_74 +3144:TT_Vary_Apply_Glyph_Deltas +3145:TT_Set_Var_Design +3146:SkWuffsCodec::decodeFrame\28\29 +3147:SkVertices::MakeCopy\28SkVertices::VertexMode\2c\20int\2c\20SkPoint\20const*\2c\20SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20short\20const*\29 +3148:SkVertices::Builder::texCoords\28\29 +3149:SkVertices::Builder::positions\28\29 +3150:SkVertices::Builder::init\28SkVertices::Desc\20const&\29 +3151:SkVertices::Builder::colors\28\29 +3152:SkVertices::Builder::Builder\28SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +3153:SkUnicodes::ICU::Make\28\29 +3154:SkUnicode_icu::extractPositions\28char\20const*\2c\20int\2c\20SkUnicode::BreakType\2c\20char\20const*\2c\20std::__2::function\20const&\29 +3155:SkTypeface_FreeType::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +3156:SkTypeface::getTableSize\28unsigned\20int\29\20const +3157:SkTiff::ImageFileDirectory::getEntryTag\28unsigned\20short\29\20const +3158:SkTiff::ImageFileDirectory::MakeFromOffset\28sk_sp\2c\20bool\2c\20unsigned\20int\2c\20bool\29 +3159:SkTextBlobRunIterator::positioning\28\29\20const +3160:SkTSpan::splitAt\28SkTSpan*\2c\20double\2c\20SkArenaAlloc*\29 +3161:SkTSect::computePerpendiculars\28SkTSect*\2c\20SkTSpan*\2c\20SkTSpan*\29 +3162:SkTDStorage::insert\28int\29 +3163:SkTDStorage::calculateSizeOrDie\28int\29::$_0::operator\28\29\28\29\20const +3164:SkTDPQueue::percolateDownIfNecessary\28int\29 +3165:SkTConic::hullIntersects\28SkDConic\20const&\2c\20bool*\29\20const +3166:SkSurface_Base::SkSurface_Base\28int\2c\20int\2c\20SkSurfaceProps\20const*\29 +3167:SkStrokerPriv::CapFactory\28SkPaint::Cap\29 +3168:SkStrokeRec::getInflationRadius\28\29\20const +3169:SkString::equals\28char\20const*\29\20const +3170:SkStrikeSpec::MakeTransformMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +3171:SkStrikeSpec::MakePath\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\29 +3172:SkStrike::glyph\28SkGlyphDigest\29 +3173:SkShapers::HB::ShapeDontWrapOrReorder\28sk_sp\2c\20sk_sp\29 +3174:SkShaper::TrivialRunIterator::endOfCurrentRun\28\29\20const +3175:SkShaper::TrivialRunIterator::atEnd\28\29\20const +3176:SkShaper::MakeFontMgrRunIterator\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20sk_sp\29 +3177:SkShadowTessellator::MakeAmbient\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20bool\29 +3178:SkScan::FillTriangle\28SkPoint\20const*\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3179:SkScan::FillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3180:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3181:SkScan::AntiHairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3182:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\2c\20bool\29 +3183:SkScalerContextRec::CachedMaskGamma\28unsigned\20char\2c\20unsigned\20char\29 +3184:SkScalerContextFTUtils::drawSVGGlyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +3185:SkScalarInterpFunc\28float\2c\20float\20const*\2c\20float\20const*\2c\20int\29 +3186:SkSLTypeString\28SkSLType\29 +3187:SkSL::simplify_negation\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\29 +3188:SkSL::simplify_matrix_multiplication\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3189:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +3190:SkSL::build_argument_type_list\28SkSpan>\20const>\29 +3191:SkSL::\28anonymous\20namespace\29::SwitchCaseContainsExit::visitStatement\28SkSL::Statement\20const&\29 +3192:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::returnsInputAlpha\28SkSL::Expression\20const&\29 +3193:SkSL::\28anonymous\20namespace\29::ConstantExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +3194:SkSL::Variable::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\29 +3195:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29\20const +3196:SkSL::Type::MakeSamplerType\28char\20const*\2c\20SkSL::Type\20const&\29 +3197:SkSL::SymbolTable::moveSymbolTo\28SkSL::SymbolTable*\2c\20SkSL::Symbol*\2c\20SkSL::Context\20const&\29 +3198:SkSL::SymbolTable::isType\28std::__2::basic_string_view>\29\20const +3199:SkSL::Symbol::instantiate\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +3200:SkSL::StructType::slotCount\28\29\20const +3201:SkSL::SampleUsage::merge\28SkSL::SampleUsage\20const&\29 +3202:SkSL::ReturnStatement::~ReturnStatement\28\29.1 +3203:SkSL::ReturnStatement::~ReturnStatement\28\29 +3204:SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +3205:SkSL::RP::Generator::pushTernaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +3206:SkSL::RP::Generator::pushStructuredComparison\28SkSL::RP::LValue*\2c\20SkSL::Operator\2c\20SkSL::RP::LValue*\2c\20SkSL::Type\20const&\29 +3207:SkSL::RP::Generator::pushMatrixMultiply\28SkSL::RP::LValue*\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3208:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29 +3209:SkSL::RP::Builder::push_uniform\28SkSL::RP::SlotRange\29 +3210:SkSL::RP::Builder::merge_condition_mask\28\29 +3211:SkSL::RP::Builder::jump\28int\29 +3212:SkSL::RP::Builder::branch_if_no_active_lanes_on_stack_top_equal\28int\2c\20int\29 +3213:SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +3214:SkSL::Pool::detachFromThread\28\29 +3215:SkSL::PipelineStage::ConvertProgram\28SkSL::Program\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20SkSL::PipelineStage::Callbacks*\29 +3216:SkSL::Parser::unaryExpression\28\29 +3217:SkSL::Parser::swizzle\28SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::basic_string_view>\2c\20SkSL::Position\29 +3218:SkSL::Parser::block\28bool\2c\20std::__2::unique_ptr>*\29 +3219:SkSL::Operator::getBinaryPrecedence\28\29\20const +3220:SkSL::ModuleLoader::loadGPUModule\28SkSL::Compiler*\29 +3221:SkSL::ModifierFlags::checkPermittedFlags\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\29\20const +3222:SkSL::MethodReference::~MethodReference\28\29.1 +3223:SkSL::MethodReference::~MethodReference\28\29 +3224:SkSL::Mangler::uniqueName\28std::__2::basic_string_view>\2c\20SkSL::SymbolTable*\29 +3225:SkSL::LiteralType::slotType\28unsigned\20long\29\20const +3226:SkSL::Layout::operator==\28SkSL::Layout\20const&\29\20const +3227:SkSL::Layout::checkPermittedLayout\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkEnumBitMask\29\20const +3228:SkSL::Inliner::analyze\28std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\29 +3229:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29 +3230:SkSL::GLSLCodeGenerator::writeLiteral\28SkSL::Literal\20const&\29 +3231:SkSL::GLSLCodeGenerator::writeFunctionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +3232:SkSL::ForStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3233:SkSL::FieldAccess::description\28SkSL::OperatorPrecedence\29\20const +3234:SkSL::Expression::isIncomplete\28SkSL::Context\20const&\29\20const +3235:SkSL::Expression::compareConstant\28SkSL::Expression\20const&\29\20const +3236:SkSL::DebugTracePriv::~DebugTracePriv\28\29 +3237:SkSL::Context::Context\28SkSL::BuiltinTypes\20const&\2c\20SkSL::ErrorReporter&\29 +3238:SkSL::ConstructorArrayCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +3239:SkSL::ConstructorArray::~ConstructorArray\28\29 +3240:SkSL::ConstructorArray::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +3241:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +3242:SkSL::Analysis::CallsColorTransformIntrinsics\28SkSL::Program\20const&\29 +3243:SkSL::AliasType::bitWidth\28\29\20const +3244:SkRuntimeEffectPriv::VarAsUniform\28SkSL::Variable\20const&\2c\20SkSL::Context\20const&\2c\20unsigned\20long*\29 +3245:SkRuntimeEffectPriv::UniformsAsSpan\28SkSpan\2c\20sk_sp\2c\20bool\2c\20SkColorSpace\20const*\2c\20SkArenaAlloc*\29 +3246:SkRuntimeEffect::source\28\29\20const +3247:SkRuntimeEffect::makeShader\28sk_sp\2c\20SkSpan\2c\20SkMatrix\20const*\29\20const +3248:SkRuntimeEffect::MakeForBlender\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +3249:SkResourceCache::checkMessages\28\29 +3250:SkResourceCache::NewCachedData\28unsigned\20long\29 +3251:SkRegion::translate\28int\2c\20int\2c\20SkRegion*\29\20const +3252:SkReduceOrder::Cubic\28SkPoint\20const*\2c\20SkPoint*\29 +3253:SkRectPriv::QuadContainsRectMask\28SkM44\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20float\29 +3254:SkRecords::PreCachedPath::PreCachedPath\28SkPath\20const&\29 +3255:SkRecords::FillBounds::pushSaveBlock\28SkPaint\20const*\29 +3256:SkRecordDraw\28SkRecord\20const&\2c\20SkCanvas*\2c\20SkPicture\20const*\20const*\2c\20SkDrawable*\20const*\2c\20int\2c\20SkBBoxHierarchy\20const*\2c\20SkPicture::AbortCallback*\29 +3257:SkReadBuffer::readPoint\28SkPoint*\29 +3258:SkReadBuffer::readPath\28SkPath*\29 +3259:SkReadBuffer::readByteArrayAsData\28\29 +3260:SkReadBuffer::readArray\28void*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3261:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29 +3262:SkRasterPipelineBlitter::blitRectWithTrace\28int\2c\20int\2c\20int\2c\20int\2c\20bool\29 +3263:SkRasterPipelineBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +3264:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29 +3265:SkRasterPipeline::appendLoad\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +3266:SkRasterClip::op\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkClipOp\2c\20bool\29 +3267:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29 +3268:SkRRect::scaleRadii\28\29 +3269:SkRRect::AreRectAndRadiiValid\28SkRect\20const&\2c\20SkPoint\20const*\29 +3270:SkRBuffer::skip\28unsigned\20long\29 +3271:SkPngCodec::IsPng\28void\20const*\2c\20unsigned\20long\29 +3272:SkPixmap::setColorSpace\28sk_sp\29 +3273:SkPixelRef::~SkPixelRef\28\29 +3274:SkPixelRef::notifyPixelsChanged\28\29 +3275:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20sk_sp\29 +3276:SkPictureRecord::addPathToHeap\28SkPath\20const&\29 +3277:SkPictureData::getPath\28SkReadBuffer*\29\20const +3278:SkPicture::serialize\28SkWStream*\2c\20SkSerialProcs\20const*\2c\20SkRefCntSet*\2c\20bool\29\20const +3279:SkPathWriter::update\28SkOpPtT\20const*\29 +3280:SkPathStroker::strokeCloseEnough\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20SkQuadConstruct*\29\20const +3281:SkPathStroker::finishContour\28bool\2c\20bool\29 +3282:SkPathRef::reset\28\29 +3283:SkPathRef::isRRect\28SkRRect*\2c\20bool*\2c\20unsigned\20int*\29\20const +3284:SkPathRef::addGenIDChangeListener\28sk_sp\29 +3285:SkPathPriv::IsRectContour\28SkPath\20const&\2c\20bool\2c\20int*\2c\20SkPoint\20const**\2c\20bool*\2c\20SkPathDirection*\2c\20SkRect*\29 +3286:SkPathEffectBase::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +3287:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\29\20const +3288:SkPathBuilder::quadTo\28SkPoint\2c\20SkPoint\29 +3289:SkPathBuilder::cubicTo\28SkPoint\2c\20SkPoint\2c\20SkPoint\29 +3290:SkPath::writeToMemory\28void*\29\20const +3291:SkPath::reversePathTo\28SkPath\20const&\29 +3292:SkPath::rQuadTo\28float\2c\20float\2c\20float\2c\20float\29 +3293:SkPath::contains\28float\2c\20float\29\20const +3294:SkPath::arcTo\28float\2c\20float\2c\20float\2c\20SkPath::ArcSize\2c\20SkPathDirection\2c\20float\2c\20float\29 +3295:SkPath::approximateBytesUsed\28\29\20const +3296:SkPath::addCircle\28float\2c\20float\2c\20float\2c\20SkPathDirection\29 +3297:SkPath::Rect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +3298:SkParse::FindScalar\28char\20const*\2c\20float*\29 +3299:SkPairPathEffect::flatten\28SkWriteBuffer&\29\20const +3300:SkPaintToGrPaintWithBlend\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +3301:SkPaint::refImageFilter\28\29\20const +3302:SkPaint::refBlender\28\29\20const +3303:SkPaint::getBlendMode_or\28SkBlendMode\29\20const +3304:SkPackARGB_as_RGBA\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3305:SkPackARGB_as_BGRA\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3306:SkOpSpan::setOppSum\28int\29 +3307:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20SkOpSpanBase**\29 +3308:SkOpSegment::markAllDone\28\29 +3309:SkOpSegment::activeWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +3310:SkOpPtT::contains\28SkOpSegment\20const*\29\20const +3311:SkOpEdgeBuilder::closeContour\28SkPoint\20const&\2c\20SkPoint\20const&\29 +3312:SkOpCoincidence::releaseDeleted\28\29 +3313:SkOpCoincidence::markCollapsed\28SkOpPtT*\29 +3314:SkOpCoincidence::findOverlaps\28SkOpCoincidence*\29\20const +3315:SkOpCoincidence::expand\28\29 +3316:SkOpCoincidence::apply\28\29 +3317:SkOpAngle::orderable\28SkOpAngle*\29 +3318:SkOpAngle::computeSector\28\29 +3319:SkNullBlitter::~SkNullBlitter\28\29 +3320:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\2c\20sk_sp\29 +3321:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\29 +3322:SkNoDestructor>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>>::SkNoDestructor\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>&&\29 +3323:SkMessageBus::BufferFinishedMessage\2c\20GrDirectContext::DirectContextID\2c\20false>::Get\28\29 +3324:SkMemoryStream::SkMemoryStream\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +3325:SkMemoryStream::SkMemoryStream\28sk_sp\29 +3326:SkMatrix::setRotate\28float\29 +3327:SkMatrix::setPolyToPoly\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20int\29 +3328:SkMatrix::postSkew\28float\2c\20float\29 +3329:SkMatrix::invert\28SkMatrix*\29\20const +3330:SkMatrix::getMinScale\28\29\20const +3331:SkMatrix::getMinMaxScales\28float*\29\20const +3332:SkMaskBuilder::PrepareDestination\28int\2c\20int\2c\20SkMask\20const&\29 +3333:SkMakeBitmapShaderForPaint\28SkPaint\20const&\2c\20SkBitmap\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20SkCopyPixelsMode\29 +3334:SkLineClipper::ClipLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\2c\20bool\29 +3335:SkJpegCodec::ReadHeader\28SkStream*\2c\20SkCodec**\2c\20JpegDecoderMgr**\2c\20std::__2::unique_ptr>\29 +3336:SkJSONWriter::separator\28bool\29 +3337:SkIntersections::intersectRay\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +3338:SkIntersections::intersectRay\28SkDLine\20const&\2c\20SkDLine\20const&\29 +3339:SkIntersections::intersectRay\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +3340:SkIntersections::intersectRay\28SkDConic\20const&\2c\20SkDLine\20const&\29 +3341:SkIntersections::cleanUpParallelLines\28bool\29 +3342:SkImage_Raster::onPeekBitmap\28\29\20const +3343:SkImage_Raster::SkImage_Raster\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20int\29 +3344:SkImage_Ganesh::~SkImage_Ganesh\28\29 +3345:SkImageShader::Make\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +3346:SkImageInfo::Make\28SkISize\2c\20SkColorType\2c\20SkAlphaType\29 +3347:SkImageInfo::MakeN32Premul\28SkISize\29 +3348:SkImageGenerator::getPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +3349:SkImageGenerator::SkImageGenerator\28SkImageInfo\20const&\2c\20unsigned\20int\29 +3350:SkImageFilters::MatrixTransform\28SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20sk_sp\29 +3351:SkImageFilters::Blur\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +3352:SkImageFilter_Base::getInputBounds\28skif::Mapping\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\29\20const +3353:SkImageFilter_Base::filterImage\28skif::Context\20const&\29\20const +3354:SkImageFilter_Base::affectsTransparentBlack\28\29\20const +3355:SkImage::width\28\29\20const +3356:SkImage::readPixels\28GrDirectContext*\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +3357:SkImage::hasMipmaps\28\29\20const +3358:SkIcuBreakIteratorCache::makeBreakIterator\28SkUnicode::BreakType\2c\20char\20const*\29 +3359:SkIDChangeListener::List::add\28sk_sp\29 +3360:SkGradientShader::MakeTwoPointConical\28SkPoint\20const&\2c\20float\2c\20SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +3361:SkGradientShader::MakeLinear\28SkPoint\20const*\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +3362:SkGradientBaseShader::AppendInterpolatedToDstStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20bool\2c\20SkGradientShader::Interpolation\20const&\2c\20SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +3363:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkScalerContext*\29 +3364:SkGlyph::mask\28\29\20const +3365:SkFontScanner_FreeType::GetAxes\28FT_FaceRec_*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29 +3366:SkFontPriv::ApproximateTransformedTextSize\28SkFont\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\20const&\29 +3367:SkFontMgr::matchFamily\28char\20const*\29\20const +3368:SkFindCubicMaxCurvature\28SkPoint\20const*\2c\20float*\29 +3369:SkExif::parse_ifd\28SkExif::Metadata&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +3370:SkEncodedInfo::ICCProfile::Make\28sk_sp\29 +3371:SkEmptyFontMgr::onMatchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +3372:SkEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkIRect\20const*\2c\20int\29 +3373:SkDynamicMemoryWStream::padToAlign4\28\29 +3374:SkDrawable::SkDrawable\28\29 +3375:SkDrawBase::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29\20const +3376:SkDrawBase::drawDevicePoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\2c\20SkDevice*\29\20const +3377:SkDraw::drawBitmap\28SkBitmap\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29\20const +3378:SkDevice::simplifyGlyphRunRSXFormAndRedraw\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +3379:SkDevice::setDeviceCoordinateSystem\28SkM44\20const&\2c\20SkM44\20const&\2c\20SkM44\20const&\2c\20int\2c\20int\29 +3380:SkDevice::SkDevice\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +3381:SkDataTable::at\28int\2c\20unsigned\20long*\29\20const +3382:SkData::MakeZeroInitialized\28unsigned\20long\29 +3383:SkData::MakeFromStream\28SkStream*\2c\20unsigned\20long\29 +3384:SkDQuad::dxdyAtT\28double\29\20const +3385:SkDQuad::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +3386:SkDQuad::FindExtrema\28double\20const*\2c\20double*\29 +3387:SkDCubic::subDivide\28double\2c\20double\29\20const +3388:SkDCubic::searchRoots\28double*\2c\20int\2c\20double\2c\20SkDCubic::SearchAxis\2c\20double*\29\20const +3389:SkDCubic::Coefficients\28double\20const*\2c\20double*\2c\20double*\2c\20double*\2c\20double*\29 +3390:SkDConic::dxdyAtT\28double\29\20const +3391:SkDConic::FindExtrema\28double\20const*\2c\20float\2c\20double*\29 +3392:SkCopyStreamToData\28SkStream*\29 +3393:SkContourMeasure_segTo\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20float\2c\20SkPath*\29 +3394:SkContourMeasureIter::next\28\29 +3395:SkContourMeasureIter::Impl::compute_quad_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3396:SkContourMeasureIter::Impl::compute_cubic_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3397:SkContourMeasureIter::Impl::compute_conic_segs\28SkConic\20const&\2c\20float\2c\20int\2c\20SkPoint\20const&\2c\20int\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20int\29 +3398:SkContourMeasure::getPosTan\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +3399:SkConic::evalAt\28float\29\20const +3400:SkConic::TransformW\28SkPoint\20const*\2c\20float\2c\20SkMatrix\20const&\29 +3401:SkColorToPMColor4f\28unsigned\20int\2c\20GrColorInfo\20const&\29 +3402:SkColorSpace::transferFn\28skcms_TransferFunction*\29\20const +3403:SkColorSpace::toXYZD50\28skcms_Matrix3x3*\29\20const +3404:SkColorPalette::SkColorPalette\28unsigned\20int\20const*\2c\20int\29 +3405:SkColorFilters::Blend\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\2c\20SkBlendMode\29 +3406:SkColor4fPrepForDst\28SkRGBA4f<\28SkAlphaType\293>\2c\20GrColorInfo\20const&\29 +3407:SkCodec::startIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const*\29 +3408:SkChopMonoCubicAtY\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +3409:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\2c\20float\29 +3410:SkCanvas::setMatrix\28SkM44\20const&\29 +3411:SkCanvas::scale\28float\2c\20float\29 +3412:SkCanvas::private_draw_shadow_rec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +3413:SkCanvas::peekPixels\28SkPixmap*\29 +3414:SkCanvas::onResetClip\28\29 +3415:SkCanvas::onClipShader\28sk_sp\2c\20SkClipOp\29 +3416:SkCanvas::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +3417:SkCanvas::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3418:SkCanvas::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3419:SkCanvas::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3420:SkCanvas::internal_private_resetClip\28\29 +3421:SkCanvas::internalSaveLayer\28SkCanvas::SaveLayerRec\20const&\2c\20SkCanvas::SaveLayerStrategy\2c\20bool\29 +3422:SkCanvas::internalDrawDeviceWithFilter\28SkDevice*\2c\20SkDevice*\2c\20SkSpan>\2c\20SkPaint\20const&\2c\20SkCanvas::DeviceCompatibleWithFilter\2c\20SkColorInfo\20const&\2c\20float\2c\20bool\29 +3423:SkCanvas::experimental_DrawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +3424:SkCanvas::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +3425:SkCanvas::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +3426:SkCanvas::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +3427:SkCanvas::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +3428:SkCanvas::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +3429:SkCanvas::drawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +3430:SkCanvas::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +3431:SkCanvas::attemptBlurredRRectDraw\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20SkEnumBitMask\29 +3432:SkCanvas::SkCanvas\28SkIRect\20const&\29 +3433:SkCachedData::~SkCachedData\28\29 +3434:SkCTMShader::~SkCTMShader\28\29.1 +3435:SkBmpRLECodec::setPixel\28void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20char\29 +3436:SkBmpCodec::prepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +3437:SkBlitterClipper::apply\28SkBlitter*\2c\20SkRegion\20const*\2c\20SkIRect\20const*\29 +3438:SkBlitter::blitRegion\28SkRegion\20const&\29 +3439:SkBitmapDevice::BDDraw::~BDDraw\28\29 +3440:SkBitmapCacheDesc::Make\28SkImage\20const*\29 +3441:SkBitmap::writePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +3442:SkBitmap::setPixels\28void*\29 +3443:SkBitmap::pixelRefOrigin\28\29\20const +3444:SkBitmap::notifyPixelsChanged\28\29\20const +3445:SkBitmap::isImmutable\28\29\20const +3446:SkBitmap::allocPixels\28\29 +3447:SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +3448:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29.1 +3449:SkBaseShadowTessellator::handleCubic\28SkMatrix\20const&\2c\20SkPoint*\29 +3450:SkBaseShadowTessellator::handleConic\28SkMatrix\20const&\2c\20SkPoint*\2c\20float\29 +3451:SkAutoPathBoundsUpdate::SkAutoPathBoundsUpdate\28SkPath*\2c\20SkRect\20const&\29 +3452:SkAutoDescriptor::SkAutoDescriptor\28SkAutoDescriptor&&\29 +3453:SkArenaAllocWithReset::SkArenaAllocWithReset\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3454:SkAnimatedImage::decodeNextFrame\28\29 +3455:SkAnimatedImage::Frame::copyTo\28SkAnimatedImage::Frame*\29\20const +3456:SkAnalyticQuadraticEdge::updateQuadratic\28\29 +3457:SkAnalyticCubicEdge::updateCubic\28bool\29 +3458:SkAlphaRuns::reset\28int\29 +3459:SkAAClip::setRect\28SkIRect\20const&\29 +3460:Simplify\28SkPath\20const&\2c\20SkPath*\29 +3461:ReconstructRow +3462:R.1 +3463:OpAsWinding::nextEdge\28Contour&\2c\20OpAsWinding::Edge\29 +3464:OT::sbix::sanitize\28hb_sanitize_context_t*\29\20const +3465:OT::post::accelerator_t::cmp_gids\28void\20const*\2c\20void\20const*\2c\20void*\29 +3466:OT::gvar::sanitize_shallow\28hb_sanitize_context_t*\29\20const +3467:OT::fvar::sanitize\28hb_sanitize_context_t*\29\20const +3468:OT::cmap::sanitize\28hb_sanitize_context_t*\29\20const +3469:OT::cmap::accelerator_t::accelerator_t\28hb_face_t*\29 +3470:OT::cff2::accelerator_templ_t>::~accelerator_templ_t\28\29 +3471:OT::avar::sanitize\28hb_sanitize_context_t*\29\20const +3472:OT::VarRegionList::evaluate\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +3473:OT::Rule::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +3474:OT::OpenTypeFontFile::sanitize\28hb_sanitize_context_t*\29\20const +3475:OT::MVAR::sanitize\28hb_sanitize_context_t*\29\20const +3476:OT::Layout::GSUB_impl::SubstLookup::serialize_ligature\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20hb_sorted_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\29 +3477:OT::Layout::GPOS_impl::MarkArray::apply\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20OT::Layout::GPOS_impl::AnchorMatrix\20const&\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +3478:OT::GDEFVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3479:OT::Device::get_y_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +3480:OT::Device::get_x_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +3481:OT::ClipList::get_extents\28unsigned\20int\2c\20hb_glyph_extents_t*\2c\20OT::VarStoreInstancer\20const&\29\20const +3482:OT::ChainRule::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +3483:OT::CPAL::sanitize\28hb_sanitize_context_t*\29\20const +3484:OT::COLR::sanitize\28hb_sanitize_context_t*\29\20const +3485:OT::COLR::paint_glyph\28hb_font_t*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29\20const +3486:MakeRasterCopyPriv\28SkPixmap\20const&\2c\20unsigned\20int\29 +3487:LineQuadraticIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineQuadraticIntersections::PinTPoint\29 +3488:LineQuadraticIntersections::checkCoincident\28\29 +3489:LineQuadraticIntersections::addLineNearEndPoints\28\29 +3490:LineCubicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineCubicIntersections::PinTPoint\29 +3491:LineCubicIntersections::checkCoincident\28\29 +3492:LineCubicIntersections::addLineNearEndPoints\28\29 +3493:LineConicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineConicIntersections::PinTPoint\29 +3494:LineConicIntersections::checkCoincident\28\29 +3495:LineConicIntersections::addLineNearEndPoints\28\29 +3496:GrXferProcessor::GrXferProcessor\28GrProcessor::ClassID\29 +3497:GrVertexChunkBuilder::~GrVertexChunkBuilder\28\29 +3498:GrTriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +3499:GrTriangulator::splitEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +3500:GrTriangulator::pathToPolys\28float\2c\20SkRect\20const&\2c\20bool*\29 +3501:GrTriangulator::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20GrTriangulator::VertexList*\2c\20int\29\20const +3502:GrTriangulator::emitTriangle\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20skgpu::VertexWriter\29\20const +3503:GrTriangulator::checkForIntersection\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +3504:GrTriangulator::applyFillType\28int\29\20const +3505:GrTriangulator::EdgeList::insert\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +3506:GrTriangulator::Edge::insertBelow\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +3507:GrTriangulator::Edge::insertAbove\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +3508:GrToGLStencilFunc\28GrStencilTest\29 +3509:GrThreadSafeCache::dropAllRefs\28\29 +3510:GrTextureRenderTargetProxy::callbackDesc\28\29\20const +3511:GrTexture::GrTexture\28GrGpu*\2c\20SkISize\20const&\2c\20skgpu::Protected\2c\20GrTextureType\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +3512:GrTexture::ComputeScratchKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20skgpu::ScratchKey*\29 +3513:GrSurfaceProxyView::asTextureProxyRef\28\29\20const +3514:GrSurfaceProxy::GrSurfaceProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +3515:GrSurfaceProxy::GrSurfaceProxy\28sk_sp\2c\20SkBackingFit\2c\20GrSurfaceProxy::UseAllocator\29 +3516:GrSurface::setRelease\28sk_sp\29 +3517:GrStyledShape::styledBounds\28\29\20const +3518:GrStyledShape::asLine\28SkPoint*\2c\20bool*\29\20const +3519:GrStyledShape::addGenIDChangeListener\28sk_sp\29\20const +3520:GrSimpleMeshDrawOpHelper::fixedFunctionFlags\28\29\20const +3521:GrShape::setRect\28SkRect\20const&\29 +3522:GrShape::setRRect\28SkRRect\20const&\29 +3523:GrShape::segmentMask\28\29\20const +3524:GrResourceProvider::assignUniqueKeyToResource\28skgpu::UniqueKey\20const&\2c\20GrGpuResource*\29 +3525:GrResourceCache::releaseAll\28\29 +3526:GrResourceCache::getNextTimestamp\28\29 +3527:GrRenderTask::addDependency\28GrRenderTask*\29 +3528:GrRenderTargetProxy::canUseStencil\28GrCaps\20const&\29\20const +3529:GrRecordingContextPriv::addOnFlushCallbackObject\28GrOnFlushCallbackObject*\29 +3530:GrRecordingContext::~GrRecordingContext\28\29 +3531:GrRecordingContext::abandonContext\28\29 +3532:GrQuadUtils::TessellationHelper::Vertices::moveTo\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +3533:GrQuadUtils::TessellationHelper::EdgeEquations::reset\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\29 +3534:GrQuadUtils::ResolveAAType\28GrAAType\2c\20GrQuadAAFlags\2c\20GrQuad\20const&\2c\20GrAAType*\2c\20GrQuadAAFlags*\29 +3535:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::append\28GrQuad\20const&\2c\20\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA&&\2c\20GrQuad\20const*\29 +3536:GrPixmap::GrPixmap\28GrImageInfo\2c\20void*\2c\20unsigned\20long\29 +3537:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29 +3538:GrPersistentCacheUtils::UnpackCachedShaders\28SkReadBuffer*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20int\2c\20GrPersistentCacheUtils::ShaderMetadata*\29 +3539:GrPathUtils::convertCubicToQuads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\29 +3540:GrPathTessellationShader::Make\28GrShaderCaps\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::tess::PatchAttribs\29 +3541:GrOp::chainConcat\28std::__2::unique_ptr>\29 +3542:GrOp::GenOpClassID\28\29 +3543:GrMeshDrawOp::PatternHelper::PatternHelper\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +3544:GrMemoryPool::Make\28unsigned\20long\2c\20unsigned\20long\29 +3545:GrMakeKeyFromImageID\28skgpu::UniqueKey*\2c\20unsigned\20int\2c\20SkIRect\20const&\29 +3546:GrImageInfo::GrImageInfo\28GrColorInfo\20const&\2c\20SkISize\20const&\29 +3547:GrGpuResource::removeScratchKey\28\29 +3548:GrGpuResource::registerWithCacheWrapped\28GrWrapCacheable\29 +3549:GrGpuResource::dumpMemoryStatisticsPriv\28SkTraceMemoryDump*\2c\20SkString\20const&\2c\20char\20const*\2c\20unsigned\20long\29\20const +3550:GrGpuBuffer::onGpuMemorySize\28\29\20const +3551:GrGpu::resolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +3552:GrGpu::executeFlushInfo\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +3553:GrGeometryProcessor::TextureSampler::TextureSampler\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +3554:GrGeometryProcessor::ProgramImpl::ComputeMatrixKeys\28GrShaderCaps\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\29 +3555:GrGLUniformHandler::getUniformVariable\28GrResourceHandle\29\20const +3556:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +3557:GrGLSemaphore::GrGLSemaphore\28GrGLGpu*\2c\20bool\29 +3558:GrGLSLVaryingHandler::~GrGLSLVaryingHandler\28\29 +3559:GrGLSLShaderBuilder::emitFunction\28SkSLType\2c\20char\20const*\2c\20SkSpan\2c\20char\20const*\29 +3560:GrGLSLProgramDataManager::setSkMatrix\28GrResourceHandle\2c\20SkMatrix\20const&\29\20const +3561:GrGLSLProgramBuilder::writeFPFunction\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +3562:GrGLSLProgramBuilder::invokeFP\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +3563:GrGLSLProgramBuilder::addRTFlipUniform\28char\20const*\29 +3564:GrGLSLFragmentShaderBuilder::dstColor\28\29 +3565:GrGLSLBlend::BlendKey\28SkBlendMode\29 +3566:GrGLProgramBuilder::~GrGLProgramBuilder\28\29 +3567:GrGLProgramBuilder::computeCountsAndStrides\28unsigned\20int\2c\20GrGeometryProcessor\20const&\2c\20bool\29 +3568:GrGLGpu::flushScissor\28GrScissorState\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +3569:GrGLGpu::flushClearColor\28std::__2::array\29 +3570:GrGLGpu::deleteFence\28__GLsync*\29 +3571:GrGLGpu::createTexture\28SkISize\2c\20GrGLFormat\2c\20unsigned\20int\2c\20skgpu::Renderable\2c\20GrGLTextureParameters::SamplerOverriddenState*\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +3572:GrGLGpu::copySurfaceAsDraw\28GrSurface*\2c\20bool\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +3573:GrGLGpu::SamplerObjectCache::~SamplerObjectCache\28\29 +3574:GrGLGpu::HWVertexArrayState::bindInternalVertexArray\28GrGLGpu*\2c\20GrBuffer\20const*\29 +3575:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +3576:GrGLFinishCallbacks::callAll\28bool\29 +3577:GrGLBuffer::Make\28GrGLGpu*\2c\20unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +3578:GrGLAttribArrayState::enableVertexArrays\28GrGLGpu\20const*\2c\20int\2c\20GrPrimitiveRestart\29 +3579:GrFragmentProcessors::make_effect_fp\28sk_sp\2c\20char\20const*\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkSpan\2c\20GrFPArgs\20const&\29 +3580:GrFragmentProcessors::MakeChildFP\28SkRuntimeEffect::ChildPtr\20const&\2c\20GrFPArgs\20const&\29 +3581:GrFragmentProcessors::IsSupported\28SkMaskFilter\20const*\29 +3582:GrFragmentProcessor::makeProgramImpl\28\29\20const +3583:GrFragmentProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +3584:GrFragmentProcessor::MulInputByChildAlpha\28std::__2::unique_ptr>\29 +3585:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +3586:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29 +3587:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3588:GrDynamicAtlas::makeNode\28GrDynamicAtlas::Node*\2c\20int\2c\20int\2c\20int\2c\20int\29 +3589:GrDrawingManager::setLastRenderTask\28GrSurfaceProxy\20const*\2c\20GrRenderTask*\29 +3590:GrDrawingManager::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +3591:GrDrawOpAtlas::updatePlot\28GrDeferredUploadTarget*\2c\20skgpu::AtlasLocator*\2c\20skgpu::Plot*\29 +3592:GrDirectContext::resetContext\28unsigned\20int\29 +3593:GrDirectContext::getResourceCacheLimit\28\29\20const +3594:GrDefaultGeoProcFactory::MakeForDeviceSpace\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +3595:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20sk_sp\29 +3596:GrColorSpaceXform::apply\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +3597:GrColorSpaceXform::Equals\28GrColorSpaceXform\20const*\2c\20GrColorSpaceXform\20const*\29 +3598:GrBufferAllocPool::unmap\28\29 +3599:GrBlurUtils::can_filter_mask\28SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect*\29 +3600:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29 +3601:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +3602:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20sk_sp\2c\20std::__2::basic_string_view>\29 +3603:GrBackendFormatStencilBits\28GrBackendFormat\20const&\29 +3604:GrBackendFormat::asMockCompressionType\28\29\20const +3605:GrAATriangulator::~GrAATriangulator\28\29 +3606:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrAATriangulator::EventList*\29\20const +3607:GrAAConvexTessellator::fanRing\28GrAAConvexTessellator::Ring\20const&\29 +3608:GrAAConvexTessellator::computePtAlongBisector\28int\2c\20SkPoint\20const&\2c\20int\2c\20float\2c\20SkPoint*\29\20const +3609:FT_Stream_ReadAt +3610:FT_Stream_OpenMemory +3611:FT_Set_Char_Size +3612:FT_Request_Metrics +3613:FT_Hypot +3614:FT_Get_Var_Design_Coordinates +3615:FT_Get_Paint +3616:FT_Get_MM_Var +3617:DecodeImageData +3618:Cr_z_inflate_table +3619:Cr_z_inflateReset +3620:Cr_z_deflateEnd +3621:Cr_z_copy_with_crc +3622:Compute_Point_Displacement +3623:AAT::trak::sanitize\28hb_sanitize_context_t*\29\20const +3624:AAT::ltag::sanitize\28hb_sanitize_context_t*\29\20const +3625:AAT::feat::sanitize\28hb_sanitize_context_t*\29\20const +3626:AAT::StateTable::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +3627:AAT::Lookup>\2c\20OT::IntType\2c\20false>>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3628:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3629:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3630:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3631:zeroinfnan +3632:xyz_almost_equal\28skcms_Matrix3x3\20const&\2c\20skcms_Matrix3x3\20const&\29 +3633:wuffs_lzw__decoder__transform_io +3634:wuffs_gif__decoder__set_quirk_enabled +3635:wuffs_gif__decoder__restart_frame +3636:wuffs_gif__decoder__num_animation_loops +3637:wuffs_gif__decoder__frame_dirty_rect +3638:wuffs_gif__decoder__decode_up_to_id_part1 +3639:wuffs_gif__decoder__decode_frame +3640:write_vertex_position\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrShaderVar\20const&\2c\20SkMatrix\20const&\2c\20char\20const*\2c\20GrShaderVar*\2c\20GrResourceHandle*\29 +3641:write_passthrough_vertex_position\28GrGLSLVertexBuilder*\2c\20GrShaderVar\20const&\2c\20GrShaderVar*\29 +3642:wctomb +3643:wchar_t*\20std::__2::copy\5babi:v160004\5d\2c\20wchar_t*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20wchar_t*\29 +3644:walk_simple_edges\28SkEdge*\2c\20SkBlitter*\2c\20int\2c\20int\29 +3645:vsscanf +3646:void\20std::__2::vector>::__emplace_back_slow_path&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&>\28SkFont\20const&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\29 +3647:void\20std::__2::vector>::assign\28skia::textlayout::FontFeature*\2c\20skia::textlayout::FontFeature*\29 +3648:void\20std::__2::vector\2c\20std::__2::allocator>>::__emplace_back_slow_path>\28sk_sp&&\29 +3649:void\20std::__2::vector>::assign\28SkString*\2c\20SkString*\29 +3650:void\20std::__2::vector>::__emplace_back_slow_path\28char\20const*&\29 +3651:void\20std::__2::vector>::__push_back_slow_path\28SkSL::FunctionDebugInfo&&\29 +3652:void\20std::__2::vector>::__push_back_slow_path\28SkMeshSpecification::Varying&&\29 +3653:void\20std::__2::vector>::__push_back_slow_path\28SkMeshSpecification::Attribute&&\29 +3654:void\20std::__2::vector>::assign\28SkFontArguments::VariationPosition::Coordinate*\2c\20SkFontArguments::VariationPosition::Coordinate*\29 +3655:void\20std::__2::vector>::__emplace_back_slow_path\28SkRect&\2c\20int&\2c\20int&\29 +3656:void\20std::__2::allocator_traits>::construct\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\29 +3657:void\20std::__2::__tree_balance_after_insert\5babi:v160004\5d*>\28std::__2::__tree_node_base*\2c\20std::__2::__tree_node_base*\29 +3658:void\20std::__2::__stable_sort_move\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\29 +3659:void\20std::__2::__sift_up\5babi:v160004\5d*>>\28std::__2::__wrap_iter*>\2c\20std::__2::__wrap_iter*>\2c\20GrGeometryProcessor::ProgramImpl::emitTransformCode\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\29::$_0&\2c\20std::__2::iterator_traits*>>::difference_type\29 +3660:void\20std::__2::__optional_storage_base::__assign_from\5babi:v160004\5d\20const&>\28std::__2::__optional_copy_assign_base\20const&\29 +3661:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20char*&\2c\20char*&\29 +3662:void\20sorted_merge<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +3663:void\20sorted_merge<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +3664:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.1 +3665:void\20skgpu::ganesh::SurfaceFillContext::clear<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\20const&\29 +3666:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +3667:void\20emscripten::internal::MemberAccess>::setWire\28sk_sp\20SkRuntimeEffect::TracedShader::*\20const&\2c\20SkRuntimeEffect::TracedShader&\2c\20sk_sp*\29 +3668:void\20emscripten::internal::MemberAccess::setWire\28SimpleFontStyle\20SimpleStrutStyle::*\20const&\2c\20SimpleStrutStyle&\2c\20SimpleFontStyle*\29 +3669:void\20\28anonymous\20namespace\29::copyFT2LCD16\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\29 +3670:void\20SkTIntroSort\28int\2c\20int*\2c\20int\2c\20DistanceLessThan\20const&\29 +3671:void\20SkTIntroSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29>\28int\2c\20float*\2c\20int\2c\20void\20SkTQSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29\20const&\29 +3672:void\20SkTIntroSort\28int\2c\20SkString*\2c\20int\2c\20bool\20\20const\28&\29\28SkString\20const&\2c\20SkString\20const&\29\29 +3673:void\20SkTIntroSort\28int\2c\20SkOpRayHit**\2c\20int\2c\20bool\20\20const\28&\29\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29\29 +3674:void\20SkTIntroSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29>\28int\2c\20SkOpContour*\2c\20int\2c\20void\20SkTQSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29\20const&\29 +3675:void\20SkTIntroSort>\2c\20SkCodec::Result*\29::Entry\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::EntryLessThan>\28int\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::Entry*\2c\20int\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::EntryLessThan\20const&\29 +3676:void\20SkTIntroSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29>\28int\2c\20SkClosestRecord\20const*\2c\20int\2c\20void\20SkTQSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29\20const&\29 +3677:void\20SkTIntroSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29>\28int\2c\20SkAnalyticEdge*\2c\20int\2c\20void\20SkTQSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29\20const&\29 +3678:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\20const\28&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +3679:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\28*\20const&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +3680:void\20SkTIntroSort\28int\2c\20Edge*\2c\20int\2c\20EdgeLT\20const&\29 +3681:void\20GrGeometryProcessor::ProgramImpl::collectTransforms\28GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGLSLUniformHandler*\2c\20GrShaderType\2c\20GrShaderVar\20const&\2c\20GrShaderVar\20const&\2c\20GrPipeline\20const&\29::$_0::operator\28\29<$_0>\28$_0&\2c\20GrFragmentProcessor\20const&\2c\20bool\2c\20GrFragmentProcessor\20const*\2c\20int\2c\20GrGeometryProcessor::ProgramImpl::BaseCoord\29 +3682:void\20AAT::StateTableDriver::drive::driver_context_t>\28AAT::LigatureSubtable::driver_context_t*\2c\20AAT::hb_aat_apply_context_t*\29::'lambda0'\28\29::operator\28\29\28\29\20const +3683:virtual\20thunk\20to\20GrGLTexture::onSetLabel\28\29 +3684:virtual\20thunk\20to\20GrGLTexture::backendFormat\28\29\20const +3685:vfiprintf +3686:validate_texel_levels\28SkISize\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20GrCaps\20const*\29 +3687:utf8TextClose\28UText*\29 +3688:utf8TextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +3689:utext_openConstUnicodeString_74 +3690:utext_moveIndex32_74 +3691:utext_getPreviousNativeIndex_74 +3692:utext_extract_74 +3693:ures_resetIterator_74 +3694:ures_initStackObject_74 +3695:ures_getInt_74 +3696:ures_getIntVector_74 +3697:ures_copyResb_74 +3698:uprv_stricmp_74 +3699:uprv_getMaxValues_74 +3700:uprv_compareInvAscii_74 +3701:upropsvec_addPropertyStarts_74 +3702:uprops_getSource_74 +3703:uprops_addPropertyStarts_74 +3704:unsigned\20short\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3705:unsigned\20long\20long\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3706:unsigned\20int\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3707:unsigned\20int\20const*\20std::__2::lower_bound\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20unsigned\20long\20const&\29 +3708:unorm_getFCD16_74 +3709:ultag_isUnicodeLocaleKey_74 +3710:ultag_isScriptSubtag_74 +3711:ultag_isLanguageSubtag_74 +3712:ultag_isExtensionSubtags_74 +3713:ultag_getTKeyStart_74 +3714:ulocimp_toBcpType_74 +3715:uloc_toUnicodeLocaleType_74 +3716:uloc_toUnicodeLocaleKey_74 +3717:uloc_setKeywordValue_74 +3718:uloc_getTableStringWithFallback_74 +3719:uloc_getScript_74 +3720:uloc_getName_74 +3721:uloc_getLanguage_74 +3722:uloc_getDisplayName_74 +3723:uloc_getCountry_74 +3724:uloc_canonicalize_74 +3725:uenum_unext_74 +3726:udata_open_74 +3727:udata_checkCommonData_74 +3728:ucptrie_internalU8PrevIndex_74 +3729:uchar_addPropertyStarts_74 +3730:ucase_toFullUpper_74 +3731:ucase_toFullLower_74 +3732:ucase_toFullFolding_74 +3733:ucase_getTypeOrIgnorable_74 +3734:ucase_addPropertyStarts_74 +3735:ubidi_getPairedBracketType_74 +3736:ubidi_close_74 +3737:u_unescapeAt_74 +3738:u_strFindFirst_74 +3739:u_memrchr_74 +3740:u_memcmp_74 +3741:u_hasBinaryProperty_74 +3742:u_getPropertyEnum_74 +3743:tt_size_run_prep +3744:tt_size_done_bytecode +3745:tt_sbit_decoder_load_image +3746:tt_face_vary_cvt +3747:tt_face_palette_set +3748:tt_face_load_cvt +3749:tt_face_get_metrics +3750:tt_done_blend +3751:tt_delta_interpolate +3752:tt_cmap4_set_range +3753:tt_cmap4_next +3754:tt_cmap4_char_map_linear +3755:tt_cmap4_char_map_binary +3756:tt_cmap14_get_def_chars +3757:tt_cmap13_next +3758:tt_cmap12_next +3759:tt_cmap12_init +3760:tt_cmap12_char_map_binary +3761:tt_apply_mvar +3762:toParagraphStyle\28SimpleParagraphStyle\20const&\29 +3763:tanhf +3764:t1_lookup_glyph_by_stdcharcode_ps +3765:t1_builder_close_contour +3766:t1_builder_check_points +3767:strtoull +3768:strtoll_l +3769:strtol +3770:strspn +3771:store_int +3772:std::logic_error::~logic_error\28\29 +3773:std::logic_error::logic_error\28char\20const*\29 +3774:std::exception::exception\5babi:v160004\5d\28\29 +3775:std::__2::vector>::max_size\28\29\20const +3776:std::__2::vector>::__construct_at_end\28unsigned\20long\29 +3777:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +3778:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::locale::facet**\29 +3779:std::__2::vector>::__annotate_shrink\5babi:v160004\5d\28unsigned\20long\29\20const +3780:std::__2::vector>::__annotate_new\5babi:v160004\5d\28unsigned\20long\29\20const +3781:std::__2::vector>::__annotate_delete\5babi:v160004\5d\28\29\20const +3782:std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float&&\29 +3783:std::__2::vector>::__append\28unsigned\20long\29 +3784:std::__2::unique_ptr::operator=\5babi:v160004\5d\28std::__2::unique_ptr&&\29 +3785:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3786:std::__2::unique_ptr>\20SkSL::coalesce_vector\28std::__2::array\20const&\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +3787:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::nullptr_t\29 +3788:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda0'\28\29::operator\28\29\28\29\20const +3789:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda'\28\29::operator\28\29\28\29\20const +3790:std::__2::to_string\28unsigned\20long\29 +3791:std::__2::to_chars_result\20std::__2::__to_chars_itoa\5babi:v160004\5d\28char*\2c\20char*\2c\20unsigned\20int\2c\20std::__2::integral_constant\29 +3792:std::__2::time_put>>::~time_put\28\29 +3793:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3794:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3795:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3796:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3797:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3798:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3799:std::__2::reverse_iterator::operator++\5babi:v160004\5d\28\29 +3800:std::__2::reverse_iterator::operator*\5babi:v160004\5d\28\29\20const +3801:std::__2::priority_queue>\2c\20GrAATriangulator::EventComparator>::push\28GrAATriangulator::Event*\20const&\29 +3802:std::__2::pair\2c\20void*>*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__emplace_unique_key_args\2c\20std::__2::tuple<>>\28GrFragmentProcessor\20const*\20const&\2c\20std::__2::piecewise_construct_t\20const&\2c\20std::__2::tuple&&\2c\20std::__2::tuple<>&&\29 +3803:std::__2::pair*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__emplace_unique_key_args\28int\20const&\2c\20int\20const&\29 +3804:std::__2::pair\2c\20std::__2::allocator>>>::pair\28std::__2::pair\2c\20std::__2::allocator>>>&&\29 +3805:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28wchar_t\29 +3806:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28char\29 +3807:std::__2::optional&\20std::__2::optional::operator=\5babi:v160004\5d\28SkPath\20const&\29 +3808:std::__2::numpunct::~numpunct\28\29 +3809:std::__2::numpunct::~numpunct\28\29 +3810:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +3811:std::__2::num_get>>\20const&\20std::__2::use_facet\5babi:v160004\5d>>>\28std::__2::locale\20const&\29 +3812:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +3813:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3814:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3815:std::__2::moneypunct::do_negative_sign\28\29\20const +3816:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3817:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3818:std::__2::moneypunct::do_negative_sign\28\29\20const +3819:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20wchar_t*&\2c\20wchar_t*\29 +3820:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20char*&\2c\20char*\29 +3821:std::__2::locale::__imp::~__imp\28\29 +3822:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20std::__2::random_access_iterator_tag\29 +3823:std::__2::iterator_traits\2c\20std::__2::allocator>\20const*>::difference_type\20std::__2::distance\5babi:v160004\5d\2c\20std::__2::allocator>\20const*>\28std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +3824:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28char*\2c\20char*\29 +3825:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::random_access_iterator_tag\29 +3826:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +3827:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +3828:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +3829:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +3830:std::__2::ios_base::width\5babi:v160004\5d\28long\29 +3831:std::__2::ios_base::imbue\28std::__2::locale\20const&\29 +3832:std::__2::ios_base::__call_callbacks\28std::__2::ios_base::event\29 +3833:std::__2::hash::operator\28\29\28skia::textlayout::FontArguments\20const&\29\20const +3834:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28char&\2c\20char&\29 +3835:std::__2::enable_if<__is_cpp17_random_access_iterator::value\2c\20char*>::type\20std::__2::copy_n\5babi:v160004\5d\28char\20const*\2c\20unsigned\20long\2c\20char*\29 +3836:std::__2::enable_if<__is_cpp17_forward_iterator::value\2c\20void>::type\20std::__2::basic_string\2c\20std::__2::allocator>::__init\28wchar_t\20const*\2c\20wchar_t\20const*\29 +3837:std::__2::enable_if<__is_cpp17_forward_iterator::value\2c\20void>::type\20std::__2::basic_string\2c\20std::__2::allocator>::__init\28char*\2c\20char*\29 +3838:std::__2::deque>::__add_back_capacity\28\29 +3839:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28sktext::gpu::TextBlobRedrawCoordinator*\29\20const +3840:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28sktext::GlyphRunBuilder*\29\20const +3841:std::__2::ctype::~ctype\28\29 +3842:std::__2::codecvt::~codecvt\28\29 +3843:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3844:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char32_t\20const*\2c\20char32_t\20const*\2c\20char32_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3845:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +3846:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char32_t*\2c\20char32_t*\2c\20char32_t*&\29\20const +3847:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char16_t\20const*\2c\20char16_t\20const*\2c\20char16_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3848:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +3849:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char16_t*\2c\20char16_t*\2c\20char16_t*&\29\20const +3850:std::__2::char_traits::not_eof\28int\29 +3851:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28\29\20const +3852:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29 +3853:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20wchar_t\20const*\29 +3854:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +3855:std::__2::basic_string\2c\20std::__2::allocator>::resize\28unsigned\20long\2c\20char\29 +3856:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +3857:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20char\29 +3858:std::__2::basic_string\2c\20std::__2::allocator>::basic_string>\2c\20void>\28std::__2::basic_string_view>\20const&\29 +3859:std::__2::basic_string\2c\20std::__2::allocator>::__throw_out_of_range\5babi:v160004\5d\28\29\20const +3860:std::__2::basic_string\2c\20std::__2::allocator>::__null_terminate_at\5babi:v160004\5d\28char*\2c\20unsigned\20long\29 +3861:std::__2::basic_string\2c\20std::__2::allocator>&\20std::__2::basic_string\2c\20std::__2::allocator>::__assign_no_alias\28char\20const*\2c\20unsigned\20long\29 +3862:std::__2::basic_string\2c\20std::__2::allocator>&\20skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::emplace_back\28char\20const*&&\29 +3863:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +3864:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3865:std::__2::basic_streambuf>::sputc\5babi:v160004\5d\28char\29 +3866:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +3867:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3868:std::__2::basic_ostream>::~basic_ostream\28\29.2 +3869:std::__2::basic_ostream>::sentry::~sentry\28\29 +3870:std::__2::basic_ostream>::sentry::sentry\28std::__2::basic_ostream>&\29 +3871:std::__2::basic_ostream>::operator<<\28float\29 +3872:std::__2::basic_ostream>::flush\28\29 +3873:std::__2::basic_istream>::~basic_istream\28\29.2 +3874:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\2c\20unsigned\20long\29 +3875:std::__2::allocator::deallocate\5babi:v160004\5d\28wchar_t*\2c\20unsigned\20long\29 +3876:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3877:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3878:std::__2::__wrap_iter\20std::__2::vector>::insert\2c\200>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +3879:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +3880:std::__2::__time_put::__time_put\5babi:v160004\5d\28\29 +3881:std::__2::__time_put::__do_put\28char*\2c\20char*&\2c\20tm\20const*\2c\20char\2c\20char\29\20const +3882:std::__2::__split_buffer>::push_back\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +3883:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +3884:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +3885:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +3886:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +3887:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +3888:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20wchar_t&\2c\20wchar_t&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +3889:std::__2::__money_put::__format\28wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20unsigned\20int\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +3890:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20char&\2c\20char&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +3891:std::__2::__money_put::__format\28char*\2c\20char*&\2c\20char*&\2c\20unsigned\20int\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +3892:std::__2::__libcpp_sscanf_l\28char\20const*\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +3893:std::__2::__libcpp_mbrtowc_l\5babi:v160004\5d\28wchar_t*\2c\20char\20const*\2c\20unsigned\20long\2c\20__mbstate_t*\2c\20__locale_struct*\29 +3894:std::__2::__libcpp_mb_cur_max_l\5babi:v160004\5d\28__locale_struct*\29 +3895:std::__2::__libcpp_deallocate\5babi:v160004\5d\28void*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3896:std::__2::__libcpp_allocate\5babi:v160004\5d\28unsigned\20long\2c\20unsigned\20long\29 +3897:std::__2::__is_overaligned_for_new\5babi:v160004\5d\28unsigned\20long\29 +3898:std::__2::__function::__value_func::swap\5babi:v160004\5d\28std::__2::__function::__value_func&\29 +3899:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +3900:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +3901:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +3902:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::destroy\28\29 +3903:std::__2::__constexpr_wcslen\5babi:v160004\5d\28wchar_t\20const*\29 +3904:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::__sso_allocator&\2c\20unsigned\20long\29 +3905:start_input_pass +3906:sktext::gpu::can_use_direct\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +3907:sktext::gpu::build_distance_adjust_table\28float\29 +3908:sktext::gpu::VertexFiller::opMaskType\28\29\20const +3909:sktext::gpu::VertexFiller::isLCD\28\29\20const +3910:sktext::gpu::VertexFiller::fillVertexData\28int\2c\20int\2c\20SkSpan\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkIRect\2c\20void*\29\20const +3911:sktext::gpu::TextBlobRedrawCoordinator::internalRemove\28sktext::gpu::TextBlob*\29 +3912:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_2::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +3913:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_0::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +3914:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29 +3915:sktext::gpu::SubRunContainer::EstimateAllocSize\28sktext::GlyphRunList\20const&\29 +3916:sktext::gpu::SubRunAllocator::SubRunAllocator\28char*\2c\20int\2c\20int\29 +3917:sktext::gpu::StrikeCache::~StrikeCache\28\29 +3918:sktext::gpu::SlugImpl::Make\28SkMatrix\20const&\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\29 +3919:sktext::gpu::BagOfBytes::BagOfBytes\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29::$_1::operator\28\29\28\29\20const +3920:sktext::glyphrun_source_bounds\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkZip\2c\20SkSpan\29 +3921:sktext::SkStrikePromise::resetStrike\28\29 +3922:sktext::GlyphRunList::makeBlob\28\29\20const +3923:sktext::GlyphRunBuilder::blobToGlyphRunList\28SkTextBlob\20const&\2c\20SkPoint\29 +3924:skstd::to_string\28float\29 +3925:skpathutils::FillPathWithPaint\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkPath*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29 +3926:skjpeg_err_exit\28jpeg_common_struct*\29 +3927:skip_string +3928:skip_procedure +3929:skif::\28anonymous\20namespace\29::decompose_transform\28SkMatrix\20const&\2c\20SkPoint\2c\20SkMatrix*\2c\20SkMatrix*\29 +3930:skif::Mapping::adjustLayerSpace\28SkMatrix\20const&\29 +3931:skif::FilterResult::imageAndOffset\28skif::Context\20const&\29\20const +3932:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20SkBlender\20const*\29\20const +3933:skif::FilterResult::drawAnalyzedImage\28skif::Context\20const&\2c\20SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\2c\20SkBlender\20const*\29\20const +3934:skif::FilterResult::MakeFromImage\28skif::Context\20const&\2c\20sk_sp\2c\20SkRect\2c\20skif::ParameterSpace\2c\20SkSamplingOptions\20const&\29 +3935:skif::FilterResult::FilterResult\28sk_sp\2c\20skif::LayerSpace\20const&\29 +3936:skif::FilterResult::FilterResult\28\29 +3937:skif::Context::withNewSource\28skif::FilterResult\20const&\29\20const +3938:skia_private::THashTable::Traits>::set\28unsigned\20long\20long\29 +3939:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3940:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +3941:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeIfExists\28unsigned\20int\20const&\29 +3942:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair&&\29 +3943:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair&&\29 +3944:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair&&\29 +3945:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3946:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\29 +3947:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::find\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +3948:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3949:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +3950:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::resize\28int\29 +3951:skia_private::THashTable\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair&&\29 +3952:skia_private::THashTable\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair\2c\20SkIcuBreakIteratorCache::Request\2c\20skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkIcuBreakIteratorCache::Request::Hash>::Pair&&\2c\20unsigned\20int\29 +3953:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28skgpu::ganesh::SmallPathShapeData*&&\29 +3954:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +3955:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::uncheckedSet\28sk_sp&&\29 +3956:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::resize\28int\29 +3957:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::uncheckedSet\28\28anonymous\20namespace\29::CacheImpl::Value*&&\29 +3958:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::resize\28int\29 +3959:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +3960:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +3961:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +3962:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +3963:skia_private::THashTable::uncheckedSet\28SkResourceCache::Rec*&&\29 +3964:skia_private::THashTable::resize\28int\29 +3965:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::set\28SkLRUCache::Entry*\29 +3966:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::resize\28int\29 +3967:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::removeIfExists\28unsigned\20int\20const&\29 +3968:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::resize\28int\29 +3969:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::uncheckedSet\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*&&\29 +3970:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::resize\28int\29 +3971:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrGpuResource*&&\29 +3972:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +3973:skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::set\28unsigned\20int\2c\20sk_sp\20\28*\29\28SkReadBuffer&\29\29 +3974:skia_private::THashMap::set\28int\2c\20int\29 +3975:skia_private::THashMap>\2c\20SkGoodHash>::remove\28SkImageFilter\20const*\20const&\29 +3976:skia_private::TArray::push_back_raw\28int\29 +3977:skia_private::TArray::resize_back\28int\29 +3978:skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::checkRealloc\28int\2c\20double\29 +3979:skia_private::TArray::~TArray\28\29 +3980:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3981:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3982:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3983:skia_private::TArray::BufferFinishedMessage\2c\20false>::operator=\28skia_private::TArray::BufferFinishedMessage\2c\20false>&&\29 +3984:skia_private::TArray::BufferFinishedMessage\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +3985:skia_private::TArray::Plane\2c\20false>::move\28void*\29 +3986:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3987:skia_private::TArray\29::ReorderedArgument\2c\20false>::push_back\28SkSL::optimize_constructor_swizzle\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ConstructorCompound\20const&\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29::ReorderedArgument&&\29 +3988:skia_private::TArray::TArray\28skia_private::TArray&&\29 +3989:skia_private::TArray::swap\28skia_private::TArray&\29 +3990:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +3991:skia_private::TArray::push_back_raw\28int\29 +3992:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +3993:skia_private::TArray::push_back_raw\28int\29 +3994:skia_private::TArray::push_back_raw\28int\29 +3995:skia_private::TArray::move_back_n\28int\2c\20GrTextureProxy**\29 +3996:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3997:skia_private::TArray::push_back_n\28int\2c\20EllipticalRRectOp::RRect\20const*\29 +3998:skia_png_zfree +3999:skia_png_write_zTXt +4000:skia_png_write_tIME +4001:skia_png_write_tEXt +4002:skia_png_write_iTXt +4003:skia_png_set_write_fn +4004:skia_png_set_strip_16 +4005:skia_png_set_read_user_transform_fn +4006:skia_png_set_read_user_chunk_fn +4007:skia_png_set_option +4008:skia_png_set_mem_fn +4009:skia_png_set_expand_gray_1_2_4_to_8 +4010:skia_png_set_error_fn +4011:skia_png_set_compression_level +4012:skia_png_set_IHDR +4013:skia_png_read_filter_row +4014:skia_png_process_IDAT_data +4015:skia_png_icc_set_sRGB +4016:skia_png_icc_check_tag_table +4017:skia_png_icc_check_header +4018:skia_png_get_uint_31 +4019:skia_png_get_sBIT +4020:skia_png_get_rowbytes +4021:skia_png_get_error_ptr +4022:skia_png_get_IHDR +4023:skia_png_do_swap +4024:skia_png_do_read_transformations +4025:skia_png_do_read_interlace +4026:skia_png_do_packswap +4027:skia_png_do_invert +4028:skia_png_do_gray_to_rgb +4029:skia_png_do_expand +4030:skia_png_do_check_palette_indexes +4031:skia_png_do_bgr +4032:skia_png_destroy_png_struct +4033:skia_png_destroy_gamma_table +4034:skia_png_create_png_struct +4035:skia_png_create_info_struct +4036:skia_png_crc_read +4037:skia_png_colorspace_sync_info +4038:skia_png_check_IHDR +4039:skia::textlayout::TypefaceFontStyleSet::matchStyle\28SkFontStyle\20const&\29 +4040:skia::textlayout::TextStyle::matchOneAttribute\28skia::textlayout::StyleType\2c\20skia::textlayout::TextStyle\20const&\29\20const +4041:skia::textlayout::TextStyle::equals\28skia::textlayout::TextStyle\20const&\29\20const +4042:skia::textlayout::TextShadow::operator!=\28skia::textlayout::TextShadow\20const&\29\20const +4043:skia::textlayout::TextLine::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +4044:skia::textlayout::TextLine::iterateThroughClustersInGlyphsOrder\28bool\2c\20bool\2c\20std::__2::function\20const&\29\20const::$_0::operator\28\29\28unsigned\20long\20const&\29\20const +4045:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkRect\29::operator\28\29\28SkRect\29\20const +4046:skia::textlayout::TextLine::getMetrics\28\29\20const +4047:skia::textlayout::TextLine::ensureTextBlobCachePopulated\28\29 +4048:skia::textlayout::TextLine::buildTextBlob\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +4049:skia::textlayout::TextLine::TextLine\28skia::textlayout::ParagraphImpl*\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20skia::textlayout::InternalLineMetrics\29 +4050:skia::textlayout::TextLine&\20skia_private::TArray::emplace_back&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&>\28skia::textlayout::ParagraphImpl*&&\2c\20SkPoint&\2c\20SkPoint&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&\29 +4051:skia::textlayout::Run::shift\28skia::textlayout::Cluster\20const*\2c\20float\29 +4052:skia::textlayout::Run::newRunBuffer\28\29 +4053:skia::textlayout::Run::findLimitingGlyphClusters\28skia::textlayout::SkRange\29\20const +4054:skia::textlayout::Run::addSpacesAtTheEnd\28float\2c\20skia::textlayout::Cluster*\29 +4055:skia::textlayout::ParagraphStyle::effective_align\28\29\20const +4056:skia::textlayout::ParagraphStyle::ParagraphStyle\28\29 +4057:skia::textlayout::ParagraphPainter::DecorationStyle::DecorationStyle\28unsigned\20int\2c\20float\2c\20std::__2::optional\29 +4058:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29 +4059:skia::textlayout::ParagraphImpl::text\28skia::textlayout::SkRange\29 +4060:skia::textlayout::ParagraphImpl::resolveStrut\28\29 +4061:skia::textlayout::ParagraphImpl::getGlyphInfoAtUTF16Offset\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +4062:skia::textlayout::ParagraphImpl::getGlyphClusterAt\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +4063:skia::textlayout::ParagraphImpl::findPreviousGraphemeBoundary\28unsigned\20long\29\20const +4064:skia::textlayout::ParagraphImpl::computeEmptyMetrics\28\29 +4065:skia::textlayout::ParagraphImpl::clusters\28skia::textlayout::SkRange\29 +4066:skia::textlayout::ParagraphImpl::block\28unsigned\20long\29 +4067:skia::textlayout::ParagraphCacheValue::~ParagraphCacheValue\28\29 +4068:skia::textlayout::ParagraphCacheKey::ParagraphCacheKey\28skia::textlayout::ParagraphImpl\20const*\29 +4069:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29 +4070:skia::textlayout::ParagraphBuilderImpl::make\28skia::textlayout::ParagraphStyle\20const&\2c\20sk_sp\2c\20sk_sp\29 +4071:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\2c\20bool\29 +4072:skia::textlayout::ParagraphBuilderImpl::ParagraphBuilderImpl\28skia::textlayout::ParagraphStyle\20const&\2c\20sk_sp\2c\20sk_sp\29 +4073:skia::textlayout::Paragraph::~Paragraph\28\29 +4074:skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29 +4075:skia::textlayout::FontCollection::~FontCollection\28\29 +4076:skia::textlayout::FontCollection::matchTypeface\28SkString\20const&\2c\20SkFontStyle\29 +4077:skia::textlayout::FontCollection::defaultFallback\28int\2c\20SkFontStyle\2c\20SkString\20const&\29 +4078:skia::textlayout::FontCollection::FamilyKey::Hasher::operator\28\29\28skia::textlayout::FontCollection::FamilyKey\20const&\29\20const +4079:skgpu::tess::\28anonymous\20namespace\29::write_curve_index_buffer_base_index\28skgpu::VertexWriter\2c\20unsigned\20long\2c\20unsigned\20short\29 +4080:skgpu::tess::StrokeIterator::next\28\29 +4081:skgpu::tess::StrokeIterator::finishOpenContour\28\29 +4082:skgpu::tess::PreChopPathCurves\28float\2c\20SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +4083:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29 +4084:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::SmallPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20GrUserStencilSettings\20const*\29 +4085:skgpu::ganesh::\28anonymous\20namespace\29::ChopPathIfNecessary\28SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkStrokeRec\20const&\2c\20SkPath*\29 +4086:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::recordDraw\28GrMeshDrawTarget*\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20int\2c\20unsigned\20short*\29 +4087:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::AAFlatteningConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20float\2c\20SkStrokeRec::Style\2c\20SkPaint::Join\2c\20float\2c\20GrUserStencilSettings\20const*\29 +4088:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::AAConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrUserStencilSettings\20const*\29 +4089:skgpu::ganesh::TextureOp::Make\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20SkBlendMode\2c\20GrAAType\2c\20DrawQuad*\2c\20SkRect\20const*\29 +4090:skgpu::ganesh::TessellationPathRenderer::IsSupported\28GrCaps\20const&\29 +4091:skgpu::ganesh::SurfaceFillContext::fillRectToRectWithFP\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +4092:skgpu::ganesh::SurfaceFillContext::blitTexture\28GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\29 +4093:skgpu::ganesh::SurfaceFillContext::addOp\28std::__2::unique_ptr>\29 +4094:skgpu::ganesh::SurfaceFillContext::addDrawOp\28std::__2::unique_ptr>\29 +4095:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29.1 +4096:skgpu::ganesh::SurfaceDrawContext::drawVertices\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20sk_sp\2c\20GrPrimitiveType*\2c\20bool\29 +4097:skgpu::ganesh::SurfaceDrawContext::drawTexturedQuad\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkBlendMode\2c\20DrawQuad*\2c\20SkRect\20const*\29 +4098:skgpu::ganesh::SurfaceDrawContext::drawTexture\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkBlendMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +4099:skgpu::ganesh::SurfaceDrawContext::drawStrokedLine\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPoint\20const*\2c\20SkStrokeRec\20const&\29 +4100:skgpu::ganesh::SurfaceDrawContext::drawRegion\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrStyle\20const&\2c\20GrUserStencilSettings\20const*\29 +4101:skgpu::ganesh::SurfaceDrawContext::drawOval\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\29 +4102:skgpu::ganesh::SurfaceDrawContext::SurfaceDrawContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4103:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29 +4104:skgpu::ganesh::SurfaceContext::writePixels\28GrDirectContext*\2c\20GrCPixmap\2c\20SkIPoint\29 +4105:skgpu::ganesh::SurfaceContext::copy\28sk_sp\2c\20SkIRect\2c\20SkIPoint\29 +4106:skgpu::ganesh::SurfaceContext::copyScaled\28sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20SkFilterMode\29 +4107:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +4108:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::FinishContext::~FinishContext\28\29 +4109:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +4110:skgpu::ganesh::SurfaceContext::SurfaceContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +4111:skgpu::ganesh::StrokeTessellator::draw\28GrOpFlushState*\29\20const +4112:skgpu::ganesh::StrokeTessellateOp::prePrepareTessellator\28GrTessellationShader::ProgramArgs&&\2c\20GrAppliedClip&&\29 +4113:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::NonAAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrSimpleMeshDrawOpHelper::InputFlags\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\2c\20GrAAType\29 +4114:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::AAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::RectInfo\20const&\2c\20bool\29 +4115:skgpu::ganesh::StencilMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkRegion::Op\2c\20GrAA\29 +4116:skgpu::ganesh::SoftwarePathRenderer::DrawAroundInvPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29 +4117:skgpu::ganesh::SmallPathAtlasMgr::findOrCreate\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +4118:skgpu::ganesh::SmallPathAtlasMgr::deleteCacheEntry\28skgpu::ganesh::SmallPathShapeData*\29 +4119:skgpu::ganesh::ShadowRRectOp::Make\28GrRecordingContext*\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20float\2c\20float\29 +4120:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::RegionOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +4121:skgpu::ganesh::RasterAsView\28GrRecordingContext*\2c\20SkImage_Raster\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +4122:skgpu::ganesh::QuadPerEdgeAA::Tessellator::append\28GrQuad*\2c\20GrQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\29 +4123:skgpu::ganesh::QuadPerEdgeAA::Tessellator::Tessellator\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29 +4124:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::initializeAttrs\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29 +4125:skgpu::ganesh::QuadPerEdgeAA::IssueDraw\28GrCaps\20const&\2c\20GrOpsRenderPass*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +4126:skgpu::ganesh::QuadPerEdgeAA::GetIndexBuffer\28GrMeshDrawTarget*\2c\20skgpu::ganesh::QuadPerEdgeAA::IndexBufferOption\29 +4127:skgpu::ganesh::PathTessellateOp::usesMSAA\28\29\20const +4128:skgpu::ganesh::PathTessellateOp::prepareTessellator\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +4129:skgpu::ganesh::PathTessellateOp::PathTessellateOp\28SkArenaAlloc*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\2c\20SkRect\20const&\29 +4130:skgpu::ganesh::PathStencilCoverOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +4131:skgpu::ganesh::PathInnerTriangulateOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +4132:skgpu::ganesh::PathCurveTessellator::~PathCurveTessellator\28\29 +4133:skgpu::ganesh::PathCurveTessellator::prepareWithTriangles\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20GrTriangulator::BreadcrumbTriangleList*\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +4134:skgpu::ganesh::OpsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +4135:skgpu::ganesh::OpsTask::onExecute\28GrOpFlushState*\29 +4136:skgpu::ganesh::OpsTask::addOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +4137:skgpu::ganesh::OpsTask::addDrawOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +4138:skgpu::ganesh::OpsTask::OpsTask\28GrDrawingManager*\2c\20GrSurfaceProxyView\2c\20GrAuditTrail*\2c\20sk_sp\29 +4139:skgpu::ganesh::OpsTask::OpChain::tryConcat\28skgpu::ganesh::OpsTask::OpChain::List*\2c\20GrProcessorSet::Analysis\2c\20GrDstProxyView\20const&\2c\20GrAppliedClip\20const*\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrAuditTrail*\29 +4140:skgpu::ganesh::MakeFragmentProcessorFromView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +4141:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29 +4142:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29 +4143:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::NonAALatticeOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20std::__2::unique_ptr>\2c\20SkRect\20const&\29 +4144:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20GrAA\29 +4145:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::FillRRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29 +4146:skgpu::ganesh::DrawAtlasPathOp::prepareProgram\28GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +4147:skgpu::ganesh::Device::replaceBackingProxy\28SkSurface::ContentChangeMode\2c\20sk_sp\2c\20GrColorType\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +4148:skgpu::ganesh::Device::makeSpecial\28SkBitmap\20const&\29 +4149:skgpu::ganesh::Device::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +4150:skgpu::ganesh::Device::drawEdgeAAImage\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20SkTileMode\29 +4151:skgpu::ganesh::Device::discard\28\29 +4152:skgpu::ganesh::Device::android_utils_clipAsRgn\28SkRegion*\29\20const +4153:skgpu::ganesh::DefaultPathRenderer::internalDrawPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20bool\29 +4154:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +4155:skgpu::ganesh::CopyView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\2c\20std::__2::basic_string_view>\29 +4156:skgpu::ganesh::ClipStack::clipPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrAA\2c\20SkClipOp\29 +4157:skgpu::ganesh::ClipStack::SaveRecord::replaceWithElement\28skgpu::ganesh::ClipStack::RawElement&&\2c\20SkTBlockList*\29 +4158:skgpu::ganesh::ClipStack::SaveRecord::addElement\28skgpu::ganesh::ClipStack::RawElement&&\2c\20SkTBlockList*\29 +4159:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::Draw\20const&\29\20const +4160:skgpu::ganesh::AtlasTextOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +4161:skgpu::ganesh::AtlasTextOp::AtlasTextOp\28skgpu::ganesh::AtlasTextOp::MaskType\2c\20bool\2c\20int\2c\20SkRect\2c\20skgpu::ganesh::AtlasTextOp::Geometry*\2c\20GrColorInfo\20const&\2c\20GrPaint&&\29 +4162:skgpu::ganesh::AtlasRenderTask::stencilAtlasRect\28GrRecordingContext*\2c\20SkRect\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrUserStencilSettings\20const*\29 +4163:skgpu::ganesh::AtlasRenderTask::addPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIPoint\2c\20int\2c\20int\2c\20bool\2c\20SkIPoint16*\29 +4164:skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +4165:skgpu::ganesh::AtlasPathRenderer::addPathToAtlas\28GrRecordingContext*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRect\20const&\2c\20SkIRect*\2c\20SkIPoint16*\2c\20bool*\2c\20std::__2::function\20const&\29 +4166:skgpu::ganesh::AsFragmentProcessor\28GrRecordingContext*\2c\20SkImage\20const*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +4167:skgpu::TiledTextureUtils::OptimizeSampleArea\28SkISize\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkRect*\2c\20SkRect*\2c\20SkMatrix*\29 +4168:skgpu::TClientMappedBufferManager::process\28\29 +4169:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29 +4170:skgpu::RectanizerSkyline::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +4171:skgpu::Plot::Plot\28int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20SkColorType\2c\20unsigned\20long\29 +4172:skgpu::GetReducedBlendModeInfo\28SkBlendMode\29 +4173:skgpu::CreateIntegralTable\28int\29 +4174:skgpu::BlendFuncName\28SkBlendMode\29 +4175:skcms_private::baseline::exec_stages\28skcms_private::Op\20const*\2c\20void\20const**\2c\20char\20const*\2c\20char*\2c\20int\29 +4176:skcms_private::baseline::clut\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\29 +4177:skcms_ApproximatelyEqualProfiles +4178:sk_sp\20sk_make_sp\2c\20SkSurfaceProps\20const*&>\28SkImageInfo\20const&\2c\20sk_sp&&\2c\20SkSurfaceProps\20const*&\29 +4179:sk_sp*\20emscripten::internal::MemberAccess>::getWire\28sk_sp\20SkRuntimeEffect::TracedShader::*\20const&\2c\20SkRuntimeEffect::TracedShader\20const&\29 +4180:sk_fopen\28char\20const*\2c\20SkFILE_Flags\29 +4181:sk_fgetsize\28_IO_FILE*\29 +4182:sk_fclose\28_IO_FILE*\29 +4183:sk_error_fn\28png_struct_def*\2c\20char\20const*\29 +4184:setup_masks_arabic_plan\28arabic_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_script_t\29 +4185:set_khr_debug_label\28GrGLGpu*\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +4186:setThrew +4187:setCommonICUData\28UDataMemory*\2c\20signed\20char\2c\20UErrorCode*\29 +4188:serialize_image\28SkImage\20const*\2c\20SkSerialProcs\29 +4189:send_tree +4190:sect_with_vertical\28SkPoint\20const*\2c\20float\29 +4191:sect_with_horizontal\28SkPoint\20const*\2c\20float\29 +4192:scanexp +4193:scalbnl +4194:rewind_if_necessary\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +4195:resolveImplicitLevels\28UBiDi*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +4196:reset_and_decode_image_config\28wuffs_gif__decoder__struct*\2c\20wuffs_base__image_config__struct*\2c\20wuffs_base__io_buffer__struct*\2c\20SkStream*\29 +4197:res_unload_74 +4198:res_countArrayItems_74 +4199:renderbuffer_storage_msaa\28GrGLGpu*\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +4200:recursive_edge_intersect\28GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20SkPoint*\2c\20double*\2c\20double*\29 +4201:reclassify_vertex\28TriangulationVertex*\2c\20SkPoint\20const*\2c\20int\2c\20ReflexHash*\2c\20SkTInternalLList*\29 +4202:quad_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4203:quad_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4204:quad_in_line\28SkPoint\20const*\29 +4205:psh_hint_table_init +4206:psh_hint_table_find_strong_points +4207:psh_hint_table_activate_mask +4208:psh_hint_align +4209:psh_glyph_interpolate_strong_points +4210:psh_glyph_interpolate_other_points +4211:psh_glyph_interpolate_normal_points +4212:psh_blues_set_zones +4213:ps_parser_load_field +4214:ps_dimension_end +4215:ps_dimension_done +4216:ps_builder_start_point +4217:printf_core +4218:premultiply_argb_as_rgba\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4219:premultiply_argb_as_bgra\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4220:position_cluster\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29 +4221:portable::uniform_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4222:portable::set_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4223:portable::memset64\28unsigned\20long\20long*\2c\20unsigned\20long\20long\2c\20int\29 +4224:portable::copy_from_indirect_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4225:portable::copy_2_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4226:portable::check_decal_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4227:pop_arg +4228:pntz +4229:png_inflate +4230:png_deflate_claim +4231:png_decompress_chunk +4232:png_cache_unknown_chunk +4233:operator==\28SkPaint\20const&\2c\20SkPaint\20const&\29 +4234:open_face +4235:openCommonData\28char\20const*\2c\20int\2c\20UErrorCode*\29 +4236:offsetTOCEntryCount\28UDataMemory\20const*\29 +4237:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +4238:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4239:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4240:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +4241:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::glyphs\28\29\20const +4242:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4243:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +4244:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +4245:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::size\28\29\20const +4246:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +4247:nearly_equal\28double\2c\20double\29 +4248:mbsrtowcs +4249:map_quad_general\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20SkMatrix\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +4250:make_tiled_gradient\28GrFPArgs\20const&\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +4251:make_premul_effect\28std::__2::unique_ptr>\29 +4252:make_dual_interval_colorizer\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20float\29 +4253:make_clamped_gradient\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20bool\29 +4254:make_bmp_proxy\28GrProxyProvider*\2c\20SkBitmap\20const&\2c\20GrColorType\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +4255:longest_match +4256:long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4257:long\20long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4258:long\20double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +4259:load_post_names +4260:line_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4261:line_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4262:legalfunc$_embind_register_bigint +4263:jpeg_open_backing_store +4264:jpeg_destroy +4265:jpeg_alloc_huff_table +4266:jinit_upsampler +4267:isSpecialTypeCodepoints\28char\20const*\29 +4268:internal_memalign +4269:int\20icu_74::\28anonymous\20namespace\29::MixedBlocks::findBlock\28unsigned\20short\20const*\2c\20unsigned\20short\20const*\2c\20int\29\20const +4270:int\20icu_74::\28anonymous\20namespace\29::MixedBlocks::findBlock\28unsigned\20short\20const*\2c\20unsigned\20int\20const*\2c\20int\29\20const +4271:insertRootBundle\28UResourceDataEntry*&\2c\20UErrorCode*\29 +4272:initial_reordering_consonant_syllable\28hb_ot_shape_plan_t\20const*\2c\20hb_face_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +4273:init_error_limit +4274:init_block +4275:image_filter_color_type\28SkColorInfo\20const&\29 +4276:icu_74::set32x64Bits\28unsigned\20int*\2c\20int\2c\20int\29 +4277:icu_74::getExtName\28unsigned\20int\2c\20char*\2c\20unsigned\20short\29 +4278:icu_74::compareUnicodeString\28UElement\2c\20UElement\29 +4279:icu_74::cloneUnicodeString\28UElement*\2c\20UElement*\29 +4280:icu_74::\28anonymous\20namespace\29::mungeCharName\28char*\2c\20char\20const*\2c\20int\29 +4281:icu_74::\28anonymous\20namespace\29::MutableCodePointTrie::getDataBlock\28int\29 +4282:icu_74::XLikelySubtagsData::readLSREncodedStrings\28icu_74::ResourceTable\20const&\2c\20char\20const*\2c\20icu_74::ResourceValue&\2c\20icu_74::ResourceArray\20const&\2c\20icu_74::LocalMemory&\2c\20int&\2c\20UErrorCode&\29 +4283:icu_74::XLikelySubtags::~XLikelySubtags\28\29 +4284:icu_74::XLikelySubtags::initLikelySubtags\28UErrorCode&\29 +4285:icu_74::UnicodeString::setCharAt\28int\2c\20char16_t\29 +4286:icu_74::UnicodeString::indexOf\28char16_t\20const*\2c\20int\2c\20int\2c\20int\2c\20int\29\20const +4287:icu_74::UnicodeString::doReverse\28int\2c\20int\29 +4288:icu_74::UnicodeSetStringSpan::span\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4289:icu_74::UnicodeSetStringSpan::spanUTF8\28unsigned\20char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4290:icu_74::UnicodeSetStringSpan::spanBack\28char16_t\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4291:icu_74::UnicodeSetStringSpan::spanBackUTF8\28unsigned\20char\20const*\2c\20int\2c\20USetSpanCondition\29\20const +4292:icu_74::UnicodeSet::set\28int\2c\20int\29 +4293:icu_74::UnicodeSet::setPattern\28char16_t\20const*\2c\20int\29 +4294:icu_74::UnicodeSet::remove\28int\29 +4295:icu_74::UnicodeSet::removeAll\28icu_74::UnicodeSet\20const&\29 +4296:icu_74::UnicodeSet::matches\28icu_74::Replaceable\20const&\2c\20int&\2c\20int\2c\20signed\20char\29 +4297:icu_74::UnicodeSet::matchesIndexValue\28unsigned\20char\29\20const +4298:icu_74::UnicodeSet::clone\28\29\20const +4299:icu_74::UnicodeSet::cloneAsThawed\28\29\20const +4300:icu_74::UnicodeSet::applyPattern\28icu_74::RuleCharacterIterator&\2c\20icu_74::SymbolTable\20const*\2c\20icu_74::UnicodeString&\2c\20unsigned\20int\2c\20icu_74::UnicodeSet&\20\28icu_74::UnicodeSet::*\29\28int\29\2c\20int\2c\20UErrorCode&\29 +4301:icu_74::UnicodeSet::applyPatternIgnoreSpace\28icu_74::UnicodeString\20const&\2c\20icu_74::ParsePosition&\2c\20icu_74::SymbolTable\20const*\2c\20UErrorCode&\29 +4302:icu_74::UnicodeSet::add\28icu_74::UnicodeString\20const&\29 +4303:icu_74::UnicodeSet::addAll\28icu_74::UnicodeSet\20const&\29 +4304:icu_74::UnicodeSet::_generatePattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +4305:icu_74::UnicodeSet::UnicodeSet\28int\2c\20int\29 +4306:icu_74::UVector::sortedInsert\28void*\2c\20int\20\28*\29\28UElement\2c\20UElement\29\2c\20UErrorCode&\29 +4307:icu_74::UVector::setElementAt\28void*\2c\20int\29 +4308:icu_74::UVector::assign\28icu_74::UVector\20const&\2c\20void\20\28*\29\28UElement*\2c\20UElement*\29\2c\20UErrorCode&\29 +4309:icu_74::UVector::UVector\28UErrorCode&\29 +4310:icu_74::UStringSet::~UStringSet\28\29.1 +4311:icu_74::UStringSet::~UStringSet\28\29 +4312:icu_74::UDataPathIterator::UDataPathIterator\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +4313:icu_74::UCharsTrieBuilder::build\28UStringTrieBuildOption\2c\20UErrorCode&\29 +4314:icu_74::UCharsTrieBuilder::UCharsTrieBuilder\28UErrorCode&\29 +4315:icu_74::UCharsTrie::nextForCodePoint\28int\29 +4316:icu_74::UCharsTrie::Iterator::next\28UErrorCode&\29 +4317:icu_74::UCharsTrie::Iterator::branchNext\28char16_t\20const*\2c\20int\2c\20UErrorCode&\29 +4318:icu_74::UCharCharacterIterator::setText\28icu_74::ConstChar16Ptr\2c\20int\29 +4319:icu_74::StringTrieBuilder::writeBranchSubNode\28int\2c\20int\2c\20int\2c\20int\29 +4320:icu_74::StringTrieBuilder::LinearMatchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +4321:icu_74::StringTrieBuilder::LinearMatchNode::markRightEdgesFirst\28int\29 +4322:icu_74::RuleCharacterIterator::skipIgnored\28int\29 +4323:icu_74::RuleBasedBreakIterator::~RuleBasedBreakIterator\28\29 +4324:icu_74::RuleBasedBreakIterator::handleSafePrevious\28int\29 +4325:icu_74::RuleBasedBreakIterator::RuleBasedBreakIterator\28UErrorCode*\29 +4326:icu_74::RuleBasedBreakIterator::DictionaryCache::~DictionaryCache\28\29 +4327:icu_74::RuleBasedBreakIterator::DictionaryCache::populateDictionary\28int\2c\20int\2c\20int\2c\20int\29 +4328:icu_74::RuleBasedBreakIterator::BreakCache::seek\28int\29 +4329:icu_74::RuleBasedBreakIterator::BreakCache::current\28\29 +4330:icu_74::ResourceDataValue::getIntVector\28int&\2c\20UErrorCode&\29\20const +4331:icu_74::ReorderingBuffer::equals\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\29\20const +4332:icu_74::RBBIDataWrapper::removeReference\28\29 +4333:icu_74::PropNameData::getPropertyOrValueEnum\28int\2c\20char\20const*\29 +4334:icu_74::Normalizer2WithImpl::normalizeSecondAndAppend\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29\20const +4335:icu_74::Normalizer2WithImpl::isNormalized\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +4336:icu_74::Normalizer2Impl::recompose\28icu_74::ReorderingBuffer&\2c\20int\2c\20signed\20char\29\20const +4337:icu_74::Normalizer2Impl::init\28int\20const*\2c\20UCPTrie\20const*\2c\20unsigned\20short\20const*\2c\20unsigned\20char\20const*\29 +4338:icu_74::Normalizer2Impl::findNextFCDBoundary\28char16_t\20const*\2c\20char16_t\20const*\29\20const +4339:icu_74::Normalizer2Impl::decomposeUTF8\28unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::ByteSink*\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +4340:icu_74::Normalizer2Impl::composeUTF8\28unsigned\20int\2c\20signed\20char\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20icu_74::ByteSink*\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +4341:icu_74::Normalizer2Impl::composeQuickCheck\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20UNormalizationCheckResult*\29\20const +4342:icu_74::Normalizer2Factory::getNFKC_CFImpl\28UErrorCode&\29 +4343:icu_74::Normalizer2Factory::getInstance\28UNormalizationMode\2c\20UErrorCode&\29 +4344:icu_74::Normalizer2::getNFCInstance\28UErrorCode&\29 +4345:icu_74::NoopNormalizer2::normalizeSecondAndAppend\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +4346:icu_74::NoopNormalizer2::isNormalized\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +4347:icu_74::MlBreakEngine::~MlBreakEngine\28\29 +4348:icu_74::LocaleUtility::canonicalLocaleString\28icu_74::UnicodeString\20const*\2c\20icu_74::UnicodeString&\29 +4349:icu_74::LocaleKeyFactory::LocaleKeyFactory\28int\29 +4350:icu_74::LocaleKey::LocaleKey\28icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString\20const*\2c\20int\29 +4351:icu_74::LocaleBuilder::build\28UErrorCode&\29 +4352:icu_74::LocaleBuilder::LocaleBuilder\28\29 +4353:icu_74::LocaleBased::setLocaleIDs\28char\20const*\2c\20char\20const*\29 +4354:icu_74::Locale::setKeywordValue\28char\20const*\2c\20char\20const*\2c\20UErrorCode&\29 +4355:icu_74::Locale::operator=\28icu_74::Locale&&\29 +4356:icu_74::Locale::operator==\28icu_74::Locale\20const&\29\20const +4357:icu_74::Locale::createKeywords\28UErrorCode&\29\20const +4358:icu_74::Locale::createFromName\28char\20const*\29 +4359:icu_74::LaoBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +4360:icu_74::LSR::operator=\28icu_74::LSR&&\29 +4361:icu_74::InitCanonIterData::doInit\28icu_74::Normalizer2Impl*\2c\20UErrorCode&\29 +4362:icu_74::ICU_Utility::shouldAlwaysBeEscaped\28int\29 +4363:icu_74::ICU_Utility::isUnprintable\28int\29 +4364:icu_74::ICU_Utility::escape\28icu_74::UnicodeString&\2c\20int\29 +4365:icu_74::ICUServiceKey::parseSuffix\28icu_74::UnicodeString&\29 +4366:icu_74::ICUService::~ICUService\28\29 +4367:icu_74::ICUService::getVisibleIDs\28icu_74::UVector&\2c\20UErrorCode&\29\20const +4368:icu_74::ICUService::clearServiceCache\28\29 +4369:icu_74::ICUNotifier::~ICUNotifier\28\29 +4370:icu_74::Hashtable::put\28icu_74::UnicodeString\20const&\2c\20void*\2c\20UErrorCode&\29 +4371:icu_74::DecomposeNormalizer2::hasBoundaryBefore\28int\29\20const +4372:icu_74::DecomposeNormalizer2::hasBoundaryAfter\28int\29\20const +4373:icu_74::CjkBreakEngine::~CjkBreakEngine\28\29 +4374:icu_74::CjkBreakEngine::CjkBreakEngine\28icu_74::DictionaryMatcher*\2c\20icu_74::LanguageType\2c\20UErrorCode&\29 +4375:icu_74::CharString::truncate\28int\29 +4376:icu_74::CharString::cloneData\28UErrorCode&\29\20const +4377:icu_74::CharString*\20icu_74::MemoryPool::create\28char\20const*&\2c\20UErrorCode&\29 +4378:icu_74::CharString*\20icu_74::MemoryPool::create<>\28\29 +4379:icu_74::CanonIterData::addToStartSet\28int\2c\20int\2c\20UErrorCode&\29 +4380:icu_74::BytesTrie::branchNext\28unsigned\20char\20const*\2c\20int\2c\20int\29 +4381:icu_74::ByteSinkUtil::appendCodePoint\28int\2c\20int\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\29 +4382:icu_74::BreakIterator::getLocale\28ULocDataLocaleType\2c\20UErrorCode&\29\20const +4383:icu_74::BreakIterator::getLocaleID\28ULocDataLocaleType\2c\20UErrorCode&\29\20const +4384:icu_74::BreakIterator::createCharacterInstance\28icu_74::Locale\20const&\2c\20UErrorCode&\29 +4385:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +4386:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +4387:hb_utf8_t::next\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20int*\2c\20unsigned\20int\29 +4388:hb_unicode_script +4389:hb_unicode_mirroring_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +4390:hb_unicode_funcs_t::is_default_ignorable\28unsigned\20int\29 +4391:hb_shape_plan_key_t::init\28bool\2c\20hb_face_t*\2c\20hb_segment_properties_t\20const*\2c\20hb_feature_t\20const*\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20char\20const*\20const*\29 +4392:hb_shape_plan_create2 +4393:hb_serialize_context_t::fini\28\29 +4394:hb_sanitize_context_t::return_t\20AAT::ChainSubtable::dispatch\28hb_sanitize_context_t*\29\20const +4395:hb_sanitize_context_t::return_t\20AAT::ChainSubtable::dispatch\28hb_sanitize_context_t*\29\20const +4396:hb_paint_extents_paint_linear_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +4397:hb_paint_extents_get_funcs\28\29 +4398:hb_paint_extents_context_t::hb_paint_extents_context_t\28\29 +4399:hb_ot_map_t::fini\28\29 +4400:hb_ot_layout_table_select_script +4401:hb_ot_layout_table_get_lookup_count +4402:hb_ot_layout_table_find_feature_variations +4403:hb_ot_layout_table_find_feature\28hb_face_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +4404:hb_ot_layout_script_select_language +4405:hb_ot_layout_language_get_required_feature +4406:hb_ot_layout_language_find_feature +4407:hb_ot_layout_has_substitution +4408:hb_ot_layout_feature_with_variations_get_lookups +4409:hb_ot_layout_collect_features_map +4410:hb_ot_font_set_funcs +4411:hb_lazy_loader_t\2c\20hb_face_t\2c\2038u\2c\20OT::sbix_accelerator_t>::create\28hb_face_t*\29 +4412:hb_lazy_loader_t\2c\20hb_face_t\2c\207u\2c\20OT::post_accelerator_t>::get\28\29\20const +4413:hb_lazy_loader_t\2c\20hb_face_t\2c\2019u\2c\20hb_blob_t>::get\28\29\20const +4414:hb_lazy_loader_t\2c\20hb_face_t\2c\2035u\2c\20hb_blob_t>::get\28\29\20const +4415:hb_lazy_loader_t\2c\20hb_face_t\2c\2037u\2c\20OT::CBDT_accelerator_t>::get\28\29\20const +4416:hb_lazy_loader_t\2c\20hb_face_t\2c\2032u\2c\20hb_blob_t>::get\28\29\20const +4417:hb_lazy_loader_t\2c\20hb_face_t\2c\2028u\2c\20hb_blob_t>::get\28\29\20const +4418:hb_lazy_loader_t\2c\20hb_face_t\2c\2029u\2c\20hb_blob_t>::get\28\29\20const +4419:hb_language_matches +4420:hb_indic_get_categories\28unsigned\20int\29 +4421:hb_hashmap_t::fetch_item\28hb_serialize_context_t::object_t\20const*\20const&\2c\20unsigned\20int\29\20const +4422:hb_hashmap_t::alloc\28unsigned\20int\29 +4423:hb_font_t::get_glyph_v_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +4424:hb_font_set_variations +4425:hb_font_set_funcs +4426:hb_font_get_variation_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +4427:hb_font_get_glyph_h_advance +4428:hb_font_get_glyph_extents +4429:hb_font_get_font_h_extents_nil\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +4430:hb_font_funcs_set_variation_glyph_func +4431:hb_font_funcs_set_nominal_glyphs_func +4432:hb_font_funcs_set_nominal_glyph_func +4433:hb_font_funcs_set_glyph_h_advances_func +4434:hb_font_funcs_set_glyph_extents_func +4435:hb_font_funcs_create +4436:hb_draw_move_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4437:hb_draw_funcs_set_quadratic_to_func +4438:hb_draw_funcs_set_move_to_func +4439:hb_draw_funcs_set_line_to_func +4440:hb_draw_funcs_set_cubic_to_func +4441:hb_draw_funcs_destroy +4442:hb_draw_funcs_create +4443:hb_draw_extents_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4444:hb_buffer_t::sort\28unsigned\20int\2c\20unsigned\20int\2c\20int\20\28*\29\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29\29 +4445:hb_buffer_t::safe_to_insert_tatweel\28unsigned\20int\2c\20unsigned\20int\29 +4446:hb_buffer_t::output_info\28hb_glyph_info_t\20const&\29 +4447:hb_buffer_t::message_impl\28hb_font_t*\2c\20char\20const*\2c\20void*\29 +4448:hb_buffer_t::leave\28\29 +4449:hb_buffer_t::delete_glyphs_inplace\28bool\20\28*\29\28hb_glyph_info_t\20const*\29\29 +4450:hb_buffer_t::clear_positions\28\29 +4451:hb_buffer_set_length +4452:hb_buffer_get_glyph_positions +4453:hb_buffer_diff +4454:hb_buffer_create +4455:hb_buffer_clear_contents +4456:hb_buffer_add_utf8 +4457:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4458:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4459:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4460:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4461:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4462:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +4463:hb_aat_layout_remove_deleted_glyphs\28hb_buffer_t*\29 +4464:hair_cubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +4465:getint +4466:get_win_string +4467:get_dst_swizzle_and_store\28GrColorType\2c\20SkRasterPipelineOp*\2c\20LumMode*\2c\20bool*\2c\20bool*\29 +4468:get_driver_and_version\28GrGLStandard\2c\20GrGLVendor\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +4469:getFallbackData\28UResourceBundle\20const*\2c\20char\20const**\2c\20unsigned\20int*\2c\20UErrorCode*\29 +4470:gen_key\28skgpu::KeyBuilder*\2c\20GrProgramInfo\20const&\2c\20GrCaps\20const&\29 +4471:gen_fp_key\28GrFragmentProcessor\20const&\2c\20GrCaps\20const&\2c\20skgpu::KeyBuilder*\29 +4472:gather_uniforms_and_check_for_main\28SkSL::Program\20const&\2c\20std::__2::vector>*\2c\20std::__2::vector>*\2c\20SkRuntimeEffect::Uniform::Flags\2c\20unsigned\20long*\29 +4473:fwrite +4474:ft_var_to_normalized +4475:ft_var_load_item_variation_store +4476:ft_var_load_hvvar +4477:ft_var_load_avar +4478:ft_var_get_value_pointer +4479:ft_var_apply_tuple +4480:ft_validator_init +4481:ft_mem_strcpyn +4482:ft_hash_num_lookup +4483:ft_glyphslot_set_bitmap +4484:ft_glyphslot_preset_bitmap +4485:ft_corner_orientation +4486:ft_corner_is_flat +4487:frexp +4488:free_entry\28UResourceDataEntry*\29 +4489:fread +4490:fp_force_eval +4491:fp_barrier.1 +4492:fopen +4493:fold_opacity_layer_color_to_paint\28SkPaint\20const*\2c\20bool\2c\20SkPaint*\29 +4494:fmodl +4495:float\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +4496:fill_shadow_rec\28SkPath\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkDrawShadowRec*\29 +4497:fill_inverse_cmap +4498:fileno +4499:examine_app0 +4500:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29\2c\20SkCanvas*\2c\20SkPath*\2c\20SkClipOp\2c\20bool\29 +4501:emscripten::internal::Invoker\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +4502:emscripten::internal::Invoker\2c\20SkBlendMode\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29\2c\20SkBlendMode\2c\20sk_sp*\2c\20sk_sp*\29 +4503:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\29 +4504:emscripten::internal::Invoker\2c\20SkBlendMode>::invoke\28sk_sp\20\28*\29\28SkBlendMode\29\2c\20SkBlendMode\29 +4505:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4506:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\29 +4507:emscripten::internal::FunctionInvoker\29\2c\20void\2c\20SkPaint&\2c\20unsigned\20long\2c\20sk_sp>::invoke\28void\20\28**\29\28SkPaint&\2c\20unsigned\20long\2c\20sk_sp\29\2c\20SkPaint*\2c\20unsigned\20long\2c\20sk_sp*\29 +4508:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29\2c\20SkCanvas*\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +4509:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +4510:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +4511:emscripten::internal::FunctionInvoker\20\28*\29\28SkCanvas&\2c\20SimpleImageInfo\29\2c\20sk_sp\2c\20SkCanvas&\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28**\29\28SkCanvas&\2c\20SimpleImageInfo\29\2c\20SkCanvas*\2c\20SimpleImageInfo*\29 +4512:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\29\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28**\29\28sk_sp\29\2c\20sk_sp*\29 +4513:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20SkPath\20const&\2c\20SkPathOp\29\2c\20SkPath*\2c\20SkPath*\2c\20SkPathOp\29 +4514:embind_init_builtin\28\29 +4515:embind_init_Skia\28\29 +4516:embind_init_Paragraph\28\29::$_0::__invoke\28SimpleParagraphStyle\2c\20sk_sp\29 +4517:embind_init_Paragraph\28\29 +4518:embind_init_ParagraphGen\28\29 +4519:edge_line_needs_recursion\28SkPoint\20const&\2c\20SkPoint\20const&\29 +4520:draw_nine\28SkMask\20const&\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\2c\20bool\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +4521:dquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4522:dquad_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4523:double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +4524:doOpenChoice\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20signed\20char\20\28*\29\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29\2c\20void*\2c\20UErrorCode*\29 +4525:dline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4526:dline_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4527:deserialize_image\28sk_sp\2c\20SkDeserialProcs\2c\20std::__2::optional\29 +4528:deflate_stored +4529:decompose_current_character\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\29 +4530:decltype\28std::__2::__unwrap_iter_impl\2c\20true>::__unwrap\28std::declval>\28\29\29\29\20std::__2::__unwrap_iter\5babi:v160004\5d\2c\20std::__2::__unwrap_iter_impl\2c\20true>\2c\200>\28std::__2::__wrap_iter\29 +4531:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::Make\28SkArenaAlloc*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4532:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&\2c\20skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathCurveTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4533:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4534:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker\2c\20int&>\28int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4535:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkShaderBase\20const&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTransformShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4536:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4537:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29>\28GrThreadSafeCache::Entry&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4538:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29 +4539:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrRRectShadowGeoProc::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4540:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28GrQuadEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4541:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrPipeline::InitArgs&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29::'lambda'\28void*\29>\28GrPipeline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4542:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldA8TextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20float\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4543:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29 +4544:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29 +4545:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28CircleGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4546:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +4547:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>>::__generic_construct\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__ctor\2c\20std::__2::unique_ptr>>>&\2c\20std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&>\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&\29 +4548:dcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4549:dcubic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4550:dconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4551:dconic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4552:data_destroy_arabic\28void*\29 +4553:data_create_arabic\28hb_ot_shape_plan_t\20const*\29 +4554:cycle +4555:cubic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4556:cubic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4557:create_colorindex +4558:copysignl +4559:copy_bitmap_subset\28SkBitmap\20const&\2c\20SkIRect\20const&\29 +4560:conic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4561:conic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4562:compute_pos_tan\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +4563:compute_intersection\28OffsetSegment\20const&\2c\20OffsetSegment\20const&\2c\20SkPoint*\2c\20float*\2c\20float*\29 +4564:compress_block +4565:compose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +4566:clipHandlesSprite\28SkRasterClip\20const&\2c\20int\2c\20int\2c\20SkPixmap\20const&\29 +4567:clamp\28SkPoint\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Comparator\20const&\29 +4568:checkint +4569:check_inverse_on_empty_return\28SkRegion*\2c\20SkPath\20const&\2c\20SkRegion\20const&\29 +4570:charIterTextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +4571:char*\20std::__2::copy\5babi:v160004\5d\2c\20char*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20char*\29 +4572:char*\20std::__2::copy\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29 +4573:cff_vstore_done +4574:cff_subfont_load +4575:cff_subfont_done +4576:cff_size_select +4577:cff_parser_run +4578:cff_make_private_dict +4579:cff_load_private_dict +4580:cff_index_get_name +4581:cff_get_kerning +4582:cff_blend_build_vector +4583:cf2_getSeacComponent +4584:cf2_computeDarkening +4585:cf2_arrstack_push +4586:cbrt +4587:byn$mgfn-shared$void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +4588:byn$mgfn-shared$void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +4589:byn$mgfn-shared$virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +4590:byn$mgfn-shared$uloc_getName_74 +4591:byn$mgfn-shared$uhash_put_74 +4592:byn$mgfn-shared$ubidi_getClass_74 +4593:byn$mgfn-shared$t1_hints_open +4594:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +4595:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +4596:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +4597:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +4598:byn$mgfn-shared$std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +4599:byn$mgfn-shared$std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +4600:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +4601:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +4602:byn$mgfn-shared$std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +4603:byn$mgfn-shared$std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +4604:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4605:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4606:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4607:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +4608:byn$mgfn-shared$skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4609:byn$mgfn-shared$skgpu::ScratchKey::GenerateResourceType\28\29 +4610:byn$mgfn-shared$skcms_TransferFunction_isPQish +4611:byn$mgfn-shared$setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +4612:byn$mgfn-shared$portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4613:byn$mgfn-shared$portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4614:byn$mgfn-shared$portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4615:byn$mgfn-shared$portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4616:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4617:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4618:byn$mgfn-shared$make_unpremul_effect\28std::__2::unique_ptr>\29 +4619:byn$mgfn-shared$icu_74::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +4620:byn$mgfn-shared$icu_74::ResourceDataValue::getIntVector\28int&\2c\20UErrorCode&\29\20const +4621:byn$mgfn-shared$hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4622:byn$mgfn-shared$hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +4623:byn$mgfn-shared$embind_init_Skia\28\29::$_75::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +4624:byn$mgfn-shared$embind_init_Skia\28\29::$_72::__invoke\28float\2c\20float\2c\20sk_sp\29 +4625:byn$mgfn-shared$embind_init_Skia\28\29::$_11::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +4626:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4627:byn$mgfn-shared$decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +4628:byn$mgfn-shared$cf2_stack_pushInt +4629:byn$mgfn-shared$__cxx_global_array_dtor.1 +4630:byn$mgfn-shared$\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +4631:byn$mgfn-shared$\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4632:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4633:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4634:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4635:byn$mgfn-shared$SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +4636:byn$mgfn-shared$SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +4637:byn$mgfn-shared$SkSL::RP::LValue::~LValue\28\29.1 +4638:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +4639:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +4640:byn$mgfn-shared$SkSL::FunctionReference::clone\28SkSL::Position\29\20const +4641:byn$mgfn-shared$SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +4642:byn$mgfn-shared$SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +4643:byn$mgfn-shared$SkSL::ChildCall::clone\28SkSL::Position\29\20const +4644:byn$mgfn-shared$SkRuntimeBlender::~SkRuntimeBlender\28\29.1 +4645:byn$mgfn-shared$SkRuntimeBlender::~SkRuntimeBlender\28\29 +4646:byn$mgfn-shared$SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +4647:byn$mgfn-shared$SkRecorder::onDrawPaint\28SkPaint\20const&\29 +4648:byn$mgfn-shared$SkRecorder::didScale\28float\2c\20float\29 +4649:byn$mgfn-shared$SkRecorder::didConcat44\28SkM44\20const&\29 +4650:byn$mgfn-shared$SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4651:byn$mgfn-shared$SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +4652:byn$mgfn-shared$SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +4653:byn$mgfn-shared$SkPictureRecord::didConcat44\28SkM44\20const&\29 +4654:byn$mgfn-shared$SkPairPathEffect::~SkPairPathEffect\28\29.1 +4655:byn$mgfn-shared$SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +4656:byn$mgfn-shared$SkJSONWriter::endArray\28\29 +4657:byn$mgfn-shared$SkComposePathEffect::~SkComposePathEffect\28\29 +4658:byn$mgfn-shared$SkColorSpace::MakeSRGB\28\29 +4659:byn$mgfn-shared$SkChopMonoCubicAtY\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +4660:byn$mgfn-shared$OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +4661:byn$mgfn-shared$GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4662:byn$mgfn-shared$GrPathTessellationShader::Impl::~Impl\28\29 +4663:byn$mgfn-shared$GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +4664:byn$mgfn-shared$GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +4665:byn$mgfn-shared$GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +4666:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +4667:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +4668:byn$mgfn-shared$GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +4669:byn$mgfn-shared$GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +4670:byn$mgfn-shared$GrBicubicEffect::onMakeProgramImpl\28\29\20const +4671:byn$mgfn-shared$Cr_z_inflate_table +4672:byn$mgfn-shared$BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +4673:byn$mgfn-shared$AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +4674:build_ycc_rgb_table +4675:bracketProcessChar\28BracketData*\2c\20int\29 +4676:bracketInit\28UBiDi*\2c\20BracketData*\29 +4677:bool\20std::__2::operator==\5babi:v160004\5d\28std::__2::unique_ptr\20const&\2c\20std::nullptr_t\29 +4678:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::variant\20const&\2c\20std::__2::variant\20const&\29 +4679:bool\20std::__2::__insertion_sort_incomplete\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +4680:bool\20std::__2::__insertion_sort_incomplete<\28anonymous\20namespace\29::EntryComparator&\2c\20\28anonymous\20namespace\29::Entry*>\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +4681:bool\20std::__2::__insertion_sort_incomplete\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +4682:bool\20std::__2::__insertion_sort_incomplete\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +4683:bool\20is_parallel\28SkDLine\20const&\2c\20SkTCurve\20const&\29 +4684:bool\20hb_hashmap_t::set_with_hash\28hb_serialize_context_t::object_t*&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool\29 +4685:bool\20apply_string\28OT::hb_ot_apply_context_t*\2c\20GSUBProxy::Lookup\20const&\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\29 +4686:bool\20OT::hb_accelerate_subtables_context_t::cache_func_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\2c\20bool\29 +4687:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4688:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4689:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4690:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4691:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4692:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4693:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4694:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4695:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4696:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4697:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4698:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4699:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4700:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4701:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4702:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4703:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4704:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4705:bool\20OT::OffsetTo\2c\20true>::serialize_serialize\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&>\28hb_serialize_context_t*\2c\20hb_map_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&\29 +4706:bool\20GrTTopoSort_Visit\28GrRenderTask*\2c\20unsigned\20int*\29 +4707:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +4708:blend_line\28SkColorType\2c\20void*\2c\20SkColorType\2c\20void\20const*\2c\20SkAlphaType\2c\20bool\2c\20int\29 +4709:bits_to_runs\28SkBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\2c\20long\2c\20unsigned\20char\29 +4710:barycentric_coords\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +4711:auto\20std::__2::__unwrap_range\5babi:v160004\5d\2c\20std::__2::__wrap_iter>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +4712:atanf +4713:apply_forward\28OT::hb_ot_apply_context_t*\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\2c\20unsigned\20int\29 +4714:apply_alpha_and_colorfilter\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20SkPaint\20const&\29 +4715:append_multitexture_lookup\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20int\2c\20GrGLSLVarying\20const&\2c\20char\20const*\2c\20char\20const*\29 +4716:append_color_output\28PorterDuffXferProcessor\20const&\2c\20GrGLSLXPFragmentBuilder*\2c\20skgpu::BlendFormula::OutputType\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +4717:af_loader_compute_darkening +4718:af_latin_metrics_scale_dim +4719:af_latin_hints_detect_features +4720:af_latin_hint_edges +4721:af_hint_normal_stem +4722:af_cjk_metrics_scale_dim +4723:af_cjk_metrics_scale +4724:af_cjk_metrics_init_widths +4725:af_cjk_metrics_check_digits +4726:af_cjk_hints_init +4727:af_cjk_hints_detect_features +4728:af_cjk_hints_compute_blue_edges +4729:af_cjk_hints_apply +4730:af_cjk_hint_edges +4731:af_cjk_get_standard_widths +4732:af_axis_hints_new_edge +4733:adler32 +4734:a_ctz_32 +4735:_uhash_remove\28UHashtable*\2c\20UElement\29 +4736:_uhash_rehash\28UHashtable*\2c\20UErrorCode*\29 +4737:_uhash_put\28UHashtable*\2c\20UElement\2c\20UElement\2c\20signed\20char\2c\20UErrorCode*\29 +4738:_uhash_create\28int\20\28*\29\28UElement\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20signed\20char\20\28*\29\28UElement\2c\20UElement\29\2c\20int\2c\20UErrorCode*\29 +4739:_iup_worker_interpolate +4740:_isUnicodeExtensionSubtag\28int&\2c\20char\20const*\2c\20int\29 +4741:_isTransformedExtensionSubtag\28int&\2c\20char\20const*\2c\20int\29 +4742:_hb_preprocess_text_vowel_constraints\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +4743:_hb_ot_shape +4744:_hb_options_init\28\29 +4745:_hb_grapheme_group_func\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29 +4746:_hb_font_create\28hb_face_t*\29 +4747:_hb_fallback_shape +4748:_glyf_get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29 +4749:__vfprintf_internal +4750:__trunctfsf2 +4751:__tan +4752:__rem_pio2_large +4753:__overflow +4754:__newlocale +4755:__munmap +4756:__mmap +4757:__math_xflowf +4758:__math_invalidf +4759:__loc_is_allocated +4760:__isxdigit_l +4761:__getf2 +4762:__get_locale +4763:__ftello_unlocked +4764:__fstatat +4765:__fseeko_unlocked +4766:__floatscan +4767:__expo2 +4768:__divtf3 +4769:__cxxabiv1::__base_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +4770:\28anonymous\20namespace\29::write_text_tag\28char\20const*\29 +4771:\28anonymous\20namespace\29::write_mAB_or_mBA_tag\28unsigned\20int\2c\20skcms_Curve\20const*\2c\20skcms_Curve\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20skcms_Curve\20const*\2c\20skcms_Matrix3x4\20const*\29 +4772:\28anonymous\20namespace\29::set_uv_quad\28SkPoint\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +4773:\28anonymous\20namespace\29::safe_to_ignore_subset_rect\28GrAAType\2c\20SkFilterMode\2c\20DrawQuad\20const&\2c\20SkRect\20const&\29 +4774:\28anonymous\20namespace\29::prepare_for_direct_mask_drawing\28SkStrike*\2c\20SkMatrix\20const&\2c\20SkZip\2c\20SkZip\2c\20SkZip\29 +4775:\28anonymous\20namespace\29::morphology_pass\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20\28anonymous\20namespace\29::MorphType\2c\20\28anonymous\20namespace\29::MorphDirection\2c\20int\29 +4776:\28anonymous\20namespace\29::make_non_convex_fill_op\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20skgpu::ganesh::FillPathFlags\2c\20GrAAType\2c\20SkRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\29 +4777:\28anonymous\20namespace\29::is_newer_better\28SkData*\2c\20SkData*\29 +4778:\28anonymous\20namespace\29::get_glyph_run_intercepts\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20float\20const*\2c\20float*\2c\20int*\29 +4779:\28anonymous\20namespace\29::get_cicp_trfn\28skcms_TransferFunction\20const&\29 +4780:\28anonymous\20namespace\29::get_cicp_primaries\28skcms_Matrix3x3\20const&\29 +4781:\28anonymous\20namespace\29::getStringArray\28ResourceData\20const*\2c\20icu_74::ResourceArray\20const&\2c\20icu_74::UnicodeString*\2c\20int\2c\20UErrorCode&\29 +4782:\28anonymous\20namespace\29::getInclusionsForSource\28UPropertySource\2c\20UErrorCode&\29 +4783:\28anonymous\20namespace\29::draw_to_sw_mask\28GrSWMaskHelper*\2c\20skgpu::ganesh::ClipStack::Element\20const&\2c\20bool\29 +4784:\28anonymous\20namespace\29::determine_clipped_src_rect\28SkIRect\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkISize\20const&\2c\20SkRect\20const*\29 +4785:\28anonymous\20namespace\29::create_hb_face\28SkTypeface\20const&\29::$_0::__invoke\28void*\29 +4786:\28anonymous\20namespace\29::cpu_blur\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20sk_sp\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_0::operator\28\29\28double\29\20const +4787:\28anonymous\20namespace\29::copyFTBitmap\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\29 +4788:\28anonymous\20namespace\29::colrv1_start_glyph\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20unsigned\20short\2c\20FT_Color_Root_Transform_\2c\20skia_private::THashSet*\29 +4789:\28anonymous\20namespace\29::colrv1_draw_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\29 +4790:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29 +4791:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29 +4792:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29 +4793:\28anonymous\20namespace\29::TriangulatingPathOp::TriangulatingPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +4794:\28anonymous\20namespace\29::TriangulatingPathOp::Triangulate\28GrEagerVertexAllocator*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool*\29 +4795:\28anonymous\20namespace\29::TriangulatingPathOp::CreateKey\28skgpu::UniqueKey*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\29 +4796:\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4797:\28anonymous\20namespace\29::TextureOpImpl::propagateCoverageAAThroughoutChain\28\29 +4798:\28anonymous\20namespace\29::TextureOpImpl::characterize\28\28anonymous\20namespace\29::TextureOpImpl::Desc*\29\20const +4799:\28anonymous\20namespace\29::TextureOpImpl::appendQuad\28DrawQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\29 +4800:\28anonymous\20namespace\29::TextureOpImpl::Make\28GrRecordingContext*\2c\20GrTextureSetEntry*\2c\20int\2c\20int\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20GrAAType\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +4801:\28anonymous\20namespace\29::TextureOpImpl::FillInVertices\28GrCaps\20const&\2c\20\28anonymous\20namespace\29::TextureOpImpl*\2c\20\28anonymous\20namespace\29::TextureOpImpl::Desc*\2c\20char*\29 +4802:\28anonymous\20namespace\29::SpotVerticesFactory::makeVertices\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint*\29\20const +4803:\28anonymous\20namespace\29::SkImageImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +4804:\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4805:\28anonymous\20namespace\29::RunIteratorQueue::advanceRuns\28\29 +4806:\28anonymous\20namespace\29::Pass::blur\28int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +4807:\28anonymous\20namespace\29::MipLevelHelper::allocAndInit\28SkArenaAlloc*\2c\20SkSamplingOptions\20const&\2c\20SkTileMode\2c\20SkTileMode\29 +4808:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29 +4809:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20sk_sp\2c\20GrPrimitiveType\20const*\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +4810:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMesh\20const&\2c\20skia_private::TArray>\2c\20true>\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +4811:\28anonymous\20namespace\29::MeshOp::Mesh::Mesh\28SkMesh\20const&\29 +4812:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29 +4813:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29 +4814:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineStruct\28char\20const*\29 +4815:\28anonymous\20namespace\29::FillRectOpImpl::tessellate\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29\20const +4816:\28anonymous\20namespace\29::FillRectOpImpl::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +4817:\28anonymous\20namespace\29::FillRectOpImpl::FillRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +4818:\28anonymous\20namespace\29::EllipticalRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\29 +4819:\28anonymous\20namespace\29::DrawAtlasOpImpl::DrawAtlasOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrAAType\2c\20int\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\29 +4820:\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4821:\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4822:\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4823:\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4824:\28anonymous\20namespace\29::DefaultPathOp::programInfo\28\29 +4825:\28anonymous\20namespace\29::DefaultPathOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +4826:\28anonymous\20namespace\29::DefaultPathOp::DefaultPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +4827:\28anonymous\20namespace\29::ClipGeometry\20\28anonymous\20namespace\29::get_clip_geometry\28skgpu::ganesh::ClipStack::SaveRecord\20const&\2c\20skgpu::ganesh::ClipStack::Draw\20const&\29 +4828:\28anonymous\20namespace\29::CircularRRectEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +4829:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29 +4830:\28anonymous\20namespace\29::CachedTessellations::CachedTessellations\28\29 +4831:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29 +4832:\28anonymous\20namespace\29::AAHairlineOp::AAHairlineOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIRect\2c\20float\2c\20GrUserStencilSettings\20const*\29 +4833:WebPResetDecParams +4834:WebPRescalerGetScaledDimensions +4835:WebPMultRows +4836:WebPMultARGBRows +4837:WebPIoInitFromOptions +4838:WebPInitUpsamplers +4839:WebPFlipBuffer +4840:WebPDemuxGetChunk +4841:WebPCopyDecBufferPixels +4842:WebPAllocateDecBuffer +4843:VP8RemapBitReader +4844:VP8LHuffmanTablesAllocate +4845:VP8LDspInit +4846:VP8LConvertFromBGRA +4847:VP8LColorCacheInit +4848:VP8LColorCacheCopy +4849:VP8LBuildHuffmanTable +4850:VP8LBitReaderSetBuffer +4851:VP8InitScanline +4852:VP8GetInfo +4853:VP8BitReaderSetBuffer +4854:Update_Max +4855:TransformOne_C +4856:TT_Set_Named_Instance +4857:TT_Hint_Glyph +4858:StoreFrame +4859:SortContourList\28SkOpContourHead**\2c\20bool\2c\20bool\29 +4860:SkYUVAPixmapInfo::isSupported\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\29\20const +4861:SkWuffsCodec::seekFrame\28int\29 +4862:SkWuffsCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +4863:SkWuffsCodec::onIncrementalDecodeTwoPass\28\29 +4864:SkWuffsCodec::decodeFrameConfig\28\29 +4865:SkWriter32::writeString\28char\20const*\2c\20unsigned\20long\29 +4866:SkWriteICCProfile\28skcms_ICCProfile\20const*\2c\20char\20const*\29 +4867:SkWebpDecoder::IsWebp\28void\20const*\2c\20unsigned\20long\29 +4868:SkWebpCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4869:SkWbmpDecoder::IsWbmp\28void\20const*\2c\20unsigned\20long\29 +4870:SkWbmpCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4871:SkWStream::SizeOfPackedUInt\28unsigned\20long\29 +4872:SkWBuffer::padToAlign4\28\29 +4873:SkVertices::Builder::indices\28\29 +4874:SkUnicode_icu::extractWords\28unsigned\20short*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +4875:SkUnicode::convertUtf16ToUtf8\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4876:SkUTF::NextUTF16\28unsigned\20short\20const**\2c\20unsigned\20short\20const*\29 +4877:SkTypeface_FreeType::FaceRec::Make\28SkTypeface_FreeType\20const*\29 +4878:SkTypeface_Custom::onGetFamilyName\28SkString*\29\20const +4879:SkTypeface::textToGlyphs\28void\20const*\2c\20unsigned\20long\2c\20SkTextEncoding\2c\20unsigned\20short*\2c\20int\29\20const +4880:SkTypeface::serialize\28SkWStream*\2c\20SkTypeface::SerializeBehavior\29\20const +4881:SkTypeface::openStream\28int*\29\20const +4882:SkTypeface::getFamilyName\28SkString*\29\20const +4883:SkTransformShader::update\28SkMatrix\20const&\29 +4884:SkTransformShader::SkTransformShader\28SkShaderBase\20const&\2c\20bool\29 +4885:SkTiff::ImageFileDirectory::getEntryRawData\28unsigned\20short\2c\20unsigned\20short*\2c\20unsigned\20short*\2c\20unsigned\20int*\2c\20unsigned\20char\20const**\2c\20unsigned\20long*\29\20const +4886:SkTextBlobBuilder::allocRunPos\28SkFont\20const&\2c\20int\2c\20SkRect\20const*\29 +4887:SkTextBlob::getIntercepts\28float\20const*\2c\20float*\2c\20SkPaint\20const*\29\20const +4888:SkTextBlob::RunRecord::StorageSize\28unsigned\20int\2c\20unsigned\20int\2c\20SkTextBlob::GlyphPositioning\2c\20SkSafeMath*\29 +4889:SkTextBlob::MakeFromText\28void\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20SkTextEncoding\29 +4890:SkTextBlob::MakeFromRSXform\28void\20const*\2c\20unsigned\20long\2c\20SkRSXform\20const*\2c\20SkFont\20const&\2c\20SkTextEncoding\29 +4891:SkTextBlob::Iter::experimentalNext\28SkTextBlob::Iter::ExperimentalRun*\29 +4892:SkTextBlob::Iter::Iter\28SkTextBlob\20const&\29 +4893:SkTaskGroup::wait\28\29 +4894:SkTaskGroup::add\28std::__2::function\29 +4895:SkTSpan::onlyEndPointsInCommon\28SkTSpan\20const*\2c\20bool*\2c\20bool*\2c\20bool*\29 +4896:SkTSpan::linearIntersects\28SkTCurve\20const&\29\20const +4897:SkTSect::removeAllBut\28SkTSpan\20const*\2c\20SkTSpan*\2c\20SkTSect*\29 +4898:SkTSect::intersects\28SkTSpan*\2c\20SkTSect*\2c\20SkTSpan*\2c\20int*\29 +4899:SkTSect::deleteEmptySpans\28\29 +4900:SkTSect::addSplitAt\28SkTSpan*\2c\20double\29 +4901:SkTSect::addForPerp\28SkTSpan*\2c\20double\29 +4902:SkTSect::EndsEqual\28SkTSect\20const*\2c\20SkTSect\20const*\2c\20SkIntersections*\29 +4903:SkTMultiMap::~SkTMultiMap\28\29 +4904:SkTMaskGamma<3\2c\203\2c\203>::SkTMaskGamma\28float\2c\20float\29 +4905:SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::find\28SkImageFilterCacheKey\20const&\29\20const +4906:SkTDStorage::calculateSizeOrDie\28int\29::$_1::operator\28\29\28\29\20const +4907:SkTDStorage::SkTDStorage\28SkTDStorage&&\29 +4908:SkTCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +4909:SkTConic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +4910:SkTConic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +4911:SkTConic::controlsInside\28\29\20const +4912:SkTConic::collapsed\28\29\20const +4913:SkTBlockList::reset\28\29 +4914:SkTBlockList::reset\28\29 +4915:SkTBlockList::push_back\28GrGLProgramDataManager::GLUniformInfo\20const&\29 +4916:SkSwizzler::MakeSimple\28int\2c\20SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +4917:SkSurfaces::WrapPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +4918:SkSurface_Base::outstandingImageSnapshot\28\29\20const +4919:SkSurface_Base::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +4920:SkSurface_Base::onCapabilities\28\29 +4921:SkStrokeRec::setHairlineStyle\28\29 +4922:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20SkPaint::Style\2c\20float\29 +4923:SkStrokeRec::GetInflationRadius\28SkPaint::Join\2c\20float\2c\20SkPaint::Cap\2c\20float\29 +4924:SkString::insertHex\28unsigned\20long\2c\20unsigned\20int\2c\20int\29 +4925:SkString::appendVAList\28char\20const*\2c\20void*\29 +4926:SkString::SkString\28std::__2::basic_string_view>\29 +4927:SkStrikeSpec::SkStrikeSpec\28SkStrikeSpec\20const&\29 +4928:SkStrikeSpec::ShouldDrawAsPath\28SkPaint\20const&\2c\20SkFont\20const&\2c\20SkMatrix\20const&\29 +4929:SkStrSplit\28char\20const*\2c\20char\20const*\2c\20SkStrSplitMode\2c\20skia_private::TArray*\29 +4930:SkStrAppendS32\28char*\2c\20int\29 +4931:SkSpriteBlitter_Memcpy::~SkSpriteBlitter_Memcpy\28\29 +4932:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4933:SkSpecialImages::AsBitmap\28SkSpecialImage\20const*\2c\20SkBitmap*\29 +4934:SkSharedMutex::releaseShared\28\29 +4935:SkShapers::unicode::BidiRunIterator\28sk_sp\2c\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20char\29 +4936:SkShapers::HB::ScriptRunIterator\28char\20const*\2c\20unsigned\20long\29 +4937:SkShaper::MakeStdLanguageRunIterator\28char\20const*\2c\20unsigned\20long\29 +4938:SkShaders::MatrixRec::concat\28SkMatrix\20const&\29\20const +4939:SkShaders::Blend\28sk_sp\2c\20sk_sp\2c\20sk_sp\29 +4940:SkShaderUtils::VisitLineByLine\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::function\20const&\29 +4941:SkShaderUtils::PrettyPrint\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4942:SkShaderUtils::GLSLPrettyPrint::parseUntil\28char\20const*\29 +4943:SkShaderUtils::GLSLPrettyPrint::hasToken\28char\20const*\29 +4944:SkShaderBlurAlgorithm::renderBlur\28SkRuntimeShaderBuilder*\2c\20SkFilterMode\2c\20SkISize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +4945:SkShaderBlurAlgorithm::evalBlur1D\28float\2c\20int\2c\20SkV2\2c\20sk_sp\2c\20SkIRect\2c\20SkTileMode\2c\20SkIRect\29\20const +4946:SkShaderBlurAlgorithm::Compute2DBlurOffsets\28SkISize\2c\20std::__2::array&\29 +4947:SkShaderBlurAlgorithm::Compute2DBlurKernel\28SkSize\2c\20SkISize\2c\20std::__2::array&\29 +4948:SkShaderBlurAlgorithm::Compute1DBlurLinearKernel\28float\2c\20int\2c\20std::__2::array&\29 +4949:SkShaderBase::getFlattenableType\28\29\20const +4950:SkShaderBase::asLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +4951:SkShader::makeWithColorFilter\28sk_sp\29\20const +4952:SkScan::PathRequiresTiling\28SkIRect\20const&\29 +4953:SkScan::HairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +4954:SkScan::AntiFrameRect\28SkRect\20const&\2c\20SkPoint\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4955:SkScan::AntiFillXRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4956:SkScan::AntiFillRect\28SkRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4957:SkScan::AAAFillPath\28SkPath\20const&\2c\20SkBlitter*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +4958:SkScalerContext_FreeType::updateGlyphBoundsIfSubpixel\28SkGlyph\20const&\2c\20SkRect*\2c\20bool\29 +4959:SkScalerContext_FreeType::shouldSubpixelBitmap\28SkGlyph\20const&\2c\20SkMatrix\20const&\29 +4960:SkScalerContextRec::getSingleMatrix\28SkMatrix*\29\20const +4961:SkScalerContextFTUtils::drawCOLRv1Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +4962:SkScalerContextFTUtils::drawCOLRv0Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +4963:SkScalerContext::internalMakeGlyph\28SkPackedGlyphID\2c\20SkMask::Format\2c\20SkArenaAlloc*\29 +4964:SkScalerContext::internalGetPath\28SkGlyph&\2c\20SkArenaAlloc*\29 +4965:SkScalerContext::getFontMetrics\28SkFontMetrics*\29 +4966:SkScalerContext::SkScalerContext\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +4967:SkScalerContext::PreprocessRec\28SkTypeface\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const&\29 +4968:SkScalerContext::MakeRecAndEffects\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\2c\20SkScalerContextRec*\2c\20SkScalerContextEffects*\29 +4969:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +4970:SkScalerContext::GetMaskPreBlend\28SkScalerContextRec\20const&\29 +4971:SkScalerContext::AutoDescriptorGivenRecAndEffects\28SkScalerContextRec\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkAutoDescriptor*\29 +4972:SkSampledCodec::sampledDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +4973:SkSampledCodec::accountForNativeScaling\28int*\2c\20int*\29\20const +4974:SkSampledCodec::SkSampledCodec\28SkCodec*\29 +4975:SkSL::zero_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\29 +4976:SkSL::type_to_sksltype\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSLType*\29 +4977:SkSL::stoi\28std::__2::basic_string_view>\2c\20long\20long*\29 +4978:SkSL::splat_scalar\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4979:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_2::operator\28\29\28int\29\20const +4980:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_1::operator\28\29\28int\29\20const +4981:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +4982:SkSL::negate_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4983:SkSL::make_reciprocal_expression\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29 +4984:SkSL::index_out_of_range\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20long\20long\2c\20SkSL::Expression\20const&\29 +4985:SkSL::get_struct_definitions_from_module\28SkSL::Program&\2c\20SkSL::Module\20const&\2c\20std::__2::vector>*\29 +4986:SkSL::find_existing_declaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20SkSL::IntrinsicKind\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray>\2c\20true>&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration**\29::$_0::operator\28\29\28\29\20const +4987:SkSL::extract_matrix\28SkSL::Expression\20const*\2c\20float*\29 +4988:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +4989:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_4::operator\28\29\28int\29\20const +4990:SkSL::\28anonymous\20namespace\29::check_valid_uniform_type\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Context\20const&\2c\20bool\29::$_0::operator\28\29\28\29\20const +4991:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +4992:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +4993:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +4994:SkSL::VariableReference::setRefKind\28SkSL::VariableRefKind\29 +4995:SkSL::Variable::setVarDeclaration\28SkSL::VarDeclaration*\29 +4996:SkSL::Variable::setGlobalVarDeclaration\28SkSL::GlobalVarDeclaration*\29 +4997:SkSL::Variable::globalVarDeclaration\28\29\20const +4998:SkSL::Variable::Make\28SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20std::__2::basic_string_view>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20bool\2c\20SkSL::VariableStorage\29 +4999:SkSL::Variable::MakeScratchVariable\28SkSL::Context\20const&\2c\20SkSL::Mangler&\2c\20std::__2::basic_string_view>\2c\20SkSL::Type\20const*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>\29 +5000:SkSL::VarDeclaration::Make\28SkSL::Context\20const&\2c\20SkSL::Variable*\2c\20SkSL::Type\20const*\2c\20int\2c\20std::__2::unique_ptr>\29 +5001:SkSL::VarDeclaration::ErrorCheck\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Type\20const*\2c\20SkSL::VariableStorage\29 +5002:SkSL::TypeReference::description\28SkSL::OperatorPrecedence\29\20const +5003:SkSL::TypeReference::VerifyType\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Position\29 +5004:SkSL::TypeReference::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\29 +5005:SkSL::Type::MakeStructType\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20bool\29 +5006:SkSL::Type::MakeLiteralType\28char\20const*\2c\20SkSL::Type\20const&\2c\20signed\20char\29 +5007:SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::addDeclaringElement\28SkSL::ProgramElement\20const*\29 +5008:SkSL::ToGLSL\28SkSL::Program&\2c\20SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\29 +5009:SkSL::TernaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5010:SkSL::SymbolTable::insertNewParent\28\29 +5011:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Symbol*\29 +5012:SkSL::Swizzle::MaskString\28skia_private::FixedArray<4\2c\20signed\20char>\20const&\29 +5013:SkSL::SwitchStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5014:SkSL::SwitchCase::Make\28SkSL::Position\2c\20long\20long\2c\20std::__2::unique_ptr>\29 +5015:SkSL::SwitchCase::MakeDefault\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +5016:SkSL::StructType::StructType\28SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20int\2c\20bool\2c\20bool\29 +5017:SkSL::String::vappendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20void*\29 +5018:SkSL::SingleArgumentConstructor::argumentSpan\28\29 +5019:SkSL::RP::stack_usage\28SkSL::RP::Instruction\20const&\29 +5020:SkSL::RP::UnownedLValueSlice::isWritable\28\29\20const +5021:SkSL::RP::UnownedLValueSlice::dynamicSlotRange\28\29 +5022:SkSL::RP::ScratchLValue::~ScratchLValue\28\29 +5023:SkSL::RP::Program::~Program\28\29 +5024:SkSL::RP::LValue::swizzle\28\29 +5025:SkSL::RP::Generator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\29 +5026:SkSL::RP::Generator::writeFunction\28SkSL::IRNode\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSpan>\20const>\29 +5027:SkSL::RP::Generator::storeImmutableValueToSlots\28skia_private::TArray\20const&\2c\20SkSL::RP::SlotRange\29 +5028:SkSL::RP::Generator::pushVariableReferencePartial\28SkSL::VariableReference\20const&\2c\20SkSL::RP::SlotRange\29 +5029:SkSL::RP::Generator::pushPrefixExpression\28SkSL::Operator\2c\20SkSL::Expression\20const&\29 +5030:SkSL::RP::Generator::pushIntrinsic\28SkSL::IntrinsicKind\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +5031:SkSL::RP::Generator::pushImmutableData\28SkSL::Expression\20const&\29 +5032:SkSL::RP::Generator::pushAbsFloatIntrinsic\28int\29 +5033:SkSL::RP::Generator::getImmutableValueForExpression\28SkSL::Expression\20const&\2c\20skia_private::TArray*\29 +5034:SkSL::RP::Generator::foldWithMultiOp\28SkSL::RP::BuilderOp\2c\20int\29 +5035:SkSL::RP::Generator::findPreexistingImmutableData\28skia_private::TArray\20const&\29 +5036:SkSL::RP::Builder::push_slots_or_immutable_indirect\28SkSL::RP::SlotRange\2c\20int\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +5037:SkSL::RP::Builder::push_condition_mask\28\29 +5038:SkSL::RP::Builder::pad_stack\28int\29 +5039:SkSL::RP::Builder::copy_stack_to_slots\28SkSL::RP::SlotRange\2c\20int\29 +5040:SkSL::RP::Builder::branch_if_any_lanes_active\28int\29 +5041:SkSL::ProgramVisitor::visit\28SkSL::Program\20const&\29 +5042:SkSL::ProgramUsage::remove\28SkSL::Expression\20const*\29 +5043:SkSL::ProgramUsage::add\28SkSL::Statement\20const*\29 +5044:SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +5045:SkSL::Pool::attachToThread\28\29 +5046:SkSL::PipelineStage::PipelineStageCodeGenerator::functionName\28SkSL::FunctionDeclaration\20const&\29 +5047:SkSL::PipelineStage::PipelineStageCodeGenerator::functionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +5048:SkSL::Parser::~Parser\28\29 +5049:SkSL::Parser::varDeclarations\28\29 +5050:SkSL::Parser::varDeclarationsOrExpressionStatement\28\29 +5051:SkSL::Parser::switchCaseBody\28SkSL::ExpressionArray*\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>*\2c\20std::__2::unique_ptr>\29 +5052:SkSL::Parser::statementOrNop\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +5053:SkSL::Parser::shiftExpression\28\29 +5054:SkSL::Parser::relationalExpression\28\29 +5055:SkSL::Parser::parameter\28std::__2::unique_ptr>*\29 +5056:SkSL::Parser::multiplicativeExpression\28\29 +5057:SkSL::Parser::logicalXorExpression\28\29 +5058:SkSL::Parser::logicalAndExpression\28\29 +5059:SkSL::Parser::localVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +5060:SkSL::Parser::intLiteral\28long\20long*\29 +5061:SkSL::Parser::globalVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +5062:SkSL::Parser::equalityExpression\28\29 +5063:SkSL::Parser::directive\28bool\29 +5064:SkSL::Parser::declarations\28\29 +5065:SkSL::Parser::checkNext\28SkSL::Token::Kind\2c\20SkSL::Token*\29 +5066:SkSL::Parser::bitwiseXorExpression\28\29 +5067:SkSL::Parser::bitwiseOrExpression\28\29 +5068:SkSL::Parser::bitwiseAndExpression\28\29 +5069:SkSL::Parser::additiveExpression\28\29 +5070:SkSL::Parser::Parser\28SkSL::Compiler*\2c\20SkSL::ProgramSettings\20const&\2c\20SkSL::ProgramKind\2c\20std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20std::__2::default_delete\2c\20std::__2::allocator>>>\29 +5071:SkSL::MultiArgumentConstructor::argumentSpan\28\29 +5072:SkSL::ModuleLoader::~ModuleLoader\28\29 +5073:SkSL::ModuleLoader::loadVertexModule\28SkSL::Compiler*\29 +5074:SkSL::ModuleLoader::loadSharedModule\28SkSL::Compiler*\29 +5075:SkSL::ModuleLoader::loadPublicModule\28SkSL::Compiler*\29 +5076:SkSL::ModuleLoader::loadGraphiteVertexModule\28SkSL::Compiler*\29 +5077:SkSL::ModuleLoader::loadGraphiteFragmentModule\28SkSL::Compiler*\29 +5078:SkSL::ModuleLoader::loadFragmentModule\28SkSL::Compiler*\29 +5079:SkSL::ModuleLoader::Get\28\29 +5080:SkSL::MatrixType::bitWidth\28\29\20const +5081:SkSL::MakeRasterPipelineProgram\28SkSL::Program\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSL::DebugTracePriv*\2c\20bool\29 +5082:SkSL::Layout::description\28\29\20const +5083:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_length\28std::__2::array\20const&\29 +5084:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_add\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +5085:SkSL::InterfaceBlock::~InterfaceBlock\28\29 +5086:SkSL::Inliner::candidateCanBeInlined\28SkSL::InlineCandidate\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20skia_private::THashMap*\29 +5087:SkSL::IfStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5088:SkSL::GLSLCodeGenerator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\2c\20bool\29 +5089:SkSL::GLSLCodeGenerator::writeProgramElement\28SkSL::ProgramElement\20const&\29 +5090:SkSL::GLSLCodeGenerator::writeMinAbsHack\28SkSL::Expression&\2c\20SkSL::Expression&\29 +5091:SkSL::GLSLCodeGenerator::generateCode\28\29 +5092:SkSL::FunctionDefinition::~FunctionDefinition\28\29.1 +5093:SkSL::FunctionDefinition::~FunctionDefinition\28\29 +5094:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::visitStatementPtr\28std::__2::unique_ptr>&\29 +5095:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::addLocalVariable\28SkSL::Variable\20const*\2c\20SkSL::Position\29 +5096:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29.1 +5097:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29 +5098:SkSL::FunctionDeclaration::mangledName\28\29\20const +5099:SkSL::FunctionDeclaration::determineFinalTypes\28SkSL::ExpressionArray\20const&\2c\20skia_private::STArray<8\2c\20SkSL::Type\20const*\2c\20true>*\2c\20SkSL::Type\20const**\29\20const +5100:SkSL::FunctionDeclaration::FunctionDeclaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20SkSL::Type\20const*\2c\20SkSL::IntrinsicKind\29 +5101:SkSL::FunctionCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +5102:SkSL::FunctionCall::FindBestFunctionForCall\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const*\2c\20SkSL::ExpressionArray\20const&\29 +5103:SkSL::FunctionCall::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +5104:SkSL::ForStatement::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5105:SkSL::FindIntrinsicKind\28std::__2::basic_string_view>\29 +5106:SkSL::FieldAccess::~FieldAccess\28\29.1 +5107:SkSL::FieldAccess::~FieldAccess\28\29 +5108:SkSL::ExpressionStatement::Convert\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +5109:SkSL::DoStatement::~DoStatement\28\29.1 +5110:SkSL::DoStatement::~DoStatement\28\29 +5111:SkSL::DebugTracePriv::setSource\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +5112:SkSL::ConstructorScalarCast::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +5113:SkSL::ConstructorMatrixResize::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +5114:SkSL::Constructor::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +5115:SkSL::ConstantFolder::Simplify\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +5116:SkSL::Compiler::writeErrorCount\28\29 +5117:SkSL::Compiler::initializeContext\28SkSL::Module\20const*\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\2c\20std::__2::basic_string_view>\2c\20bool\29 +5118:SkSL::Compiler::cleanupContext\28\29 +5119:SkSL::ChildCall::~ChildCall\28\29.1 +5120:SkSL::ChildCall::~ChildCall\28\29 +5121:SkSL::ChildCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Variable\20const&\2c\20SkSL::ExpressionArray\29 +5122:SkSL::BinaryExpression::isAssignmentIntoVariable\28\29 +5123:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\2c\20SkSL::Type\20const*\29 +5124:SkSL::Analysis::\28anonymous\20namespace\29::LoopControlFlowVisitor::visitStatement\28SkSL::Statement\20const&\29 +5125:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29 +5126:SkSL::Analysis::IsConstantExpression\28SkSL::Expression\20const&\29 +5127:SkSL::Analysis::IsAssignable\28SkSL::Expression&\2c\20SkSL::Analysis::AssignmentInfo*\2c\20SkSL::ErrorReporter*\29 +5128:SkSL::Analysis::GetLoopUnrollInfo\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\20const&\2c\20SkSL::Statement\20const*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Expression\20const*\2c\20SkSL::Statement\20const*\2c\20SkSL::ErrorReporter*\29 +5129:SkSL::Analysis::GetLoopControlFlowInfo\28SkSL::Statement\20const&\29 +5130:SkSL::AliasType::numberKind\28\29\20const +5131:SkSL::AliasType::isAllowedInES2\28\29\20const +5132:SkRuntimeShader::~SkRuntimeShader\28\29 +5133:SkRuntimeEffectPriv::WriteChildEffects\28SkWriteBuffer&\2c\20SkSpan\29 +5134:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpaceXformSteps\20const&\29 +5135:SkRuntimeEffect::~SkRuntimeEffect\28\29 +5136:SkRuntimeEffect::makeShader\28sk_sp\2c\20sk_sp*\2c\20unsigned\20long\2c\20SkMatrix\20const*\29\20const +5137:SkRuntimeEffect::makeColorFilter\28sk_sp\2c\20SkSpan\29\20const +5138:SkRuntimeEffect::TracedShader*\20emscripten::internal::raw_constructor\28\29 +5139:SkRuntimeEffect::MakeInternal\28std::__2::unique_ptr>\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +5140:SkRuntimeEffect::ChildPtr&\20skia_private::TArray::emplace_back&>\28sk_sp&\29 +5141:SkRuntimeBlender::flatten\28SkWriteBuffer&\29\20const +5142:SkRgnBuilder::~SkRgnBuilder\28\29 +5143:SkResourceCache::PostPurgeSharedID\28unsigned\20long\20long\29 +5144:SkResourceCache::GetDiscardableFactory\28\29 +5145:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::rowBytes\28int\29\20const +5146:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +5147:SkRegion::Spanerator::Spanerator\28SkRegion\20const&\2c\20int\2c\20int\2c\20int\29 +5148:SkRegion::Oper\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\2c\20SkRegion*\29 +5149:SkRefCntSet::~SkRefCntSet\28\29 +5150:SkRefCntBase::internal_dispose\28\29\20const +5151:SkReduceOrder::reduce\28SkDQuad\20const&\29 +5152:SkReduceOrder::Conic\28SkConic\20const&\2c\20SkPoint*\29 +5153:SkRectClipBlitter::requestRowsPreserved\28\29\20const +5154:SkRectClipBlitter::allocBlitMemory\28unsigned\20long\29 +5155:SkRect::intersect\28SkRect\20const&\2c\20SkRect\20const&\29 +5156:SkRecords::TypedMatrix::TypedMatrix\28SkMatrix\20const&\29 +5157:SkRecords::FillBounds::popSaveBlock\28\29 +5158:SkRecordOptimize\28SkRecord*\29 +5159:SkRecordFillBounds\28SkRect\20const&\2c\20SkRecord\20const&\2c\20SkRect*\2c\20SkBBoxHierarchy::Metadata*\29 +5160:SkRecord::bytesUsed\28\29\20const +5161:SkReadPixelsRec::trim\28int\2c\20int\29 +5162:SkReadBuffer::readString\28unsigned\20long*\29 +5163:SkReadBuffer::readRegion\28SkRegion*\29 +5164:SkReadBuffer::readRect\28\29 +5165:SkReadBuffer::readPoint3\28SkPoint3*\29 +5166:SkReadBuffer::readPad32\28void*\2c\20unsigned\20long\29 +5167:SkRasterPipeline_<256ul>::SkRasterPipeline_\28\29 +5168:SkRasterPipeline::tailPointer\28\29 +5169:SkRasterPipeline::appendSetRGB\28SkArenaAlloc*\2c\20float\20const*\29 +5170:SkRasterPipeline::addMemoryContext\28SkRasterPipeline_MemoryCtx*\2c\20int\2c\20bool\2c\20bool\29 +5171:SkRasterClipStack::SkRasterClipStack\28int\2c\20int\29 +5172:SkRTreeFactory::operator\28\29\28\29\20const +5173:SkRTree::search\28SkRTree::Node*\2c\20SkRect\20const&\2c\20std::__2::vector>*\29\20const +5174:SkRTree::bulkLoad\28std::__2::vector>*\2c\20int\29 +5175:SkRTree::allocateNodeAtLevel\28unsigned\20short\29 +5176:SkRSXform::toQuad\28float\2c\20float\2c\20SkPoint*\29\20const +5177:SkRRect::isValid\28\29\20const +5178:SkRRect::computeType\28\29 +5179:SkRGBA4f<\28SkAlphaType\292>\20skgpu::Swizzle::applyTo<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\29\20const +5180:SkRBuffer::skipToAlign4\28\29 +5181:SkQuads::EvalAt\28double\2c\20double\2c\20double\2c\20double\29 +5182:SkQuadraticEdge::setQuadraticWithoutUpdate\28SkPoint\20const*\2c\20int\29 +5183:SkPtrSet::reset\28\29 +5184:SkPtrSet::copyToArray\28void**\29\20const +5185:SkPtrSet::add\28void*\29 +5186:SkPoint::Normalize\28SkPoint*\29 +5187:SkPngEncoder::Make\28SkWStream*\2c\20SkPixmap\20const&\2c\20SkPngEncoder::Options\20const&\29 +5188:SkPngEncoder::Encode\28GrDirectContext*\2c\20SkImage\20const*\2c\20SkPngEncoder::Options\20const&\29 +5189:SkPngCodec::initializeXforms\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +5190:SkPngCodec::initializeSwizzler\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20bool\29 +5191:SkPngCodec::allocateStorage\28SkImageInfo\20const&\29 +5192:SkPixmapUtils::Orient\28SkPixmap\20const&\2c\20SkPixmap\20const&\2c\20SkEncodedOrigin\29 +5193:SkPixmap::erase\28unsigned\20int\2c\20SkIRect\20const&\29\20const +5194:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const +5195:SkPixelRef::getGenerationID\28\29\20const +5196:SkPixelRef::addGenIDChangeListener\28sk_sp\29 +5197:SkPixelRef::SkPixelRef\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +5198:SkPictureShader::CachedImageInfo::makeImage\28sk_sp\2c\20SkPicture\20const*\29\20const +5199:SkPictureShader::CachedImageInfo::Make\28SkRect\20const&\2c\20SkMatrix\20const&\2c\20SkColorType\2c\20SkColorSpace*\2c\20int\2c\20SkSurfaceProps\20const&\29 +5200:SkPictureRecord::endRecording\28\29 +5201:SkPictureRecord::beginRecording\28\29 +5202:SkPicturePriv::Flatten\28sk_sp\2c\20SkWriteBuffer&\29 +5203:SkPicturePlayback::draw\28SkCanvas*\2c\20SkPicture::AbortCallback*\2c\20SkReadBuffer*\29 +5204:SkPictureData::parseBufferTag\28SkReadBuffer&\2c\20unsigned\20int\2c\20unsigned\20int\29 +5205:SkPictureData::getPicture\28SkReadBuffer*\29\20const +5206:SkPictureData::getDrawable\28SkReadBuffer*\29\20const +5207:SkPictureData::flatten\28SkWriteBuffer&\29\20const +5208:SkPictureData::flattenToBuffer\28SkWriteBuffer&\2c\20bool\29\20const +5209:SkPictureData::SkPictureData\28SkPictureRecord\20const&\2c\20SkPictInfo\20const&\29 +5210:SkPicture::backport\28\29\20const +5211:SkPicture::SkPicture\28\29 +5212:SkPicture::MakeFromStreamPriv\28SkStream*\2c\20SkDeserialProcs\20const*\2c\20SkTypefacePlayback*\2c\20int\29 +5213:SkPerlinNoiseShader::getPaintingData\28\29\20const +5214:SkPathWriter::assemble\28\29 +5215:SkPathWriter::SkPathWriter\28SkPath&\29 +5216:SkPathRef::resetToSize\28int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5217:SkPathRef::SkPathRef\28SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20unsigned\20int\29 +5218:SkPathPriv::IsNestedFillRects\28SkPath\20const&\2c\20SkRect*\2c\20SkPathDirection*\29 +5219:SkPathPriv::CreateDrawArcPath\28SkPath*\2c\20SkArc\20const&\2c\20bool\29 +5220:SkPathEffectBase::PointData::~PointData\28\29 +5221:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +5222:SkPathBuilder::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +5223:SkPath::writeToMemoryAsRRect\28void*\29\20const +5224:SkPath::setLastPt\28float\2c\20float\29 +5225:SkPath::reverseAddPath\28SkPath\20const&\29 +5226:SkPath::readFromMemory\28void\20const*\2c\20unsigned\20long\29 +5227:SkPath::offset\28float\2c\20float\2c\20SkPath*\29\20const +5228:SkPath::isZeroLengthSincePoint\28int\29\20const +5229:SkPath::isRRect\28SkRRect*\29\20const +5230:SkPath::isOval\28SkRect*\29\20const +5231:SkPath::conservativelyContainsRect\28SkRect\20const&\29\20const +5232:SkPath::computeConvexity\28\29\20const +5233:SkPath::addPath\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath::AddPathMode\29 +5234:SkPath::Polygon\28SkPoint\20const*\2c\20int\2c\20bool\2c\20SkPathFillType\2c\20bool\29 +5235:SkPath2DPathEffect::Make\28SkMatrix\20const&\2c\20SkPath\20const&\29 +5236:SkParsePath::ToSVGString\28SkPath\20const&\2c\20SkParsePath::PathEncoding\29::$_0::operator\28\29\28char\2c\20SkPoint\20const*\2c\20unsigned\20long\29\20const +5237:SkParseEncodedOrigin\28void\20const*\2c\20unsigned\20long\2c\20SkEncodedOrigin*\29 +5238:SkPaintPriv::ShouldDither\28SkPaint\20const&\2c\20SkColorType\29 +5239:SkPaintPriv::Overwrites\28SkPaint\20const*\2c\20SkPaintPriv::ShaderOverrideOpacity\29 +5240:SkPaint::setStroke\28bool\29 +5241:SkPaint::reset\28\29 +5242:SkPaint::refColorFilter\28\29\20const +5243:SkOpSpanBase::merge\28SkOpSpan*\29 +5244:SkOpSpanBase::globalState\28\29\20const +5245:SkOpSpan::sortableTop\28SkOpContour*\29 +5246:SkOpSpan::release\28SkOpPtT\20const*\29 +5247:SkOpSpan::insertCoincidence\28SkOpSegment\20const*\2c\20bool\2c\20bool\29 +5248:SkOpSpan::init\28SkOpSegment*\2c\20SkOpSpan*\2c\20double\2c\20SkPoint\20const&\29 +5249:SkOpSegment::updateWindingReverse\28SkOpAngle\20const*\29 +5250:SkOpSegment::oppXor\28\29\20const +5251:SkOpSegment::moveMultiples\28\29 +5252:SkOpSegment::isXor\28\29\20const +5253:SkOpSegment::findNextWinding\28SkTDArray*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +5254:SkOpSegment::findNextOp\28SkTDArray*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\2c\20bool*\2c\20SkPathOp\2c\20int\2c\20int\29 +5255:SkOpSegment::computeSum\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpAngle::IncludeType\29 +5256:SkOpSegment::collapsed\28double\2c\20double\29\20const +5257:SkOpSegment::addExpanded\28double\2c\20SkOpSpanBase\20const*\2c\20bool*\29 +5258:SkOpSegment::activeAngle\28SkOpSpanBase*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +5259:SkOpSegment::UseInnerWinding\28int\2c\20int\29 +5260:SkOpPtT::ptAlreadySeen\28SkOpPtT\20const*\29\20const +5261:SkOpPtT::contains\28SkOpSegment\20const*\2c\20double\29\20const +5262:SkOpGlobalState::SkOpGlobalState\28SkOpContourHead*\2c\20SkArenaAlloc*\29 +5263:SkOpEdgeBuilder::preFetch\28\29 +5264:SkOpEdgeBuilder::init\28\29 +5265:SkOpEdgeBuilder::finish\28\29 +5266:SkOpContourBuilder::addConic\28SkPoint*\2c\20float\29 +5267:SkOpContour::addQuad\28SkPoint*\29 +5268:SkOpContour::addCubic\28SkPoint*\29 +5269:SkOpContour::addConic\28SkPoint*\2c\20float\29 +5270:SkOpCoincidence::release\28SkOpSegment\20const*\29 +5271:SkOpCoincidence::mark\28\29 +5272:SkOpCoincidence::markCollapsed\28SkCoincidentSpans*\2c\20SkOpPtT*\29 +5273:SkOpCoincidence::fixUp\28SkCoincidentSpans*\2c\20SkOpPtT*\2c\20SkOpPtT\20const*\29 +5274:SkOpCoincidence::contains\28SkCoincidentSpans\20const*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\29\20const +5275:SkOpCoincidence::checkOverlap\28SkCoincidentSpans*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20SkTDArray*\29\20const +5276:SkOpCoincidence::addOrOverlap\28SkOpSegment*\2c\20SkOpSegment*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20bool*\29 +5277:SkOpAngle::tangentsDiverge\28SkOpAngle\20const*\2c\20double\29 +5278:SkOpAngle::setSpans\28\29 +5279:SkOpAngle::setSector\28\29 +5280:SkOpAngle::previous\28\29\20const +5281:SkOpAngle::midToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +5282:SkOpAngle::loopCount\28\29\20const +5283:SkOpAngle::loopContains\28SkOpAngle\20const*\29\20const +5284:SkOpAngle::lastMarked\28\29\20const +5285:SkOpAngle::endToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +5286:SkOpAngle::alignmentSameSide\28SkOpAngle\20const*\2c\20int*\29\20const +5287:SkOpAngle::after\28SkOpAngle*\29 +5288:SkOffsetSimplePolygon\28SkPoint\20const*\2c\20int\2c\20SkRect\20const&\2c\20float\2c\20SkTDArray*\2c\20SkTDArray*\29 +5289:SkNoDrawCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +5290:SkNoDrawCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +5291:SkMipmapBuilder::countLevels\28\29\20const +5292:SkMipmap::countLevels\28\29\20const +5293:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +5294:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +5295:SkMeshPriv::CpuBuffer::size\28\29\20const +5296:SkMeshPriv::CpuBuffer::peek\28\29\20const +5297:SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +5298:SkMatrix::setRotate\28float\2c\20float\2c\20float\29 +5299:SkMatrix::mapRectScaleTranslate\28SkRect*\2c\20SkRect\20const&\29\20const +5300:SkMatrix::isFinite\28\29\20const +5301:SkMatrix::RotTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +5302:SkMaskSwizzler::swizzle\28void*\2c\20unsigned\20char\20const*\29 +5303:SkMaskFilterBase::NinePatch::~NinePatch\28\29 +5304:SkMask::computeTotalImageSize\28\29\20const +5305:SkMakeResourceCacheSharedIDForBitmap\28unsigned\20int\29 +5306:SkMD5::finish\28\29 +5307:SkMD5::SkMD5\28\29 +5308:SkMD5::Digest::toHexString\28\29\20const +5309:SkM44::preTranslate\28float\2c\20float\2c\20float\29 +5310:SkM44::postTranslate\28float\2c\20float\2c\20float\29 +5311:SkLocalMatrixShader::type\28\29\20const +5312:SkLinearColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +5313:SkLineParameters::cubicEndPoints\28SkDCubic\20const&\29 +5314:SkLatticeIter::SkLatticeIter\28SkCanvas::Lattice\20const&\2c\20SkRect\20const&\29 +5315:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::~SkLRUCache\28\29 +5316:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::reset\28\29 +5317:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::insert\28GrProgramDesc\20const&\2c\20std::__2::unique_ptr>\29 +5318:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_matrix_conv_effect\28SkKnownRuntimeEffects::\28anonymous\20namespace\29::MatrixConvolutionImpl\2c\20SkRuntimeEffect::Options\20const&\29::$_0::operator\28\29\28int\2c\20SkRuntimeEffect::Options\20const&\29\20const +5319:SkJpegMetadataDecoderImpl::SkJpegMetadataDecoderImpl\28std::__2::vector>\29 +5320:SkJpegDecoder::IsJpeg\28void\20const*\2c\20unsigned\20long\29 +5321:SkJpegCodec::readRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20SkCodec::Options\20const&\29 +5322:SkJpegCodec::initializeSwizzler\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20bool\29 +5323:SkIsSimplePolygon\28SkPoint\20const*\2c\20int\29 +5324:SkIsConvexPolygon\28SkPoint\20const*\2c\20int\29 +5325:SkInvert4x4Matrix\28float\20const*\2c\20float*\29 +5326:SkInvert3x3Matrix\28float\20const*\2c\20float*\29 +5327:SkInvert2x2Matrix\28float\20const*\2c\20float*\29 +5328:SkIntersections::vertical\28SkDQuad\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5329:SkIntersections::vertical\28SkDLine\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5330:SkIntersections::vertical\28SkDCubic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5331:SkIntersections::vertical\28SkDConic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5332:SkIntersections::mostOutside\28double\2c\20double\2c\20SkDPoint\20const&\29\20const +5333:SkIntersections::intersect\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +5334:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDQuad\20const&\29 +5335:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +5336:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDConic\20const&\29 +5337:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDQuad\20const&\29 +5338:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDLine\20const&\29 +5339:SkIntersections::insertCoincident\28double\2c\20double\2c\20SkDPoint\20const&\29 +5340:SkIntersections::horizontal\28SkDQuad\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5341:SkIntersections::horizontal\28SkDLine\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5342:SkIntersections::horizontal\28SkDCubic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5343:SkIntersections::horizontal\28SkDConic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5344:SkImages::RasterFromPixmap\28SkPixmap\20const&\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +5345:SkImages::RasterFromData\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\29 +5346:SkImages::DeferredFromGenerator\28std::__2::unique_ptr>\29 +5347:SkImage_Raster::onPeekMips\28\29\20const +5348:SkImage_Lazy::~SkImage_Lazy\28\29.1 +5349:SkImage_Lazy::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +5350:SkImage_GaneshBase::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +5351:SkImage_Base::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +5352:SkImage_Base::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +5353:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_1::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +5354:SkImageInfo::validRowBytes\28unsigned\20long\29\20const +5355:SkImageInfo::MakeN32Premul\28int\2c\20int\29 +5356:SkImageGenerator::~SkImageGenerator\28\29.1 +5357:SkImageFilters::ColorFilter\28sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +5358:SkImageFilter_Base::getCTMCapability\28\29\20const +5359:SkImageFilterCache::Get\28SkImageFilterCache::CreateIfNecessary\29 +5360:SkImageFilter::computeFastBounds\28SkRect\20const&\29\20const +5361:SkImage::withMipmaps\28sk_sp\29\20const +5362:SkImage::peekPixels\28SkPixmap*\29\20const +5363:SkImage::height\28\29\20const +5364:SkIcuBreakIteratorCache::purgeIfNeeded\28\29 +5365:SkIcoDecoder::IsIco\28void\20const*\2c\20unsigned\20long\29 +5366:SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +5367:SkGradientBaseShader::~SkGradientBaseShader\28\29 +5368:SkGradientBaseShader::AppendGradientFillStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const*\2c\20float\20const*\2c\20int\29 +5369:SkGlyphRunListPainterCPU::SkGlyphRunListPainterCPU\28SkSurfaceProps\20const&\2c\20SkColorType\2c\20SkColorSpace*\29 +5370:SkGlyph::setImage\28SkArenaAlloc*\2c\20SkScalerContext*\29 +5371:SkGlyph::setDrawable\28SkArenaAlloc*\2c\20SkScalerContext*\29 +5372:SkGlyph::pathIsHairline\28\29\20const +5373:SkGlyph::mask\28SkPoint\29\20const +5374:SkGlyph::SkGlyph\28SkGlyph&&\29 +5375:SkGifDecoder::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::SelectionPolicy\2c\20SkCodec::Result*\29 +5376:SkGifDecoder::IsGif\28void\20const*\2c\20unsigned\20long\29 +5377:SkGenerateDistanceFieldFromA8Image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20unsigned\20long\29 +5378:SkGaussFilter::SkGaussFilter\28double\29 +5379:SkFrameHolder::setAlphaAndRequiredFrame\28SkFrame*\29 +5380:SkFrame::fillIn\28SkCodec::FrameInfo*\2c\20bool\29\20const +5381:SkFontStyleSet_Custom::appendTypeface\28sk_sp\29 +5382:SkFontStyleSet_Custom::SkFontStyleSet_Custom\28SkString\29 +5383:SkFontScanner_FreeType::scanInstance\28SkStreamAsset*\2c\20int\2c\20int\2c\20SkString*\2c\20SkFontStyle*\2c\20bool*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29\20const +5384:SkFontScanner_FreeType::computeAxisValues\28skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>\2c\20SkFontArguments::VariationPosition\2c\20int*\2c\20SkString\20const&\2c\20SkFontStyle*\2c\20SkFontArguments::VariationPosition::Coordinate\20const*\29 +5385:SkFontScanner_FreeType::SkFontScanner_FreeType\28\29 +5386:SkFontPriv::GetFontBounds\28SkFont\20const&\29 +5387:SkFontMgr::matchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +5388:SkFontMgr::makeFromStream\28std::__2::unique_ptr>\2c\20int\29\20const +5389:SkFontMgr::makeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +5390:SkFontMgr::legacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +5391:SkFontDescriptor::SkFontStyleWidthForWidthAxisValue\28float\29 +5392:SkFontDescriptor::SkFontDescriptor\28\29 +5393:SkFont::setupForAsPaths\28SkPaint*\29 +5394:SkFont::setSkewX\28float\29 +5395:SkFont::setLinearMetrics\28bool\29 +5396:SkFont::setEmbolden\28bool\29 +5397:SkFont::operator==\28SkFont\20const&\29\20const +5398:SkFont::getPaths\28unsigned\20short\20const*\2c\20int\2c\20void\20\28*\29\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29\2c\20void*\29\20const +5399:SkFlattenable::RegisterFlattenablesIfNeeded\28\29 +5400:SkFlattenable::PrivateInitializer::InitEffects\28\29 +5401:SkFlattenable::NameToFactory\28char\20const*\29 +5402:SkFlattenable::FactoryToName\28sk_sp\20\28*\29\28SkReadBuffer&\29\29 +5403:SkFindQuadExtrema\28float\2c\20float\2c\20float\2c\20float*\29 +5404:SkFindCubicExtrema\28float\2c\20float\2c\20float\2c\20float\2c\20float*\29 +5405:SkFactorySet::~SkFactorySet\28\29 +5406:SkEncoder::encodeRows\28int\29 +5407:SkEmptyPicture::approximateBytesUsed\28\29\20const +5408:SkEdgeClipper::clipQuad\28SkPoint\20const*\2c\20SkRect\20const&\29 +5409:SkEdgeClipper::ClipPath\28SkPath\20const&\2c\20SkRect\20const&\2c\20bool\2c\20void\20\28*\29\28SkEdgeClipper*\2c\20bool\2c\20void*\29\2c\20void*\29 +5410:SkEdgeBuilder::buildEdges\28SkPath\20const&\2c\20SkIRect\20const*\29 +5411:SkDynamicMemoryWStream::bytesWritten\28\29\20const +5412:SkDrawableList::newDrawableSnapshot\28\29 +5413:SkDrawTreatAAStrokeAsHairline\28float\2c\20SkMatrix\20const&\2c\20float*\29 +5414:SkDrawShadowMetrics::GetSpotShadowTransform\28SkPoint3\20const&\2c\20float\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkRect\20const&\2c\20bool\2c\20SkMatrix*\2c\20float*\29 +5415:SkDrawShadowMetrics::GetLocalBounds\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect*\29 +5416:SkDrawBase::drawPaint\28SkPaint\20const&\29\20const +5417:SkDrawBase::DrawToMask\28SkPath\20const&\2c\20SkIRect\20const&\2c\20SkMaskFilter\20const*\2c\20SkMatrix\20const*\2c\20SkMaskBuilder*\2c\20SkMaskBuilder::CreateMode\2c\20SkStrokeRec::InitStyle\29 +5418:SkDraw::drawSprite\28SkBitmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29\20const +5419:SkDiscretePathEffectImpl::flatten\28SkWriteBuffer&\29\20const +5420:SkDiscretePathEffect::Make\28float\2c\20float\2c\20unsigned\20int\29 +5421:SkDevice::getRelativeTransform\28SkDevice\20const&\29\20const +5422:SkDevice::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +5423:SkDevice::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +5424:SkDevice::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +5425:SkDevice::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +5426:SkDescriptor::addEntry\28unsigned\20int\2c\20unsigned\20long\2c\20void\20const*\29 +5427:SkDeque::Iter::next\28\29 +5428:SkDeque::Iter::Iter\28SkDeque\20const&\2c\20SkDeque::Iter::IterStart\29 +5429:SkData::MakeSubset\28SkData\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +5430:SkDashPath::InternalFilter\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20float\20const*\2c\20int\2c\20float\2c\20int\2c\20float\2c\20float\2c\20SkDashPath::StrokeRecApplication\29 +5431:SkDashPath::CalcDashParameters\28float\2c\20float\20const*\2c\20int\2c\20float*\2c\20int*\2c\20float*\2c\20float*\29 +5432:SkDRect::setBounds\28SkDQuad\20const&\2c\20SkDQuad\20const&\2c\20double\2c\20double\29 +5433:SkDRect::setBounds\28SkDCubic\20const&\2c\20SkDCubic\20const&\2c\20double\2c\20double\29 +5434:SkDRect::setBounds\28SkDConic\20const&\2c\20SkDConic\20const&\2c\20double\2c\20double\29 +5435:SkDQuad::subDivide\28double\2c\20double\29\20const +5436:SkDQuad::monotonicInY\28\29\20const +5437:SkDQuad::isLinear\28int\2c\20int\29\20const +5438:SkDQuad::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +5439:SkDPoint::approximatelyDEqual\28SkDPoint\20const&\29\20const +5440:SkDCurveSweep::setCurveHullSweep\28SkPath::Verb\29 +5441:SkDCurve::nearPoint\28SkPath::Verb\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29\20const +5442:SkDCubic::monotonicInX\28\29\20const +5443:SkDCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +5444:SkDCubic::hullIntersects\28SkDPoint\20const*\2c\20int\2c\20bool*\29\20const +5445:SkDConic::subDivide\28double\2c\20double\29\20const +5446:SkCubics::RootsReal\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +5447:SkCubicEdge::setCubicWithoutUpdate\28SkPoint\20const*\2c\20int\2c\20bool\29 +5448:SkCubicClipper::ChopMonoAtY\28SkPoint\20const*\2c\20float\2c\20float*\29 +5449:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20SkArenaAlloc*\2c\20sk_sp\29 +5450:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkArenaAlloc*\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +5451:SkContourMeasureIter::~SkContourMeasureIter\28\29 +5452:SkContourMeasureIter::SkContourMeasureIter\28SkPath\20const&\2c\20bool\2c\20float\29 +5453:SkContourMeasure::length\28\29\20const +5454:SkContourMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29\20const +5455:SkConic::BuildUnitArc\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkRotationDirection\2c\20SkMatrix\20const*\2c\20SkConic*\29 +5456:SkComputeRadialSteps\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float*\2c\20float*\2c\20int*\29 +5457:SkCompressedDataSize\28SkTextureCompressionType\2c\20SkISize\2c\20skia_private::TArray*\2c\20bool\29 +5458:SkColorTypeValidateAlphaType\28SkColorType\2c\20SkAlphaType\2c\20SkAlphaType*\29 +5459:SkColorSpaceSingletonFactory::Make\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +5460:SkColorSpaceLuminance::Fetch\28float\29 +5461:SkColorSpace::toProfile\28skcms_ICCProfile*\29\20const +5462:SkColorSpace::makeLinearGamma\28\29\20const +5463:SkColorSpace::isSRGB\28\29\20const +5464:SkColorMatrix_RGB2YUV\28SkYUVColorSpace\2c\20float*\29 +5465:SkColorInfo::makeColorSpace\28sk_sp\29\20const +5466:SkColorFilterShader::SkColorFilterShader\28sk_sp\2c\20float\2c\20sk_sp\29 +5467:SkColor4fXformer::SkColor4fXformer\28SkGradientBaseShader\20const*\2c\20SkColorSpace*\2c\20bool\29 +5468:SkCoincidentSpans::extend\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\29 +5469:SkCodecs::get_decoders_for_editing\28\29 +5470:SkCodec::outputScanline\28int\29\20const +5471:SkCodec::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +5472:SkCodec::initializeColorXform\28SkImageInfo\20const&\2c\20SkEncodedInfo::Alpha\2c\20bool\29 +5473:SkChopQuadAtMaxCurvature\28SkPoint\20const*\2c\20SkPoint*\29 +5474:SkChopQuadAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +5475:SkChopMonoCubicAtX\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +5476:SkChopCubicAtInflections\28SkPoint\20const*\2c\20SkPoint*\29 +5477:SkCharToGlyphCache::findGlyphIndex\28int\29\20const +5478:SkCanvasPriv::WriteLattice\28void*\2c\20SkCanvas::Lattice\20const&\29 +5479:SkCanvasPriv::ReadLattice\28SkReadBuffer&\2c\20SkCanvas::Lattice*\29 +5480:SkCanvasPriv::GetDstClipAndMatrixCounts\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20int*\2c\20int*\29 +5481:SkCanvas::~SkCanvas\28\29 +5482:SkCanvas::skew\28float\2c\20float\29 +5483:SkCanvas::only_axis_aligned_saveBehind\28SkRect\20const*\29 +5484:SkCanvas::getDeviceClipBounds\28\29\20const +5485:SkCanvas::experimental_DrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +5486:SkCanvas::drawVertices\28sk_sp\20const&\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +5487:SkCanvas::drawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +5488:SkCanvas::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +5489:SkCanvas::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +5490:SkCanvas::drawImageNine\28SkImage\20const*\2c\20SkIRect\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +5491:SkCanvas::drawClippedToSaveBehind\28SkPaint\20const&\29 +5492:SkCanvas::drawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +5493:SkCanvas::didTranslate\28float\2c\20float\29 +5494:SkCanvas::clipShader\28sk_sp\2c\20SkClipOp\29 +5495:SkCanvas::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +5496:SkCanvas::SkCanvas\28sk_sp\29 +5497:SkCanvas::ImageSetEntry::ImageSetEntry\28\29 +5498:SkCachedData::SkCachedData\28void*\2c\20unsigned\20long\29 +5499:SkCachedData::SkCachedData\28unsigned\20long\2c\20SkDiscardableMemory*\29 +5500:SkCTMShader::isOpaque\28\29\20const +5501:SkBulkGlyphMetricsAndPaths::glyphs\28SkSpan\29 +5502:SkBmpStandardCodec::decodeIcoMask\28SkStream*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +5503:SkBmpMaskCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +5504:SkBmpDecoder::IsBmp\28void\20const*\2c\20unsigned\20long\29 +5505:SkBmpCodec::SkBmpCodec\28SkEncodedInfo&&\2c\20std::__2::unique_ptr>\2c\20unsigned\20short\2c\20SkCodec::SkScanlineOrder\29 +5506:SkBmpBaseCodec::SkBmpBaseCodec\28SkEncodedInfo&&\2c\20std::__2::unique_ptr>\2c\20unsigned\20short\2c\20SkCodec::SkScanlineOrder\29 +5507:SkBlurMask::ConvertRadiusToSigma\28float\29 +5508:SkBlurMask::ComputeBlurredScanline\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20unsigned\20int\2c\20float\29 +5509:SkBlurMask::BlurRect\28float\2c\20SkMaskBuilder*\2c\20SkRect\20const&\2c\20SkBlurStyle\2c\20SkIPoint*\2c\20SkMaskBuilder::CreateMode\29 +5510:SkBlockMemoryStream::getPosition\28\29\20const +5511:SkBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +5512:SkBlitter::Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +5513:SkBlitter::ChooseSprite\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkArenaAlloc*\2c\20sk_sp\29 +5514:SkBlenderBase::affectsTransparentBlack\28\29\20const +5515:SkBlendShader::~SkBlendShader\28\29.1 +5516:SkBlendShader::~SkBlendShader\28\29 +5517:SkBitmapImageGetPixelRef\28SkImage\20const*\29 +5518:SkBitmapDevice::SkBitmapDevice\28SkBitmap\20const&\2c\20SkSurfaceProps\20const&\2c\20void*\29 +5519:SkBitmapDevice::Create\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\2c\20SkRasterHandleAllocator*\29 +5520:SkBitmapCache::Rec::install\28SkBitmap*\29 +5521:SkBitmapCache::Rec::diagnostic_only_getDiscardable\28\29\20const +5522:SkBitmapCache::Find\28SkBitmapCacheDesc\20const&\2c\20SkBitmap*\29 +5523:SkBitmapCache::Alloc\28SkBitmapCacheDesc\20const&\2c\20SkImageInfo\20const&\2c\20SkPixmap*\29 +5524:SkBitmapCache::Add\28std::__2::unique_ptr\2c\20SkBitmap*\29 +5525:SkBitmap::setPixelRef\28sk_sp\2c\20int\2c\20int\29 +5526:SkBitmap::setAlphaType\28SkAlphaType\29 +5527:SkBitmap::reset\28\29 +5528:SkBitmap::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +5529:SkBitmap::getAddr\28int\2c\20int\29\20const +5530:SkBitmap::allocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +5531:SkBitmap::HeapAllocator::allocPixelRef\28SkBitmap*\29 +5532:SkBinaryWriteBuffer::writeFlattenable\28SkFlattenable\20const*\29 +5533:SkBinaryWriteBuffer::writeColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +5534:SkBigPicture::SkBigPicture\28SkRect\20const&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20sk_sp\2c\20unsigned\20long\29 +5535:SkBezierQuad::IntersectWithHorizontalLine\28SkSpan\2c\20float\2c\20float*\29 +5536:SkBezierCubic::IntersectWithHorizontalLine\28SkSpan\2c\20float\2c\20float*\29 +5537:SkBasicEdgeBuilder::~SkBasicEdgeBuilder\28\29 +5538:SkBaseShadowTessellator::finishPathPolygon\28\29 +5539:SkBaseShadowTessellator::computeConvexShadow\28float\2c\20float\2c\20bool\29 +5540:SkBaseShadowTessellator::computeConcaveShadow\28float\2c\20float\29 +5541:SkBaseShadowTessellator::clipUmbraPoint\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint*\29 +5542:SkBaseShadowTessellator::addInnerPoint\28SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20int*\29 +5543:SkBaseShadowTessellator::addEdge\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20bool\2c\20bool\29 +5544:SkBaseShadowTessellator::addArc\28SkPoint\20const&\2c\20float\2c\20bool\29 +5545:SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint\28\29 +5546:SkAutoCanvasMatrixPaint::SkAutoCanvasMatrixPaint\28SkCanvas*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\2c\20SkRect\20const&\29 +5547:SkAndroidCodecAdapter::~SkAndroidCodecAdapter\28\29 +5548:SkAndroidCodecAdapter::SkAndroidCodecAdapter\28SkCodec*\29 +5549:SkAndroidCodec::~SkAndroidCodec\28\29 +5550:SkAndroidCodec::getAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const*\29 +5551:SkAndroidCodec::SkAndroidCodec\28SkCodec*\29 +5552:SkAnalyticEdge::update\28int\2c\20bool\29 +5553:SkAnalyticEdge::updateLine\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5554:SkAnalyticEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\29 +5555:SkAAClip::operator=\28SkAAClip\20const&\29 +5556:SkAAClip::op\28SkIRect\20const&\2c\20SkClipOp\29 +5557:SkAAClip::Builder::flushRow\28bool\29 +5558:SkAAClip::Builder::finish\28SkAAClip*\29 +5559:SkAAClip::Builder::Blitter::~Blitter\28\29 +5560:SkAAClip::Builder::Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +5561:Sk2DPathEffect::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +5562:SimpleImageInfo*\20emscripten::internal::raw_constructor\28\29 +5563:SimpleFontStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleFontStyle\20SimpleStrutStyle::*\20const&\2c\20SimpleStrutStyle\20const&\29 +5564:SharedGenerator::isTextureGenerator\28\29 +5565:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29.1 +5566:RgnOper::addSpan\28int\2c\20int\20const*\2c\20int\20const*\29 +5567:PorterDuffXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +5568:PathSegment::init\28\29 +5569:PathAddVerbsPointsWeights\28SkPath&\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +5570:ParseSingleImage +5571:ParseHeadersInternal +5572:PS_Conv_ASCIIHexDecode +5573:Op\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\2c\20SkPath*\29 +5574:OpAsWinding::markReverse\28Contour*\2c\20Contour*\29 +5575:OpAsWinding::getDirection\28Contour&\29 +5576:OpAsWinding::checkContainerChildren\28Contour*\2c\20Contour*\29 +5577:OffsetEdge::computeCrossingDistance\28OffsetEdge\20const*\29 +5578:OT::sbix::accelerator_t::get_png_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +5579:OT::sbix::accelerator_t::choose_strike\28hb_font_t*\29\20const +5580:OT::hmtxvmtx::accelerator_t::accelerator_t\28hb_face_t*\29 +5581:OT::hmtxvmtx::accelerator_t::get_advance_with_var_unscaled\28unsigned\20int\2c\20hb_font_t*\2c\20float*\29\20const +5582:OT::hmtxvmtx::accelerator_t::accelerator_t\28hb_face_t*\29 +5583:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GPOS_impl::PosLookup\20const&\29 +5584:OT::hb_kern_machine_t::kern\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20bool\29\20const +5585:OT::hb_accelerate_subtables_context_t::return_t\20OT::Context::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +5586:OT::hb_accelerate_subtables_context_t::return_t\20OT::ChainContext::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +5587:OT::glyf_accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\29\20const +5588:OT::glyf_accelerator_t::get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29\20const +5589:OT::cmap::accelerator_t::get_variation_glyph\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_cache_t<21u\2c\2016u\2c\208u\2c\20true>*\29\20const +5590:OT::cff2::accelerator_templ_t>::accelerator_templ_t\28hb_face_t*\29 +5591:OT::cff2::accelerator_templ_t>::_fini\28\29 +5592:OT::cff1::lookup_expert_subset_charset_for_sid\28unsigned\20int\29 +5593:OT::cff1::lookup_expert_charset_for_sid\28unsigned\20int\29 +5594:OT::cff1::accelerator_templ_t>::~accelerator_templ_t\28\29 +5595:OT::cff1::accelerator_templ_t>::_fini\28\29 +5596:OT::TupleVariationData::unpack_points\28OT::IntType\20const*&\2c\20hb_vector_t&\2c\20OT::IntType\20const*\29 +5597:OT::SBIXStrike::get_glyph_blob\28unsigned\20int\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +5598:OT::RuleSet::sanitize\28hb_sanitize_context_t*\29\20const +5599:OT::RuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +5600:OT::RecordListOf::sanitize\28hb_sanitize_context_t*\29\20const +5601:OT::RecordListOf::sanitize\28hb_sanitize_context_t*\29\20const +5602:OT::PaintTranslate::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5603:OT::PaintSolid::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5604:OT::PaintSkewAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5605:OT::PaintSkew::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5606:OT::PaintScaleUniformAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5607:OT::PaintScaleUniform::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5608:OT::PaintScaleAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5609:OT::PaintScale::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5610:OT::PaintRotateAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5611:OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +5612:OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +5613:OT::Lookup::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +5614:OT::Layout::propagate_attachment_offsets\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +5615:OT::Layout::GSUB_impl::MultipleSubstFormat1_2::sanitize\28hb_sanitize_context_t*\29\20const +5616:OT::Layout::GSUB_impl::Ligature::apply\28OT::hb_ot_apply_context_t*\29\20const +5617:OT::Layout::GPOS_impl::reverse_cursive_minor_offset\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +5618:OT::Layout::GPOS_impl::MarkRecord::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5619:OT::Layout::GPOS_impl::MarkBasePosFormat1_2::sanitize\28hb_sanitize_context_t*\29\20const +5620:OT::Layout::GPOS_impl::AnchorMatrix::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5621:OT::IndexSubtableRecord::get_image_data\28unsigned\20int\2c\20void\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +5622:OT::FeatureVariationRecord::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5623:OT::FeatureParams::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5624:OT::ContextFormat3::sanitize\28hb_sanitize_context_t*\29\20const +5625:OT::ContextFormat2_5::sanitize\28hb_sanitize_context_t*\29\20const +5626:OT::ContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +5627:OT::ContextFormat1_4::sanitize\28hb_sanitize_context_t*\29\20const +5628:OT::ColorStop::get_color_stop\28OT::hb_paint_context_t*\2c\20hb_color_stop_t*\2c\20unsigned\20int\2c\20OT::VarStoreInstancer\20const&\29\20const +5629:OT::ColorLine::static_get_extend\28hb_color_line_t*\2c\20void*\2c\20void*\29 +5630:OT::ChainRuleSet::would_apply\28OT::hb_would_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +5631:OT::ChainRuleSet::sanitize\28hb_sanitize_context_t*\29\20const +5632:OT::ChainRuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +5633:OT::ChainContextFormat3::sanitize\28hb_sanitize_context_t*\29\20const +5634:OT::ChainContextFormat2_5::sanitize\28hb_sanitize_context_t*\29\20const +5635:OT::ChainContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +5636:OT::ChainContextFormat1_4::sanitize\28hb_sanitize_context_t*\29\20const +5637:OT::CBDT::accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +5638:OT::Affine2x3::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5639:MakeOnScreenGLSurface\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29 +5640:Load_SBit_Png +5641:LineCubicIntersections::intersectRay\28double*\29 +5642:LineCubicIntersections::VerticalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +5643:LineCubicIntersections::HorizontalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +5644:Launch +5645:JpegDecoderMgr::returnFalse\28char\20const*\29 +5646:JpegDecoderMgr::getEncodedColor\28SkEncodedInfo::Color*\29 +5647:JSObjectFromLineMetrics\28skia::textlayout::LineMetrics&\29 +5648:JSObjectFromGlyphInfo\28skia::textlayout::Paragraph::GlyphInfo&\29 +5649:Ins_DELTAP +5650:HandleCoincidence\28SkOpContourHead*\2c\20SkOpCoincidence*\29 +5651:GrWritePixelsTask::~GrWritePixelsTask\28\29 +5652:GrWaitRenderTask::~GrWaitRenderTask\28\29 +5653:GrVertexBufferAllocPool::makeSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +5654:GrVertexBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +5655:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20SkPathFillType\2c\20skgpu::VertexWriter\29\20const +5656:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20GrEagerVertexAllocator*\29\20const +5657:GrTriangulator::mergeEdgesBelow\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +5658:GrTriangulator::mergeEdgesAbove\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +5659:GrTriangulator::makeSortedVertex\28SkPoint\20const&\2c\20unsigned\20char\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29\20const +5660:GrTriangulator::makeEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\29 +5661:GrTriangulator::computeBisector\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\29\20const +5662:GrTriangulator::appendQuadraticToContour\28SkPoint\20const*\2c\20float\2c\20GrTriangulator::VertexList*\29\20const +5663:GrTriangulator::SortMesh\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +5664:GrTriangulator::FindEnclosingEdges\28GrTriangulator::Vertex\20const&\2c\20GrTriangulator::EdgeList\20const&\2c\20GrTriangulator::Edge**\2c\20GrTriangulator::Edge**\29 +5665:GrTriangulator::Edge::intersect\28GrTriangulator::Edge\20const&\2c\20SkPoint*\2c\20unsigned\20char*\29\20const +5666:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29 +5667:GrThreadSafeCache::~GrThreadSafeCache\28\29 +5668:GrThreadSafeCache::findVertsWithData\28skgpu::UniqueKey\20const&\29 +5669:GrThreadSafeCache::addVertsWithData\28skgpu::UniqueKey\20const&\2c\20sk_sp\2c\20bool\20\28*\29\28SkData*\2c\20SkData*\29\29 +5670:GrThreadSafeCache::Entry::set\28skgpu::UniqueKey\20const&\2c\20sk_sp\29 +5671:GrThreadSafeCache::CreateLazyView\28GrDirectContext*\2c\20GrColorType\2c\20SkISize\2c\20GrSurfaceOrigin\2c\20SkBackingFit\29 +5672:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29 +5673:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29 +5674:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28GrCaps\20const&\2c\20std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\2c\20std::__2::basic_string_view>\29 +5675:GrTextureProxyPriv::setDeferredUploader\28std::__2::unique_ptr>\29 +5676:GrTextureProxy::setUniqueKey\28GrProxyProvider*\2c\20skgpu::UniqueKey\20const&\29 +5677:GrTextureProxy::clearUniqueKey\28\29 +5678:GrTextureProxy::ProxiesAreCompatibleAsDynamicState\28GrSurfaceProxy\20const*\2c\20GrSurfaceProxy\20const*\29 +5679:GrTextureProxy::GrTextureProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29.1 +5680:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::$_1::operator\28\29\28int\2c\20GrSamplerState::WrapMode\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20float\29\20const +5681:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_2::operator\28\29\28GrTextureEffect::ShaderMode\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +5682:GrTexture::markMipmapsDirty\28\29 +5683:GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +5684:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29 +5685:GrSurfaceProxyPriv::exactify\28\29 +5686:GrSurfaceProxy::GrSurfaceProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +5687:GrStyledShape::setInheritedKey\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +5688:GrStyledShape::asRRect\28SkRRect*\2c\20bool*\29\20const +5689:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20SkPaint\20const&\2c\20GrStyledShape::DoSimplify\29 +5690:GrStyle::~GrStyle\28\29 +5691:GrStyle::applyToPath\28SkPath*\2c\20SkStrokeRec::InitStyle*\2c\20SkPath\20const&\2c\20float\29\20const +5692:GrStyle::applyPathEffect\28SkPath*\2c\20SkStrokeRec*\2c\20SkPath\20const&\29\20const +5693:GrStencilSettings::SetClipBitSettings\28bool\29 +5694:GrStagingBufferManager::detachBuffers\28\29 +5695:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineStruct\28char\20const*\29 +5696:GrShape::simplify\28unsigned\20int\29 +5697:GrShape::conservativeContains\28SkRect\20const&\29\20const +5698:GrShape::closed\28\29\20const +5699:GrSWMaskHelper::toTextureView\28GrRecordingContext*\2c\20SkBackingFit\29 +5700:GrSWMaskHelper::drawShape\28GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +5701:GrSWMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +5702:GrResourceProvider::writePixels\28sk_sp\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\29\20const +5703:GrResourceProvider::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +5704:GrResourceProvider::prepareLevels\28GrBackendFormat\20const&\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\2c\20skia_private::AutoSTArray<14\2c\20GrMipLevel>*\2c\20skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>*\29\20const +5705:GrResourceProvider::getExactScratch\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5706:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5707:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20GrColorType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMipLevel\20const*\2c\20std::__2::basic_string_view>\29 +5708:GrResourceProvider::createApproxTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5709:GrResourceCache::~GrResourceCache\28\29 +5710:GrResourceCache::removeResource\28GrGpuResource*\29 +5711:GrResourceCache::processFreedGpuResources\28\29 +5712:GrResourceCache::insertResource\28GrGpuResource*\29 +5713:GrResourceCache::didChangeBudgetStatus\28GrGpuResource*\29 +5714:GrResourceAllocator::~GrResourceAllocator\28\29 +5715:GrResourceAllocator::planAssignment\28\29 +5716:GrResourceAllocator::expire\28unsigned\20int\29 +5717:GrRenderTask::makeSkippable\28\29 +5718:GrRenderTask::isInstantiated\28\29\20const +5719:GrRenderTarget::GrRenderTarget\28GrGpu*\2c\20SkISize\20const&\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20sk_sp\29 +5720:GrRecordingContext::init\28\29 +5721:GrRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\2c\20GrShaderCaps\20const&\29 +5722:GrQuadUtils::TessellationHelper::reset\28GrQuad\20const&\2c\20GrQuad\20const*\29 +5723:GrQuadUtils::TessellationHelper::outset\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad*\2c\20GrQuad*\29 +5724:GrQuadUtils::TessellationHelper::adjustDegenerateVertices\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuadUtils::TessellationHelper::Vertices*\29 +5725:GrQuadUtils::TessellationHelper::OutsetRequest::reset\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20GrQuad::Type\2c\20skvx::Vec<4\2c\20float>\20const&\29 +5726:GrQuadUtils::TessellationHelper::EdgeVectors::reset\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad::Type\29 +5727:GrQuadUtils::ClipToW0\28DrawQuad*\2c\20DrawQuad*\29 +5728:GrQuad::bounds\28\29\20const +5729:GrProxyProvider::~GrProxyProvider\28\29 +5730:GrProxyProvider::wrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\2c\20sk_sp\29 +5731:GrProxyProvider::removeUniqueKeyFromProxy\28GrTextureProxy*\29 +5732:GrProxyProvider::processInvalidUniqueKeyImpl\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\2c\20GrProxyProvider::RemoveTableEntry\29 +5733:GrProxyProvider::createLazyProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20GrInternalSurfaceFlags\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +5734:GrProxyProvider::contextID\28\29\20const +5735:GrProxyProvider::adoptUniqueKeyFromSurface\28GrTextureProxy*\2c\20GrSurface\20const*\29 +5736:GrPixmapBase::clip\28SkISize\2c\20SkIPoint*\29 +5737:GrPixmap::GrPixmap\28GrImageInfo\2c\20sk_sp\2c\20unsigned\20long\29 +5738:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20sk_sp\2c\20GrAppliedHardClip\20const&\29 +5739:GrPersistentCacheUtils::GetType\28SkReadBuffer*\29 +5740:GrPathUtils::QuadUVMatrix::set\28SkPoint\20const*\29 +5741:GrPathTessellationShader::MakeStencilOnlyPipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedHardClip\20const&\2c\20GrPipeline::InputFlags\29 +5742:GrPaint::setCoverageSetOpXPFactory\28SkRegion::Op\2c\20bool\29 +5743:GrOvalOpFactory::MakeOvalOp\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\2c\20GrShaderCaps\20const*\29 +5744:GrOpsRenderPass::drawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +5745:GrOpsRenderPass::drawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5746:GrOpsRenderPass::drawIndexPattern\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5747:GrOpFlushState::reset\28\29 +5748:GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp\28GrOp\20const*\2c\20SkRect\20const&\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +5749:GrOpFlushState::addASAPUpload\28std::__2::function&\29>&&\29 +5750:GrOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +5751:GrOp::combineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +5752:GrOnFlushResourceProvider::instantiateProxy\28GrSurfaceProxy*\29 +5753:GrMeshDrawTarget::allocMesh\28\29 +5754:GrMeshDrawOp::PatternHelper::init\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +5755:GrMeshDrawOp::CombinedQuadCountWillOverflow\28GrAAType\2c\20bool\2c\20int\29 +5756:GrMemoryPool::allocate\28unsigned\20long\29 +5757:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::changed\28\29 +5758:GrIndexBufferAllocPool::makeSpace\28int\2c\20sk_sp*\2c\20int*\29 +5759:GrIndexBufferAllocPool::makeSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +5760:GrImageInfo::refColorSpace\28\29\20const +5761:GrImageInfo::minRowBytes\28\29\20const +5762:GrImageInfo::makeDimensions\28SkISize\29\20const +5763:GrImageInfo::bpp\28\29\20const +5764:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20int\2c\20int\29 +5765:GrImageContext::abandonContext\28\29 +5766:GrGpuResource::makeBudgeted\28\29 +5767:GrGpuResource::getResourceName\28\29\20const +5768:GrGpuResource::abandon\28\29 +5769:GrGpuResource::CreateUniqueID\28\29 +5770:GrGpu::~GrGpu\28\29 +5771:GrGpu::regenerateMipMapLevels\28GrTexture*\29 +5772:GrGpu::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5773:GrGpu::createTextureCommon\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +5774:GrGeometryProcessor::AttributeSet::addToKey\28skgpu::KeyBuilder*\29\20const +5775:GrGLVertexArray::invalidateCachedState\28\29 +5776:GrGLTextureParameters::invalidate\28\29 +5777:GrGLTexture::MakeWrapped\28GrGLGpu*\2c\20GrMipmapStatus\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrWrapCacheable\2c\20GrIOType\2c\20std::__2::basic_string_view>\29 +5778:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20skgpu::Budgeted\2c\20GrGLTexture::Desc\20const&\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +5779:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +5780:GrGLSLVaryingHandler::getFragDecls\28SkString*\2c\20SkString*\29\20const +5781:GrGLSLVaryingHandler::addAttribute\28GrShaderVar\20const&\29 +5782:GrGLSLUniformHandler::liftUniformToVertexShader\28GrProcessor\20const&\2c\20SkString\29 +5783:GrGLSLShaderBuilder::finalize\28unsigned\20int\29 +5784:GrGLSLShaderBuilder::emitFunction\28char\20const*\2c\20char\20const*\29 +5785:GrGLSLShaderBuilder::emitFunctionPrototype\28char\20const*\29 +5786:GrGLSLShaderBuilder::appendTextureLookupAndBlend\28char\20const*\2c\20SkBlendMode\2c\20GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +5787:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29::$_0::operator\28\29\28char\20const*\2c\20GrResourceHandle\2c\20skcms_TFType\29\20const +5788:GrGLSLShaderBuilder::addLayoutQualifier\28char\20const*\2c\20GrGLSLShaderBuilder::InterfaceQualifier\29 +5789:GrGLSLShaderBuilder::GrGLSLShaderBuilder\28GrGLSLProgramBuilder*\29 +5790:GrGLSLProgramDataManager::setRuntimeEffectUniforms\28SkSpan\2c\20SkSpan\20const>\2c\20SkSpan\2c\20void\20const*\29\20const +5791:GrGLSLProgramBuilder::~GrGLSLProgramBuilder\28\29 +5792:GrGLSLBlend::SetBlendModeUniformData\28GrGLSLProgramDataManager\20const&\2c\20GrResourceHandle\2c\20SkBlendMode\29 +5793:GrGLSLBlend::BlendExpression\28GrProcessor\20const*\2c\20GrGLSLUniformHandler*\2c\20GrResourceHandle*\2c\20char\20const*\2c\20char\20const*\2c\20SkBlendMode\29 +5794:GrGLRenderTarget::GrGLRenderTarget\28GrGLGpu*\2c\20SkISize\20const&\2c\20GrGLFormat\2c\20int\2c\20GrGLRenderTarget::IDs\20const&\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5795:GrGLProgramDataManager::set4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +5796:GrGLProgramDataManager::set2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +5797:GrGLProgramBuilder::uniformHandler\28\29 +5798:GrGLProgramBuilder::PrecompileProgram\28GrDirectContext*\2c\20GrGLPrecompiledProgram*\2c\20SkData\20const&\29::$_0::operator\28\29\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\29\20const +5799:GrGLProgramBuilder::CreateProgram\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrGLPrecompiledProgram\20const*\29 +5800:GrGLProgram::~GrGLProgram\28\29 +5801:GrGLMakeAssembledWebGLInterface\28void*\2c\20void\20\28*\20\28*\29\28void*\2c\20char\20const*\29\29\28\29\29 +5802:GrGLGpu::~GrGLGpu\28\29 +5803:GrGLGpu::uploadTexData\28SkISize\2c\20unsigned\20int\2c\20SkIRect\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20long\2c\20GrMipLevel\20const*\2c\20int\29 +5804:GrGLGpu::uploadCompressedTexData\28SkTextureCompressionType\2c\20GrGLFormat\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20unsigned\20int\2c\20void\20const*\2c\20unsigned\20long\29 +5805:GrGLGpu::uploadColorToTex\28GrGLFormat\2c\20SkISize\2c\20unsigned\20int\2c\20std::__2::array\2c\20unsigned\20int\29 +5806:GrGLGpu::readOrTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20int\29 +5807:GrGLGpu::getCompatibleStencilIndex\28GrGLFormat\29 +5808:GrGLGpu::deleteSync\28__GLsync*\29 +5809:GrGLGpu::createRenderTargetObjects\28GrGLTexture::Desc\20const&\2c\20int\2c\20GrGLRenderTarget::IDs*\29 +5810:GrGLGpu::createCompressedTexture2D\28SkISize\2c\20SkTextureCompressionType\2c\20GrGLFormat\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrGLTextureParameters::SamplerOverriddenState*\29 +5811:GrGLGpu::bindFramebuffer\28unsigned\20int\2c\20unsigned\20int\29 +5812:GrGLGpu::ProgramCache::reset\28\29 +5813:GrGLGpu::ProgramCache::findOrCreateProgramImpl\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrThreadSafePipelineBuilder::Stats::ProgramCacheResult*\29 +5814:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29 +5815:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\29 +5816:GrGLFormatIsCompressed\28GrGLFormat\29 +5817:GrGLFinishCallbacks::check\28\29 +5818:GrGLContext::~GrGLContext\28\29.1 +5819:GrGLContext::~GrGLContext\28\29 +5820:GrGLCaps::~GrGLCaps\28\29 +5821:GrGLCaps::getTexSubImageExternalFormatAndType\28GrGLFormat\2c\20GrColorType\2c\20GrColorType\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +5822:GrGLCaps::getTexSubImageDefaultFormatTypeAndColorType\28GrGLFormat\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20GrColorType*\29\20const +5823:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrGLFormat\29\20const +5824:GrGLCaps::formatSupportsTexStorage\28GrGLFormat\29\20const +5825:GrGLCaps::canCopyAsDraw\28GrGLFormat\2c\20bool\2c\20bool\29\20const +5826:GrGLCaps::canCopyAsBlit\28GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20SkRect\20const&\2c\20bool\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29\20const +5827:GrFragmentProcessor::~GrFragmentProcessor\28\29 +5828:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +5829:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +5830:GrFragmentProcessor::ProgramImpl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +5831:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::Make\28std::__2::unique_ptr>\29 +5832:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5833:GrFragmentProcessor::ClampOutput\28std::__2::unique_ptr>\29 +5834:GrFixedClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +5835:GrFixedClip::getConservativeBounds\28\29\20const +5836:GrFixedClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +5837:GrEagerDynamicVertexAllocator::unlock\28int\29 +5838:GrDynamicAtlas::readView\28GrCaps\20const&\29\20const +5839:GrDynamicAtlas::instantiate\28GrOnFlushResourceProvider*\2c\20sk_sp\29 +5840:GrDriverBugWorkarounds::GrDriverBugWorkarounds\28\29 +5841:GrDrawingManager::getLastRenderTask\28GrSurfaceProxy\20const*\29\20const +5842:GrDrawingManager::flush\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +5843:GrDrawOpAtlasConfig::atlasDimensions\28skgpu::MaskFormat\29\20const +5844:GrDrawOpAtlasConfig::GrDrawOpAtlasConfig\28int\2c\20unsigned\20long\29 +5845:GrDrawOpAtlas::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +5846:GrDrawOpAtlas::Make\28GrProxyProvider*\2c\20GrBackendFormat\20const&\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20int\2c\20int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20GrDrawOpAtlas::AllowMultitexturing\2c\20skgpu::PlotEvictionCallback*\2c\20std::__2::basic_string_view>\29 +5847:GrDistanceFieldA8TextGeoProc::onTextureSampler\28int\29\20const +5848:GrDistanceFieldA8TextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +5849:GrDisableColorXPFactory::MakeXferProcessor\28\29 +5850:GrDirectContextPriv::validPMUPMConversionExists\28\29 +5851:GrDirectContext::~GrDirectContext\28\29 +5852:GrDirectContext::onGetSmallPathAtlasMgr\28\29 +5853:GrDirectContext::getResourceCacheLimits\28int*\2c\20unsigned\20long*\29\20const +5854:GrCopyRenderTask::~GrCopyRenderTask\28\29 +5855:GrCopyRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +5856:GrCopyBaseMipMapToView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Budgeted\29 +5857:GrContext_Base::threadSafeProxy\28\29 +5858:GrContext_Base::maxSurfaceSampleCountForColorType\28SkColorType\29\20const +5859:GrContext_Base::backend\28\29\20const +5860:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29 +5861:GrColorInfo::makeColorType\28GrColorType\29\20const +5862:GrColorInfo::isLinearlyBlended\28\29\20const +5863:GrColorFragmentProcessorAnalysis::GrColorFragmentProcessorAnalysis\28GrProcessorAnalysisColor\20const&\2c\20std::__2::unique_ptr>\20const*\2c\20int\29 +5864:GrClip::IsPixelAligned\28SkRect\20const&\29 +5865:GrCaps::surfaceSupportsWritePixels\28GrSurface\20const*\29\20const +5866:GrCaps::getDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\2c\20bool\29\20const +5867:GrCPixmap::GrCPixmap\28GrPixmap\20const&\29 +5868:GrBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\2c\20unsigned\20long*\29 +5869:GrBufferAllocPool::createBlock\28unsigned\20long\29 +5870:GrBufferAllocPool::CpuBufferCache::makeBuffer\28unsigned\20long\2c\20bool\29 +5871:GrBlurUtils::draw_shape_with_mask_filter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\29 +5872:GrBlurUtils::draw_mask\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrPaint&&\2c\20GrSurfaceProxyView\29 +5873:GrBlurUtils::convolve_gaussian\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20SkIRect\2c\20SkIRect\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkBackingFit\29 +5874:GrBlurUtils::\28anonymous\20namespace\29::make_texture_effect\28GrCaps\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20GrSamplerState\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkISize\20const&\29 +5875:GrBitmapTextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +5876:GrBicubicEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +5877:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +5878:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20std::__2::basic_string_view>\29 +5879:GrBackendTexture::operator=\28GrBackendTexture\20const&\29 +5880:GrBackendRenderTargets::MakeGL\28int\2c\20int\2c\20int\2c\20int\2c\20GrGLFramebufferInfo\20const&\29 +5881:GrBackendRenderTargets::GetGLFramebufferInfo\28GrBackendRenderTarget\20const&\2c\20GrGLFramebufferInfo*\29 +5882:GrBackendRenderTarget::~GrBackendRenderTarget\28\29 +5883:GrBackendRenderTarget::isProtected\28\29\20const +5884:GrBackendFormatBytesPerBlock\28GrBackendFormat\20const&\29 +5885:GrBackendFormat::makeTexture2D\28\29\20const +5886:GrBackendFormat::isMockStencilFormat\28\29\20const +5887:GrBackendFormat::MakeMock\28GrColorType\2c\20SkTextureCompressionType\2c\20bool\29 +5888:GrAuditTrail::opsCombined\28GrOp\20const*\2c\20GrOp\20const*\29 +5889:GrAttachment::ComputeSharedAttachmentUniqueKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\2c\20skgpu::UniqueKey*\29 +5890:GrAtlasManager::~GrAtlasManager\28\29 +5891:GrAtlasManager::getViews\28skgpu::MaskFormat\2c\20unsigned\20int*\29 +5892:GrAtlasManager::freeAll\28\29 +5893:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::EventList*\2c\20GrTriangulator::Comparator\20const&\29\20const +5894:GrAATriangulator::collapseOverlapRegions\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\2c\20GrAATriangulator::EventComparator\29 +5895:GrAAConvexTessellator::quadTo\28SkPoint\20const*\29 +5896:GetVariationDesignPosition\28AutoFTAccess&\2c\20SkFontArguments::VariationPosition::Coordinate*\2c\20int\29 +5897:GetShapedLines\28skia::textlayout::Paragraph&\29 +5898:GetLargeValue +5899:FontMgrRunIterator::endOfCurrentRun\28\29\20const +5900:FontMgrRunIterator::atEnd\28\29\20const +5901:FinishRow +5902:FindUndone\28SkOpContourHead*\29 +5903:FT_Stream_Close +5904:FT_Sfnt_Table_Info +5905:FT_Render_Glyph_Internal +5906:FT_Remove_Module +5907:FT_Outline_Get_Orientation +5908:FT_Outline_EmboldenXY +5909:FT_New_Library +5910:FT_New_GlyphSlot +5911:FT_List_Iterate +5912:FT_List_Find +5913:FT_List_Finalize +5914:FT_GlyphLoader_CheckSubGlyphs +5915:FT_Get_Postscript_Name +5916:FT_Get_Paint_Layers +5917:FT_Get_PS_Font_Info +5918:FT_Get_Kerning +5919:FT_Get_Glyph_Name +5920:FT_Get_FSType_Flags +5921:FT_Get_Colorline_Stops +5922:FT_Get_Color_Glyph_ClipBox +5923:FT_Bitmap_Convert +5924:FT_Add_Default_Modules +5925:EllipticalRRectOp::~EllipticalRRectOp\28\29.1 +5926:EllipticalRRectOp::~EllipticalRRectOp\28\29 +5927:EllipticalRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +5928:EllipticalRRectOp::RRect&\20skia_private::TArray::emplace_back\28EllipticalRRectOp::RRect&&\29 +5929:EllipticalRRectOp::EllipticalRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20SkPoint\2c\20bool\29 +5930:EllipseOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\29 +5931:EllipseOp::EllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20EllipseOp::DeviceSpaceParams\20const&\2c\20SkStrokeRec\20const&\29 +5932:EllipseGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +5933:DIEllipseOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\29 +5934:DIEllipseOp::DIEllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20DIEllipseOp::DeviceSpaceParams\20const&\2c\20SkMatrix\20const&\29 +5935:CustomXP::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +5936:CustomXP::makeProgramImpl\28\29\20const::Impl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +5937:Cr_z_deflateReset +5938:Cr_z_deflate +5939:Cr_z_crc32_z +5940:CoverageSetOpXP::onIsEqual\28GrXferProcessor\20const&\29\20const +5941:CircularRRectOp::~CircularRRectOp\28\29.1 +5942:CircularRRectOp::~CircularRRectOp\28\29 +5943:CircularRRectOp::CircularRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +5944:CircleOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +5945:CircleOp::CircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +5946:CircleGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +5947:CheckDecBuffer +5948:CFF::path_procs_t::rlineto\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\29 +5949:CFF::dict_interpreter_t\2c\20CFF::interp_env_t>::interpret\28CFF::cff1_private_dict_values_base_t&\29 +5950:CFF::cff2_cs_opset_t::process_blend\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\29 +5951:CFF::FDSelect3_4\2c\20OT::IntType>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5952:CFF::Charset::get_sid\28unsigned\20int\2c\20unsigned\20int\2c\20CFF::code_pair_t*\29\20const +5953:CFF::CFFIndex>::get_size\28\29\20const +5954:CFF::CFF2FDSelect::get_fd\28unsigned\20int\29\20const +5955:ButtCapDashedCircleOp::ButtCapDashedCircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5956:BuildHuffmanTable +5957:AutoLayerForImageFilter::addMaskFilterLayer\28SkRect\20const*\29 +5958:AsWinding\28SkPath\20const&\2c\20SkPath*\29 +5959:AngleWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\2c\20bool*\29 +5960:AddIntersectTs\28SkOpContour*\2c\20SkOpContour*\2c\20SkOpCoincidence*\29 +5961:ActiveEdgeList::replace\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +5962:ActiveEdgeList::remove\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +5963:ActiveEdgeList::insert\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +5964:AAT::hb_aat_apply_context_t::return_t\20AAT::ChainSubtable::dispatch\28AAT::hb_aat_apply_context_t*\29\20const +5965:AAT::hb_aat_apply_context_t::return_t\20AAT::ChainSubtable::dispatch\28AAT::hb_aat_apply_context_t*\29\20const +5966:AAT::TrackData::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5967:AAT::TrackData::get_tracking\28void\20const*\2c\20float\29\20const +5968:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5969:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5970:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5971:AAT::RearrangementSubtable::driver_context_t::transition\28AAT::StateTableDriver*\2c\20AAT::Entry\20const&\29 +5972:AAT::NoncontextualSubtable::apply\28AAT::hb_aat_apply_context_t*\29\20const +5973:AAT::Lookup>::sanitize\28hb_sanitize_context_t*\29\20const +5974:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +5975:AAT::InsertionSubtable::driver_context_t::transition\28AAT::StateTableDriver::EntryData>*\2c\20AAT::Entry::EntryData>\20const&\29 +5976:ycck_cmyk_convert +5977:ycc_rgb_convert +5978:ycc_rgb565_convert +5979:ycc_rgb565D_convert +5980:xyzd50_to_lab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5981:xyzd50_to_hcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5982:wuffs_gif__decoder__tell_me_more +5983:wuffs_gif__decoder__set_report_metadata +5984:wuffs_gif__decoder__num_decoded_frame_configs +5985:wuffs_base__pixel_swizzler__xxxxxxxx__index_binary_alpha__src_over +5986:wuffs_base__pixel_swizzler__xxxxxxxx__index__src +5987:wuffs_base__pixel_swizzler__xxxx__index_binary_alpha__src_over +5988:wuffs_base__pixel_swizzler__xxxx__index__src +5989:wuffs_base__pixel_swizzler__xxx__index_binary_alpha__src_over +5990:wuffs_base__pixel_swizzler__xxx__index__src +5991:wuffs_base__pixel_swizzler__transparent_black_src_over +5992:wuffs_base__pixel_swizzler__transparent_black_src +5993:wuffs_base__pixel_swizzler__copy_1_1 +5994:wuffs_base__pixel_swizzler__bgr_565__index_binary_alpha__src_over +5995:wuffs_base__pixel_swizzler__bgr_565__index__src +5996:webgl_get_gl_proc\28void*\2c\20char\20const*\29 +5997:void\20std::__2::vector>::__emplace_back_slow_path\28char\20const*&\2c\20int&&\29 +5998:void\20std::__2::__call_once_proxy\5babi:v160004\5d>\28void*\29 +5999:void\20std::__2::__call_once_proxy\5babi:v160004\5d>\28void*\29 +6000:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +6001:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +6002:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +6003:void\20emscripten::internal::raw_destructor\28SkVertices::Builder*\29 +6004:void\20emscripten::internal::raw_destructor\28SkRuntimeEffect::TracedShader*\29 +6005:void\20emscripten::internal::raw_destructor\28SkPictureRecorder*\29 +6006:void\20emscripten::internal::raw_destructor\28SkPath*\29 +6007:void\20emscripten::internal::raw_destructor\28SkPaint*\29 +6008:void\20emscripten::internal::raw_destructor\28SkContourMeasureIter*\29 +6009:void\20emscripten::internal::raw_destructor\28SimpleImageInfo*\29 +6010:void\20emscripten::internal::MemberAccess::setWire\28SimpleTextStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle&\2c\20SimpleTextStyle*\29 +6011:void\20emscripten::internal::MemberAccess::setWire\28SimpleStrutStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle&\2c\20SimpleStrutStyle*\29 +6012:void\20emscripten::internal::MemberAccess>::setWire\28sk_sp\20SimpleImageInfo::*\20const&\2c\20SimpleImageInfo&\2c\20sk_sp*\29 +6013:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::TypefaceFontProvider*\29 +6014:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::ParagraphBuilderImpl*\29 +6015:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::Paragraph*\29 +6016:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::FontCollection*\29 +6017:void\20const*\20emscripten::internal::getActualType\28SkVertices*\29 +6018:void\20const*\20emscripten::internal::getActualType\28SkVertices::Builder*\29 +6019:void\20const*\20emscripten::internal::getActualType\28SkTypeface*\29 +6020:void\20const*\20emscripten::internal::getActualType\28SkTextBlob*\29 +6021:void\20const*\20emscripten::internal::getActualType\28SkSurface*\29 +6022:void\20const*\20emscripten::internal::getActualType\28SkShader*\29 +6023:void\20const*\20emscripten::internal::getActualType\28SkSL::DebugTrace*\29 +6024:void\20const*\20emscripten::internal::getActualType\28SkRuntimeEffect*\29 +6025:void\20const*\20emscripten::internal::getActualType\28SkPictureRecorder*\29 +6026:void\20const*\20emscripten::internal::getActualType\28SkPicture*\29 +6027:void\20const*\20emscripten::internal::getActualType\28SkPathEffect*\29 +6028:void\20const*\20emscripten::internal::getActualType\28SkPath*\29 +6029:void\20const*\20emscripten::internal::getActualType\28SkPaint*\29 +6030:void\20const*\20emscripten::internal::getActualType\28SkMaskFilter*\29 +6031:void\20const*\20emscripten::internal::getActualType\28SkImageFilter*\29 +6032:void\20const*\20emscripten::internal::getActualType\28SkImage*\29 +6033:void\20const*\20emscripten::internal::getActualType\28SkFontMgr*\29 +6034:void\20const*\20emscripten::internal::getActualType\28SkFont*\29 +6035:void\20const*\20emscripten::internal::getActualType\28SkContourMeasureIter*\29 +6036:void\20const*\20emscripten::internal::getActualType\28SkContourMeasure*\29 +6037:void\20const*\20emscripten::internal::getActualType\28SkColorSpace*\29 +6038:void\20const*\20emscripten::internal::getActualType\28SkColorFilter*\29 +6039:void\20const*\20emscripten::internal::getActualType\28SkCanvas*\29 +6040:void\20const*\20emscripten::internal::getActualType\28SkBlender*\29 +6041:void\20const*\20emscripten::internal::getActualType\28SkAnimatedImage*\29 +6042:void\20const*\20emscripten::internal::getActualType\28GrDirectContext*\29 +6043:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6044:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6045:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6046:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6047:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6048:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6049:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6050:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6051:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6052:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6053:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6054:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6055:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6056:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6057:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6058:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6059:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6060:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6061:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6062:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6063:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6064:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6065:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6066:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6067:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6068:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6069:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6070:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6071:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6072:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6073:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6074:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6075:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6076:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6077:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6078:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6079:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6080:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6081:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6082:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6083:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6084:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6085:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6086:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6087:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6088:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6089:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6090:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6091:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6092:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6093:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6094:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6095:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6096:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6097:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6098:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6099:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6100:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6101:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6102:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6103:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6104:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6105:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6106:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6107:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6108:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6109:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6110:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6111:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6112:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6113:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6114:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6115:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6116:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6117:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6118:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6119:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6120:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6121:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6122:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6123:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6124:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6125:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6126:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6127:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6128:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6129:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6130:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6131:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6132:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6133:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6134:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6135:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6136:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6137:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6138:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +6139:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6140:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6141:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6142:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6143:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6144:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6145:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6146:void\20SkSwizzler::SkipLeading8888ZerosThen<&sample4\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6147:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6148:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6149:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6150:void\20SkSwizzler::SkipLeading8888ZerosThen<©\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6151:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +6152:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +6153:virtual\20thunk\20to\20std::__2::basic_ostream>::~basic_ostream\28\29.1 +6154:virtual\20thunk\20to\20std::__2::basic_ostream>::~basic_ostream\28\29 +6155:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29.1 +6156:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29 +6157:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +6158:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +6159:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +6160:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +6161:virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +6162:virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +6163:virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +6164:virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +6165:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29.1 +6166:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29 +6167:virtual\20thunk\20to\20GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +6168:virtual\20thunk\20to\20GrTextureProxy::instantiate\28GrResourceProvider*\29 +6169:virtual\20thunk\20to\20GrTextureProxy::getUniqueKey\28\29\20const +6170:virtual\20thunk\20to\20GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +6171:virtual\20thunk\20to\20GrTextureProxy::callbackDesc\28\29\20const +6172:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29\20const +6173:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29 +6174:virtual\20thunk\20to\20GrTexture::onGpuMemorySize\28\29\20const +6175:virtual\20thunk\20to\20GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +6176:virtual\20thunk\20to\20GrTexture::asTexture\28\29\20const +6177:virtual\20thunk\20to\20GrTexture::asTexture\28\29 +6178:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +6179:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +6180:virtual\20thunk\20to\20GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +6181:virtual\20thunk\20to\20GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +6182:virtual\20thunk\20to\20GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +6183:virtual\20thunk\20to\20GrRenderTargetProxy::callbackDesc\28\29\20const +6184:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29\20const +6185:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29 +6186:virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +6187:virtual\20thunk\20to\20GrRenderTarget::onAbandon\28\29 +6188:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29\20const +6189:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29 +6190:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +6191:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +6192:virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +6193:virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +6194:virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +6195:virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +6196:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29.1 +6197:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29 +6198:virtual\20thunk\20to\20GrGLTexture::onRelease\28\29 +6199:virtual\20thunk\20to\20GrGLTexture::onAbandon\28\29 +6200:virtual\20thunk\20to\20GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +6201:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +6202:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +6203:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::onFinalize\28\29 +6204:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +6205:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29 +6206:virtual\20thunk\20to\20GrGLRenderTarget::onRelease\28\29 +6207:virtual\20thunk\20to\20GrGLRenderTarget::onGpuMemorySize\28\29\20const +6208:virtual\20thunk\20to\20GrGLRenderTarget::onAbandon\28\29 +6209:virtual\20thunk\20to\20GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +6210:virtual\20thunk\20to\20GrGLRenderTarget::backendFormat\28\29\20const +6211:utf8TextMapOffsetToNative\28UText\20const*\29 +6212:utf8TextMapIndexToUTF16\28UText\20const*\2c\20long\20long\29 +6213:utf8TextLength\28UText*\29 +6214:utf8TextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +6215:utf8TextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +6216:utext_openUTF8_74 +6217:ures_loc_resetLocales\28UEnumeration*\2c\20UErrorCode*\29 +6218:ures_loc_nextLocale\28UEnumeration*\2c\20int*\2c\20UErrorCode*\29 +6219:ures_loc_countLocales\28UEnumeration*\2c\20UErrorCode*\29 +6220:ures_loc_closeLocales\28UEnumeration*\29 +6221:ures_cleanup\28\29 +6222:unistrTextReplace\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t\20const*\2c\20int\2c\20UErrorCode*\29 +6223:unistrTextLength\28UText*\29 +6224:unistrTextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +6225:unistrTextCopy\28UText*\2c\20long\20long\2c\20long\20long\2c\20long\20long\2c\20signed\20char\2c\20UErrorCode*\29 +6226:unistrTextClose\28UText*\29 +6227:unistrTextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +6228:unistrTextAccess\28UText*\2c\20long\20long\2c\20signed\20char\29 +6229:uloc_kw_resetKeywords\28UEnumeration*\2c\20UErrorCode*\29 +6230:uloc_kw_nextKeyword\28UEnumeration*\2c\20int*\2c\20UErrorCode*\29 +6231:uloc_kw_countKeywords\28UEnumeration*\2c\20UErrorCode*\29 +6232:uloc_kw_closeKeywords\28UEnumeration*\29 +6233:uloc_key_type_cleanup\28\29 +6234:uloc_getDefault_74 +6235:uloc_forLanguageTag_74 +6236:uhash_hashUnicodeString_74 +6237:uhash_hashUChars_74 +6238:uhash_hashIChars_74 +6239:uhash_deleteHashtable_74 +6240:uhash_compareUnicodeString_74 +6241:uhash_compareUChars_74 +6242:uhash_compareLong_74 +6243:uhash_compareIChars_74 +6244:uenum_unextDefault_74 +6245:udata_cleanup\28\29 +6246:ucstrTextLength\28UText*\29 +6247:ucstrTextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +6248:ucstrTextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +6249:ubrk_setUText_74 +6250:ubrk_setText_74 +6251:ubrk_preceding_74 +6252:ubrk_open_74 +6253:ubrk_next_74 +6254:ubrk_getRuleStatus_74 +6255:ubrk_following_74 +6256:ubrk_first_74 +6257:ubrk_current_74 +6258:ubidi_reorderVisual_74 +6259:ubidi_openSized_74 +6260:ubidi_getLevelAt_74 +6261:ubidi_getLength_74 +6262:ubidi_getDirection_74 +6263:u_strToUpper_74 +6264:u_isspace_74 +6265:u_iscntrl_74 +6266:u_isWhitespace_74 +6267:u_errorName_74 +6268:tt_vadvance_adjust +6269:tt_slot_init +6270:tt_size_select +6271:tt_size_reset_iterator +6272:tt_size_request +6273:tt_size_init +6274:tt_size_done +6275:tt_sbit_decoder_load_png +6276:tt_sbit_decoder_load_compound +6277:tt_sbit_decoder_load_byte_aligned +6278:tt_sbit_decoder_load_bit_aligned +6279:tt_property_set +6280:tt_property_get +6281:tt_name_ascii_from_utf16 +6282:tt_name_ascii_from_other +6283:tt_hadvance_adjust +6284:tt_glyph_load +6285:tt_get_var_blend +6286:tt_get_interface +6287:tt_get_glyph_name +6288:tt_get_cmap_info +6289:tt_get_advances +6290:tt_face_set_sbit_strike +6291:tt_face_load_strike_metrics +6292:tt_face_load_sbit_image +6293:tt_face_load_sbit +6294:tt_face_load_post +6295:tt_face_load_pclt +6296:tt_face_load_os2 +6297:tt_face_load_name +6298:tt_face_load_maxp +6299:tt_face_load_kern +6300:tt_face_load_hmtx +6301:tt_face_load_hhea +6302:tt_face_load_head +6303:tt_face_load_gasp +6304:tt_face_load_font_dir +6305:tt_face_load_cpal +6306:tt_face_load_colr +6307:tt_face_load_cmap +6308:tt_face_load_bhed +6309:tt_face_load_any +6310:tt_face_init +6311:tt_face_goto_table +6312:tt_face_get_paint_layers +6313:tt_face_get_paint +6314:tt_face_get_kerning +6315:tt_face_get_colr_layer +6316:tt_face_get_colr_glyph_paint +6317:tt_face_get_colorline_stops +6318:tt_face_get_color_glyph_clipbox +6319:tt_face_free_sbit +6320:tt_face_free_ps_names +6321:tt_face_free_name +6322:tt_face_free_cpal +6323:tt_face_free_colr +6324:tt_face_done +6325:tt_face_colr_blend_layer +6326:tt_driver_init +6327:tt_cvt_ready_iterator +6328:tt_cmap_unicode_init +6329:tt_cmap_unicode_char_next +6330:tt_cmap_unicode_char_index +6331:tt_cmap_init +6332:tt_cmap8_validate +6333:tt_cmap8_get_info +6334:tt_cmap8_char_next +6335:tt_cmap8_char_index +6336:tt_cmap6_validate +6337:tt_cmap6_get_info +6338:tt_cmap6_char_next +6339:tt_cmap6_char_index +6340:tt_cmap4_validate +6341:tt_cmap4_init +6342:tt_cmap4_get_info +6343:tt_cmap4_char_next +6344:tt_cmap4_char_index +6345:tt_cmap2_validate +6346:tt_cmap2_get_info +6347:tt_cmap2_char_next +6348:tt_cmap2_char_index +6349:tt_cmap14_variants +6350:tt_cmap14_variant_chars +6351:tt_cmap14_validate +6352:tt_cmap14_init +6353:tt_cmap14_get_info +6354:tt_cmap14_done +6355:tt_cmap14_char_variants +6356:tt_cmap14_char_var_isdefault +6357:tt_cmap14_char_var_index +6358:tt_cmap14_char_next +6359:tt_cmap13_validate +6360:tt_cmap13_get_info +6361:tt_cmap13_char_next +6362:tt_cmap13_char_index +6363:tt_cmap12_validate +6364:tt_cmap12_get_info +6365:tt_cmap12_char_next +6366:tt_cmap12_char_index +6367:tt_cmap10_validate +6368:tt_cmap10_get_info +6369:tt_cmap10_char_next +6370:tt_cmap10_char_index +6371:tt_cmap0_validate +6372:tt_cmap0_get_info +6373:tt_cmap0_char_next +6374:tt_cmap0_char_index +6375:transform_scanline_rgbA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6376:transform_scanline_memcpy\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6377:transform_scanline_bgra_1010102_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6378:transform_scanline_bgra_1010102\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6379:transform_scanline_bgra_10101010_xr\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6380:transform_scanline_bgr_101010x_xr\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6381:transform_scanline_bgr_101010x\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6382:transform_scanline_bgrA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6383:transform_scanline_RGBX\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6384:transform_scanline_F32_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6385:transform_scanline_F32\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6386:transform_scanline_F16_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6387:transform_scanline_F16\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6388:transform_scanline_BGRX\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6389:transform_scanline_BGRA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6390:transform_scanline_A8_to_GrayAlpha\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6391:transform_scanline_565\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6392:transform_scanline_444\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6393:transform_scanline_4444\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6394:transform_scanline_101010x\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6395:transform_scanline_1010102_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6396:transform_scanline_1010102\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +6397:t2_hints_stems +6398:t2_hints_open +6399:t1_make_subfont +6400:t1_hints_stem +6401:t1_hints_open +6402:t1_decrypt +6403:t1_decoder_parse_metrics +6404:t1_decoder_init +6405:t1_decoder_done +6406:t1_cmap_unicode_init +6407:t1_cmap_unicode_char_next +6408:t1_cmap_unicode_char_index +6409:t1_cmap_std_done +6410:t1_cmap_std_char_next +6411:t1_cmap_std_char_index +6412:t1_cmap_standard_init +6413:t1_cmap_expert_init +6414:t1_cmap_custom_init +6415:t1_cmap_custom_done +6416:t1_cmap_custom_char_next +6417:t1_cmap_custom_char_index +6418:t1_builder_start_point +6419:t1_builder_init +6420:t1_builder_add_point1 +6421:t1_builder_add_point +6422:t1_builder_add_contour +6423:swizzle_small_index_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6424:swizzle_small_index_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6425:swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6426:swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6427:swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6428:swizzle_rgba16_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6429:swizzle_rgba16_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6430:swizzle_rgba16_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6431:swizzle_rgba16_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6432:swizzle_rgb_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6433:swizzle_rgb_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6434:swizzle_rgb_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6435:swizzle_rgb16_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6436:swizzle_rgb16_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6437:swizzle_rgb16_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6438:swizzle_mask32_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6439:swizzle_mask32_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6440:swizzle_mask32_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6441:swizzle_mask32_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6442:swizzle_mask32_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6443:swizzle_mask32_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6444:swizzle_mask32_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6445:swizzle_mask24_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6446:swizzle_mask24_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6447:swizzle_mask24_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6448:swizzle_mask24_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6449:swizzle_mask24_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6450:swizzle_mask24_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6451:swizzle_mask24_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6452:swizzle_mask16_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6453:swizzle_mask16_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6454:swizzle_mask16_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6455:swizzle_mask16_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6456:swizzle_mask16_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6457:swizzle_mask16_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6458:swizzle_mask16_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6459:swizzle_index_to_n32_skipZ\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6460:swizzle_index_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6461:swizzle_index_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6462:swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6463:swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6464:swizzle_grayalpha_to_a8\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6465:swizzle_gray_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6466:swizzle_gray_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6467:swizzle_cmyk_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6468:swizzle_cmyk_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6469:swizzle_cmyk_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6470:swizzle_bit_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6471:swizzle_bit_to_grayscale\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6472:swizzle_bit_to_f16\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6473:swizzle_bit_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6474:swizzle_bgr_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6475:string_read +6476:std::exception::what\28\29\20const +6477:std::bad_variant_access::what\28\29\20const +6478:std::bad_optional_access::what\28\29\20const +6479:std::bad_array_new_length::what\28\29\20const +6480:std::bad_alloc::what\28\29\20const +6481:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +6482:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +6483:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20tm\20const*\2c\20char\2c\20char\29\20const +6484:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20tm\20const*\2c\20char\2c\20char\29\20const +6485:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6486:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6487:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6488:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6489:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6490:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +6491:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6492:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6493:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6494:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6495:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +6496:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +6497:std::__2::numpunct::~numpunct\28\29.1 +6498:std::__2::numpunct::do_truename\28\29\20const +6499:std::__2::numpunct::do_grouping\28\29\20const +6500:std::__2::numpunct::do_falsename\28\29\20const +6501:std::__2::numpunct::~numpunct\28\29.1 +6502:std::__2::numpunct::do_truename\28\29\20const +6503:std::__2::numpunct::do_thousands_sep\28\29\20const +6504:std::__2::numpunct::do_grouping\28\29\20const +6505:std::__2::numpunct::do_falsename\28\29\20const +6506:std::__2::numpunct::do_decimal_point\28\29\20const +6507:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20void\20const*\29\20const +6508:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\29\20const +6509:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\20long\29\20const +6510:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +6511:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +6512:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +6513:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20double\29\20const +6514:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20bool\29\20const +6515:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20void\20const*\29\20const +6516:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\29\20const +6517:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\20long\29\20const +6518:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +6519:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +6520:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +6521:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20double\29\20const +6522:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20bool\29\20const +6523:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +6524:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +6525:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +6526:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +6527:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6528:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +6529:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +6530:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +6531:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +6532:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +6533:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +6534:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +6535:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +6536:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6537:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +6538:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +6539:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +6540:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +6541:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6542:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +6543:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6544:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +6545:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +6546:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6547:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +6548:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +6549:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6550:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +6551:std::__2::locale::id::__init\28\29 +6552:std::__2::locale::__imp::~__imp\28\29.1 +6553:std::__2::ios_base::~ios_base\28\29.1 +6554:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +6555:std::__2::ctype::do_toupper\28wchar_t\29\20const +6556:std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +6557:std::__2::ctype::do_tolower\28wchar_t\29\20const +6558:std::__2::ctype::do_tolower\28wchar_t*\2c\20wchar_t\20const*\29\20const +6559:std::__2::ctype::do_scan_not\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6560:std::__2::ctype::do_scan_is\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6561:std::__2::ctype::do_narrow\28wchar_t\2c\20char\29\20const +6562:std::__2::ctype::do_narrow\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20char\2c\20char*\29\20const +6563:std::__2::ctype::do_is\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20unsigned\20long*\29\20const +6564:std::__2::ctype::do_is\28unsigned\20long\2c\20wchar_t\29\20const +6565:std::__2::ctype::~ctype\28\29.1 +6566:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +6567:std::__2::ctype::do_toupper\28char\29\20const +6568:std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +6569:std::__2::ctype::do_tolower\28char\29\20const +6570:std::__2::ctype::do_tolower\28char*\2c\20char\20const*\29\20const +6571:std::__2::ctype::do_narrow\28char\2c\20char\29\20const +6572:std::__2::ctype::do_narrow\28char\20const*\2c\20char\20const*\2c\20char\2c\20char*\29\20const +6573:std::__2::collate::do_transform\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6574:std::__2::collate::do_hash\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6575:std::__2::collate::do_compare\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +6576:std::__2::collate::do_transform\28char\20const*\2c\20char\20const*\29\20const +6577:std::__2::collate::do_hash\28char\20const*\2c\20char\20const*\29\20const +6578:std::__2::collate::do_compare\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +6579:std::__2::codecvt::~codecvt\28\29.1 +6580:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +6581:std::__2::codecvt::do_out\28__mbstate_t&\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +6582:std::__2::codecvt::do_max_length\28\29\20const +6583:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +6584:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20wchar_t*\2c\20wchar_t*\2c\20wchar_t*&\29\20const +6585:std::__2::codecvt::do_encoding\28\29\20const +6586:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +6587:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29.1 +6588:std::__2::basic_stringbuf\2c\20std::__2::allocator>::underflow\28\29 +6589:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +6590:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +6591:std::__2::basic_stringbuf\2c\20std::__2::allocator>::pbackfail\28int\29 +6592:std::__2::basic_stringbuf\2c\20std::__2::allocator>::overflow\28int\29 +6593:std::__2::basic_streambuf>::~basic_streambuf\28\29.1 +6594:std::__2::basic_streambuf>::xsputn\28char\20const*\2c\20long\29 +6595:std::__2::basic_streambuf>::xsgetn\28char*\2c\20long\29 +6596:std::__2::basic_streambuf>::uflow\28\29 +6597:std::__2::basic_streambuf>::setbuf\28char*\2c\20long\29 +6598:std::__2::basic_streambuf>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +6599:std::__2::basic_streambuf>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +6600:std::__2::bad_function_call::what\28\29\20const +6601:std::__2::__time_get_c_storage::__x\28\29\20const +6602:std::__2::__time_get_c_storage::__weeks\28\29\20const +6603:std::__2::__time_get_c_storage::__r\28\29\20const +6604:std::__2::__time_get_c_storage::__months\28\29\20const +6605:std::__2::__time_get_c_storage::__c\28\29\20const +6606:std::__2::__time_get_c_storage::__am_pm\28\29\20const +6607:std::__2::__time_get_c_storage::__X\28\29\20const +6608:std::__2::__time_get_c_storage::__x\28\29\20const +6609:std::__2::__time_get_c_storage::__weeks\28\29\20const +6610:std::__2::__time_get_c_storage::__r\28\29\20const +6611:std::__2::__time_get_c_storage::__months\28\29\20const +6612:std::__2::__time_get_c_storage::__c\28\29\20const +6613:std::__2::__time_get_c_storage::__am_pm\28\29\20const +6614:std::__2::__time_get_c_storage::__X\28\29\20const +6615:std::__2::__shared_ptr_pointer<_IO_FILE*\2c\20void\20\28*\29\28_IO_FILE*\29\2c\20std::__2::allocator<_IO_FILE>>::__on_zero_shared\28\29 +6616:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6617:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6618:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6619:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6620:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6621:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6622:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6623:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6624:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6625:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6626:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6627:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6628:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6629:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6630:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6631:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6632:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6633:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6634:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6635:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6636:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6637:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6638:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6639:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6640:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6641:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6642:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +6643:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6644:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +6645:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +6646:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6647:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +6648:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6649:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6650:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6651:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6652:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6653:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6654:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6655:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6656:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6657:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6658:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6659:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6660:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6661:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6662:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6663:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6664:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6665:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6666:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6667:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6668:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6669:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6670:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6671:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6672:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6673:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6674:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6675:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6676:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6677:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6678:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6679:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6680:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6681:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6682:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6683:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6684:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6685:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6686:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6687:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20float&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20SkPoint&&\2c\20SkPoint&&\2c\20skia::textlayout::InternalLineMetrics&&\2c\20bool&&\29 +6688:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>*\29\20const +6689:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28\29\20const +6690:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::operator\28\29\28skia::textlayout::Cluster*&&\29 +6691:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28std::__2::__function::__base*\29\20const +6692:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28\29\20const +6693:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6694:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28\29\20const +6695:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20SkSpan&&\2c\20float&\2c\20unsigned\20long&&\2c\20unsigned\20char&&\29 +6696:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28std::__2::__function::__base\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>*\29\20const +6697:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +6698:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::operator\28\29\28skia::textlayout::Block&&\2c\20skia_private::TArray&&\29 +6699:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6700:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28\29\20const +6701:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::operator\28\29\28sk_sp&&\29 +6702:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6703:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28\29\20const +6704:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::operator\28\29\28skia::textlayout::SkRange&&\29 +6705:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6706:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28\29\20const +6707:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +6708:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +6709:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +6710:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29.1 +6711:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29 +6712:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::operator\28\29\28void*&&\2c\20void\20const*&&\29 +6713:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy_deallocate\28\29 +6714:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy\28\29 +6715:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6716:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28\29\20const +6717:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6718:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6719:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6720:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6721:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6722:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6723:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6724:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6725:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6726:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6727:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6728:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6729:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6730:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6731:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6732:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +6733:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +6734:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +6735:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::operator\28\29\28sktext::gpu::GlyphVector*&&\2c\20int&&\2c\20int&&\2c\20skgpu::MaskFormat&&\2c\20int&&\29 +6736:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28std::__2::__function::__base\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>*\29\20const +6737:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28\29\20const +6738:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::operator\28\29\28GrSurfaceProxy\20const*&&\29 +6739:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6740:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28\29\20const +6741:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +6742:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6743:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +6744:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6745:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6746:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6747:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6748:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +6749:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6750:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6751:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::operator\28\29\28\29 +6752:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6753:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28\29\20const +6754:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6755:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6756:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6757:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6758:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6759:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6760:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6761:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6762:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6763:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6764:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6765:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6766:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6767:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6768:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6769:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6770:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6771:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6772:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6773:std::__2::__function::__func>*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator>*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::operator\28\29\28int&&\2c\20int&&\29 +6774:std::__2::__function::__func>*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator>*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6775:std::__2::__function::__func>*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator>*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28\29\20const +6776:std::__2::__function::__func*\29::'lambda0'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda0'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::operator\28\29\28int&&\2c\20int&&\29 +6777:std::__2::__function::__func*\29::'lambda0'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda0'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6778:std::__2::__function::__func*\29::'lambda0'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda0'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28\29\20const +6779:std::__2::__function::__func*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::operator\28\29\28int&&\2c\20int&&\29 +6780:std::__2::__function::__func*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6781:std::__2::__function::__func*\29::'lambda'\28int\2c\20int\29\2c\20std::__2::allocator*\29::'lambda'\28int\2c\20int\29>\2c\20void\20\28int\2c\20int\29>::__clone\28\29\20const +6782:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29.1 +6783:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29 +6784:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +6785:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy_deallocate\28\29 +6786:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy\28\29 +6787:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6788:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6789:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +6790:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6791:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +6792:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::operator\28\29\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\29 +6793:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6794:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +6795:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6796:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +6797:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::operator\28\29\28SkVertices\20const*&&\2c\20SkBlendMode&&\2c\20SkPaint\20const&\2c\20float&&\2c\20float&&\2c\20bool&&\29 +6798:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6799:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28\29\20const +6800:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::operator\28\29\28SkIRect\20const&\29 +6801:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6802:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +6803:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::operator\28\29\28SkImageInfo\20const&\2c\20void*&&\2c\20unsigned\20long&&\2c\20SkCodec::Options\20const&\2c\20int&&\29 +6804:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6805:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::__clone\28\29\20const +6806:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6807:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6808:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6809:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6810:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6811:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6812:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6813:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6814:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6815:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6816:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6817:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6818:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6819:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6820:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6821:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6822:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6823:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6824:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6825:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6826:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6827:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::operator\28\29\28GrTextureProxy*&&\2c\20SkIRect&&\2c\20GrColorType&&\2c\20void\20const*&&\2c\20unsigned\20long&&\29 +6828:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6829:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28\29\20const +6830:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::operator\28\29\28GrBackendTexture&&\29 +6831:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28std::__2::__function::__base*\29\20const +6832:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28\29\20const +6833:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6834:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6835:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6836:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6837:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6838:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6839:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6840:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6841:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6842:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6843:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6844:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6845:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6846:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6847:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6848:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6849:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6850:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6851:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +6852:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +6853:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6854:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6855:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +6856:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +6857:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6858:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6859:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +6860:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6861:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6862:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::operator\28\29\28int&&\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*&&\29 +6863:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6864:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28\29\20const +6865:start_pass_upsample +6866:start_pass_phuff_decoder +6867:start_pass_merged_upsample +6868:start_pass_main +6869:start_pass_huff_decoder +6870:start_pass_dpost +6871:start_pass_2_quant +6872:start_pass_1_quant +6873:start_pass +6874:start_output_pass +6875:start_input_pass.1 +6876:stackSave +6877:stackRestore +6878:srgb_to_hwb\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +6879:srgb_to_hsl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +6880:srcover_p\28unsigned\20char\2c\20unsigned\20char\29 +6881:sn_write +6882:sktext::gpu::post_purge_blob_message\28unsigned\20int\2c\20unsigned\20int\29 +6883:sktext::gpu::TextBlob::~TextBlob\28\29.1 +6884:sktext::gpu::TextBlob::~TextBlob\28\29 +6885:sktext::gpu::SubRun::~SubRun\28\29 +6886:sktext::gpu::SlugImpl::~SlugImpl\28\29.1 +6887:sktext::gpu::SlugImpl::~SlugImpl\28\29 +6888:sktext::gpu::SlugImpl::sourceBounds\28\29\20const +6889:sktext::gpu::SlugImpl::sourceBoundsWithOrigin\28\29\20const +6890:sktext::gpu::SlugImpl::doFlatten\28SkWriteBuffer&\29\20const +6891:sktext::gpu::SDFMaskFilterImpl::getTypeName\28\29\20const +6892:sktext::gpu::SDFMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +6893:sktext::gpu::SDFMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +6894:skip_variable +6895:skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +6896:skif::\28anonymous\20namespace\29::RasterBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +6897:skif::\28anonymous\20namespace\29::RasterBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +6898:skif::\28anonymous\20namespace\29::RasterBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +6899:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +6900:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +6901:skif::\28anonymous\20namespace\29::GaneshBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +6902:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +6903:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +6904:skif::\28anonymous\20namespace\29::GaneshBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +6905:skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +6906:skia_png_zalloc +6907:skia_png_write_rows +6908:skia_png_write_info +6909:skia_png_write_end +6910:skia_png_user_version_check +6911:skia_png_set_text +6912:skia_png_set_sRGB +6913:skia_png_set_keep_unknown_chunks +6914:skia_png_set_iCCP +6915:skia_png_set_gray_to_rgb +6916:skia_png_set_filter +6917:skia_png_set_filler +6918:skia_png_read_update_info +6919:skia_png_read_info +6920:skia_png_read_image +6921:skia_png_read_end +6922:skia_png_push_fill_buffer +6923:skia_png_process_data +6924:skia_png_default_write_data +6925:skia_png_default_read_data +6926:skia_png_default_flush +6927:skia_png_create_read_struct +6928:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29.1 +6929:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29 +6930:skia::textlayout::TypefaceFontStyleSet::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +6931:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29.1 +6932:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29 +6933:skia::textlayout::TypefaceFontProvider::onMatchFamily\28char\20const*\29\20const +6934:skia::textlayout::TypefaceFontProvider::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +6935:skia::textlayout::TypefaceFontProvider::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +6936:skia::textlayout::TypefaceFontProvider::onGetFamilyName\28int\2c\20SkString*\29\20const +6937:skia::textlayout::TypefaceFontProvider::onCreateStyleSet\28int\29\20const +6938:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29.1 +6939:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29 +6940:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6941:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6942:skia::textlayout::PositionWithAffinity*\20emscripten::internal::raw_constructor\28\29 +6943:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29.1 +6944:skia::textlayout::ParagraphImpl::visit\28std::__2::function\20const&\29 +6945:skia::textlayout::ParagraphImpl::updateTextAlign\28skia::textlayout::TextAlign\29 +6946:skia::textlayout::ParagraphImpl::updateForegroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +6947:skia::textlayout::ParagraphImpl::updateFontSize\28unsigned\20long\2c\20unsigned\20long\2c\20float\29 +6948:skia::textlayout::ParagraphImpl::updateBackgroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +6949:skia::textlayout::ParagraphImpl::unresolvedGlyphs\28\29 +6950:skia::textlayout::ParagraphImpl::unresolvedCodepoints\28\29 +6951:skia::textlayout::ParagraphImpl::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +6952:skia::textlayout::ParagraphImpl::paint\28SkCanvas*\2c\20float\2c\20float\29 +6953:skia::textlayout::ParagraphImpl::markDirty\28\29 +6954:skia::textlayout::ParagraphImpl::lineNumber\28\29 +6955:skia::textlayout::ParagraphImpl::layout\28float\29 +6956:skia::textlayout::ParagraphImpl::getWordBoundary\28unsigned\20int\29 +6957:skia::textlayout::ParagraphImpl::getRectsForRange\28unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +6958:skia::textlayout::ParagraphImpl::getRectsForPlaceholders\28\29 +6959:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +6960:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29 +6961:skia::textlayout::ParagraphImpl::getLineNumberAt\28unsigned\20long\29\20const +6962:skia::textlayout::ParagraphImpl::getLineNumberAtUTF16Offset\28unsigned\20long\29 +6963:skia::textlayout::ParagraphImpl::getLineMetrics\28std::__2::vector>&\29 +6964:skia::textlayout::ParagraphImpl::getLineMetricsAt\28int\2c\20skia::textlayout::LineMetrics*\29\20const +6965:skia::textlayout::ParagraphImpl::getGlyphPositionAtCoordinate\28float\2c\20float\29 +6966:skia::textlayout::ParagraphImpl::getFonts\28\29\20const +6967:skia::textlayout::ParagraphImpl::getFontAt\28unsigned\20long\29\20const +6968:skia::textlayout::ParagraphImpl::getFontAtUTF16Offset\28unsigned\20long\29 +6969:skia::textlayout::ParagraphImpl::getClosestUTF16GlyphInfoAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +6970:skia::textlayout::ParagraphImpl::getClosestGlyphClusterAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +6971:skia::textlayout::ParagraphImpl::getActualTextRange\28int\2c\20bool\29\20const +6972:skia::textlayout::ParagraphImpl::extendedVisit\28std::__2::function\20const&\29 +6973:skia::textlayout::ParagraphImpl::containsEmoji\28SkTextBlob*\29 +6974:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29::$_0::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +6975:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29 +6976:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29.1 +6977:skia::textlayout::ParagraphBuilderImpl::pushStyle\28skia::textlayout::TextStyle\20const&\29 +6978:skia::textlayout::ParagraphBuilderImpl::pop\28\29 +6979:skia::textlayout::ParagraphBuilderImpl::peekStyle\28\29 +6980:skia::textlayout::ParagraphBuilderImpl::getText\28\29 +6981:skia::textlayout::ParagraphBuilderImpl::getParagraphStyle\28\29\20const +6982:skia::textlayout::ParagraphBuilderImpl::addText\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +6983:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\2c\20unsigned\20long\29 +6984:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\29 +6985:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\29 +6986:skia::textlayout::ParagraphBuilderImpl::Reset\28\29 +6987:skia::textlayout::ParagraphBuilderImpl::RequiresClientICU\28\29 +6988:skia::textlayout::ParagraphBuilderImpl::Build\28\29 +6989:skia::textlayout::Paragraph::getMinIntrinsicWidth\28\29 +6990:skia::textlayout::Paragraph::getMaxWidth\28\29 +6991:skia::textlayout::Paragraph::getMaxIntrinsicWidth\28\29 +6992:skia::textlayout::Paragraph::getLongestLine\28\29 +6993:skia::textlayout::Paragraph::getIdeographicBaseline\28\29 +6994:skia::textlayout::Paragraph::getHeight\28\29 +6995:skia::textlayout::Paragraph::getAlphabeticBaseline\28\29 +6996:skia::textlayout::Paragraph::didExceedMaxLines\28\29 +6997:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29.1 +6998:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29 +6999:skia::textlayout::OneLineShaper::~OneLineShaper\28\29.1 +7000:skia::textlayout::OneLineShaper::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +7001:skia::textlayout::OneLineShaper::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +7002:skia::textlayout::LangIterator::~LangIterator\28\29.1 +7003:skia::textlayout::LangIterator::~LangIterator\28\29 +7004:skia::textlayout::LangIterator::endOfCurrentRun\28\29\20const +7005:skia::textlayout::LangIterator::currentLanguage\28\29\20const +7006:skia::textlayout::LangIterator::consume\28\29 +7007:skia::textlayout::LangIterator::atEnd\28\29\20const +7008:skia::textlayout::FontCollection::~FontCollection\28\29.1 +7009:skia::textlayout::CanvasParagraphPainter::translate\28float\2c\20float\29 +7010:skia::textlayout::CanvasParagraphPainter::save\28\29 +7011:skia::textlayout::CanvasParagraphPainter::restore\28\29 +7012:skia::textlayout::CanvasParagraphPainter::drawTextShadow\28sk_sp\20const&\2c\20float\2c\20float\2c\20unsigned\20int\2c\20float\29 +7013:skia::textlayout::CanvasParagraphPainter::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20std::__2::variant\20const&\29 +7014:skia::textlayout::CanvasParagraphPainter::drawRect\28SkRect\20const&\2c\20std::__2::variant\20const&\29 +7015:skia::textlayout::CanvasParagraphPainter::drawPath\28SkPath\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +7016:skia::textlayout::CanvasParagraphPainter::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +7017:skia::textlayout::CanvasParagraphPainter::drawFilledRect\28SkRect\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +7018:skia::textlayout::CanvasParagraphPainter::clipRect\28SkRect\20const&\29 +7019:skgpu::tess::FixedCountWedges::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7020:skgpu::tess::FixedCountWedges::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7021:skgpu::tess::FixedCountStrokes::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7022:skgpu::tess::FixedCountCurves::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7023:skgpu::tess::FixedCountCurves::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +7024:skgpu::ganesh::texture_proxy_view_from_planes\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20skgpu::Budgeted\29::$_0::__invoke\28void*\2c\20void*\29 +7025:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29.1 +7026:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::visitProxies\28std::__2::function\20const&\29\20const +7027:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7028:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7029:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7030:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::name\28\29\20const +7031:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::fixedFunctionFlags\28\29\20const +7032:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7033:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::name\28\29\20const +7034:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7035:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7036:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7037:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7038:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29.1 +7039:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29 +7040:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::name\28\29\20const +7041:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7042:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7043:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29.1 +7044:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29 +7045:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +7046:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7047:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7048:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7049:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7050:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::name\28\29\20const +7051:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::fixedFunctionFlags\28\29\20const +7052:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7053:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29.1 +7054:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29 +7055:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +7056:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7057:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7058:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7059:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7060:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::name\28\29\20const +7061:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7062:skgpu::ganesh::TriangulatingPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7063:skgpu::ganesh::TriangulatingPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7064:skgpu::ganesh::TriangulatingPathRenderer::name\28\29\20const +7065:skgpu::ganesh::TessellationPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +7066:skgpu::ganesh::TessellationPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +7067:skgpu::ganesh::TessellationPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7068:skgpu::ganesh::TessellationPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7069:skgpu::ganesh::TessellationPathRenderer::name\28\29\20const +7070:skgpu::ganesh::SurfaceDrawContext::willReplaceOpsTask\28skgpu::ganesh::OpsTask*\2c\20skgpu::ganesh::OpsTask*\29 +7071:skgpu::ganesh::SurfaceDrawContext::canDiscardPreviousOpsOnFullClear\28\29\20const +7072:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29.1 +7073:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +7074:skgpu::ganesh::SurfaceContext::asyncReadPixels\28GrDirectContext*\2c\20SkIRect\20const&\2c\20SkColorType\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +7075:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29.1 +7076:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29 +7077:skgpu::ganesh::StrokeTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +7078:skgpu::ganesh::StrokeTessellateOp::usesStencil\28\29\20const +7079:skgpu::ganesh::StrokeTessellateOp::onPrepare\28GrOpFlushState*\29 +7080:skgpu::ganesh::StrokeTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7081:skgpu::ganesh::StrokeTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7082:skgpu::ganesh::StrokeTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7083:skgpu::ganesh::StrokeTessellateOp::name\28\29\20const +7084:skgpu::ganesh::StrokeTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7085:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29.1 +7086:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29 +7087:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +7088:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::programInfo\28\29 +7089:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7090:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7091:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7092:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::name\28\29\20const +7093:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7094:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29.1 +7095:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29 +7096:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +7097:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::programInfo\28\29 +7098:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7099:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7100:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7101:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7102:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::name\28\29\20const +7103:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7104:skgpu::ganesh::StencilClip::~StencilClip\28\29.1 +7105:skgpu::ganesh::StencilClip::~StencilClip\28\29 +7106:skgpu::ganesh::StencilClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +7107:skgpu::ganesh::StencilClip::getConservativeBounds\28\29\20const +7108:skgpu::ganesh::StencilClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +7109:skgpu::ganesh::SoftwarePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7110:skgpu::ganesh::SoftwarePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7111:skgpu::ganesh::SoftwarePathRenderer::name\28\29\20const +7112:skgpu::ganesh::SmallPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7113:skgpu::ganesh::SmallPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7114:skgpu::ganesh::SmallPathRenderer::name\28\29\20const +7115:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +7116:skgpu::ganesh::SmallPathAtlasMgr::preFlush\28GrOnFlushResourceProvider*\29 +7117:skgpu::ganesh::SmallPathAtlasMgr::postFlush\28skgpu::AtlasToken\29 +7118:skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +7119:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29.1 +7120:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29 +7121:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::visitProxies\28std::__2::function\20const&\29\20const +7122:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::programInfo\28\29 +7123:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +7124:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7125:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7126:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7127:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::name\28\29\20const +7128:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7129:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_quad_generic\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7130:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7131:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7132:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7133:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7134:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7135:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7136:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +7137:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29.1 +7138:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29 +7139:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::onTextureSampler\28int\29\20const +7140:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::name\28\29\20const +7141:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7142:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7143:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7144:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7145:skgpu::ganesh::PathWedgeTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +7146:skgpu::ganesh::PathTessellator::~PathTessellator\28\29 +7147:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29.1 +7148:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29 +7149:skgpu::ganesh::PathTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +7150:skgpu::ganesh::PathTessellateOp::usesStencil\28\29\20const +7151:skgpu::ganesh::PathTessellateOp::onPrepare\28GrOpFlushState*\29 +7152:skgpu::ganesh::PathTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7153:skgpu::ganesh::PathTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7154:skgpu::ganesh::PathTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7155:skgpu::ganesh::PathTessellateOp::name\28\29\20const +7156:skgpu::ganesh::PathTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7157:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29.1 +7158:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29 +7159:skgpu::ganesh::PathStencilCoverOp::visitProxies\28std::__2::function\20const&\29\20const +7160:skgpu::ganesh::PathStencilCoverOp::onPrepare\28GrOpFlushState*\29 +7161:skgpu::ganesh::PathStencilCoverOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7162:skgpu::ganesh::PathStencilCoverOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7163:skgpu::ganesh::PathStencilCoverOp::name\28\29\20const +7164:skgpu::ganesh::PathStencilCoverOp::fixedFunctionFlags\28\29\20const +7165:skgpu::ganesh::PathStencilCoverOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7166:skgpu::ganesh::PathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +7167:skgpu::ganesh::PathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +7168:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29.1 +7169:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29 +7170:skgpu::ganesh::PathInnerTriangulateOp::visitProxies\28std::__2::function\20const&\29\20const +7171:skgpu::ganesh::PathInnerTriangulateOp::onPrepare\28GrOpFlushState*\29 +7172:skgpu::ganesh::PathInnerTriangulateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7173:skgpu::ganesh::PathInnerTriangulateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7174:skgpu::ganesh::PathInnerTriangulateOp::name\28\29\20const +7175:skgpu::ganesh::PathInnerTriangulateOp::fixedFunctionFlags\28\29\20const +7176:skgpu::ganesh::PathInnerTriangulateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7177:skgpu::ganesh::PathCurveTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +7178:skgpu::ganesh::OpsTask::~OpsTask\28\29.1 +7179:skgpu::ganesh::OpsTask::onPrepare\28GrOpFlushState*\29 +7180:skgpu::ganesh::OpsTask::onPrePrepare\28GrRecordingContext*\29 +7181:skgpu::ganesh::OpsTask::onMakeSkippable\28\29 +7182:skgpu::ganesh::OpsTask::onIsUsed\28GrSurfaceProxy*\29\20const +7183:skgpu::ganesh::OpsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +7184:skgpu::ganesh::OpsTask::endFlush\28GrDrawingManager*\29 +7185:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29.1 +7186:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::visitProxies\28std::__2::function\20const&\29\20const +7187:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7188:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7189:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7190:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7191:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::name\28\29\20const +7192:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7193:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29.1 +7194:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29 +7195:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::onTextureSampler\28int\29\20const +7196:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::name\28\29\20const +7197:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7198:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7199:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7200:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7201:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29.1 +7202:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29 +7203:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +7204:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::programInfo\28\29 +7205:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +7206:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7207:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7208:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7209:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::name\28\29\20const +7210:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7211:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::clipToShape\28skgpu::ganesh::SurfaceDrawContext*\2c\20SkClipOp\2c\20SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\29 +7212:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29.1 +7213:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29 +7214:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::name\28\29\20const +7215:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7216:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +7217:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7218:skgpu::ganesh::DrawableOp::~DrawableOp\28\29.1 +7219:skgpu::ganesh::DrawableOp::~DrawableOp\28\29 +7220:skgpu::ganesh::DrawableOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7221:skgpu::ganesh::DrawableOp::name\28\29\20const +7222:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29.1 +7223:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29 +7224:skgpu::ganesh::DrawAtlasPathOp::visitProxies\28std::__2::function\20const&\29\20const +7225:skgpu::ganesh::DrawAtlasPathOp::onPrepare\28GrOpFlushState*\29 +7226:skgpu::ganesh::DrawAtlasPathOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7227:skgpu::ganesh::DrawAtlasPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7228:skgpu::ganesh::DrawAtlasPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7229:skgpu::ganesh::DrawAtlasPathOp::name\28\29\20const +7230:skgpu::ganesh::DrawAtlasPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7231:skgpu::ganesh::Device::~Device\28\29.1 +7232:skgpu::ganesh::Device::~Device\28\29 +7233:skgpu::ganesh::Device::strikeDeviceInfo\28\29\20const +7234:skgpu::ganesh::Device::snapSpecial\28SkIRect\20const&\2c\20bool\29 +7235:skgpu::ganesh::Device::snapSpecialScaled\28SkIRect\20const&\2c\20SkISize\20const&\29 +7236:skgpu::ganesh::Device::replaceClip\28SkIRect\20const&\29 +7237:skgpu::ganesh::Device::recordingContext\28\29\20const +7238:skgpu::ganesh::Device::pushClipStack\28\29 +7239:skgpu::ganesh::Device::popClipStack\28\29 +7240:skgpu::ganesh::Device::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +7241:skgpu::ganesh::Device::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +7242:skgpu::ganesh::Device::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +7243:skgpu::ganesh::Device::onClipShader\28sk_sp\29 +7244:skgpu::ganesh::Device::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +7245:skgpu::ganesh::Device::makeSpecial\28SkImage\20const*\29 +7246:skgpu::ganesh::Device::isClipWideOpen\28\29\20const +7247:skgpu::ganesh::Device::isClipRect\28\29\20const +7248:skgpu::ganesh::Device::isClipEmpty\28\29\20const +7249:skgpu::ganesh::Device::isClipAntiAliased\28\29\20const +7250:skgpu::ganesh::Device::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +7251:skgpu::ganesh::Device::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7252:skgpu::ganesh::Device::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +7253:skgpu::ganesh::Device::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +7254:skgpu::ganesh::Device::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +7255:skgpu::ganesh::Device::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +7256:skgpu::ganesh::Device::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +7257:skgpu::ganesh::Device::drawPaint\28SkPaint\20const&\29 +7258:skgpu::ganesh::Device::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +7259:skgpu::ganesh::Device::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +7260:skgpu::ganesh::Device::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7261:skgpu::ganesh::Device::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +7262:skgpu::ganesh::Device::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +7263:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7264:skgpu::ganesh::Device::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +7265:skgpu::ganesh::Device::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +7266:skgpu::ganesh::Device::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +7267:skgpu::ganesh::Device::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +7268:skgpu::ganesh::Device::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +7269:skgpu::ganesh::Device::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +7270:skgpu::ganesh::Device::devClipBounds\28\29\20const +7271:skgpu::ganesh::Device::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +7272:skgpu::ganesh::Device::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +7273:skgpu::ganesh::Device::convertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +7274:skgpu::ganesh::Device::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +7275:skgpu::ganesh::Device::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +7276:skgpu::ganesh::Device::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +7277:skgpu::ganesh::Device::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +7278:skgpu::ganesh::Device::android_utils_clipWithStencil\28\29 +7279:skgpu::ganesh::DefaultPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +7280:skgpu::ganesh::DefaultPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +7281:skgpu::ganesh::DefaultPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7282:skgpu::ganesh::DefaultPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7283:skgpu::ganesh::DefaultPathRenderer::name\28\29\20const +7284:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::name\28\29\20const +7285:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7286:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7287:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7288:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::name\28\29\20const +7289:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +7290:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7291:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +7292:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29.1 +7293:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29 +7294:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::visitProxies\28std::__2::function\20const&\29\20const +7295:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::programInfo\28\29 +7296:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +7297:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7298:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7299:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7300:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::name\28\29\20const +7301:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::fixedFunctionFlags\28\29\20const +7302:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7303:skgpu::ganesh::DashLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7304:skgpu::ganesh::DashLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7305:skgpu::ganesh::DashLinePathRenderer::name\28\29\20const +7306:skgpu::ganesh::ClipStack::~ClipStack\28\29.1 +7307:skgpu::ganesh::ClipStack::preApply\28SkRect\20const&\2c\20GrAA\29\20const +7308:skgpu::ganesh::ClipStack::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +7309:skgpu::ganesh::ClearOp::~ClearOp\28\29 +7310:skgpu::ganesh::ClearOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7311:skgpu::ganesh::ClearOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7312:skgpu::ganesh::ClearOp::name\28\29\20const +7313:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29.1 +7314:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29 +7315:skgpu::ganesh::AtlasTextOp::visitProxies\28std::__2::function\20const&\29\20const +7316:skgpu::ganesh::AtlasTextOp::onPrepareDraws\28GrMeshDrawTarget*\29 +7317:skgpu::ganesh::AtlasTextOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +7318:skgpu::ganesh::AtlasTextOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7319:skgpu::ganesh::AtlasTextOp::name\28\29\20const +7320:skgpu::ganesh::AtlasTextOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +7321:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29.1 +7322:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29 +7323:skgpu::ganesh::AtlasRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +7324:skgpu::ganesh::AtlasRenderTask::onExecute\28GrOpFlushState*\29 +7325:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +7326:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +7327:skgpu::ganesh::AtlasPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7328:skgpu::ganesh::AtlasPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7329:skgpu::ganesh::AtlasPathRenderer::name\28\29\20const +7330:skgpu::ganesh::AALinearizingConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7331:skgpu::ganesh::AALinearizingConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7332:skgpu::ganesh::AALinearizingConvexPathRenderer::name\28\29\20const +7333:skgpu::ganesh::AAHairLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7334:skgpu::ganesh::AAHairLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7335:skgpu::ganesh::AAHairLinePathRenderer::name\28\29\20const +7336:skgpu::ganesh::AAConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +7337:skgpu::ganesh::AAConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +7338:skgpu::ganesh::AAConvexPathRenderer::name\28\29\20const +7339:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29.1 +7340:skgpu::TAsyncReadResult::rowBytes\28int\29\20const +7341:skgpu::TAsyncReadResult::data\28int\29\20const +7342:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29.1 +7343:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29 +7344:skgpu::StringKeyBuilder::appendComment\28char\20const*\29 +7345:skgpu::StringKeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +7346:skgpu::ShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\2c\20bool\29 +7347:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29.1 +7348:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29 +7349:skgpu::RectanizerSkyline::reset\28\29 +7350:skgpu::RectanizerSkyline::percentFull\28\29\20const +7351:skgpu::RectanizerPow2::reset\28\29 +7352:skgpu::RectanizerPow2::percentFull\28\29\20const +7353:skgpu::RectanizerPow2::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +7354:skgpu::Plot::~Plot\28\29.1 +7355:skgpu::Plot::~Plot\28\29 +7356:skgpu::KeyBuilder::~KeyBuilder\28\29 +7357:skgpu::KeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +7358:skgpu::DefaultShaderErrorHandler\28\29::DefaultShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\29 +7359:sk_write_fn\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20long\29 +7360:sk_sp*\20emscripten::internal::MemberAccess>::getWire\28sk_sp\20SimpleImageInfo::*\20const&\2c\20SimpleImageInfo\20const&\29 +7361:sk_read_user_chunk\28png_struct_def*\2c\20png_unknown_chunk_t*\29 +7362:sk_mmap_releaseproc\28void\20const*\2c\20void*\29 +7363:sk_ft_stream_io\28FT_StreamRec_*\2c\20unsigned\20long\2c\20unsigned\20char*\2c\20unsigned\20long\29 +7364:sk_ft_realloc\28FT_MemoryRec_*\2c\20long\2c\20long\2c\20void*\29 +7365:sk_ft_free\28FT_MemoryRec_*\2c\20void*\29 +7366:sk_ft_alloc\28FT_MemoryRec_*\2c\20long\29 +7367:sk_dataref_releaseproc\28void\20const*\2c\20void*\29 +7368:sfnt_table_info +7369:sfnt_stream_close +7370:sfnt_load_face +7371:sfnt_is_postscript +7372:sfnt_is_alphanumeric +7373:sfnt_init_face +7374:sfnt_get_ps_name +7375:sfnt_get_name_index +7376:sfnt_get_name_id +7377:sfnt_get_interface +7378:sfnt_get_glyph_name +7379:sfnt_get_charset_id +7380:sfnt_done_face +7381:setup_syllables_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7382:setup_syllables_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7383:setup_syllables_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7384:setup_syllables_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7385:setup_masks_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7386:setup_masks_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7387:setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7388:setup_masks_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7389:setup_masks_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7390:setup_masks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7391:service_cleanup\28\29 +7392:sep_upsample +7393:self_destruct +7394:scriptGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +7395:save_marker +7396:sample8\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7397:sample6\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7398:sample4\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7399:sample2\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7400:sample1\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7401:rgb_rgb_convert +7402:rgb_rgb565_convert +7403:rgb_rgb565D_convert +7404:rgb_gray_convert +7405:reverse_hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +7406:reverse_hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +7407:reset_marker_reader +7408:reset_input_controller +7409:reset_error_mgr +7410:request_virt_sarray +7411:request_virt_barray +7412:reorder_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7413:reorder_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7414:reorder_marks_hebrew\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +7415:reorder_marks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +7416:reorder_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7417:release_data\28void*\2c\20void*\29 +7418:record_stch\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7419:record_rphf_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7420:record_pref_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7421:realize_virt_arrays +7422:read_restart_marker +7423:read_markers +7424:read_data_from_FT_Stream +7425:rbbi_cleanup_74 +7426:quantize_ord_dither +7427:quantize_fs_dither +7428:quantize3_ord_dither +7429:putil_cleanup\28\29 +7430:psnames_get_service +7431:pshinter_get_t2_funcs +7432:pshinter_get_t1_funcs +7433:pshinter_get_globals_funcs +7434:psh_globals_new +7435:psh_globals_destroy +7436:psaux_get_glyph_name +7437:ps_table_release +7438:ps_table_new +7439:ps_table_done +7440:ps_table_add +7441:ps_property_set +7442:ps_property_get +7443:ps_parser_to_token_array +7444:ps_parser_to_int +7445:ps_parser_to_fixed_array +7446:ps_parser_to_fixed +7447:ps_parser_to_coord_array +7448:ps_parser_to_bytes +7449:ps_parser_skip_spaces +7450:ps_parser_load_field_table +7451:ps_parser_init +7452:ps_hints_t2mask +7453:ps_hints_t2counter +7454:ps_hints_t1stem3 +7455:ps_hints_t1reset +7456:ps_hints_close +7457:ps_hints_apply +7458:ps_hinter_init +7459:ps_hinter_done +7460:ps_get_standard_strings +7461:ps_get_macintosh_name +7462:ps_decoder_init +7463:ps_builder_init +7464:progress_monitor\28jpeg_common_struct*\29 +7465:process_data_simple_main +7466:process_data_crank_post +7467:process_data_context_main +7468:prescan_quantize +7469:preprocess_text_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7470:preprocess_text_thai\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7471:preprocess_text_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7472:preprocess_text_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7473:prepare_for_output_pass +7474:premultiply_data +7475:premul_rgb\28SkRGBA4f<\28SkAlphaType\292>\29 +7476:premul_polar\28SkRGBA4f<\28SkAlphaType\292>\29 +7477:postprocess_glyphs_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +7478:post_process_prepass +7479:post_process_2pass +7480:post_process_1pass +7481:portable::xy_to_unit_angle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7482:portable::xy_to_radius\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7483:portable::xy_to_2pt_conical_well_behaved\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7484:portable::xy_to_2pt_conical_strip\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7485:portable::xy_to_2pt_conical_smaller\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7486:portable::xy_to_2pt_conical_greater\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7487:portable::xy_to_2pt_conical_focal_on_circle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7488:portable::xor_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7489:portable::white_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7490:portable::unpremul_polar\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7491:portable::unpremul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7492:portable::uniform_color_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7493:portable::trace_var\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7494:portable::trace_scope\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7495:portable::trace_line\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7496:portable::trace_exit\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7497:portable::trace_enter\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7498:portable::tan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7499:portable::swizzle_copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7500:portable::swizzle_copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7501:portable::swizzle_copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7502:portable::swizzle_copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7503:portable::swizzle_copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7504:portable::swizzle_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7505:portable::swizzle_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7506:portable::swizzle_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7507:portable::swizzle_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7508:portable::swizzle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7509:portable::swap_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7510:portable::swap_rb_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7511:portable::swap_rb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7512:portable::sub_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7513:portable::sub_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7514:portable::sub_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7515:portable::sub_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7516:portable::sub_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7517:portable::sub_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7518:portable::sub_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7519:portable::sub_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7520:portable::sub_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7521:portable::sub_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7522:portable::store_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7523:portable::store_src_a\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7524:portable::store_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7525:portable::store_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7526:portable::store_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7527:portable::store_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7528:portable::store_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7529:portable::store_r8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7530:portable::store_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7531:portable::store_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7532:portable::store_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7533:portable::store_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7534:portable::store_device_xy01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7535:portable::store_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7536:portable::store_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7537:portable::store_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7538:portable::store_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7539:portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7540:portable::store_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7541:portable::store_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7542:portable::store_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7543:portable::store_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7544:portable::store_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7545:portable::store_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7546:portable::store_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7547:portable::start_pipeline\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkRasterPipelineStage*\2c\20SkSpan\2c\20unsigned\20char*\29 +7548:portable::stack_rewind\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7549:portable::stack_checkpoint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7550:portable::srcover_rgba_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7551:portable::srcover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7552:portable::srcout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7553:portable::srcin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7554:portable::srcatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7555:portable::sqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7556:portable::splat_4_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7557:portable::splat_3_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7558:portable::splat_2_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7559:portable::softlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7560:portable::smoothstep_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7561:portable::sin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7562:portable::shuffle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7563:portable::set_base_pointer\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7564:portable::seed_shader\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7565:portable::screen\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7566:portable::scale_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7567:portable::scale_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7568:portable::scale_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7569:portable::scale_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7570:portable::saturation\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7571:portable::rgb_to_hsl\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7572:portable::repeat_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7573:portable::repeat_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7574:portable::repeat_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7575:portable::refract_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7576:portable::reenable_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7577:portable::rect_memset64\28unsigned\20long\20long*\2c\20unsigned\20long\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +7578:portable::rect_memset32\28unsigned\20int*\2c\20unsigned\20int\2c\20int\2c\20unsigned\20long\2c\20int\29 +7579:portable::rect_memset16\28unsigned\20short*\2c\20unsigned\20short\2c\20int\2c\20unsigned\20long\2c\20int\29 +7580:portable::premul_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7581:portable::premul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7582:portable::pow_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7583:portable::plus_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7584:portable::perlin_noise\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7585:portable::parametric\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7586:portable::overlay\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7587:portable::negate_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7588:portable::multiply\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7589:portable::mul_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7590:portable::mul_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7591:portable::mul_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7592:portable::mul_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7593:portable::mul_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7594:portable::mul_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7595:portable::mul_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7596:portable::mul_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7597:portable::mul_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7598:portable::mul_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7599:portable::mul_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7600:portable::mul_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7601:portable::move_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7602:portable::move_dst_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7603:portable::modulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7604:portable::mod_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7605:portable::mod_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7606:portable::mod_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7607:portable::mod_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7608:portable::mod_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7609:portable::mix_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7610:portable::mix_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7611:portable::mix_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7612:portable::mix_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7613:portable::mix_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7614:portable::mix_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7615:portable::mix_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7616:portable::mix_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7617:portable::mix_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7618:portable::mix_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7619:portable::mirror_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7620:portable::mirror_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7621:portable::mirror_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7622:portable::mipmap_linear_update\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7623:portable::mipmap_linear_init\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7624:portable::mipmap_linear_finish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7625:portable::min_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7626:portable::min_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7627:portable::min_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7628:portable::min_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7629:portable::min_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7630:portable::min_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7631:portable::min_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7632:portable::min_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7633:portable::min_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7634:portable::min_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7635:portable::min_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7636:portable::min_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7637:portable::min_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7638:portable::min_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7639:portable::min_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7640:portable::min_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7641:portable::merge_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7642:portable::merge_inv_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7643:portable::merge_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7644:portable::memset32\28unsigned\20int*\2c\20unsigned\20int\2c\20int\29 +7645:portable::memset16\28unsigned\20short*\2c\20unsigned\20short\2c\20int\29 +7646:portable::max_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7647:portable::max_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7648:portable::max_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7649:portable::max_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7650:portable::max_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7651:portable::max_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7652:portable::max_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7653:portable::max_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7654:portable::max_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7655:portable::max_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7656:portable::max_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7657:portable::max_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7658:portable::max_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7659:portable::max_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7660:portable::max_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7661:portable::max_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7662:portable::matrix_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7663:portable::matrix_scale_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7664:portable::matrix_perspective\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7665:portable::matrix_multiply_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7666:portable::matrix_multiply_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7667:portable::matrix_multiply_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7668:portable::matrix_4x5\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7669:portable::matrix_4x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7670:portable::matrix_3x4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7671:portable::matrix_3x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7672:portable::matrix_2x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7673:portable::mask_off_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7674:portable::mask_off_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7675:portable::mask_2pt_conical_nan\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7676:portable::mask_2pt_conical_degenerates\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7677:portable::luminosity\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7678:portable::log_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7679:portable::log2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7680:portable::load_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7681:portable::load_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7682:portable::load_rgf16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7683:portable::load_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7684:portable::load_rg88_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7685:portable::load_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7686:portable::load_rg1616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7687:portable::load_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7688:portable::load_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7689:portable::load_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7690:portable::load_f32_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7691:portable::load_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7692:portable::load_f16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7693:portable::load_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7694:portable::load_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7695:portable::load_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7696:portable::load_af16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7697:portable::load_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7698:portable::load_a8_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7699:portable::load_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7700:portable::load_a16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7701:portable::load_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7702:portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7703:portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7704:portable::load_565_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7705:portable::load_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7706:portable::load_4444_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7707:portable::load_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7708:portable::load_16161616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7709:portable::load_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7710:portable::load_10x6_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7711:portable::load_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7712:portable::load_1010102_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7713:portable::load_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7714:portable::load_1010102_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7715:portable::load_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7716:portable::load_10101010_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7717:portable::load_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7718:portable::lighten\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7719:portable::lerp_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7720:portable::lerp_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7721:portable::lerp_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7722:portable::lerp_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7723:portable::just_return\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7724:portable::jump\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7725:portable::invsqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7726:portable::invsqrt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7727:portable::invsqrt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7728:portable::invsqrt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7729:portable::inverted_CMYK_to_RGB1\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7730:portable::inverted_CMYK_to_BGR1\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7731:portable::inverse_mat4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7732:portable::inverse_mat3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7733:portable::inverse_mat2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7734:portable::init_lane_masks\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7735:portable::hue\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7736:portable::hsl_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7737:portable::hardlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7738:portable::gray_to_RGB1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7739:portable::grayA_to_rgbA\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7740:portable::grayA_to_RGBA\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7741:portable::gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7742:portable::gauss_a_to_rgba\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7743:portable::gather_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7744:portable::gather_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7745:portable::gather_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7746:portable::gather_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7747:portable::gather_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7748:portable::gather_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7749:portable::gather_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7750:portable::gather_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7751:portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7752:portable::gather_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7753:portable::gather_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7754:portable::gather_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7755:portable::gather_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7756:portable::gather_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7757:portable::gather_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7758:portable::gather_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7759:portable::gamma_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7760:portable::force_opaque_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7761:portable::force_opaque\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7762:portable::floor_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7763:portable::floor_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7764:portable::floor_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7765:portable::floor_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7766:portable::exp_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7767:portable::exp2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7768:portable::exclusion\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7769:portable::exchange_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7770:portable::evenly_spaced_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7771:portable::evenly_spaced_2_stop_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7772:portable::emboss\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7773:portable::dstover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7774:portable::dstout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7775:portable::dstin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7776:portable::dstatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7777:portable::dot_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7778:portable::dot_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7779:portable::dot_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7780:portable::div_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7781:portable::div_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7782:portable::div_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7783:portable::div_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7784:portable::div_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7785:portable::div_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7786:portable::div_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7787:portable::div_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7788:portable::div_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7789:portable::div_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7790:portable::div_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7791:portable::div_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7792:portable::div_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7793:portable::div_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7794:portable::div_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7795:portable::dither\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7796:portable::difference\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7797:portable::decal_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7798:portable::decal_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7799:portable::decal_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7800:portable::darken\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7801:portable::css_oklab_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7802:portable::css_oklab_gamut_map_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7803:portable::css_lab_to_xyz\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7804:portable::css_hwb_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7805:portable::css_hsl_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7806:portable::css_hcl_to_lab\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7807:portable::cos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7808:portable::copy_uniform\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7809:portable::copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7810:portable::copy_slot_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7811:portable::copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7812:portable::copy_immutable_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7813:portable::copy_constant\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7814:portable::copy_4_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7815:portable::copy_4_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7816:portable::copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7817:portable::copy_4_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7818:portable::copy_3_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7819:portable::copy_3_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7820:portable::copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7821:portable::copy_3_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7822:portable::copy_2_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7823:portable::copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7824:portable::continue_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7825:portable::colordodge\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7826:portable::colorburn\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7827:portable::color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7828:portable::cmpne_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7829:portable::cmpne_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7830:portable::cmpne_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7831:portable::cmpne_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7832:portable::cmpne_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7833:portable::cmpne_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7834:portable::cmpne_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7835:portable::cmpne_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7836:portable::cmpne_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7837:portable::cmpne_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7838:portable::cmpne_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7839:portable::cmpne_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7840:portable::cmplt_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7841:portable::cmplt_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7842:portable::cmplt_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7843:portable::cmplt_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7844:portable::cmplt_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7845:portable::cmplt_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7846:portable::cmplt_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7847:portable::cmplt_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7848:portable::cmplt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7849:portable::cmplt_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7850:portable::cmplt_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7851:portable::cmplt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7852:portable::cmplt_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7853:portable::cmplt_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7854:portable::cmplt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7855:portable::cmplt_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7856:portable::cmplt_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7857:portable::cmplt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7858:portable::cmple_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7859:portable::cmple_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7860:portable::cmple_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7861:portable::cmple_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7862:portable::cmple_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7863:portable::cmple_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7864:portable::cmple_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7865:portable::cmple_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7866:portable::cmple_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7867:portable::cmple_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7868:portable::cmple_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7869:portable::cmple_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7870:portable::cmple_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7871:portable::cmple_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7872:portable::cmple_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7873:portable::cmple_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7874:portable::cmple_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7875:portable::cmple_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7876:portable::cmpeq_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7877:portable::cmpeq_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7878:portable::cmpeq_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7879:portable::cmpeq_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7880:portable::cmpeq_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7881:portable::cmpeq_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7882:portable::cmpeq_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7883:portable::cmpeq_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7884:portable::cmpeq_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7885:portable::cmpeq_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7886:portable::cmpeq_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7887:portable::cmpeq_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7888:portable::clear\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7889:portable::clamp_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7890:portable::clamp_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7891:portable::clamp_gamut\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7892:portable::clamp_01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7893:portable::ceil_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7894:portable::ceil_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7895:portable::ceil_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7896:portable::ceil_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7897:portable::cast_to_uint_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7898:portable::cast_to_uint_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7899:portable::cast_to_uint_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7900:portable::cast_to_uint_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7901:portable::cast_to_int_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7902:portable::cast_to_int_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7903:portable::cast_to_int_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7904:portable::cast_to_int_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7905:portable::cast_to_float_from_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7906:portable::cast_to_float_from_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7907:portable::cast_to_float_from_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7908:portable::cast_to_float_from_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7909:portable::cast_to_float_from_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7910:portable::cast_to_float_from_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7911:portable::cast_to_float_from_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7912:portable::cast_to_float_from_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7913:portable::case_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7914:portable::callback\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7915:portable::byte_tables\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7916:portable::bt709_luminance_or_luma_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7917:portable::bt709_luminance_or_luma_to_alpha\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7918:portable::branch_if_no_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7919:portable::branch_if_no_active_lanes_eq\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7920:portable::branch_if_any_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7921:portable::branch_if_all_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7922:portable::blit_row_s32a_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +7923:portable::black_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7924:portable::bitwise_xor_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7925:portable::bitwise_xor_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7926:portable::bitwise_xor_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7927:portable::bitwise_xor_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7928:portable::bitwise_xor_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7929:portable::bitwise_xor_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7930:portable::bitwise_or_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7931:portable::bitwise_or_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7932:portable::bitwise_or_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7933:portable::bitwise_or_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7934:portable::bitwise_or_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7935:portable::bitwise_and_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7936:portable::bitwise_and_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7937:portable::bitwise_and_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7938:portable::bitwise_and_imm_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7939:portable::bitwise_and_imm_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7940:portable::bitwise_and_imm_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7941:portable::bitwise_and_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7942:portable::bitwise_and_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7943:portable::bitwise_and_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7944:portable::bilinear_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7945:portable::bilinear_py\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7946:portable::bilinear_px\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7947:portable::bilinear_ny\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7948:portable::bilinear_nx\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7949:portable::bilerp_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7950:portable::bicubic_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7951:portable::bicubic_p3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7952:portable::bicubic_p3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7953:portable::bicubic_p1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7954:portable::bicubic_p1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7955:portable::bicubic_n3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7956:portable::bicubic_n3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7957:portable::bicubic_n1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7958:portable::bicubic_n1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7959:portable::bicubic_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7960:portable::atan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7961:portable::atan2_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7962:portable::asin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7963:portable::alter_2pt_conical_unswap\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7964:portable::alter_2pt_conical_compensate_focal\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7965:portable::alpha_to_red_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7966:portable::alpha_to_red\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7967:portable::alpha_to_gray_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7968:portable::alpha_to_gray\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7969:portable::add_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7970:portable::add_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7971:portable::add_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7972:portable::add_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7973:portable::add_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7974:portable::add_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7975:portable::add_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7976:portable::add_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7977:portable::add_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7978:portable::add_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7979:portable::add_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7980:portable::add_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7981:portable::acos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7982:portable::accumulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7983:portable::abs_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7984:portable::abs_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7985:portable::abs_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7986:portable::abs_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7987:portable::RGB_to_RGB1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7988:portable::RGB_to_BGR1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7989:portable::RGBA_to_rgbA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7990:portable::RGBA_to_bgrA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7991:portable::RGBA_to_BGRA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7992:portable::PQish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7993:portable::HLGish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7994:portable::HLGinvish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7995:pop_arg_long_double +7996:pointerTOCLookupFn\28UDataMemory\20const*\2c\20char\20const*\2c\20int*\2c\20UErrorCode*\29 +7997:png_read_filter_row_up +7998:png_read_filter_row_sub +7999:png_read_filter_row_paeth_multibyte_pixel +8000:png_read_filter_row_paeth_1byte_pixel +8001:png_read_filter_row_avg +8002:pass2_no_dither +8003:pass2_fs_dither +8004:override_features_khmer\28hb_ot_shape_planner_t*\29 +8005:override_features_indic\28hb_ot_shape_planner_t*\29 +8006:override_features_hangul\28hb_ot_shape_planner_t*\29 +8007:output_message\28jpeg_common_struct*\29 +8008:output_message +8009:offsetTOCLookupFn\28UDataMemory\20const*\2c\20char\20const*\2c\20int*\2c\20UErrorCode*\29 +8010:null_convert +8011:noop_upsample +8012:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +8013:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +8014:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +8015:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +8016:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.3 +8017:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.2 +8018:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +8019:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +8020:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +8021:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +8022:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +8023:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +8024:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +8025:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +8026:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +8027:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +8028:non-virtual\20thunk\20to\20icu_74::UnicodeSet::~UnicodeSet\28\29.1 +8029:non-virtual\20thunk\20to\20icu_74::UnicodeSet::~UnicodeSet\28\29 +8030:non-virtual\20thunk\20to\20icu_74::UnicodeSet::toPattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +8031:non-virtual\20thunk\20to\20icu_74::UnicodeSet::matches\28icu_74::Replaceable\20const&\2c\20int&\2c\20int\2c\20signed\20char\29 +8032:non-virtual\20thunk\20to\20icu_74::UnicodeSet::matchesIndexValue\28unsigned\20char\29\20const +8033:non-virtual\20thunk\20to\20icu_74::UnicodeSet::addMatchSetTo\28icu_74::UnicodeSet&\29\20const +8034:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +8035:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8036:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +8037:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +8038:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8039:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +8040:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +8041:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8042:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +8043:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +8044:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8045:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +8046:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8047:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +8048:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +8049:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8050:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +8051:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +8052:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +8053:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +8054:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +8055:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +8056:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29.1 +8057:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29 +8058:non-virtual\20thunk\20to\20GrOpFlushState::writeView\28\29\20const +8059:non-virtual\20thunk\20to\20GrOpFlushState::usesMSAASurface\28\29\20const +8060:non-virtual\20thunk\20to\20GrOpFlushState::threadSafeCache\28\29\20const +8061:non-virtual\20thunk\20to\20GrOpFlushState::strikeCache\28\29\20const +8062:non-virtual\20thunk\20to\20GrOpFlushState::smallPathAtlasManager\28\29\20const +8063:non-virtual\20thunk\20to\20GrOpFlushState::sampledProxyArray\28\29 +8064:non-virtual\20thunk\20to\20GrOpFlushState::rtProxy\28\29\20const +8065:non-virtual\20thunk\20to\20GrOpFlushState::resourceProvider\28\29\20const +8066:non-virtual\20thunk\20to\20GrOpFlushState::renderPassBarriers\28\29\20const +8067:non-virtual\20thunk\20to\20GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +8068:non-virtual\20thunk\20to\20GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +8069:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndirectDraws\28int\29 +8070:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndices\28int\29 +8071:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +8072:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +8073:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +8074:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +8075:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +8076:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +8077:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +8078:non-virtual\20thunk\20to\20GrOpFlushState::dstProxyView\28\29\20const +8079:non-virtual\20thunk\20to\20GrOpFlushState::detachAppliedClip\28\29 +8080:non-virtual\20thunk\20to\20GrOpFlushState::deferredUploadTarget\28\29 +8081:non-virtual\20thunk\20to\20GrOpFlushState::colorLoadOp\28\29\20const +8082:non-virtual\20thunk\20to\20GrOpFlushState::caps\28\29\20const +8083:non-virtual\20thunk\20to\20GrOpFlushState::atlasManager\28\29\20const +8084:non-virtual\20thunk\20to\20GrOpFlushState::appliedClip\28\29\20const +8085:non-virtual\20thunk\20to\20GrGpuBuffer::~GrGpuBuffer\28\29 +8086:non-virtual\20thunk\20to\20GrGpuBuffer::unref\28\29\20const +8087:non-virtual\20thunk\20to\20GrGpuBuffer::ref\28\29\20const +8088:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +8089:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +8090:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onSetLabel\28\29 +8091:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +8092:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +8093:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +8094:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +8095:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::backendFormat\28\29\20const +8096:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +8097:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +8098:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +8099:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +8100:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::dstColor\28\29 +8101:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29.1 +8102:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29 +8103:new_color_map_2_quant +8104:new_color_map_1_quant +8105:merged_2v_upsample +8106:merged_1v_upsample +8107:locale_cleanup\28\29 +8108:lin_srgb_to_oklab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +8109:lin_srgb_to_okhcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +8110:legalstub$dynCall_vijjjii +8111:legalstub$dynCall_vijiii +8112:legalstub$dynCall_viji +8113:legalstub$dynCall_vij +8114:legalstub$dynCall_viijii +8115:legalstub$dynCall_viij +8116:legalstub$dynCall_viiij +8117:legalstub$dynCall_viiiiij +8118:legalstub$dynCall_jiji +8119:legalstub$dynCall_jiiiiji +8120:legalstub$dynCall_jiiiiii +8121:legalstub$dynCall_jii +8122:legalstub$dynCall_ji +8123:legalstub$dynCall_iijjiii +8124:legalstub$dynCall_iijj +8125:legalstub$dynCall_iiji +8126:legalstub$dynCall_iij +8127:legalstub$dynCall_iiiji +8128:legalstub$dynCall_iiij +8129:legalstub$dynCall_iiiij +8130:legalstub$dynCall_iiiiijj +8131:legalstub$dynCall_iiiiij +8132:legalstub$dynCall_iiiiiijj +8133:legalfunc$glWaitSync +8134:legalfunc$glClientWaitSync +8135:lcd_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +8136:layoutGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +8137:jpeg_start_decompress +8138:jpeg_skip_scanlines +8139:jpeg_save_markers +8140:jpeg_resync_to_restart +8141:jpeg_read_scanlines +8142:jpeg_read_raw_data +8143:jpeg_read_header +8144:jpeg_idct_islow +8145:jpeg_idct_ifast +8146:jpeg_idct_float +8147:jpeg_idct_9x9 +8148:jpeg_idct_7x7 +8149:jpeg_idct_6x6 +8150:jpeg_idct_5x5 +8151:jpeg_idct_4x4 +8152:jpeg_idct_3x3 +8153:jpeg_idct_2x2 +8154:jpeg_idct_1x1 +8155:jpeg_idct_16x16 +8156:jpeg_idct_15x15 +8157:jpeg_idct_14x14 +8158:jpeg_idct_13x13 +8159:jpeg_idct_12x12 +8160:jpeg_idct_11x11 +8161:jpeg_idct_10x10 +8162:jpeg_crop_scanline +8163:is_deleted_glyph\28hb_glyph_info_t\20const*\29 +8164:isRegionalIndicator\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8165:isPOSIX_xdigit\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8166:isPOSIX_print\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8167:isPOSIX_graph\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8168:isPOSIX_blank\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8169:isPOSIX_alnum\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8170:isNormInert\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8171:isMirrored\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8172:isJoinControl\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8173:isIDSUnaryOperator\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8174:isIDCompatMathStart\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8175:isIDCompatMathContinue\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8176:isCanonSegmentStarter\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8177:isBidiControl\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8178:isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8179:int_upsample +8180:initial_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8181:icu_74::uprv_normalizer2_cleanup\28\29 +8182:icu_74::uprv_loaded_normalizer2_cleanup\28\29 +8183:icu_74::unames_cleanup\28\29 +8184:icu_74::umtx_init\28\29 +8185:icu_74::umtx_cleanup\28\29 +8186:icu_74::sortComparator\28void\20const*\2c\20void\20const*\2c\20void\20const*\29 +8187:icu_74::segmentStarterMapper\28void\20const*\2c\20unsigned\20int\29 +8188:icu_74::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8189:icu_74::compareElementStrings\28void\20const*\2c\20void\20const*\2c\20void\20const*\29 +8190:icu_74::cacheDeleter\28void*\29 +8191:icu_74::\28anonymous\20namespace\29::versionFilter\28int\2c\20void*\29 +8192:icu_74::\28anonymous\20namespace\29::utf16_caseContextIterator\28void*\2c\20signed\20char\29 +8193:icu_74::\28anonymous\20namespace\29::numericValueFilter\28int\2c\20void*\29 +8194:icu_74::\28anonymous\20namespace\29::intPropertyFilter\28int\2c\20void*\29 +8195:icu_74::\28anonymous\20namespace\29::emojiprops_cleanup\28\29 +8196:icu_74::\28anonymous\20namespace\29::cleanup\28\29 +8197:icu_74::\28anonymous\20namespace\29::cleanupKnownCanonicalized\28\29 +8198:icu_74::\28anonymous\20namespace\29::AliasReplacer::replace\28icu_74::Locale\20const&\2c\20icu_74::CharString&\2c\20UErrorCode&\29::$_1::__invoke\28void*\29 +8199:icu_74::\28anonymous\20namespace\29::AliasReplacer::AliasReplacer\28UErrorCode\29::'lambda'\28UElement\2c\20UElement\29::__invoke\28UElement\2c\20UElement\29 +8200:icu_74::\28anonymous\20namespace\29::AliasData::cleanup\28\29 +8201:icu_74::UnicodeString::~UnicodeString\28\29.1 +8202:icu_74::UnicodeString::handleReplaceBetween\28int\2c\20int\2c\20icu_74::UnicodeString\20const&\29 +8203:icu_74::UnicodeString::getLength\28\29\20const +8204:icu_74::UnicodeString::getDynamicClassID\28\29\20const +8205:icu_74::UnicodeString::getCharAt\28int\29\20const +8206:icu_74::UnicodeString::extractBetween\28int\2c\20int\2c\20icu_74::UnicodeString&\29\20const +8207:icu_74::UnicodeString::copy\28int\2c\20int\2c\20int\29 +8208:icu_74::UnicodeString::clone\28\29\20const +8209:icu_74::UnicodeSet::~UnicodeSet\28\29.1 +8210:icu_74::UnicodeSet::toPattern\28icu_74::UnicodeString&\2c\20signed\20char\29\20const +8211:icu_74::UnicodeSet::size\28\29\20const +8212:icu_74::UnicodeSet::retain\28int\2c\20int\29 +8213:icu_74::UnicodeSet::operator==\28icu_74::UnicodeSet\20const&\29\20const +8214:icu_74::UnicodeSet::isEmpty\28\29\20const +8215:icu_74::UnicodeSet::hashCode\28\29\20const +8216:icu_74::UnicodeSet::getDynamicClassID\28\29\20const +8217:icu_74::UnicodeSet::contains\28int\2c\20int\29\20const +8218:icu_74::UnicodeSet::containsAll\28icu_74::UnicodeSet\20const&\29\20const +8219:icu_74::UnicodeSet::complement\28int\2c\20int\29 +8220:icu_74::UnicodeSet::complementAll\28icu_74::UnicodeSet\20const&\29 +8221:icu_74::UnicodeSet::addMatchSetTo\28icu_74::UnicodeSet&\29\20const +8222:icu_74::UnhandledEngine::~UnhandledEngine\28\29.1 +8223:icu_74::UnhandledEngine::~UnhandledEngine\28\29 +8224:icu_74::UnhandledEngine::handles\28int\2c\20char\20const*\29\20const +8225:icu_74::UnhandledEngine::handleCharacter\28int\29 +8226:icu_74::UnhandledEngine::findBreaks\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8227:icu_74::UVector::~UVector\28\29.1 +8228:icu_74::UVector::getDynamicClassID\28\29\20const +8229:icu_74::UVector32::~UVector32\28\29.1 +8230:icu_74::UVector32::getDynamicClassID\28\29\20const +8231:icu_74::UStack::getDynamicClassID\28\29\20const +8232:icu_74::UCharsTrieBuilder::~UCharsTrieBuilder\28\29.1 +8233:icu_74::UCharsTrieBuilder::~UCharsTrieBuilder\28\29 +8234:icu_74::UCharsTrieBuilder::write\28int\29 +8235:icu_74::UCharsTrieBuilder::writeValueAndType\28signed\20char\2c\20int\2c\20int\29 +8236:icu_74::UCharsTrieBuilder::writeValueAndFinal\28int\2c\20signed\20char\29 +8237:icu_74::UCharsTrieBuilder::writeElementUnits\28int\2c\20int\2c\20int\29 +8238:icu_74::UCharsTrieBuilder::writeDeltaTo\28int\29 +8239:icu_74::UCharsTrieBuilder::skipElementsBySomeUnits\28int\2c\20int\2c\20int\29\20const +8240:icu_74::UCharsTrieBuilder::indexOfElementWithNextUnit\28int\2c\20int\2c\20char16_t\29\20const +8241:icu_74::UCharsTrieBuilder::getMinLinearMatch\28\29\20const +8242:icu_74::UCharsTrieBuilder::getLimitOfLinearMatch\28int\2c\20int\2c\20int\29\20const +8243:icu_74::UCharsTrieBuilder::getElementValue\28int\29\20const +8244:icu_74::UCharsTrieBuilder::getElementUnit\28int\2c\20int\29\20const +8245:icu_74::UCharsTrieBuilder::getElementStringLength\28int\29\20const +8246:icu_74::UCharsTrieBuilder::createLinearMatchNode\28int\2c\20int\2c\20int\2c\20icu_74::StringTrieBuilder::Node*\29\20const +8247:icu_74::UCharsTrieBuilder::countElementUnits\28int\2c\20int\2c\20int\29\20const +8248:icu_74::UCharsTrieBuilder::UCTLinearMatchNode::write\28icu_74::StringTrieBuilder&\29 +8249:icu_74::UCharsTrieBuilder::UCTLinearMatchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8250:icu_74::UCharsDictionaryMatcher::~UCharsDictionaryMatcher\28\29.1 +8251:icu_74::UCharsDictionaryMatcher::~UCharsDictionaryMatcher\28\29 +8252:icu_74::UCharsDictionaryMatcher::matches\28UText*\2c\20int\2c\20int\2c\20int*\2c\20int*\2c\20int*\2c\20int*\29\20const +8253:icu_74::UCharCharacterIterator::setIndex\28int\29 +8254:icu_74::UCharCharacterIterator::setIndex32\28int\29 +8255:icu_74::UCharCharacterIterator::previous\28\29 +8256:icu_74::UCharCharacterIterator::previous32\28\29 +8257:icu_74::UCharCharacterIterator::operator==\28icu_74::ForwardCharacterIterator\20const&\29\20const +8258:icu_74::UCharCharacterIterator::next\28\29 +8259:icu_74::UCharCharacterIterator::nextPostInc\28\29 +8260:icu_74::UCharCharacterIterator::next32\28\29 +8261:icu_74::UCharCharacterIterator::next32PostInc\28\29 +8262:icu_74::UCharCharacterIterator::move\28int\2c\20icu_74::CharacterIterator::EOrigin\29 +8263:icu_74::UCharCharacterIterator::move32\28int\2c\20icu_74::CharacterIterator::EOrigin\29 +8264:icu_74::UCharCharacterIterator::last\28\29 +8265:icu_74::UCharCharacterIterator::last32\28\29 +8266:icu_74::UCharCharacterIterator::hashCode\28\29\20const +8267:icu_74::UCharCharacterIterator::hasPrevious\28\29 +8268:icu_74::UCharCharacterIterator::hasNext\28\29 +8269:icu_74::UCharCharacterIterator::getText\28icu_74::UnicodeString&\29 +8270:icu_74::UCharCharacterIterator::getDynamicClassID\28\29\20const +8271:icu_74::UCharCharacterIterator::first\28\29 +8272:icu_74::UCharCharacterIterator::firstPostInc\28\29 +8273:icu_74::UCharCharacterIterator::first32\28\29 +8274:icu_74::UCharCharacterIterator::first32PostInc\28\29 +8275:icu_74::UCharCharacterIterator::current\28\29\20const +8276:icu_74::UCharCharacterIterator::current32\28\29\20const +8277:icu_74::UCharCharacterIterator::clone\28\29\20const +8278:icu_74::ThaiBreakEngine::~ThaiBreakEngine\28\29.1 +8279:icu_74::ThaiBreakEngine::~ThaiBreakEngine\28\29 +8280:icu_74::ThaiBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8281:icu_74::StringTrieBuilder::SplitBranchNode::write\28icu_74::StringTrieBuilder&\29 +8282:icu_74::StringTrieBuilder::SplitBranchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8283:icu_74::StringTrieBuilder::SplitBranchNode::markRightEdgesFirst\28int\29 +8284:icu_74::StringTrieBuilder::Node::markRightEdgesFirst\28int\29 +8285:icu_74::StringTrieBuilder::ListBranchNode::write\28icu_74::StringTrieBuilder&\29 +8286:icu_74::StringTrieBuilder::ListBranchNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8287:icu_74::StringTrieBuilder::ListBranchNode::markRightEdgesFirst\28int\29 +8288:icu_74::StringTrieBuilder::IntermediateValueNode::write\28icu_74::StringTrieBuilder&\29 +8289:icu_74::StringTrieBuilder::IntermediateValueNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8290:icu_74::StringTrieBuilder::IntermediateValueNode::markRightEdgesFirst\28int\29 +8291:icu_74::StringTrieBuilder::FinalValueNode::write\28icu_74::StringTrieBuilder&\29 +8292:icu_74::StringTrieBuilder::FinalValueNode::operator==\28icu_74::StringTrieBuilder::Node\20const&\29\20const +8293:icu_74::StringTrieBuilder::BranchHeadNode::write\28icu_74::StringTrieBuilder&\29 +8294:icu_74::StringEnumeration::unext\28int*\2c\20UErrorCode&\29 +8295:icu_74::StringEnumeration::snext\28UErrorCode&\29 +8296:icu_74::StringEnumeration::operator==\28icu_74::StringEnumeration\20const&\29\20const +8297:icu_74::StringEnumeration::operator!=\28icu_74::StringEnumeration\20const&\29\20const +8298:icu_74::StringEnumeration::next\28int*\2c\20UErrorCode&\29 +8299:icu_74::SimpleLocaleKeyFactory::~SimpleLocaleKeyFactory\28\29.1 +8300:icu_74::SimpleLocaleKeyFactory::~SimpleLocaleKeyFactory\28\29 +8301:icu_74::SimpleLocaleKeyFactory::updateVisibleIDs\28icu_74::Hashtable&\2c\20UErrorCode&\29\20const +8302:icu_74::SimpleLocaleKeyFactory::getDynamicClassID\28\29\20const +8303:icu_74::SimpleLocaleKeyFactory::create\28icu_74::ICUServiceKey\20const&\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8304:icu_74::SimpleFilteredSentenceBreakIterator::~SimpleFilteredSentenceBreakIterator\28\29.1 +8305:icu_74::SimpleFilteredSentenceBreakIterator::~SimpleFilteredSentenceBreakIterator\28\29 +8306:icu_74::SimpleFilteredSentenceBreakIterator::setText\28icu_74::UnicodeString\20const&\29 +8307:icu_74::SimpleFilteredSentenceBreakIterator::setText\28UText*\2c\20UErrorCode&\29 +8308:icu_74::SimpleFilteredSentenceBreakIterator::refreshInputText\28UText*\2c\20UErrorCode&\29 +8309:icu_74::SimpleFilteredSentenceBreakIterator::previous\28\29 +8310:icu_74::SimpleFilteredSentenceBreakIterator::preceding\28int\29 +8311:icu_74::SimpleFilteredSentenceBreakIterator::next\28int\29 +8312:icu_74::SimpleFilteredSentenceBreakIterator::next\28\29 +8313:icu_74::SimpleFilteredSentenceBreakIterator::last\28\29 +8314:icu_74::SimpleFilteredSentenceBreakIterator::isBoundary\28int\29 +8315:icu_74::SimpleFilteredSentenceBreakIterator::getUText\28UText*\2c\20UErrorCode&\29\20const +8316:icu_74::SimpleFilteredSentenceBreakIterator::getText\28\29\20const +8317:icu_74::SimpleFilteredSentenceBreakIterator::following\28int\29 +8318:icu_74::SimpleFilteredSentenceBreakIterator::first\28\29 +8319:icu_74::SimpleFilteredSentenceBreakIterator::current\28\29\20const +8320:icu_74::SimpleFilteredSentenceBreakIterator::createBufferClone\28void*\2c\20int&\2c\20UErrorCode&\29 +8321:icu_74::SimpleFilteredSentenceBreakIterator::clone\28\29\20const +8322:icu_74::SimpleFilteredSentenceBreakIterator::adoptText\28icu_74::CharacterIterator*\29 +8323:icu_74::SimpleFilteredSentenceBreakData::~SimpleFilteredSentenceBreakData\28\29.1 +8324:icu_74::SimpleFilteredSentenceBreakData::~SimpleFilteredSentenceBreakData\28\29 +8325:icu_74::SimpleFilteredBreakIteratorBuilder::~SimpleFilteredBreakIteratorBuilder\28\29.1 +8326:icu_74::SimpleFilteredBreakIteratorBuilder::~SimpleFilteredBreakIteratorBuilder\28\29 +8327:icu_74::SimpleFilteredBreakIteratorBuilder::unsuppressBreakAfter\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +8328:icu_74::SimpleFilteredBreakIteratorBuilder::suppressBreakAfter\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29 +8329:icu_74::SimpleFilteredBreakIteratorBuilder::build\28icu_74::BreakIterator*\2c\20UErrorCode&\29 +8330:icu_74::SimpleFactory::~SimpleFactory\28\29.1 +8331:icu_74::SimpleFactory::~SimpleFactory\28\29 +8332:icu_74::SimpleFactory::updateVisibleIDs\28icu_74::Hashtable&\2c\20UErrorCode&\29\20const +8333:icu_74::SimpleFactory::getDynamicClassID\28\29\20const +8334:icu_74::SimpleFactory::getDisplayName\28icu_74::UnicodeString\20const&\2c\20icu_74::Locale\20const&\2c\20icu_74::UnicodeString&\29\20const +8335:icu_74::SimpleFactory::create\28icu_74::ICUServiceKey\20const&\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8336:icu_74::ServiceEnumeration::~ServiceEnumeration\28\29.1 +8337:icu_74::ServiceEnumeration::~ServiceEnumeration\28\29 +8338:icu_74::ServiceEnumeration::snext\28UErrorCode&\29 +8339:icu_74::ServiceEnumeration::reset\28UErrorCode&\29 +8340:icu_74::ServiceEnumeration::getDynamicClassID\28\29\20const +8341:icu_74::ServiceEnumeration::count\28UErrorCode&\29\20const +8342:icu_74::ServiceEnumeration::clone\28\29\20const +8343:icu_74::RuleBasedBreakIterator::~RuleBasedBreakIterator\28\29.1 +8344:icu_74::RuleBasedBreakIterator::setText\28icu_74::UnicodeString\20const&\29 +8345:icu_74::RuleBasedBreakIterator::setText\28UText*\2c\20UErrorCode&\29 +8346:icu_74::RuleBasedBreakIterator::refreshInputText\28UText*\2c\20UErrorCode&\29 +8347:icu_74::RuleBasedBreakIterator::previous\28\29 +8348:icu_74::RuleBasedBreakIterator::preceding\28int\29 +8349:icu_74::RuleBasedBreakIterator::operator==\28icu_74::BreakIterator\20const&\29\20const +8350:icu_74::RuleBasedBreakIterator::next\28int\29 +8351:icu_74::RuleBasedBreakIterator::next\28\29 +8352:icu_74::RuleBasedBreakIterator::last\28\29 +8353:icu_74::RuleBasedBreakIterator::isBoundary\28int\29 +8354:icu_74::RuleBasedBreakIterator::hashCode\28\29\20const +8355:icu_74::RuleBasedBreakIterator::getUText\28UText*\2c\20UErrorCode&\29\20const +8356:icu_74::RuleBasedBreakIterator::getText\28\29\20const +8357:icu_74::RuleBasedBreakIterator::getRules\28\29\20const +8358:icu_74::RuleBasedBreakIterator::getRuleStatus\28\29\20const +8359:icu_74::RuleBasedBreakIterator::getRuleStatusVec\28int*\2c\20int\2c\20UErrorCode&\29 +8360:icu_74::RuleBasedBreakIterator::getDynamicClassID\28\29\20const +8361:icu_74::RuleBasedBreakIterator::getBinaryRules\28unsigned\20int&\29 +8362:icu_74::RuleBasedBreakIterator::following\28int\29 +8363:icu_74::RuleBasedBreakIterator::first\28\29 +8364:icu_74::RuleBasedBreakIterator::current\28\29\20const +8365:icu_74::RuleBasedBreakIterator::createBufferClone\28void*\2c\20int&\2c\20UErrorCode&\29 +8366:icu_74::RuleBasedBreakIterator::clone\28\29\20const +8367:icu_74::RuleBasedBreakIterator::adoptText\28icu_74::CharacterIterator*\29 +8368:icu_74::RuleBasedBreakIterator::BreakCache::~BreakCache\28\29.1 +8369:icu_74::RuleBasedBreakIterator::BreakCache::~BreakCache\28\29 +8370:icu_74::ResourceDataValue::~ResourceDataValue\28\29.1 +8371:icu_74::ResourceDataValue::isNoInheritanceMarker\28\29\20const +8372:icu_74::ResourceDataValue::getUInt\28UErrorCode&\29\20const +8373:icu_74::ResourceDataValue::getType\28\29\20const +8374:icu_74::ResourceDataValue::getStringOrFirstOfArray\28UErrorCode&\29\20const +8375:icu_74::ResourceDataValue::getStringArray\28icu_74::UnicodeString*\2c\20int\2c\20UErrorCode&\29\20const +8376:icu_74::ResourceDataValue::getStringArrayOrStringAsArray\28icu_74::UnicodeString*\2c\20int\2c\20UErrorCode&\29\20const +8377:icu_74::ResourceDataValue::getInt\28UErrorCode&\29\20const +8378:icu_74::ResourceDataValue::getAliasString\28int&\2c\20UErrorCode&\29\20const +8379:icu_74::ResourceBundle::~ResourceBundle\28\29.1 +8380:icu_74::ResourceBundle::~ResourceBundle\28\29 +8381:icu_74::ResourceBundle::getDynamicClassID\28\29\20const +8382:icu_74::ParsePosition::getDynamicClassID\28\29\20const +8383:icu_74::Normalizer2WithImpl::spanQuickCheckYes\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8384:icu_74::Normalizer2WithImpl::normalize\28icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString&\2c\20UErrorCode&\29\20const +8385:icu_74::Normalizer2WithImpl::normalizeSecondAndAppend\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8386:icu_74::Normalizer2WithImpl::getRawDecomposition\28int\2c\20icu_74::UnicodeString&\29\20const +8387:icu_74::Normalizer2WithImpl::getDecomposition\28int\2c\20icu_74::UnicodeString&\29\20const +8388:icu_74::Normalizer2WithImpl::getCombiningClass\28int\29\20const +8389:icu_74::Normalizer2WithImpl::composePair\28int\2c\20int\29\20const +8390:icu_74::Normalizer2WithImpl::append\28icu_74::UnicodeString&\2c\20icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8391:icu_74::Normalizer2Impl::~Normalizer2Impl\28\29.1 +8392:icu_74::Normalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8393:icu_74::Normalizer2::isNormalizedUTF8\28icu_74::StringPiece\2c\20UErrorCode&\29\20const +8394:icu_74::NoopNormalizer2::spanQuickCheckYes\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8395:icu_74::NoopNormalizer2::normalize\28icu_74::UnicodeString\20const&\2c\20icu_74::UnicodeString&\2c\20UErrorCode&\29\20const +8396:icu_74::NoopNormalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8397:icu_74::MlBreakEngine::~MlBreakEngine\28\29.1 +8398:icu_74::LocaleKeyFactory::~LocaleKeyFactory\28\29.1 +8399:icu_74::LocaleKeyFactory::updateVisibleIDs\28icu_74::Hashtable&\2c\20UErrorCode&\29\20const +8400:icu_74::LocaleKeyFactory::handlesKey\28icu_74::ICUServiceKey\20const&\2c\20UErrorCode&\29\20const +8401:icu_74::LocaleKeyFactory::getDynamicClassID\28\29\20const +8402:icu_74::LocaleKeyFactory::getDisplayName\28icu_74::UnicodeString\20const&\2c\20icu_74::Locale\20const&\2c\20icu_74::UnicodeString&\29\20const +8403:icu_74::LocaleKeyFactory::create\28icu_74::ICUServiceKey\20const&\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8404:icu_74::LocaleKey::~LocaleKey\28\29.1 +8405:icu_74::LocaleKey::~LocaleKey\28\29 +8406:icu_74::LocaleKey::prefix\28icu_74::UnicodeString&\29\20const +8407:icu_74::LocaleKey::isFallbackOf\28icu_74::UnicodeString\20const&\29\20const +8408:icu_74::LocaleKey::getDynamicClassID\28\29\20const +8409:icu_74::LocaleKey::fallback\28\29 +8410:icu_74::LocaleKey::currentLocale\28icu_74::Locale&\29\20const +8411:icu_74::LocaleKey::currentID\28icu_74::UnicodeString&\29\20const +8412:icu_74::LocaleKey::currentDescriptor\28icu_74::UnicodeString&\29\20const +8413:icu_74::LocaleKey::canonicalLocale\28icu_74::Locale&\29\20const +8414:icu_74::LocaleKey::canonicalID\28icu_74::UnicodeString&\29\20const +8415:icu_74::LocaleBuilder::~LocaleBuilder\28\29.1 +8416:icu_74::Locale::~Locale\28\29.1 +8417:icu_74::Locale::getDynamicClassID\28\29\20const +8418:icu_74::LoadedNormalizer2Impl::~LoadedNormalizer2Impl\28\29.1 +8419:icu_74::LoadedNormalizer2Impl::~LoadedNormalizer2Impl\28\29 +8420:icu_74::LoadedNormalizer2Impl::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8421:icu_74::LaoBreakEngine::~LaoBreakEngine\28\29.1 +8422:icu_74::LaoBreakEngine::~LaoBreakEngine\28\29 +8423:icu_74::LSTMBreakEngine::~LSTMBreakEngine\28\29.1 +8424:icu_74::LSTMBreakEngine::~LSTMBreakEngine\28\29 +8425:icu_74::LSTMBreakEngine::name\28\29\20const +8426:icu_74::LSTMBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8427:icu_74::KhmerBreakEngine::~KhmerBreakEngine\28\29.1 +8428:icu_74::KhmerBreakEngine::~KhmerBreakEngine\28\29 +8429:icu_74::KhmerBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8430:icu_74::KeywordEnumeration::~KeywordEnumeration\28\29.1 +8431:icu_74::KeywordEnumeration::~KeywordEnumeration\28\29 +8432:icu_74::KeywordEnumeration::snext\28UErrorCode&\29 +8433:icu_74::KeywordEnumeration::reset\28UErrorCode&\29 +8434:icu_74::KeywordEnumeration::next\28int*\2c\20UErrorCode&\29 +8435:icu_74::KeywordEnumeration::getDynamicClassID\28\29\20const +8436:icu_74::KeywordEnumeration::count\28UErrorCode&\29\20const +8437:icu_74::KeywordEnumeration::clone\28\29\20const +8438:icu_74::ICUServiceKey::~ICUServiceKey\28\29.1 +8439:icu_74::ICUServiceKey::isFallbackOf\28icu_74::UnicodeString\20const&\29\20const +8440:icu_74::ICUServiceKey::getDynamicClassID\28\29\20const +8441:icu_74::ICUServiceKey::currentDescriptor\28icu_74::UnicodeString&\29\20const +8442:icu_74::ICUServiceKey::canonicalID\28icu_74::UnicodeString&\29\20const +8443:icu_74::ICUService::unregister\28void\20const*\2c\20UErrorCode&\29 +8444:icu_74::ICUService::reset\28\29 +8445:icu_74::ICUService::registerInstance\28icu_74::UObject*\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29 +8446:icu_74::ICUService::registerFactory\28icu_74::ICUServiceFactory*\2c\20UErrorCode&\29 +8447:icu_74::ICUService::reInitializeFactories\28\29 +8448:icu_74::ICUService::notifyListener\28icu_74::EventListener&\29\20const +8449:icu_74::ICUService::isDefault\28\29\20const +8450:icu_74::ICUService::getKey\28icu_74::ICUServiceKey&\2c\20icu_74::UnicodeString*\2c\20UErrorCode&\29\20const +8451:icu_74::ICUService::createSimpleFactory\28icu_74::UObject*\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29 +8452:icu_74::ICUService::createKey\28icu_74::UnicodeString\20const*\2c\20UErrorCode&\29\20const +8453:icu_74::ICUService::clearCaches\28\29 +8454:icu_74::ICUService::acceptsListener\28icu_74::EventListener\20const&\29\20const +8455:icu_74::ICUResourceBundleFactory::~ICUResourceBundleFactory\28\29.1 +8456:icu_74::ICUResourceBundleFactory::handleCreate\28icu_74::Locale\20const&\2c\20int\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8457:icu_74::ICUResourceBundleFactory::getSupportedIDs\28UErrorCode&\29\20const +8458:icu_74::ICUResourceBundleFactory::getDynamicClassID\28\29\20const +8459:icu_74::ICUNotifier::removeListener\28icu_74::EventListener\20const*\2c\20UErrorCode&\29 +8460:icu_74::ICUNotifier::notifyChanged\28\29 +8461:icu_74::ICUNotifier::addListener\28icu_74::EventListener\20const*\2c\20UErrorCode&\29 +8462:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::UnicodeString\20const&\2c\20signed\20char\2c\20UErrorCode&\29 +8463:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::Locale\20const&\2c\20int\2c\20int\2c\20UErrorCode&\29 +8464:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::Locale\20const&\2c\20int\2c\20UErrorCode&\29 +8465:icu_74::ICULocaleService::registerInstance\28icu_74::UObject*\2c\20icu_74::Locale\20const&\2c\20UErrorCode&\29 +8466:icu_74::ICULocaleService::getAvailableLocales\28\29\20const +8467:icu_74::ICULocaleService::createKey\28icu_74::UnicodeString\20const*\2c\20int\2c\20UErrorCode&\29\20const +8468:icu_74::ICULocaleService::createKey\28icu_74::UnicodeString\20const*\2c\20UErrorCode&\29\20const +8469:icu_74::ICULanguageBreakFactory::~ICULanguageBreakFactory\28\29.1 +8470:icu_74::ICULanguageBreakFactory::~ICULanguageBreakFactory\28\29 +8471:icu_74::ICULanguageBreakFactory::loadEngineFor\28int\2c\20char\20const*\29 +8472:icu_74::ICULanguageBreakFactory::loadDictionaryMatcherFor\28UScriptCode\29 +8473:icu_74::ICULanguageBreakFactory::getEngineFor\28int\2c\20char\20const*\29 +8474:icu_74::ICULanguageBreakFactory::addExternalEngine\28icu_74::ExternalBreakEngine*\2c\20UErrorCode&\29 +8475:icu_74::ICUBreakIteratorService::~ICUBreakIteratorService\28\29.1 +8476:icu_74::ICUBreakIteratorService::~ICUBreakIteratorService\28\29 +8477:icu_74::ICUBreakIteratorService::isDefault\28\29\20const +8478:icu_74::ICUBreakIteratorService::handleDefault\28icu_74::ICUServiceKey\20const&\2c\20icu_74::UnicodeString*\2c\20UErrorCode&\29\20const +8479:icu_74::ICUBreakIteratorService::cloneInstance\28icu_74::UObject*\29\20const +8480:icu_74::ICUBreakIteratorFactory::~ICUBreakIteratorFactory\28\29.1 +8481:icu_74::ICUBreakIteratorFactory::~ICUBreakIteratorFactory\28\29 +8482:icu_74::ICUBreakIteratorFactory::handleCreate\28icu_74::Locale\20const&\2c\20int\2c\20icu_74::ICUService\20const*\2c\20UErrorCode&\29\20const +8483:icu_74::GraphemeClusterVectorizer::vectorize\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20icu_74::UVector32&\2c\20UErrorCode&\29\20const +8484:icu_74::FCDNormalizer2::spanQuickCheckYes\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29\20const +8485:icu_74::FCDNormalizer2::normalize\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8486:icu_74::FCDNormalizer2::normalizeAndAppend\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20icu_74::UnicodeString&\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8487:icu_74::FCDNormalizer2::isInert\28int\29\20const +8488:icu_74::EmojiProps::isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +8489:icu_74::DictionaryBreakEngine::setCharacters\28icu_74::UnicodeSet\20const&\29 +8490:icu_74::DictionaryBreakEngine::handles\28int\2c\20char\20const*\29\20const +8491:icu_74::DictionaryBreakEngine::findBreaks\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8492:icu_74::DecomposeNormalizer2::spanQuickCheckYes\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29\20const +8493:icu_74::DecomposeNormalizer2::normalize\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8494:icu_74::DecomposeNormalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8495:icu_74::DecomposeNormalizer2::normalizeAndAppend\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20icu_74::UnicodeString&\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8496:icu_74::DecomposeNormalizer2::isNormalizedUTF8\28icu_74::StringPiece\2c\20UErrorCode&\29\20const +8497:icu_74::DecomposeNormalizer2::isInert\28int\29\20const +8498:icu_74::DecomposeNormalizer2::getQuickCheck\28int\29\20const +8499:icu_74::ConstArray2D::get\28int\2c\20int\29\20const +8500:icu_74::ConstArray1D::get\28int\29\20const +8501:icu_74::ComposeNormalizer2::spanQuickCheckYes\28char16_t\20const*\2c\20char16_t\20const*\2c\20UErrorCode&\29\20const +8502:icu_74::ComposeNormalizer2::quickCheck\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8503:icu_74::ComposeNormalizer2::normalize\28char16_t\20const*\2c\20char16_t\20const*\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8504:icu_74::ComposeNormalizer2::normalizeUTF8\28unsigned\20int\2c\20icu_74::StringPiece\2c\20icu_74::ByteSink&\2c\20icu_74::Edits*\2c\20UErrorCode&\29\20const +8505:icu_74::ComposeNormalizer2::normalizeAndAppend\28char16_t\20const*\2c\20char16_t\20const*\2c\20signed\20char\2c\20icu_74::UnicodeString&\2c\20icu_74::ReorderingBuffer&\2c\20UErrorCode&\29\20const +8506:icu_74::ComposeNormalizer2::isNormalized\28icu_74::UnicodeString\20const&\2c\20UErrorCode&\29\20const +8507:icu_74::ComposeNormalizer2::isNormalizedUTF8\28icu_74::StringPiece\2c\20UErrorCode&\29\20const +8508:icu_74::ComposeNormalizer2::isInert\28int\29\20const +8509:icu_74::ComposeNormalizer2::hasBoundaryBefore\28int\29\20const +8510:icu_74::ComposeNormalizer2::hasBoundaryAfter\28int\29\20const +8511:icu_74::ComposeNormalizer2::getQuickCheck\28int\29\20const +8512:icu_74::CodePointsVectorizer::vectorize\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20icu_74::UVector32&\2c\20UErrorCode&\29\20const +8513:icu_74::CjkBreakEngine::~CjkBreakEngine\28\29.1 +8514:icu_74::CjkBreakEngine::divideUpDictionaryRange\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8515:icu_74::CheckedArrayByteSink::Reset\28\29 +8516:icu_74::CheckedArrayByteSink::GetAppendBuffer\28int\2c\20int\2c\20char*\2c\20int\2c\20int*\29 +8517:icu_74::CheckedArrayByteSink::Append\28char\20const*\2c\20int\29 +8518:icu_74::CharacterIterator::firstPostInc\28\29 +8519:icu_74::CharacterIterator::first32PostInc\28\29 +8520:icu_74::CharStringByteSink::GetAppendBuffer\28int\2c\20int\2c\20char*\2c\20int\2c\20int*\29 +8521:icu_74::CharStringByteSink::Append\28char\20const*\2c\20int\29 +8522:icu_74::BytesDictionaryMatcher::~BytesDictionaryMatcher\28\29.1 +8523:icu_74::BytesDictionaryMatcher::~BytesDictionaryMatcher\28\29 +8524:icu_74::BytesDictionaryMatcher::matches\28UText*\2c\20int\2c\20int\2c\20int*\2c\20int*\2c\20int*\2c\20int*\29\20const +8525:icu_74::BurmeseBreakEngine::~BurmeseBreakEngine\28\29.1 +8526:icu_74::BurmeseBreakEngine::~BurmeseBreakEngine\28\29 +8527:icu_74::BreakIterator::getRuleStatusVec\28int*\2c\20int\2c\20UErrorCode&\29 +8528:icu_74::BreakEngineWrapper::~BreakEngineWrapper\28\29.1 +8529:icu_74::BreakEngineWrapper::~BreakEngineWrapper\28\29 +8530:icu_74::BreakEngineWrapper::handles\28int\2c\20char\20const*\29\20const +8531:icu_74::BreakEngineWrapper::findBreaks\28UText*\2c\20int\2c\20int\2c\20icu_74::UVector32&\2c\20signed\20char\2c\20UErrorCode&\29\20const +8532:icu_74::BMPSet::contains\28int\29\20const +8533:icu_74::Array1D::~Array1D\28\29.1 +8534:icu_74::Array1D::~Array1D\28\29 +8535:icu_74::Array1D::get\28int\29\20const +8536:hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +8537:hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +8538:hb_unicode_script_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8539:hb_unicode_general_category_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8540:hb_ucd_script\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8541:hb_ucd_mirroring\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8542:hb_ucd_general_category\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8543:hb_ucd_decompose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20void*\29 +8544:hb_ucd_compose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8545:hb_ucd_combining_class\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +8546:hb_syllabic_clear_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8547:hb_paint_sweep_gradient_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8548:hb_paint_push_transform_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8549:hb_paint_push_clip_rectangle_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8550:hb_paint_image_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +8551:hb_paint_extents_push_transform\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8552:hb_paint_extents_push_group\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +8553:hb_paint_extents_push_clip_rectangle\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8554:hb_paint_extents_push_clip_glyph\28hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_font_t*\2c\20void*\29 +8555:hb_paint_extents_pop_transform\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +8556:hb_paint_extents_pop_group\28hb_paint_funcs_t*\2c\20void*\2c\20hb_paint_composite_mode_t\2c\20void*\29 +8557:hb_paint_extents_pop_clip\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +8558:hb_paint_extents_paint_sweep_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8559:hb_paint_extents_paint_image\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +8560:hb_paint_extents_paint_color\28hb_paint_funcs_t*\2c\20void*\2c\20int\2c\20unsigned\20int\2c\20void*\29 +8561:hb_outline_recording_pen_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8562:hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8563:hb_outline_recording_pen_line_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8564:hb_outline_recording_pen_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8565:hb_outline_recording_pen_close_path\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +8566:hb_ot_paint_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8567:hb_ot_map_t::lookup_map_t::cmp\28void\20const*\2c\20void\20const*\29 +8568:hb_ot_map_t::feature_map_t::cmp\28void\20const*\2c\20void\20const*\29 +8569:hb_ot_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +8570:hb_ot_get_variation_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8571:hb_ot_get_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +8572:hb_ot_get_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8573:hb_ot_get_glyph_v_origin\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8574:hb_ot_get_glyph_v_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8575:hb_ot_get_glyph_name\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +8576:hb_ot_get_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8577:hb_ot_get_glyph_from_name\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +8578:hb_ot_get_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8579:hb_ot_get_font_v_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8580:hb_ot_get_font_h_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8581:hb_ot_draw_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +8582:hb_font_paint_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8583:hb_font_get_variation_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8584:hb_font_get_nominal_glyphs_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +8585:hb_font_get_nominal_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8586:hb_font_get_nominal_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8587:hb_font_get_glyph_v_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8588:hb_font_get_glyph_v_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8589:hb_font_get_glyph_v_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8590:hb_font_get_glyph_v_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8591:hb_font_get_glyph_v_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8592:hb_font_get_glyph_v_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8593:hb_font_get_glyph_name_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +8594:hb_font_get_glyph_name_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +8595:hb_font_get_glyph_h_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8596:hb_font_get_glyph_h_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8597:hb_font_get_glyph_h_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +8598:hb_font_get_glyph_h_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8599:hb_font_get_glyph_h_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8600:hb_font_get_glyph_h_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8601:hb_font_get_glyph_from_name_default\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +8602:hb_font_get_glyph_extents_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8603:hb_font_get_glyph_extents_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8604:hb_font_get_glyph_contour_point_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8605:hb_font_get_glyph_contour_point_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +8606:hb_font_get_font_v_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8607:hb_font_get_font_h_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +8608:hb_font_draw_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +8609:hb_draw_quadratic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8610:hb_draw_quadratic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8611:hb_draw_move_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8612:hb_draw_line_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +8613:hb_draw_extents_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8614:hb_draw_extents_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8615:hb_draw_cubic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +8616:hb_draw_close_path_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +8617:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +8618:hb_aat_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +8619:hb_aat_map_builder_t::feature_event_t::cmp\28void\20const*\2c\20void\20const*\29 +8620:hashStringTrieNode\28UElement\29 +8621:hashEntry\28UElement\29 +8622:hasFullCompositionExclusion\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8623:hasEmojiProperty\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8624:h2v2_upsample +8625:h2v2_merged_upsample_565D +8626:h2v2_merged_upsample_565 +8627:h2v2_merged_upsample +8628:h2v2_fancy_upsample +8629:h2v1_upsample +8630:h2v1_merged_upsample_565D +8631:h2v1_merged_upsample_565 +8632:h2v1_merged_upsample +8633:h2v1_fancy_upsample +8634:grayscale_convert +8635:gray_rgb_convert +8636:gray_rgb565_convert +8637:gray_rgb565D_convert +8638:gray_raster_render +8639:gray_raster_new +8640:gray_raster_done +8641:gray_move_to +8642:gray_line_to +8643:gray_cubic_to +8644:gray_conic_to +8645:get_sk_marker_list\28jpeg_decompress_struct*\29 +8646:get_sfnt_table +8647:get_interesting_appn +8648:getVo\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8649:getTrailCombiningClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8650:getScript\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8651:getNumericType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8652:getNormQuickCheck\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8653:getLeadCombiningClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8654:getJoiningType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8655:getJoiningGroup\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8656:getInSC\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8657:getInPC\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8658:getHangulSyllableType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8659:getGeneralCategory\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8660:getCombiningClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8661:getBiDiPairedBracketType\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8662:getBiDiClass\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8663:fullsize_upsample +8664:ft_smooth_transform +8665:ft_smooth_set_mode +8666:ft_smooth_render +8667:ft_smooth_overlap_spans +8668:ft_smooth_lcd_spans +8669:ft_smooth_init +8670:ft_smooth_get_cbox +8671:ft_gzip_free +8672:ft_gzip_alloc +8673:ft_ansi_stream_io +8674:ft_ansi_stream_close +8675:fquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8676:format_message +8677:fmt_fp +8678:fline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8679:first_axis_intersection\28double\20const*\2c\20bool\2c\20double\2c\20double*\29 +8680:finish_pass1 +8681:finish_output_pass +8682:finish_input_pass +8683:final_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8684:fcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8685:fconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +8686:fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8687:fast_swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8688:fast_swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8689:fast_swizzle_rgb_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8690:fast_swizzle_rgb_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8691:fast_swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8692:fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8693:fast_swizzle_gray_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8694:fast_swizzle_cmyk_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8695:fast_swizzle_cmyk_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8696:error_exit +8697:error_callback +8698:equalStringTrieNodes\28UElement\2c\20UElement\29 +8699:emscripten::internal::MethodInvoker\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20void\2c\20SkCanvas*\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&>::invoke\28void\20\28SkCanvas::*\20const&\29\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkPaint*\29 +8700:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +8701:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +8702:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\29 +8703:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\29\2c\20SkCanvas*\2c\20float\2c\20float\29 +8704:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPath\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20SkPath*\2c\20SkPaint*\29 +8705:emscripten::internal::MethodInvoker\20\28skia::textlayout::Paragraph::*\29\28unsigned\20int\29\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int>::invoke\28skia::textlayout::SkRange\20\28skia::textlayout::Paragraph::*\20const&\29\28unsigned\20int\29\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int\29 +8706:emscripten::internal::MethodInvoker::invoke\28skia::textlayout::PositionWithAffinity\20\28skia::textlayout::Paragraph::*\20const&\29\28float\2c\20float\29\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +8707:emscripten::internal::MethodInvoker::invoke\28int\20\28skia::textlayout::Paragraph::*\20const&\29\28unsigned\20long\29\20const\2c\20skia::textlayout::Paragraph\20const*\2c\20unsigned\20long\29 +8708:emscripten::internal::MethodInvoker::invoke\28bool\20\28SkPath::*\20const&\29\28float\2c\20float\29\20const\2c\20SkPath\20const*\2c\20float\2c\20float\29 +8709:emscripten::internal::MethodInvoker::invoke\28SkPath&\20\28SkPath::*\20const&\29\28bool\29\2c\20SkPath*\2c\20bool\29 +8710:emscripten::internal::Invoker::invoke\28void\20\28*\29\28unsigned\20long\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20unsigned\20long\29 +8711:emscripten::internal::Invoker::invoke\28void\20\28*\29\28emscripten::val\29\2c\20emscripten::_EM_VAL*\29 +8712:emscripten::internal::Invoker::invoke\28unsigned\20long\20\28*\29\28unsigned\20long\29\2c\20unsigned\20long\29 +8713:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont*\29 +8714:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\2c\20sk_sp*\2c\20int\2c\20int\29 +8715:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\29\2c\20sk_sp*\2c\20int\2c\20int\2c\20sk_sp*\29 +8716:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\29 +8717:emscripten::internal::Invoker\2c\20sk_sp\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20SimpleImageInfo\29\2c\20sk_sp*\2c\20SimpleImageInfo*\29 +8718:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\29 +8719:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8720:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20sk_sp*\29 +8721:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8722:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8723:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29\2c\20float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +8724:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +8725:emscripten::internal::Invoker\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val>::invoke\28sk_sp\20\28*\29\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\2c\20emscripten::_EM_VAL*\29 +8726:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20int\2c\20float>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20int\2c\20float\29\2c\20unsigned\20long\2c\20int\2c\20float\29 +8727:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkPath>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkPath\29\2c\20unsigned\20long\2c\20SkPath*\29 +8728:emscripten::internal::Invoker\2c\20float\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28float\2c\20unsigned\20long\29\2c\20float\2c\20unsigned\20long\29 +8729:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20unsigned\20int>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20unsigned\20int\29\2c\20float\2c\20float\2c\20unsigned\20int\29 +8730:emscripten::internal::Invoker\2c\20float>::invoke\28sk_sp\20\28*\29\28float\29\2c\20float\29 +8731:emscripten::internal::Invoker\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style>::invoke\28sk_sp\20\28*\29\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29\2c\20SkPath*\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29 +8732:emscripten::internal::Invoker\2c\20SkBlurStyle\2c\20float\2c\20bool>::invoke\28sk_sp\20\28*\29\28SkBlurStyle\2c\20float\2c\20bool\29\2c\20SkBlurStyle\2c\20float\2c\20bool\29 +8733:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20float\2c\20float\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20float\2c\20float\2c\20sk_sp\29\2c\20unsigned\20long\2c\20float\2c\20float\2c\20sk_sp*\29 +8734:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp\29\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp*\29 +8735:emscripten::internal::Invoker\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\29\2c\20sk_sp*\29 +8736:emscripten::internal::Invoker\2c\20sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29 +8737:emscripten::internal::Invoker\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8738:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20sk_sp\29\2c\20float\2c\20float\2c\20sk_sp*\29 +8739:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp*\29 +8740:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20SkTileMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\29\2c\20float\2c\20float\2c\20SkTileMode\2c\20sk_sp*\29 +8741:emscripten::internal::Invoker\2c\20SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp\29\2c\20SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp*\2c\20sk_sp*\29 +8742:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29 +8743:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20emscripten::val>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20emscripten::val\29\2c\20SimpleImageInfo*\2c\20emscripten::_EM_VAL*\29 +8744:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkBlendMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkBlendMode\2c\20sk_sp\29\2c\20unsigned\20long\2c\20SkBlendMode\2c\20sk_sp*\29 +8745:emscripten::internal::Invoker\2c\20sk_sp\20const&\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\20const&\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +8746:emscripten::internal::Invoker\2c\20float\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20sk_sp\2c\20sk_sp\29\2c\20float\2c\20sk_sp*\2c\20sk_sp*\29 +8747:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20int\29 +8748:emscripten::internal::Invoker\2c\20std::__2::allocator>>::invoke\28emscripten::val\20\28*\29\28std::__2::basic_string\2c\20std::__2::allocator>\29\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\29 +8749:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28emscripten::val\2c\20emscripten::val\2c\20float\29\2c\20emscripten::_EM_VAL*\2c\20emscripten::_EM_VAL*\2c\20float\29 +8750:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\2c\20float\29\2c\20SkPath*\2c\20SkPath*\2c\20float\29 +8751:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\29\2c\20SkPath*\2c\20SkPath*\2c\20SkPathOp\29 +8752:emscripten::internal::Invoker::invoke\28bool\20\28*\29\28unsigned\20long\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20SkPath*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29 +8753:emscripten::internal::Invoker\2c\20sk_sp>::invoke\28bool\20\28*\29\28sk_sp\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +8754:emscripten::internal::Invoker::invoke\28bool\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\29\2c\20SkPath*\2c\20SkPath*\29 +8755:emscripten::internal::Invoker::invoke\28SkVertices::Builder*\20\28*\29\28SkVertices::VertexMode&&\2c\20int&&\2c\20int&&\2c\20unsigned\20int&&\29\2c\20SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +8756:emscripten::internal::Invoker\2c\20int\2c\20int>::invoke\28SkRuntimeEffect::TracedShader\20\28*\29\28sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\29 +8757:emscripten::internal::Invoker::invoke\28SkPath\20\28*\29\28unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +8758:emscripten::internal::Invoker&&\2c\20float&&\2c\20float&&\2c\20float&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\2c\20float&&\2c\20float&&\2c\20float&&\29\2c\20sk_sp*\2c\20float\2c\20float\2c\20float\29 +8759:emscripten::internal::Invoker&&\2c\20float&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\2c\20float&&\29\2c\20sk_sp*\2c\20float\29 +8760:emscripten::internal::Invoker&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\29\2c\20sk_sp*\29 +8761:emscripten::internal::Invoker::invoke\28SkContourMeasureIter*\20\28*\29\28SkPath\20const&\2c\20bool&&\2c\20float&&\29\2c\20SkPath*\2c\20bool\2c\20float\29 +8762:emscripten::internal::Invoker::invoke\28SkCanvas*\20\28*\29\28float&&\2c\20float&&\29\2c\20float\2c\20float\29 +8763:emscripten::internal::FunctionInvoker\2c\20unsigned\20long\29\2c\20void\2c\20skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long>::invoke\28void\20\28**\29\28skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long\29\2c\20skia::textlayout::TypefaceFontProvider*\2c\20sk_sp*\2c\20unsigned\20long\29 +8764:emscripten::internal::FunctionInvoker\2c\20std::__2::allocator>\29\2c\20void\2c\20skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>>::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\29 +8765:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29 +8766:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\2c\20SkPaint\2c\20SkPaint\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20SimpleTextStyle*\2c\20SkPaint*\2c\20SkPaint*\29 +8767:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20SimpleTextStyle*\29 +8768:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +8769:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +8770:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +8771:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +8772:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +8773:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +8774:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkContourMeasure&\2c\20float\2c\20unsigned\20long\29\2c\20SkContourMeasure*\2c\20float\2c\20unsigned\20long\29 +8775:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont*\2c\20SkPaint*\29 +8776:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint*\29 +8777:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8778:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8779:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8780:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8781:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont*\2c\20SkPaint*\29 +8782:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +8783:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29\2c\20SkCanvas*\2c\20SkPath*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29 +8784:emscripten::internal::FunctionInvoker\2c\20std::__2::allocator>\20\28*\29\28SkSL::DebugTrace&\29\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::DebugTrace&>::invoke\28std::__2::basic_string\2c\20std::__2::allocator>\20\28**\29\28SkSL::DebugTrace&\29\2c\20SkSL::DebugTrace*\29 +8785:emscripten::internal::FunctionInvoker\20\28*\29\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29\2c\20sk_sp\2c\20SkFontMgr&\2c\20unsigned\20long\2c\20int>::invoke\28sk_sp\20\28**\29\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29\2c\20SkFontMgr*\2c\20unsigned\20long\2c\20int\29 +8786:emscripten::internal::FunctionInvoker\20\28*\29\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20sk_sp\2c\20SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val>::invoke\28sk_sp\20\28**\29\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20SkFontMgr*\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\2c\20emscripten::_EM_VAL*\29 +8787:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29\2c\20sk_sp\2c\20sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29 +8788:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29\2c\20sk_sp\2c\20sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29 +8789:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8790:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29 +8791:emscripten::internal::FunctionInvoker\20\28*\29\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SkPicture*\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8792:emscripten::internal::FunctionInvoker\20\28*\29\28SkPictureRecorder&\29\2c\20sk_sp\2c\20SkPictureRecorder&>::invoke\28sk_sp\20\28**\29\28SkPictureRecorder&\29\2c\20SkPictureRecorder*\29 +8793:emscripten::internal::FunctionInvoker\20\28*\29\28SkSurface&\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkSurface&\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkSurface&\2c\20unsigned\20long\29\2c\20SkSurface*\2c\20unsigned\20long\29 +8794:emscripten::internal::FunctionInvoker\20\28*\29\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29\2c\20sk_sp\2c\20SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28**\29\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29\2c\20SkSurface*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo*\29 +8795:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +8796:emscripten::internal::FunctionInvoker::invoke\28int\20\28**\29\28SkCanvas&\2c\20SkPaint\29\2c\20SkCanvas*\2c\20SkPaint*\29 +8797:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28skia::textlayout::Paragraph&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +8798:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28skia::textlayout::Paragraph&\2c\20float\2c\20float\29\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +8799:emscripten::internal::FunctionInvoker\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29\2c\20emscripten::val\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*>::invoke\28emscripten::val\20\28**\29\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29\2c\20sk_sp*\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29 +8800:emscripten::internal::FunctionInvoker\2c\20SkEncodedImageFormat\2c\20int\29\2c\20emscripten::val\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int>::invoke\28emscripten::val\20\28**\29\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\29\2c\20sk_sp*\2c\20SkEncodedImageFormat\2c\20int\29 +8801:emscripten::internal::FunctionInvoker\29\2c\20emscripten::val\2c\20sk_sp>::invoke\28emscripten::val\20\28**\29\28sk_sp\29\2c\20sk_sp*\29 +8802:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29\2c\20SkFont*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29 +8803:emscripten::internal::FunctionInvoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29\2c\20bool\2c\20sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*>::invoke\28bool\20\28**\29\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29\2c\20sk_sp*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29 +8804:emscripten::internal::FunctionInvoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20bool\2c\20sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int>::invoke\28bool\20\28**\29\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8805:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\29 +8806:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20float\2c\20float\2c\20bool\29 +8807:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20StrokeOpts\29\2c\20SkPath*\2c\20StrokeOpts*\29 +8808:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20SkCanvas*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8809:emscripten::internal::FunctionInvoker::invoke\28SkPath\20\28**\29\28SkPath\20const&\29\2c\20SkPath*\29 +8810:emscripten::internal::FunctionInvoker::invoke\28SkPath\20\28**\29\28SkContourMeasure&\2c\20float\2c\20float\2c\20bool\29\2c\20SkContourMeasure*\2c\20float\2c\20float\2c\20bool\29 +8811:emscripten::internal::FunctionInvoker::invoke\28SkPaint\20\28**\29\28SkPaint\20const&\29\2c\20SkPaint*\29 +8812:emscripten::internal::FunctionInvoker::invoke\28SimpleImageInfo\20\28**\29\28SkSurface&\29\2c\20SkSurface*\29 +8813:emscripten::internal::FunctionInvoker::invoke\28RuntimeEffectUniform\20\28**\29\28SkRuntimeEffect&\2c\20int\29\2c\20SkRuntimeEffect*\2c\20int\29 +8814:emit_message +8815:embind_init_Skia\28\29::$_9::__invoke\28SkAnimatedImage&\29 +8816:embind_init_Skia\28\29::$_99::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\29 +8817:embind_init_Skia\28\29::$_98::__invoke\28SkPath&\2c\20unsigned\20long\2c\20int\2c\20bool\29 +8818:embind_init_Skia\28\29::$_97::__invoke\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\29 +8819:embind_init_Skia\28\29::$_96::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20int\29 +8820:embind_init_Skia\28\29::$_95::__invoke\28SkPath&\2c\20unsigned\20long\2c\20float\2c\20float\29 +8821:embind_init_Skia\28\29::$_94::__invoke\28unsigned\20long\2c\20SkPath\29 +8822:embind_init_Skia\28\29::$_93::__invoke\28float\2c\20unsigned\20long\29 +8823:embind_init_Skia\28\29::$_92::__invoke\28unsigned\20long\2c\20int\2c\20float\29 +8824:embind_init_Skia\28\29::$_91::__invoke\28\29 +8825:embind_init_Skia\28\29::$_90::__invoke\28\29 +8826:embind_init_Skia\28\29::$_8::__invoke\28emscripten::val\29 +8827:embind_init_Skia\28\29::$_89::__invoke\28sk_sp\2c\20sk_sp\29 +8828:embind_init_Skia\28\29::$_88::__invoke\28SkPaint&\2c\20unsigned\20int\2c\20sk_sp\29 +8829:embind_init_Skia\28\29::$_87::__invoke\28SkPaint&\2c\20unsigned\20int\29 +8830:embind_init_Skia\28\29::$_86::__invoke\28SkPaint&\2c\20unsigned\20long\2c\20sk_sp\29 +8831:embind_init_Skia\28\29::$_85::__invoke\28SkPaint&\2c\20unsigned\20long\29 +8832:embind_init_Skia\28\29::$_84::__invoke\28SkPaint\20const&\29 +8833:embind_init_Skia\28\29::$_83::__invoke\28SkBlurStyle\2c\20float\2c\20bool\29 +8834:embind_init_Skia\28\29::$_82::__invoke\28float\2c\20float\2c\20sk_sp\29 +8835:embind_init_Skia\28\29::$_81::__invoke\28unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp\29 +8836:embind_init_Skia\28\29::$_80::__invoke\28unsigned\20long\2c\20float\2c\20float\2c\20sk_sp\29 +8837:embind_init_Skia\28\29::$_7::__invoke\28GrDirectContext&\2c\20unsigned\20long\29 +8838:embind_init_Skia\28\29::$_79::__invoke\28sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8839:embind_init_Skia\28\29::$_78::__invoke\28sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29 +8840:embind_init_Skia\28\29::$_77::__invoke\28float\2c\20float\2c\20sk_sp\29 +8841:embind_init_Skia\28\29::$_76::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +8842:embind_init_Skia\28\29::$_75::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +8843:embind_init_Skia\28\29::$_74::__invoke\28sk_sp\29 +8844:embind_init_Skia\28\29::$_73::__invoke\28SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp\29 +8845:embind_init_Skia\28\29::$_72::__invoke\28float\2c\20float\2c\20sk_sp\29 +8846:embind_init_Skia\28\29::$_71::__invoke\28sk_sp\2c\20sk_sp\29 +8847:embind_init_Skia\28\29::$_70::__invoke\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\29 +8848:embind_init_Skia\28\29::$_6::__invoke\28GrDirectContext&\29 +8849:embind_init_Skia\28\29::$_69::__invoke\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +8850:embind_init_Skia\28\29::$_68::__invoke\28SkImageFilter\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8851:embind_init_Skia\28\29::$_67::__invoke\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8852:embind_init_Skia\28\29::$_66::__invoke\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29 +8853:embind_init_Skia\28\29::$_65::__invoke\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29 +8854:embind_init_Skia\28\29::$_64::__invoke\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29 +8855:embind_init_Skia\28\29::$_63::__invoke\28sk_sp\29 +8856:embind_init_Skia\28\29::$_62::__invoke\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29 +8857:embind_init_Skia\28\29::$_61::__invoke\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\29 +8858:embind_init_Skia\28\29::$_60::__invoke\28sk_sp\29 +8859:embind_init_Skia\28\29::$_5::__invoke\28GrDirectContext&\29 +8860:embind_init_Skia\28\29::$_59::__invoke\28sk_sp\29 +8861:embind_init_Skia\28\29::$_58::__invoke\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29 +8862:embind_init_Skia\28\29::$_57::__invoke\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +8863:embind_init_Skia\28\29::$_56::__invoke\28SkFontMgr&\2c\20int\29 +8864:embind_init_Skia\28\29::$_55::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20int\29 +8865:embind_init_Skia\28\29::$_54::__invoke\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29 +8866:embind_init_Skia\28\29::$_53::__invoke\28SkFont&\29 +8867:embind_init_Skia\28\29::$_52::__invoke\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8868:embind_init_Skia\28\29::$_51::__invoke\28SkFont&\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint*\29 +8869:embind_init_Skia\28\29::$_50::__invoke\28SkContourMeasure&\2c\20float\2c\20float\2c\20bool\29 +8870:embind_init_Skia\28\29::$_4::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +8871:embind_init_Skia\28\29::$_49::__invoke\28SkContourMeasure&\2c\20float\2c\20unsigned\20long\29 +8872:embind_init_Skia\28\29::$_48::__invoke\28unsigned\20long\29 +8873:embind_init_Skia\28\29::$_47::__invoke\28unsigned\20long\2c\20SkBlendMode\2c\20sk_sp\29 +8874:embind_init_Skia\28\29::$_46::__invoke\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8875:embind_init_Skia\28\29::$_45::__invoke\28SkCanvas&\2c\20SkPaint\29 +8876:embind_init_Skia\28\29::$_44::__invoke\28SkCanvas&\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29 +8877:embind_init_Skia\28\29::$_43::__invoke\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +8878:embind_init_Skia\28\29::$_42::__invoke\28SkCanvas&\2c\20SimpleImageInfo\29 +8879:embind_init_Skia\28\29::$_41::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +8880:embind_init_Skia\28\29::$_40::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +8881:embind_init_Skia\28\29::$_3::__invoke\28unsigned\20long\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29 +8882:embind_init_Skia\28\29::$_39::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +8883:embind_init_Skia\28\29::$_38::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29 +8884:embind_init_Skia\28\29::$_37::__invoke\28SkCanvas&\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29 +8885:embind_init_Skia\28\29::$_36::__invoke\28SkCanvas&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +8886:embind_init_Skia\28\29::$_35::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8887:embind_init_Skia\28\29::$_34::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8888:embind_init_Skia\28\29::$_33::__invoke\28SkCanvas&\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint&\29 +8889:embind_init_Skia\28\29::$_32::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +8890:embind_init_Skia\28\29::$_31::__invoke\28SkCanvas&\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +8891:embind_init_Skia\28\29::$_30::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8892:embind_init_Skia\28\29::$_2::__invoke\28SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29 +8893:embind_init_Skia\28\29::$_29::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8894:embind_init_Skia\28\29::$_28::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8895:embind_init_Skia\28\29::$_27::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\20const*\2c\20bool\29 +8896:embind_init_Skia\28\29::$_26::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +8897:embind_init_Skia\28\29::$_25::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8898:embind_init_Skia\28\29::$_24::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8899:embind_init_Skia\28\29::$_23::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8900:embind_init_Skia\28\29::$_22::__invoke\28SkCanvas&\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29 +8901:embind_init_Skia\28\29::$_21::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +8902:embind_init_Skia\28\29::$_20::__invoke\28SkCanvas&\2c\20unsigned\20int\2c\20SkBlendMode\29 +8903:embind_init_Skia\28\29::$_1::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +8904:embind_init_Skia\28\29::$_19::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkBlendMode\29 +8905:embind_init_Skia\28\29::$_18::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +8906:embind_init_Skia\28\29::$_17::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +8907:embind_init_Skia\28\29::$_16::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +8908:embind_init_Skia\28\29::$_15::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +8909:embind_init_Skia\28\29::$_14::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +8910:embind_init_Skia\28\29::$_148::__invoke\28SkVertices::Builder&\29 +8911:embind_init_Skia\28\29::$_147::__invoke\28SkVertices::Builder&\29 +8912:embind_init_Skia\28\29::$_146::__invoke\28SkVertices::Builder&\29 +8913:embind_init_Skia\28\29::$_145::__invoke\28SkVertices::Builder&\29 +8914:embind_init_Skia\28\29::$_144::__invoke\28SkVertices&\2c\20unsigned\20long\29 +8915:embind_init_Skia\28\29::$_143::__invoke\28SkTypeface&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8916:embind_init_Skia\28\29::$_142::__invoke\28unsigned\20long\2c\20int\29 +8917:embind_init_Skia\28\29::$_141::__invoke\28\29 +8918:embind_init_Skia\28\29::$_140::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8919:embind_init_Skia\28\29::$_13::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +8920:embind_init_Skia\28\29::$_139::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8921:embind_init_Skia\28\29::$_138::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8922:embind_init_Skia\28\29::$_137::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +8923:embind_init_Skia\28\29::$_136::__invoke\28SkSurface&\29 +8924:embind_init_Skia\28\29::$_135::__invoke\28SkSurface&\29 +8925:embind_init_Skia\28\29::$_134::__invoke\28SkSurface&\29 +8926:embind_init_Skia\28\29::$_133::__invoke\28SkSurface&\2c\20SimpleImageInfo\29 +8927:embind_init_Skia\28\29::$_132::__invoke\28SkSurface&\2c\20unsigned\20long\29 +8928:embind_init_Skia\28\29::$_131::__invoke\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29 +8929:embind_init_Skia\28\29::$_130::__invoke\28SkSurface&\29 +8930:embind_init_Skia\28\29::$_12::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +8931:embind_init_Skia\28\29::$_129::__invoke\28SkSurface&\29 +8932:embind_init_Skia\28\29::$_128::__invoke\28SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\29 +8933:embind_init_Skia\28\29::$_127::__invoke\28SkRuntimeEffect&\2c\20int\29 +8934:embind_init_Skia\28\29::$_126::__invoke\28SkRuntimeEffect&\2c\20int\29 +8935:embind_init_Skia\28\29::$_125::__invoke\28SkRuntimeEffect&\29 +8936:embind_init_Skia\28\29::$_124::__invoke\28SkRuntimeEffect&\29 +8937:embind_init_Skia\28\29::$_123::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +8938:embind_init_Skia\28\29::$_122::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +8939:embind_init_Skia\28\29::$_121::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29 +8940:embind_init_Skia\28\29::$_120::__invoke\28sk_sp\2c\20int\2c\20int\29 +8941:embind_init_Skia\28\29::$_11::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +8942:embind_init_Skia\28\29::$_119::__invoke\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +8943:embind_init_Skia\28\29::$_118::__invoke\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +8944:embind_init_Skia\28\29::$_117::__invoke\28SkSL::DebugTrace&\29 +8945:embind_init_Skia\28\29::$_116::__invoke\28unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8946:embind_init_Skia\28\29::$_115::__invoke\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +8947:embind_init_Skia\28\29::$_114::__invoke\28float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8948:embind_init_Skia\28\29::$_113::__invoke\28float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8949:embind_init_Skia\28\29::$_112::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +8950:embind_init_Skia\28\29::$_111::__invoke\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +8951:embind_init_Skia\28\29::$_110::__invoke\28unsigned\20long\2c\20sk_sp\29 +8952:embind_init_Skia\28\29::$_10::__invoke\28SkAnimatedImage&\29 +8953:embind_init_Skia\28\29::$_109::operator\28\29\28SkPicture&\29\20const::'lambda'\28SkImage*\2c\20void*\29::__invoke\28SkImage*\2c\20void*\29 +8954:embind_init_Skia\28\29::$_109::__invoke\28SkPicture&\29 +8955:embind_init_Skia\28\29::$_108::__invoke\28SkPicture&\2c\20unsigned\20long\29 +8956:embind_init_Skia\28\29::$_107::__invoke\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +8957:embind_init_Skia\28\29::$_106::__invoke\28SkPictureRecorder&\29 +8958:embind_init_Skia\28\29::$_105::__invoke\28SkPictureRecorder&\2c\20unsigned\20long\2c\20bool\29 +8959:embind_init_Skia\28\29::$_104::__invoke\28SkPath&\2c\20unsigned\20long\29 +8960:embind_init_Skia\28\29::$_103::__invoke\28SkPath&\2c\20unsigned\20long\29 +8961:embind_init_Skia\28\29::$_102::__invoke\28SkPath&\2c\20int\2c\20unsigned\20long\29 +8962:embind_init_Skia\28\29::$_101::__invoke\28SkPath&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\29 +8963:embind_init_Skia\28\29::$_100::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\29 +8964:embind_init_Skia\28\29::$_0::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +8965:embind_init_Paragraph\28\29::$_9::__invoke\28skia::textlayout::ParagraphBuilderImpl&\29 +8966:embind_init_Paragraph\28\29::$_8::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29 +8967:embind_init_Paragraph\28\29::$_7::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\2c\20SkPaint\2c\20SkPaint\29 +8968:embind_init_Paragraph\28\29::$_6::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\29 +8969:embind_init_Paragraph\28\29::$_4::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +8970:embind_init_Paragraph\28\29::$_3::__invoke\28emscripten::val\2c\20emscripten::val\2c\20float\29 +8971:embind_init_Paragraph\28\29::$_2::__invoke\28SimpleParagraphStyle\2c\20sk_sp\29 +8972:embind_init_Paragraph\28\29::$_19::__invoke\28skia::textlayout::FontCollection&\2c\20sk_sp\20const&\29 +8973:embind_init_Paragraph\28\29::$_18::__invoke\28\29 +8974:embind_init_Paragraph\28\29::$_17::__invoke\28skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long\29 +8975:embind_init_Paragraph\28\29::$_16::__invoke\28\29 +8976:dispose_external_texture\28void*\29 +8977:deleteJSTexture\28void*\29 +8978:deflate_slow +8979:deflate_fast +8980:defaultGetValue\28IntProperty\20const&\2c\20int\2c\20UProperty\29 +8981:defaultGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +8982:defaultContains\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +8983:decompress_smooth_data +8984:decompress_onepass +8985:decompress_data +8986:decompose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +8987:decompose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +8988:decompose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +8989:decode_mcu_DC_refine +8990:decode_mcu_DC_first +8991:decode_mcu_AC_refine +8992:decode_mcu_AC_first +8993:decode_mcu +8994:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::Make\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20bool\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8995:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\2c\20GrShaderCaps\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::\28anonymous\20namespace\29::HullShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8996:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8997:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8998:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&>\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathTessellator::PathDrawList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8999:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29>\28skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20sk_sp\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9000:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Make\28SkArenaAlloc*\2c\20GrAAType\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9001:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerSkyline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9002:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerPow2&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9003:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make*\20SkArenaAlloc::make>\28\29::'lambda'\28void*\29>\28sk_sp&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9004:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc>\28\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TextureOpImpl::Desc&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9005:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TentPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9006:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::SimpleTriangleShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9007:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9008:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader\2c\20bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*\2c\20GrShaderCaps\20const&>\28bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*&&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::DrawAtlasPathShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9009:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&>\28SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::BoundingBoxShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9010:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20unsigned\20char&&\29::'lambda'\28void*\29>\28Sprite_D32_S32&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9011:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTriColorShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9012:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTCubic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9013:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTConic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9014:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\29::'lambda'\28void*\29>\28SkSpriteBlitter_Memcpy&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9015:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&>\28SkPixmap\20const&\2c\20SkArenaAlloc*&\2c\20sk_sp&\29::'lambda'\28void*\29>\28SkRasterPipelineSpriteBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9016:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkArenaAlloc*&\29::'lambda'\28void*\29>\28SkRasterPipelineBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9017:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9018:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkImage_Base\20const*&&\2c\20SkMatrix\20const&\2c\20SkMipmapMode&\29::'lambda'\28void*\29>\28SkMipmapAccessor&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9019:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::PathData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9020:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::DrawableData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9021:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkGlyph&&\29::'lambda'\28void*\29>\28SkGlyph&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9022:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\29>>::Node*\20SkArenaAlloc::make&\29>>::Node\2c\20std::__2::function&\29>>\28std::__2::function&\29>&&\29::'lambda'\28void*\29>\28SkArenaAllocList&\29>>::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9023:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9024:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node>\28\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9025:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Coverage_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9026:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28GrSimpleMesh&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9027:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9028:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPath\20const&\2c\20SkArenaAlloc*\20const&\29::'lambda'\28void*\29>\28GrInnerFanTriangulator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9029:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldLCDTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20GrDistanceFieldLCDTextGeoProc::DistanceAdjust\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9030:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9031:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrAppliedClip&&\29::'lambda'\28void*\29>\28GrAppliedClip&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9032:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28EllipseGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9033:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9034:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9035:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +9036:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9037:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9038:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +9039:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9040:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +9041:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9042:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9043:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9044:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +9045:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +9046:deallocate_buffer_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9047:ddquad_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9048:ddquad_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9049:ddline_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9050:ddline_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9051:ddcubic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9052:ddcubic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9053:ddconic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9054:ddconic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9055:data_destroy_use\28void*\29 +9056:data_create_use\28hb_ot_shape_plan_t\20const*\29 +9057:data_create_khmer\28hb_ot_shape_plan_t\20const*\29 +9058:data_create_indic\28hb_ot_shape_plan_t\20const*\29 +9059:data_create_hangul\28hb_ot_shape_plan_t\20const*\29 +9060:copy\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +9061:convert_bytes_to_data +9062:consume_markers +9063:consume_data +9064:computeTonalColors\28unsigned\20long\2c\20unsigned\20long\29 +9065:compose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9066:compose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9067:compose_hebrew\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9068:compare_ppem +9069:compare_offsets +9070:compare_myanmar_order\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +9071:compare_combining_class\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +9072:compareKeywordStructs\28void\20const*\2c\20void\20const*\2c\20void\20const*\29 +9073:compareEntries\28UElement\2c\20UElement\29 +9074:color_quantize3 +9075:color_quantize +9076:collect_features_use\28hb_ot_shape_planner_t*\29 +9077:collect_features_myanmar\28hb_ot_shape_planner_t*\29 +9078:collect_features_khmer\28hb_ot_shape_planner_t*\29 +9079:collect_features_indic\28hb_ot_shape_planner_t*\29 +9080:collect_features_hangul\28hb_ot_shape_planner_t*\29 +9081:collect_features_arabic\28hb_ot_shape_planner_t*\29 +9082:clip\28SkPath\20const&\2c\20SkHalfPlane\20const&\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +9083:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitStatement\28SkSL::Statement\20const&\29 +9084:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9085:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitExpression\28SkSL::Expression\20const&\29 +9086:charIterTextLength\28UText*\29 +9087:charIterTextExtract\28UText*\2c\20long\20long\2c\20long\20long\2c\20char16_t*\2c\20int\2c\20UErrorCode*\29 +9088:charIterTextClose\28UText*\29 +9089:charIterTextClone\28UText*\2c\20UText\20const*\2c\20signed\20char\2c\20UErrorCode*\29 +9090:changesWhenNFKC_Casefolded\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +9091:changesWhenCasefolded\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +9092:cff_slot_init +9093:cff_slot_done +9094:cff_size_request +9095:cff_size_init +9096:cff_size_done +9097:cff_sid_to_glyph_name +9098:cff_set_var_design +9099:cff_set_mm_weightvector +9100:cff_set_mm_blend +9101:cff_set_instance +9102:cff_random +9103:cff_ps_has_glyph_names +9104:cff_ps_get_font_info +9105:cff_ps_get_font_extra +9106:cff_parse_vsindex +9107:cff_parse_private_dict +9108:cff_parse_multiple_master +9109:cff_parse_maxstack +9110:cff_parse_font_matrix +9111:cff_parse_font_bbox +9112:cff_parse_cid_ros +9113:cff_parse_blend +9114:cff_metrics_adjust +9115:cff_hadvance_adjust +9116:cff_glyph_load +9117:cff_get_var_design +9118:cff_get_var_blend +9119:cff_get_standard_encoding +9120:cff_get_ros +9121:cff_get_ps_name +9122:cff_get_name_index +9123:cff_get_mm_weightvector +9124:cff_get_mm_var +9125:cff_get_mm_blend +9126:cff_get_is_cid +9127:cff_get_interface +9128:cff_get_glyph_name +9129:cff_get_glyph_data +9130:cff_get_cmap_info +9131:cff_get_cid_from_glyph_index +9132:cff_get_advances +9133:cff_free_glyph_data +9134:cff_fd_select_get +9135:cff_face_init +9136:cff_face_done +9137:cff_driver_init +9138:cff_done_blend +9139:cff_decoder_prepare +9140:cff_decoder_init +9141:cff_cmap_unicode_init +9142:cff_cmap_unicode_char_next +9143:cff_cmap_unicode_char_index +9144:cff_cmap_encoding_init +9145:cff_cmap_encoding_done +9146:cff_cmap_encoding_char_next +9147:cff_cmap_encoding_char_index +9148:cff_builder_start_point +9149:cff_builder_init +9150:cff_builder_add_point1 +9151:cff_builder_add_point +9152:cff_builder_add_contour +9153:cff_blend_check_vector +9154:cf2_free_instance +9155:cf2_decoder_parse_charstrings +9156:cf2_builder_moveTo +9157:cf2_builder_lineTo +9158:cf2_builder_cubeTo +9159:caseBinaryPropertyContains\28BinaryProperty\20const&\2c\20int\2c\20UProperty\29 +9160:bw_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +9161:bw_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9162:bw_pt_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9163:bw_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9164:bw_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9165:breakiterator_cleanup\28\29 +9166:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::SpotVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +9167:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::AmbientVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +9168:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9169:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9170:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9171:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9172:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9173:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9174:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9175:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9176:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9177:blur_y_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9178:blur_y_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9179:blur_y_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9180:blur_y_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9181:blur_x_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9182:blur_x_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9183:blur_x_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9184:blur_x_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +9185:blit_row_s32a_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9186:blit_row_s32_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9187:blit_row_s32_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9188:biDiGetMaxValue\28IntProperty\20const&\2c\20UProperty\29 +9189:argb32_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +9190:arabic_fallback_shape\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9191:alwaysSaveTypefaceBytes\28SkTypeface*\2c\20void*\29 +9192:alloc_sarray +9193:alloc_barray +9194:afm_parser_parse +9195:afm_parser_init +9196:afm_parser_done +9197:afm_compare_kern_pairs +9198:af_property_set +9199:af_property_get +9200:af_latin_metrics_scale +9201:af_latin_metrics_init +9202:af_latin_hints_init +9203:af_latin_hints_apply +9204:af_latin_get_standard_widths +9205:af_indic_metrics_init +9206:af_indic_hints_apply +9207:af_get_interface +9208:af_face_globals_free +9209:af_dummy_hints_init +9210:af_dummy_hints_apply +9211:af_cjk_metrics_init +9212:af_autofitter_load_glyph +9213:af_autofitter_init +9214:access_virt_sarray +9215:access_virt_barray +9216:aa_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9217:aa_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9218:aa_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9219:_hb_ot_font_destroy\28void*\29 +9220:_hb_glyph_info_is_default_ignorable\28hb_glyph_info_t\20const*\29 +9221:_hb_face_for_data_reference_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +9222:_hb_face_for_data_closure_destroy\28void*\29 +9223:_hb_clear_substitution_flags\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9224:_embind_initialize_bindings +9225:__wasm_call_ctors +9226:__stdio_write +9227:__stdio_seek +9228:__stdio_read +9229:__stdio_close +9230:__getTypeName +9231:__cxxabiv1::__vmi_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9232:__cxxabiv1::__vmi_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9233:__cxxabiv1::__vmi_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +9234:__cxxabiv1::__si_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9235:__cxxabiv1::__si_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9236:__cxxabiv1::__si_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +9237:__cxxabiv1::__class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9238:__cxxabiv1::__class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +9239:__cxxabiv1::__class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +9240:__cxxabiv1::__class_type_info::can_catch\28__cxxabiv1::__shim_type_info\20const*\2c\20void*&\29\20const +9241:__cxx_global_array_dtor.87 +9242:__cxx_global_array_dtor.72 +9243:__cxx_global_array_dtor.6 +9244:__cxx_global_array_dtor.57 +9245:__cxx_global_array_dtor.5 +9246:__cxx_global_array_dtor.44 +9247:__cxx_global_array_dtor.42 +9248:__cxx_global_array_dtor.40 +9249:__cxx_global_array_dtor.4 +9250:__cxx_global_array_dtor.38 +9251:__cxx_global_array_dtor.36 +9252:__cxx_global_array_dtor.34 +9253:__cxx_global_array_dtor.32 +9254:__cxx_global_array_dtor.2 +9255:__cxx_global_array_dtor.17 +9256:__cxx_global_array_dtor.16 +9257:__cxx_global_array_dtor.15 +9258:__cxx_global_array_dtor.138 +9259:__cxx_global_array_dtor.135 +9260:__cxx_global_array_dtor.111 +9261:__cxx_global_array_dtor.11 +9262:__cxx_global_array_dtor.10 +9263:__cxx_global_array_dtor.1.2 +9264:__cxx_global_array_dtor.1.1 +9265:__cxx_global_array_dtor.1 +9266:__cxx_global_array_dtor +9267:__cxa_pure_virtual +9268:__cxa_is_pointer_type +9269:\28anonymous\20namespace\29::uprops_cleanup\28\29 +9270:\28anonymous\20namespace\29::ulayout_isAcceptable\28void*\2c\20char\20const*\2c\20char\20const*\2c\20UDataInfo\20const*\29 +9271:\28anonymous\20namespace\29::skhb_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +9272:\28anonymous\20namespace\29::skhb_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9273:\28anonymous\20namespace\29::skhb_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9274:\28anonymous\20namespace\29::skhb_glyph_h_advance\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9275:\28anonymous\20namespace\29::skhb_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +9276:\28anonymous\20namespace\29::skhb_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9277:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29::$_0::__invoke\28void*\29 +9278:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +9279:\28anonymous\20namespace\29::make_morphology\28\28anonymous\20namespace\29::MorphType\2c\20SkSize\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +9280:\28anonymous\20namespace\29::make_drop_shadow_graph\28SkPoint\2c\20SkSize\2c\20unsigned\20int\2c\20bool\2c\20sk_sp\2c\20std::__2::optional\20const&\29 +9281:\28anonymous\20namespace\29::extension_compare\28SkString\20const&\2c\20SkString\20const&\29 +9282:\28anonymous\20namespace\29::characterproperties_cleanup\28\29 +9283:\28anonymous\20namespace\29::_set_add\28USet*\2c\20int\29 +9284:\28anonymous\20namespace\29::_set_addString\28USet*\2c\20char16_t\20const*\2c\20int\29 +9285:\28anonymous\20namespace\29::_set_addRange\28USet*\2c\20int\2c\20int\29 +9286:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29.1 +9287:\28anonymous\20namespace\29::YUVPlanesRec::getCategory\28\29\20const +9288:\28anonymous\20namespace\29::YUVPlanesRec::diagnostic_only_getDiscardable\28\29\20const +9289:\28anonymous\20namespace\29::YUVPlanesRec::bytesUsed\28\29\20const +9290:\28anonymous\20namespace\29::YUVPlanesRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9291:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29.1 +9292:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29 +9293:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29.1 +9294:\28anonymous\20namespace\29::TriangulatingPathOp::visitProxies\28std::__2::function\20const&\29\20const +9295:\28anonymous\20namespace\29::TriangulatingPathOp::programInfo\28\29 +9296:\28anonymous\20namespace\29::TriangulatingPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9297:\28anonymous\20namespace\29::TriangulatingPathOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9298:\28anonymous\20namespace\29::TriangulatingPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9299:\28anonymous\20namespace\29::TriangulatingPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9300:\28anonymous\20namespace\29::TriangulatingPathOp::name\28\29\20const +9301:\28anonymous\20namespace\29::TriangulatingPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9302:\28anonymous\20namespace\29::TransformedMaskSubRun::unflattenSize\28\29\20const +9303:\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9304:\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +9305:\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9306:\28anonymous\20namespace\29::TransformedMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9307:\28anonymous\20namespace\29::TransformedMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +9308:\28anonymous\20namespace\29::TransformedMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +9309:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29.1 +9310:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29 +9311:\28anonymous\20namespace\29::TextureOpImpl::visitProxies\28std::__2::function\20const&\29\20const +9312:\28anonymous\20namespace\29::TextureOpImpl::programInfo\28\29 +9313:\28anonymous\20namespace\29::TextureOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +9314:\28anonymous\20namespace\29::TextureOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9315:\28anonymous\20namespace\29::TextureOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9316:\28anonymous\20namespace\29::TextureOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9317:\28anonymous\20namespace\29::TextureOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9318:\28anonymous\20namespace\29::TextureOpImpl::name\28\29\20const +9319:\28anonymous\20namespace\29::TextureOpImpl::fixedFunctionFlags\28\29\20const +9320:\28anonymous\20namespace\29::TextureOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9321:\28anonymous\20namespace\29::TentPass::startBlur\28\29 +9322:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +9323:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +9324:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +9325:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29.1 +9326:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29 +9327:\28anonymous\20namespace\29::StaticVertexAllocator::unlock\28int\29 +9328:\28anonymous\20namespace\29::StaticVertexAllocator::lock\28unsigned\20long\2c\20int\29 +9329:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::currentScript\28\29\20const +9330:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::consume\28\29 +9331:\28anonymous\20namespace\29::SkUbrkGetLocaleByType::getLocaleByType\28UBreakIterator\20const*\2c\20ULocDataLocaleType\2c\20UErrorCode*\29 +9332:\28anonymous\20namespace\29::SkUbrkClone::clone\28UBreakIterator\20const*\2c\20UErrorCode*\29 +9333:\28anonymous\20namespace\29::SkShaderImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9334:\28anonymous\20namespace\29::SkShaderImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9335:\28anonymous\20namespace\29::SkShaderImageFilter::getTypeName\28\29\20const +9336:\28anonymous\20namespace\29::SkShaderImageFilter::flatten\28SkWriteBuffer&\29\20const +9337:\28anonymous\20namespace\29::SkShaderImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9338:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9339:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9340:\28anonymous\20namespace\29::SkMorphologyImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9341:\28anonymous\20namespace\29::SkMorphologyImageFilter::getTypeName\28\29\20const +9342:\28anonymous\20namespace\29::SkMorphologyImageFilter::flatten\28SkWriteBuffer&\29\20const +9343:\28anonymous\20namespace\29::SkMorphologyImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9344:\28anonymous\20namespace\29::SkMergeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9345:\28anonymous\20namespace\29::SkMergeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9346:\28anonymous\20namespace\29::SkMergeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9347:\28anonymous\20namespace\29::SkMergeImageFilter::getTypeName\28\29\20const +9348:\28anonymous\20namespace\29::SkMergeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9349:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9350:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9351:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9352:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::getTypeName\28\29\20const +9353:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::flatten\28SkWriteBuffer&\29\20const +9354:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9355:\28anonymous\20namespace\29::SkImageImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9356:\28anonymous\20namespace\29::SkImageImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9357:\28anonymous\20namespace\29::SkImageImageFilter::getTypeName\28\29\20const +9358:\28anonymous\20namespace\29::SkImageImageFilter::flatten\28SkWriteBuffer&\29\20const +9359:\28anonymous\20namespace\29::SkImageImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9360:\28anonymous\20namespace\29::SkFTGeometrySink::Quad\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +9361:\28anonymous\20namespace\29::SkFTGeometrySink::Move\28FT_Vector_\20const*\2c\20void*\29 +9362:\28anonymous\20namespace\29::SkFTGeometrySink::Line\28FT_Vector_\20const*\2c\20void*\29 +9363:\28anonymous\20namespace\29::SkFTGeometrySink::Cubic\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +9364:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9365:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFamilyName\28SkString*\29\20const +9366:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +9367:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateFamilyNameIterator\28\29\20const +9368:\28anonymous\20namespace\29::SkEmptyTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +9369:\28anonymous\20namespace\29::SkEmptyTypeface::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +9370:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9371:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9372:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9373:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::getTypeName\28\29\20const +9374:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::flatten\28SkWriteBuffer&\29\20const +9375:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9376:\28anonymous\20namespace\29::SkCropImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9377:\28anonymous\20namespace\29::SkCropImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9378:\28anonymous\20namespace\29::SkCropImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9379:\28anonymous\20namespace\29::SkCropImageFilter::onAffectsTransparentBlack\28\29\20const +9380:\28anonymous\20namespace\29::SkCropImageFilter::getTypeName\28\29\20const +9381:\28anonymous\20namespace\29::SkCropImageFilter::flatten\28SkWriteBuffer&\29\20const +9382:\28anonymous\20namespace\29::SkCropImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9383:\28anonymous\20namespace\29::SkComposeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9384:\28anonymous\20namespace\29::SkComposeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9385:\28anonymous\20namespace\29::SkComposeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9386:\28anonymous\20namespace\29::SkComposeImageFilter::getTypeName\28\29\20const +9387:\28anonymous\20namespace\29::SkComposeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9388:\28anonymous\20namespace\29::SkColorFilterImageFilter::onIsColorFilterNode\28SkColorFilter**\29\20const +9389:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9390:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9391:\28anonymous\20namespace\29::SkColorFilterImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9392:\28anonymous\20namespace\29::SkColorFilterImageFilter::onAffectsTransparentBlack\28\29\20const +9393:\28anonymous\20namespace\29::SkColorFilterImageFilter::getTypeName\28\29\20const +9394:\28anonymous\20namespace\29::SkColorFilterImageFilter::flatten\28SkWriteBuffer&\29\20const +9395:\28anonymous\20namespace\29::SkColorFilterImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9396:\28anonymous\20namespace\29::SkBlurImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9397:\28anonymous\20namespace\29::SkBlurImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9398:\28anonymous\20namespace\29::SkBlurImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9399:\28anonymous\20namespace\29::SkBlurImageFilter::getTypeName\28\29\20const +9400:\28anonymous\20namespace\29::SkBlurImageFilter::flatten\28SkWriteBuffer&\29\20const +9401:\28anonymous\20namespace\29::SkBlurImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9402:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29.1 +9403:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29 +9404:\28anonymous\20namespace\29::SkBlendImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +9405:\28anonymous\20namespace\29::SkBlendImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +9406:\28anonymous\20namespace\29::SkBlendImageFilter::onFilterImage\28skif::Context\20const&\29\20const +9407:\28anonymous\20namespace\29::SkBlendImageFilter::onAffectsTransparentBlack\28\29\20const +9408:\28anonymous\20namespace\29::SkBlendImageFilter::getTypeName\28\29\20const +9409:\28anonymous\20namespace\29::SkBlendImageFilter::flatten\28SkWriteBuffer&\29\20const +9410:\28anonymous\20namespace\29::SkBlendImageFilter::computeFastBounds\28SkRect\20const&\29\20const +9411:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29.1 +9412:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29 +9413:\28anonymous\20namespace\29::SkBidiIterator_icu::getLevelAt\28int\29 +9414:\28anonymous\20namespace\29::SkBidiIterator_icu::getLength\28\29 +9415:\28anonymous\20namespace\29::SimpleTriangleShader::name\28\29\20const +9416:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9417:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9418:\28anonymous\20namespace\29::ShaperHarfBuzz::~ShaperHarfBuzz\28\29.1 +9419:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9420:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9421:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20bool\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9422:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::~ShapeDontWrapOrReorder\28\29 +9423:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::wrap\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::BiDiRunIterator\20const&\2c\20SkShaper::LanguageRunIterator\20const&\2c\20SkShaper::ScriptRunIterator\20const&\2c\20SkShaper::FontRunIterator\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +9424:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29.1 +9425:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29 +9426:\28anonymous\20namespace\29::ShadowInvalidator::changed\28\29 +9427:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29.1 +9428:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29 +9429:\28anonymous\20namespace\29::ShadowCircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +9430:\28anonymous\20namespace\29::ShadowCircularRRectOp::programInfo\28\29 +9431:\28anonymous\20namespace\29::ShadowCircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9432:\28anonymous\20namespace\29::ShadowCircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9433:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9434:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9435:\28anonymous\20namespace\29::ShadowCircularRRectOp::name\28\29\20const +9436:\28anonymous\20namespace\29::ShadowCircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9437:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +9438:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +9439:\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +9440:\28anonymous\20namespace\29::SDFTSubRun::vertexFiller\28\29\20const +9441:\28anonymous\20namespace\29::SDFTSubRun::unflattenSize\28\29\20const +9442:\28anonymous\20namespace\29::SDFTSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +9443:\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9444:\28anonymous\20namespace\29::SDFTSubRun::glyphs\28\29\20const +9445:\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +9446:\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9447:\28anonymous\20namespace\29::SDFTSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9448:\28anonymous\20namespace\29::SDFTSubRun::doFlatten\28SkWriteBuffer&\29\20const +9449:\28anonymous\20namespace\29::SDFTSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +9450:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29.1 +9451:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29 +9452:\28anonymous\20namespace\29::RectsBlurRec::getCategory\28\29\20const +9453:\28anonymous\20namespace\29::RectsBlurRec::diagnostic_only_getDiscardable\28\29\20const +9454:\28anonymous\20namespace\29::RectsBlurRec::bytesUsed\28\29\20const +9455:\28anonymous\20namespace\29::RectsBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9456:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29.1 +9457:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29 +9458:\28anonymous\20namespace\29::RRectBlurRec::getCategory\28\29\20const +9459:\28anonymous\20namespace\29::RRectBlurRec::diagnostic_only_getDiscardable\28\29\20const +9460:\28anonymous\20namespace\29::RRectBlurRec::bytesUsed\28\29\20const +9461:\28anonymous\20namespace\29::RRectBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9462:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29.1 +9463:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29 +9464:\28anonymous\20namespace\29::PathSubRun::unflattenSize\28\29\20const +9465:\28anonymous\20namespace\29::PathSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9466:\28anonymous\20namespace\29::PathSubRun::doFlatten\28SkWriteBuffer&\29\20const +9467:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29.1 +9468:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29 +9469:\28anonymous\20namespace\29::MipMapRec::getCategory\28\29\20const +9470:\28anonymous\20namespace\29::MipMapRec::diagnostic_only_getDiscardable\28\29\20const +9471:\28anonymous\20namespace\29::MipMapRec::bytesUsed\28\29\20const +9472:\28anonymous\20namespace\29::MipMapRec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +9473:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29.1 +9474:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29 +9475:\28anonymous\20namespace\29::MiddleOutShader::name\28\29\20const +9476:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9477:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9478:\28anonymous\20namespace\29::MiddleOutShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9479:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29.1 +9480:\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const +9481:\28anonymous\20namespace\29::MeshOp::programInfo\28\29 +9482:\28anonymous\20namespace\29::MeshOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9483:\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9484:\28anonymous\20namespace\29::MeshOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9485:\28anonymous\20namespace\29::MeshOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9486:\28anonymous\20namespace\29::MeshOp::name\28\29\20const +9487:\28anonymous\20namespace\29::MeshOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9488:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29.1 +9489:\28anonymous\20namespace\29::MeshGP::onTextureSampler\28int\29\20const +9490:\28anonymous\20namespace\29::MeshGP::name\28\29\20const +9491:\28anonymous\20namespace\29::MeshGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9492:\28anonymous\20namespace\29::MeshGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9493:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29.1 +9494:\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +9495:\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9496:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +9497:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +9498:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +9499:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +9500:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMangledName\28char\20const*\29 +9501:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMainName\28\29 +9502:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +9503:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +9504:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +9505:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareFunction\28char\20const*\29 +9506:\28anonymous\20namespace\29::ImageFromPictureRec::~ImageFromPictureRec\28\29.1 +9507:\28anonymous\20namespace\29::ImageFromPictureRec::~ImageFromPictureRec\28\29 +9508:\28anonymous\20namespace\29::ImageFromPictureRec::getCategory\28\29\20const +9509:\28anonymous\20namespace\29::ImageFromPictureRec::bytesUsed\28\29\20const +9510:\28anonymous\20namespace\29::ImageFromPictureRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +9511:\28anonymous\20namespace\29::HQDownSampler::buildLevel\28SkPixmap\20const&\2c\20SkPixmap\20const&\29 +9512:\28anonymous\20namespace\29::GaussPass::startBlur\28\29 +9513:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +9514:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +9515:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +9516:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29.1 +9517:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29 +9518:\28anonymous\20namespace\29::FillRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +9519:\28anonymous\20namespace\29::FillRectOpImpl::programInfo\28\29 +9520:\28anonymous\20namespace\29::FillRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +9521:\28anonymous\20namespace\29::FillRectOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9522:\28anonymous\20namespace\29::FillRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9523:\28anonymous\20namespace\29::FillRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9524:\28anonymous\20namespace\29::FillRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9525:\28anonymous\20namespace\29::FillRectOpImpl::name\28\29\20const +9526:\28anonymous\20namespace\29::FillRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9527:\28anonymous\20namespace\29::EllipticalRRectEffect::onMakeProgramImpl\28\29\20const +9528:\28anonymous\20namespace\29::EllipticalRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9529:\28anonymous\20namespace\29::EllipticalRRectEffect::name\28\29\20const +9530:\28anonymous\20namespace\29::EllipticalRRectEffect::clone\28\29\20const +9531:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +9532:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +9533:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29.1 +9534:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29 +9535:\28anonymous\20namespace\29::DrawableSubRun::unflattenSize\28\29\20const +9536:\28anonymous\20namespace\29::DrawableSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9537:\28anonymous\20namespace\29::DrawableSubRun::doFlatten\28SkWriteBuffer&\29\20const +9538:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29.1 +9539:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29 +9540:\28anonymous\20namespace\29::DrawAtlasPathShader::onTextureSampler\28int\29\20const +9541:\28anonymous\20namespace\29::DrawAtlasPathShader::name\28\29\20const +9542:\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9543:\28anonymous\20namespace\29::DrawAtlasPathShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9544:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +9545:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9546:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29.1 +9547:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29 +9548:\28anonymous\20namespace\29::DrawAtlasOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +9549:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9550:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9551:\28anonymous\20namespace\29::DrawAtlasOpImpl::name\28\29\20const +9552:\28anonymous\20namespace\29::DrawAtlasOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9553:\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +9554:\28anonymous\20namespace\29::DirectMaskSubRun::unflattenSize\28\29\20const +9555:\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9556:\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +9557:\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9558:\28anonymous\20namespace\29::DirectMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +9559:\28anonymous\20namespace\29::DirectMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +9560:\28anonymous\20namespace\29::DirectMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +9561:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29.1 +9562:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29 +9563:\28anonymous\20namespace\29::DefaultPathOp::visitProxies\28std::__2::function\20const&\29\20const +9564:\28anonymous\20namespace\29::DefaultPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9565:\28anonymous\20namespace\29::DefaultPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9566:\28anonymous\20namespace\29::DefaultPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9567:\28anonymous\20namespace\29::DefaultPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9568:\28anonymous\20namespace\29::DefaultPathOp::name\28\29\20const +9569:\28anonymous\20namespace\29::DefaultPathOp::fixedFunctionFlags\28\29\20const +9570:\28anonymous\20namespace\29::DefaultPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9571:\28anonymous\20namespace\29::CircularRRectEffect::onMakeProgramImpl\28\29\20const +9572:\28anonymous\20namespace\29::CircularRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +9573:\28anonymous\20namespace\29::CircularRRectEffect::name\28\29\20const +9574:\28anonymous\20namespace\29::CircularRRectEffect::clone\28\29\20const +9575:\28anonymous\20namespace\29::CircularRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +9576:\28anonymous\20namespace\29::CircularRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +9577:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29.1 +9578:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29 +9579:\28anonymous\20namespace\29::CachedTessellationsRec::getCategory\28\29\20const +9580:\28anonymous\20namespace\29::CachedTessellationsRec::bytesUsed\28\29\20const +9581:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29.1 +9582:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29.1 +9583:\28anonymous\20namespace\29::CacheImpl::set\28SkImageFilterCacheKey\20const&\2c\20SkImageFilter\20const*\2c\20skif::FilterResult\20const&\29 +9584:\28anonymous\20namespace\29::CacheImpl::purge\28\29 +9585:\28anonymous\20namespace\29::CacheImpl::purgeByImageFilter\28SkImageFilter\20const*\29 +9586:\28anonymous\20namespace\29::CacheImpl::get\28SkImageFilterCacheKey\20const&\2c\20skif::FilterResult*\29\20const +9587:\28anonymous\20namespace\29::BoundingBoxShader::name\28\29\20const +9588:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +9589:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +9590:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +9591:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29.1 +9592:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29 +9593:\28anonymous\20namespace\29::AAHairlineOp::visitProxies\28std::__2::function\20const&\29\20const +9594:\28anonymous\20namespace\29::AAHairlineOp::onPrepareDraws\28GrMeshDrawTarget*\29 +9595:\28anonymous\20namespace\29::AAHairlineOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9596:\28anonymous\20namespace\29::AAHairlineOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +9597:\28anonymous\20namespace\29::AAHairlineOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +9598:\28anonymous\20namespace\29::AAHairlineOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +9599:\28anonymous\20namespace\29::AAHairlineOp::name\28\29\20const +9600:\28anonymous\20namespace\29::AAHairlineOp::fixedFunctionFlags\28\29\20const +9601:\28anonymous\20namespace\29::AAHairlineOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +9602:YuvToRgbaRow +9603:YuvToRgba4444Row +9604:YuvToRgbRow +9605:YuvToRgb565Row +9606:YuvToBgraRow +9607:YuvToBgrRow +9608:YuvToArgbRow +9609:Write_CVT_Stretched +9610:Write_CVT +9611:WebPYuv444ToRgba_C +9612:WebPYuv444ToRgba4444_C +9613:WebPYuv444ToRgb_C +9614:WebPYuv444ToRgb565_C +9615:WebPYuv444ToBgra_C +9616:WebPYuv444ToBgr_C +9617:WebPYuv444ToArgb_C +9618:WebPRescalerImportRowShrink_C +9619:WebPRescalerImportRowExpand_C +9620:WebPRescalerExportRowShrink_C +9621:WebPRescalerExportRowExpand_C +9622:WebPMultRow_C +9623:WebPMultARGBRow_C +9624:WebPConvertRGBA32ToUV_C +9625:WebPConvertARGBToUV_C +9626:WebGLTextureImageGenerator::~WebGLTextureImageGenerator\28\29.1 +9627:WebGLTextureImageGenerator::~WebGLTextureImageGenerator\28\29 +9628:WebGLTextureImageGenerator::generateExternalTexture\28GrRecordingContext*\2c\20skgpu::Mipmapped\29 +9629:Vertish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +9630:Vertish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +9631:VerticalUnfilter_C +9632:VerticalFilter_C +9633:VertState::Triangles\28VertState*\29 +9634:VertState::TrianglesX\28VertState*\29 +9635:VertState::TriangleStrip\28VertState*\29 +9636:VertState::TriangleStripX\28VertState*\29 +9637:VertState::TriangleFan\28VertState*\29 +9638:VertState::TriangleFanX\28VertState*\29 +9639:VR4_C +9640:VP8LTransformColorInverse_C +9641:VP8LPredictor9_C +9642:VP8LPredictor8_C +9643:VP8LPredictor7_C +9644:VP8LPredictor6_C +9645:VP8LPredictor5_C +9646:VP8LPredictor4_C +9647:VP8LPredictor3_C +9648:VP8LPredictor2_C +9649:VP8LPredictor1_C +9650:VP8LPredictor13_C +9651:VP8LPredictor12_C +9652:VP8LPredictor11_C +9653:VP8LPredictor10_C +9654:VP8LPredictor0_C +9655:VP8LConvertBGRAToRGB_C +9656:VP8LConvertBGRAToRGBA_C +9657:VP8LConvertBGRAToRGBA4444_C +9658:VP8LConvertBGRAToRGB565_C +9659:VP8LConvertBGRAToBGR_C +9660:VP8LAddGreenToBlueAndRed_C +9661:VLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +9662:VLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +9663:VL4_C +9664:VFilter8i_C +9665:VFilter8_C +9666:VFilter16i_C +9667:VFilter16_C +9668:VE8uv_C +9669:VE4_C +9670:VE16_C +9671:UpsampleRgbaLinePair_C +9672:UpsampleRgba4444LinePair_C +9673:UpsampleRgbLinePair_C +9674:UpsampleRgb565LinePair_C +9675:UpsampleBgraLinePair_C +9676:UpsampleBgrLinePair_C +9677:UpsampleArgbLinePair_C +9678:UnresolvedCodepoints\28skia::textlayout::Paragraph&\29 +9679:UnicodeString_charAt\28int\2c\20void*\29 +9680:TransformWHT_C +9681:TransformUV_C +9682:TransformTwo_C +9683:TransformDC_C +9684:TransformDCUV_C +9685:TransformAC3_C +9686:ToSVGString\28SkPath\20const&\29 +9687:ToCmds\28SkPath\20const&\29 +9688:TT_Set_MM_Blend +9689:TT_RunIns +9690:TT_Load_Simple_Glyph +9691:TT_Load_Glyph_Header +9692:TT_Load_Composite_Glyph +9693:TT_Get_Var_Design +9694:TT_Get_MM_Blend +9695:TT_Forget_Glyph_Frame +9696:TT_Access_Glyph_Frame +9697:TM8uv_C +9698:TM4_C +9699:TM16_C +9700:Sync +9701:SquareCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +9702:Sprite_D32_S32::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9703:SkWuffsFrameHolder::onGetFrame\28int\29\20const +9704:SkWuffsCodec::~SkWuffsCodec\28\29.1 +9705:SkWuffsCodec::~SkWuffsCodec\28\29 +9706:SkWuffsCodec::onIncrementalDecode\28int*\29 +9707:SkWuffsCodec::onGetRepetitionCount\28\29 +9708:SkWuffsCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9709:SkWuffsCodec::onGetFrameInfo\28int\2c\20SkCodec::FrameInfo*\29\20const +9710:SkWuffsCodec::onGetFrameCount\28\29 +9711:SkWuffsCodec::getFrameHolder\28\29\20const +9712:SkWuffsCodec::getEncodedData\28\29\20const +9713:SkWriteICCProfile\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +9714:SkWebpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9715:SkWebpCodec::~SkWebpCodec\28\29.1 +9716:SkWebpCodec::~SkWebpCodec\28\29 +9717:SkWebpCodec::onGetValidSubset\28SkIRect*\29\20const +9718:SkWebpCodec::onGetRepetitionCount\28\29 +9719:SkWebpCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9720:SkWebpCodec::onGetFrameInfo\28int\2c\20SkCodec::FrameInfo*\29\20const +9721:SkWebpCodec::onGetFrameCount\28\29 +9722:SkWebpCodec::getFrameHolder\28\29\20const +9723:SkWebpCodec::FrameHolder::~FrameHolder\28\29.1 +9724:SkWebpCodec::FrameHolder::~FrameHolder\28\29 +9725:SkWebpCodec::FrameHolder::onGetFrame\28int\29\20const +9726:SkWeakRefCnt::internal_dispose\28\29\20const +9727:SkWbmpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9728:SkWbmpCodec::~SkWbmpCodec\28\29.1 +9729:SkWbmpCodec::~SkWbmpCodec\28\29 +9730:SkWbmpCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9731:SkWbmpCodec::onSkipScanlines\28int\29 +9732:SkWbmpCodec::onRewind\28\29 +9733:SkWbmpCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +9734:SkWbmpCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9735:SkWbmpCodec::getSampler\28bool\29 +9736:SkWbmpCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +9737:SkVertices::Builder*\20emscripten::internal::operator_new\28SkVertices::VertexMode&&\2c\20int&&\2c\20int&&\2c\20unsigned\20int&&\29 +9738:SkUserTypeface::~SkUserTypeface\28\29.1 +9739:SkUserTypeface::~SkUserTypeface\28\29 +9740:SkUserTypeface::onOpenStream\28int*\29\20const +9741:SkUserTypeface::onGetUPEM\28\29\20const +9742:SkUserTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9743:SkUserTypeface::onGetFamilyName\28SkString*\29\20const +9744:SkUserTypeface::onFilterRec\28SkScalerContextRec*\29\20const +9745:SkUserTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +9746:SkUserTypeface::onCountGlyphs\28\29\20const +9747:SkUserTypeface::onComputeBounds\28SkRect*\29\20const +9748:SkUserTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +9749:SkUserTypeface::getGlyphToUnicodeMap\28int*\29\20const +9750:SkUserScalerContext::~SkUserScalerContext\28\29 +9751:SkUserScalerContext::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +9752:SkUserScalerContext::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +9753:SkUserScalerContext::generateImage\28SkGlyph\20const&\2c\20void*\29 +9754:SkUserScalerContext::generateFontMetrics\28SkFontMetrics*\29 +9755:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::~DrawableMatrixWrapper\28\29.1 +9756:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::~DrawableMatrixWrapper\28\29 +9757:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onGetBounds\28\29 +9758:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onDraw\28SkCanvas*\29 +9759:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onApproximateBytesUsed\28\29 +9760:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29 +9761:SkUnicode_icu::~SkUnicode_icu\28\29.1 +9762:SkUnicode_icu::~SkUnicode_icu\28\29 +9763:SkUnicode_icu::toUpper\28SkString\20const&\2c\20char\20const*\29 +9764:SkUnicode_icu::toUpper\28SkString\20const&\29 +9765:SkUnicode_icu::reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29 +9766:SkUnicode_icu::makeBreakIterator\28char\20const*\2c\20SkUnicode::BreakType\29 +9767:SkUnicode_icu::makeBreakIterator\28SkUnicode::BreakType\29 +9768:SkUnicode_icu::makeBidiIterator\28unsigned\20short\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +9769:SkUnicode_icu::makeBidiIterator\28char\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +9770:SkUnicode_icu::isWhitespace\28int\29 +9771:SkUnicode_icu::isTabulation\28int\29 +9772:SkUnicode_icu::isSpace\28int\29 +9773:SkUnicode_icu::isRegionalIndicator\28int\29 +9774:SkUnicode_icu::isIdeographic\28int\29 +9775:SkUnicode_icu::isHardBreak\28int\29 +9776:SkUnicode_icu::isEmoji\28int\29 +9777:SkUnicode_icu::isEmojiModifier\28int\29 +9778:SkUnicode_icu::isEmojiModifierBase\28int\29 +9779:SkUnicode_icu::isEmojiComponent\28int\29 +9780:SkUnicode_icu::isControl\28int\29 +9781:SkUnicode_icu::getWords\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +9782:SkUnicode_icu::getUtf8Words\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +9783:SkUnicode_icu::getSentences\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +9784:SkUnicode_icu::getBidiRegions\28char\20const*\2c\20int\2c\20SkUnicode::TextDirection\2c\20std::__2::vector>*\29 +9785:SkUnicode_icu::computeCodeUnitFlags\28char16_t*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +9786:SkUnicode_icu::computeCodeUnitFlags\28char*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +9787:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29.1 +9788:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29 +9789:SkUnicodeBidiRunIterator::endOfCurrentRun\28\29\20const +9790:SkUnicodeBidiRunIterator::currentLevel\28\29\20const +9791:SkUnicodeBidiRunIterator::consume\28\29 +9792:SkUnicodeBidiRunIterator::atEnd\28\29\20const +9793:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29.1 +9794:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29 +9795:SkTypeface_FreeTypeStream::onOpenStream\28int*\29\20const +9796:SkTypeface_FreeTypeStream::onMakeFontData\28\29\20const +9797:SkTypeface_FreeTypeStream::onMakeClone\28SkFontArguments\20const&\29\20const +9798:SkTypeface_FreeTypeStream::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9799:SkTypeface_FreeType::onGlyphMaskNeedsCurrentColor\28\29\20const +9800:SkTypeface_FreeType::onGetVariationDesignPosition\28SkFontArguments::VariationPosition::Coordinate*\2c\20int\29\20const +9801:SkTypeface_FreeType::onGetVariationDesignParameters\28SkFontParameters::Variation::Axis*\2c\20int\29\20const +9802:SkTypeface_FreeType::onGetUPEM\28\29\20const +9803:SkTypeface_FreeType::onGetTableTags\28unsigned\20int*\29\20const +9804:SkTypeface_FreeType::onGetTableData\28unsigned\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20void*\29\20const +9805:SkTypeface_FreeType::onGetPostScriptName\28SkString*\29\20const +9806:SkTypeface_FreeType::onGetKerningPairAdjustments\28unsigned\20short\20const*\2c\20int\2c\20int*\29\20const +9807:SkTypeface_FreeType::onGetAdvancedMetrics\28\29\20const +9808:SkTypeface_FreeType::onFilterRec\28SkScalerContextRec*\29\20const +9809:SkTypeface_FreeType::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +9810:SkTypeface_FreeType::onCreateFamilyNameIterator\28\29\20const +9811:SkTypeface_FreeType::onCountGlyphs\28\29\20const +9812:SkTypeface_FreeType::onCopyTableData\28unsigned\20int\29\20const +9813:SkTypeface_FreeType::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +9814:SkTypeface_FreeType::getPostScriptGlyphNames\28SkString*\29\20const +9815:SkTypeface_FreeType::getGlyphToUnicodeMap\28int*\29\20const +9816:SkTypeface_Empty::~SkTypeface_Empty\28\29 +9817:SkTypeface_Custom::~SkTypeface_Custom\28\29.1 +9818:SkTypeface_Custom::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +9819:SkTypeface::onCopyTableData\28unsigned\20int\29\20const +9820:SkTypeface::onComputeBounds\28SkRect*\29\20const +9821:SkTrimPE::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9822:SkTrimPE::getTypeName\28\29\20const +9823:SkTriColorShader::type\28\29\20const +9824:SkTriColorShader::isOpaque\28\29\20const +9825:SkTriColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9826:SkTransformShader::type\28\29\20const +9827:SkTransformShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9828:SkTQuad::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +9829:SkTQuad::setBounds\28SkDRect*\29\20const +9830:SkTQuad::ptAtT\28double\29\20const +9831:SkTQuad::make\28SkArenaAlloc&\29\20const +9832:SkTQuad::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +9833:SkTQuad::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +9834:SkTQuad::dxdyAtT\28double\29\20const +9835:SkTQuad::debugInit\28\29 +9836:SkTCubic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +9837:SkTCubic::setBounds\28SkDRect*\29\20const +9838:SkTCubic::ptAtT\28double\29\20const +9839:SkTCubic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +9840:SkTCubic::make\28SkArenaAlloc&\29\20const +9841:SkTCubic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +9842:SkTCubic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +9843:SkTCubic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +9844:SkTCubic::dxdyAtT\28double\29\20const +9845:SkTCubic::debugInit\28\29 +9846:SkTCubic::controlsInside\28\29\20const +9847:SkTCubic::collapsed\28\29\20const +9848:SkTConic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +9849:SkTConic::setBounds\28SkDRect*\29\20const +9850:SkTConic::ptAtT\28double\29\20const +9851:SkTConic::make\28SkArenaAlloc&\29\20const +9852:SkTConic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +9853:SkTConic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +9854:SkTConic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +9855:SkTConic::dxdyAtT\28double\29\20const +9856:SkTConic::debugInit\28\29 +9857:SkSwizzler::onSetSampleX\28int\29 +9858:SkSwizzler::fillWidth\28\29\20const +9859:SkSweepGradient::getTypeName\28\29\20const +9860:SkSweepGradient::flatten\28SkWriteBuffer&\29\20const +9861:SkSweepGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9862:SkSweepGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +9863:SkSurface_Raster::~SkSurface_Raster\28\29.1 +9864:SkSurface_Raster::~SkSurface_Raster\28\29 +9865:SkSurface_Raster::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +9866:SkSurface_Raster::onRestoreBackingMutability\28\29 +9867:SkSurface_Raster::onNewSurface\28SkImageInfo\20const&\29 +9868:SkSurface_Raster::onNewImageSnapshot\28SkIRect\20const*\29 +9869:SkSurface_Raster::onNewCanvas\28\29 +9870:SkSurface_Raster::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9871:SkSurface_Raster::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +9872:SkSurface_Raster::imageInfo\28\29\20const +9873:SkSurface_Ganesh::~SkSurface_Ganesh\28\29.1 +9874:SkSurface_Ganesh::~SkSurface_Ganesh\28\29 +9875:SkSurface_Ganesh::replaceBackendTexture\28GrBackendTexture\20const&\2c\20GrSurfaceOrigin\2c\20SkSurface::ContentChangeMode\2c\20void\20\28*\29\28void*\29\2c\20void*\29 +9876:SkSurface_Ganesh::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +9877:SkSurface_Ganesh::onWait\28int\2c\20GrBackendSemaphore\20const*\2c\20bool\29 +9878:SkSurface_Ganesh::onNewSurface\28SkImageInfo\20const&\29 +9879:SkSurface_Ganesh::onNewImageSnapshot\28SkIRect\20const*\29 +9880:SkSurface_Ganesh::onNewCanvas\28\29 +9881:SkSurface_Ganesh::onIsCompatible\28GrSurfaceCharacterization\20const&\29\20const +9882:SkSurface_Ganesh::onGetRecordingContext\28\29\20const +9883:SkSurface_Ganesh::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9884:SkSurface_Ganesh::onDiscard\28\29 +9885:SkSurface_Ganesh::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +9886:SkSurface_Ganesh::onCharacterize\28GrSurfaceCharacterization*\29\20const +9887:SkSurface_Ganesh::onCapabilities\28\29 +9888:SkSurface_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +9889:SkSurface_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +9890:SkSurface_Ganesh::imageInfo\28\29\20const +9891:SkSurface_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +9892:SkSurface::imageInfo\28\29\20const +9893:SkSurface::height\28\29\20const +9894:SkStrikeCache::~SkStrikeCache\28\29.1 +9895:SkStrikeCache::~SkStrikeCache\28\29 +9896:SkStrikeCache::findOrCreateScopedStrike\28SkStrikeSpec\20const&\29 +9897:SkStrike::~SkStrike\28\29.1 +9898:SkStrike::~SkStrike\28\29 +9899:SkStrike::strikePromise\28\29 +9900:SkStrike::roundingSpec\28\29\20const +9901:SkStrike::prepareForPath\28SkGlyph*\29 +9902:SkStrike::prepareForImage\28SkGlyph*\29 +9903:SkStrike::prepareForDrawable\28SkGlyph*\29 +9904:SkStrike::getDescriptor\28\29\20const +9905:SkSpriteBlitter_Memcpy::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9906:SkSpriteBlitter::~SkSpriteBlitter\28\29.1 +9907:SkSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +9908:SkSpriteBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +9909:SkSpriteBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +9910:SkSpriteBlitter::blitH\28int\2c\20int\2c\20int\29 +9911:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29.1 +9912:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29 +9913:SkSpecialImage_Raster::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +9914:SkSpecialImage_Raster::getSize\28\29\20const +9915:SkSpecialImage_Raster::backingStoreDimensions\28\29\20const +9916:SkSpecialImage_Raster::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +9917:SkSpecialImage_Raster::asImage\28\29\20const +9918:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29.1 +9919:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29 +9920:SkSpecialImage_Gpu::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +9921:SkSpecialImage_Gpu::getSize\28\29\20const +9922:SkSpecialImage_Gpu::backingStoreDimensions\28\29\20const +9923:SkSpecialImage_Gpu::asImage\28\29\20const +9924:SkSpecialImage::~SkSpecialImage\28\29 +9925:SkSpecialImage::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +9926:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29.1 +9927:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29 +9928:SkShaper::TrivialLanguageRunIterator::currentLanguage\28\29\20const +9929:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29.1 +9930:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29 +9931:SkShaper::TrivialBiDiRunIterator::currentLevel\28\29\20const +9932:SkShaderBlurAlgorithm::maxSigma\28\29\20const +9933:SkShaderBlurAlgorithm::blur\28SkSize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +9934:SkScan::HairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9935:SkScan::HairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9936:SkScan::HairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9937:SkScan::AntiHairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9938:SkScan::AntiHairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9939:SkScan::AntiHairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9940:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +9941:SkScalingCodec::onGetScaledDimensions\28float\29\20const +9942:SkScalingCodec::onDimensionsSupported\28SkISize\20const&\29 +9943:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29.1 +9944:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29 +9945:SkScalerContext_FreeType::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +9946:SkScalerContext_FreeType::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +9947:SkScalerContext_FreeType::generateImage\28SkGlyph\20const&\2c\20void*\29 +9948:SkScalerContext_FreeType::generateFontMetrics\28SkFontMetrics*\29 +9949:SkScalerContext_FreeType::generateDrawable\28SkGlyph\20const&\29 +9950:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::~SkScalerContext_Empty\28\29 +9951:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +9952:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +9953:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateFontMetrics\28SkFontMetrics*\29 +9954:SkSampledCodec::onGetSampledDimensions\28int\29\20const +9955:SkSampledCodec::onGetAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +9956:SkSRGBColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +9957:SkSRGBColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +9958:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_3::__invoke\28double\2c\20double\29 +9959:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_2::__invoke\28double\2c\20double\29 +9960:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_1::__invoke\28double\2c\20double\29 +9961:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_0::__invoke\28double\2c\20double\29 +9962:SkSL::remove_break_statements\28std::__2::unique_ptr>&\29::RemoveBreaksWriter::visitStatementPtr\28std::__2::unique_ptr>&\29 +9963:SkSL::hoist_vardecl_symbols_into_outer_scope\28SkSL::Context\20const&\2c\20SkSL::Block\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::SymbolTable*\29::SymbolHoister::visitStatement\28SkSL::Statement\20const&\29 +9964:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29.1 +9965:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29 +9966:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29.1 +9967:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29 +9968:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +9969:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitExpressionPtr\28std::__2::unique_ptr>&\29 +9970:SkSL::count_returns_at_end_of_control_flow\28SkSL::FunctionDefinition\20const&\29::CountReturnsAtEndOfControlFlow::visitStatement\28SkSL::Statement\20const&\29 +9971:SkSL::\28anonymous\20namespace\29::VariableWriteVisitor::visitExpression\28SkSL::Expression\20const&\29 +9972:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9973:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitExpression\28SkSL::Expression\20const&\29 +9974:SkSL::\28anonymous\20namespace\29::ReturnsNonOpaqueColorVisitor::visitStatement\28SkSL::Statement\20const&\29 +9975:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitStatement\28SkSL::Statement\20const&\29 +9976:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9977:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitStatement\28SkSL::Statement\20const&\29 +9978:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitStatement\28SkSL::Statement\20const&\29 +9979:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9980:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitExpression\28SkSL::Expression\20const&\29 +9981:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9982:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +9983:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29.1 +9984:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29 +9985:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitExpression\28SkSL::Expression\20const&\29 +9986:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29.1 +9987:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29 +9988:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitStatement\28SkSL::Statement\20const&\29 +9989:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitExpression\28SkSL::Expression\20const&\29 +9990:SkSL::VectorType::isAllowedInUniform\28SkSL::Position*\29\20const +9991:SkSL::VectorType::isAllowedInES2\28\29\20const +9992:SkSL::VariableReference::clone\28SkSL::Position\29\20const +9993:SkSL::Variable::~Variable\28\29.1 +9994:SkSL::Variable::~Variable\28\29 +9995:SkSL::Variable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +9996:SkSL::Variable::mangledName\28\29\20const +9997:SkSL::Variable::layout\28\29\20const +9998:SkSL::Variable::description\28\29\20const +9999:SkSL::VarDeclaration::~VarDeclaration\28\29.1 +10000:SkSL::VarDeclaration::~VarDeclaration\28\29 +10001:SkSL::VarDeclaration::description\28\29\20const +10002:SkSL::TypeReference::clone\28SkSL::Position\29\20const +10003:SkSL::Type::minimumValue\28\29\20const +10004:SkSL::Type::maximumValue\28\29\20const +10005:SkSL::Type::isAllowedInUniform\28SkSL::Position*\29\20const +10006:SkSL::Type::fields\28\29\20const +10007:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29.1 +10008:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29 +10009:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::visitStatementPtr\28std::__2::unique_ptr>&\29 +10010:SkSL::Tracer::var\28int\2c\20int\29 +10011:SkSL::Tracer::scope\28int\29 +10012:SkSL::Tracer::line\28int\29 +10013:SkSL::Tracer::exit\28int\29 +10014:SkSL::Tracer::enter\28int\29 +10015:SkSL::TextureType::textureAccess\28\29\20const +10016:SkSL::TextureType::isMultisampled\28\29\20const +10017:SkSL::TextureType::isDepth\28\29\20const +10018:SkSL::TextureType::isArrayedTexture\28\29\20const +10019:SkSL::TernaryExpression::~TernaryExpression\28\29.1 +10020:SkSL::TernaryExpression::~TernaryExpression\28\29 +10021:SkSL::TernaryExpression::description\28SkSL::OperatorPrecedence\29\20const +10022:SkSL::TernaryExpression::clone\28SkSL::Position\29\20const +10023:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression&\29 +10024:SkSL::Swizzle::description\28SkSL::OperatorPrecedence\29\20const +10025:SkSL::Swizzle::clone\28SkSL::Position\29\20const +10026:SkSL::SwitchStatement::description\28\29\20const +10027:SkSL::SwitchCase::description\28\29\20const +10028:SkSL::StructType::slotType\28unsigned\20long\29\20const +10029:SkSL::StructType::isOrContainsUnsizedArray\28\29\20const +10030:SkSL::StructType::isOrContainsAtomic\28\29\20const +10031:SkSL::StructType::isOrContainsArray\28\29\20const +10032:SkSL::StructType::isInterfaceBlock\28\29\20const +10033:SkSL::StructType::isBuiltin\28\29\20const +10034:SkSL::StructType::isAllowedInUniform\28SkSL::Position*\29\20const +10035:SkSL::StructType::isAllowedInES2\28\29\20const +10036:SkSL::StructType::fields\28\29\20const +10037:SkSL::StructDefinition::description\28\29\20const +10038:SkSL::StringStream::~StringStream\28\29.1 +10039:SkSL::StringStream::~StringStream\28\29 +10040:SkSL::StringStream::write\28void\20const*\2c\20unsigned\20long\29 +10041:SkSL::StringStream::writeText\28char\20const*\29 +10042:SkSL::StringStream::write8\28unsigned\20char\29 +10043:SkSL::SingleArgumentConstructor::~SingleArgumentConstructor\28\29 +10044:SkSL::Setting::description\28SkSL::OperatorPrecedence\29\20const +10045:SkSL::Setting::clone\28SkSL::Position\29\20const +10046:SkSL::ScalarType::priority\28\29\20const +10047:SkSL::ScalarType::numberKind\28\29\20const +10048:SkSL::ScalarType::minimumValue\28\29\20const +10049:SkSL::ScalarType::maximumValue\28\29\20const +10050:SkSL::ScalarType::isAllowedInUniform\28SkSL::Position*\29\20const +10051:SkSL::ScalarType::isAllowedInES2\28\29\20const +10052:SkSL::ScalarType::bitWidth\28\29\20const +10053:SkSL::SamplerType::textureAccess\28\29\20const +10054:SkSL::SamplerType::isMultisampled\28\29\20const +10055:SkSL::SamplerType::isDepth\28\29\20const +10056:SkSL::SamplerType::isArrayedTexture\28\29\20const +10057:SkSL::SamplerType::dimensions\28\29\20const +10058:SkSL::ReturnStatement::description\28\29\20const +10059:SkSL::RP::VariableLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10060:SkSL::RP::VariableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10061:SkSL::RP::VariableLValue::isWritable\28\29\20const +10062:SkSL::RP::VariableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10063:SkSL::RP::UnownedLValueSlice::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10064:SkSL::RP::UnownedLValueSlice::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10065:SkSL::RP::UnownedLValueSlice::fixedSlotRange\28SkSL::RP::Generator*\29 +10066:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29.1 +10067:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29 +10068:SkSL::RP::SwizzleLValue::swizzle\28\29 +10069:SkSL::RP::SwizzleLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10070:SkSL::RP::SwizzleLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10071:SkSL::RP::SwizzleLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10072:SkSL::RP::ScratchLValue::~ScratchLValue\28\29.1 +10073:SkSL::RP::ScratchLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10074:SkSL::RP::ScratchLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10075:SkSL::RP::LValueSlice::~LValueSlice\28\29.1 +10076:SkSL::RP::LValueSlice::~LValueSlice\28\29 +10077:SkSL::RP::LValue::~LValue\28\29.1 +10078:SkSL::RP::ImmutableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10079:SkSL::RP::ImmutableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10080:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29.1 +10081:SkSL::RP::DynamicIndexLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10082:SkSL::RP::DynamicIndexLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10083:SkSL::RP::DynamicIndexLValue::isWritable\28\29\20const +10084:SkSL::RP::DynamicIndexLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10085:SkSL::ProgramVisitor::visitStatementPtr\28std::__2::unique_ptr>\20const&\29 +10086:SkSL::ProgramVisitor::visitExpressionPtr\28std::__2::unique_ptr>\20const&\29 +10087:SkSL::PrefixExpression::description\28SkSL::OperatorPrecedence\29\20const +10088:SkSL::PrefixExpression::clone\28SkSL::Position\29\20const +10089:SkSL::PostfixExpression::description\28SkSL::OperatorPrecedence\29\20const +10090:SkSL::PostfixExpression::clone\28SkSL::Position\29\20const +10091:SkSL::Poison::description\28SkSL::OperatorPrecedence\29\20const +10092:SkSL::Poison::clone\28SkSL::Position\29\20const +10093:SkSL::PipelineStage::Callbacks::getMainName\28\29 +10094:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29.1 +10095:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29 +10096:SkSL::Parser::Checkpoint::ForwardingErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +10097:SkSL::Nop::description\28\29\20const +10098:SkSL::MultiArgumentConstructor::~MultiArgumentConstructor\28\29 +10099:SkSL::ModifiersDeclaration::description\28\29\20const +10100:SkSL::MethodReference::description\28SkSL::OperatorPrecedence\29\20const +10101:SkSL::MethodReference::clone\28SkSL::Position\29\20const +10102:SkSL::MatrixType::slotCount\28\29\20const +10103:SkSL::MatrixType::rows\28\29\20const +10104:SkSL::MatrixType::isAllowedInES2\28\29\20const +10105:SkSL::LiteralType::minimumValue\28\29\20const +10106:SkSL::LiteralType::maximumValue\28\29\20const +10107:SkSL::Literal::getConstantValue\28int\29\20const +10108:SkSL::Literal::description\28SkSL::OperatorPrecedence\29\20const +10109:SkSL::Literal::compareConstant\28SkSL::Expression\20const&\29\20const +10110:SkSL::Literal::clone\28SkSL::Position\29\20const +10111:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_uintBitsToFloat\28double\2c\20double\2c\20double\29 +10112:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_trunc\28double\2c\20double\2c\20double\29 +10113:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tanh\28double\2c\20double\2c\20double\29 +10114:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tan\28double\2c\20double\2c\20double\29 +10115:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_step\28double\2c\20double\2c\20double\29 +10116:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sqrt\28double\2c\20double\2c\20double\29 +10117:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_smoothstep\28double\2c\20double\2c\20double\29 +10118:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sinh\28double\2c\20double\2c\20double\29 +10119:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sin\28double\2c\20double\2c\20double\29 +10120:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_saturate\28double\2c\20double\2c\20double\29 +10121:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_radians\28double\2c\20double\2c\20double\29 +10122:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_pow\28double\2c\20double\2c\20double\29 +10123:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mod\28double\2c\20double\2c\20double\29 +10124:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mix\28double\2c\20double\2c\20double\29 +10125:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_min\28double\2c\20double\2c\20double\29 +10126:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_max\28double\2c\20double\2c\20double\29 +10127:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_matrixCompMult\28double\2c\20double\2c\20double\29 +10128:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log\28double\2c\20double\2c\20double\29 +10129:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log2\28double\2c\20double\2c\20double\29 +10130:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_inversesqrt\28double\2c\20double\2c\20double\29 +10131:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_intBitsToFloat\28double\2c\20double\2c\20double\29 +10132:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fract\28double\2c\20double\2c\20double\29 +10133:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fma\28double\2c\20double\2c\20double\29 +10134:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floor\28double\2c\20double\2c\20double\29 +10135:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToUint\28double\2c\20double\2c\20double\29 +10136:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToInt\28double\2c\20double\2c\20double\29 +10137:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp\28double\2c\20double\2c\20double\29 +10138:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp2\28double\2c\20double\2c\20double\29 +10139:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_degrees\28double\2c\20double\2c\20double\29 +10140:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cosh\28double\2c\20double\2c\20double\29 +10141:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cos\28double\2c\20double\2c\20double\29 +10142:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_clamp\28double\2c\20double\2c\20double\29 +10143:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_ceil\28double\2c\20double\2c\20double\29 +10144:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atanh\28double\2c\20double\2c\20double\29 +10145:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan\28double\2c\20double\2c\20double\29 +10146:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan2\28double\2c\20double\2c\20double\29 +10147:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asinh\28double\2c\20double\2c\20double\29 +10148:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asin\28double\2c\20double\2c\20double\29 +10149:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acosh\28double\2c\20double\2c\20double\29 +10150:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acos\28double\2c\20double\2c\20double\29 +10151:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_abs\28double\2c\20double\2c\20double\29 +10152:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_notEqual\28double\2c\20double\29 +10153:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThan\28double\2c\20double\29 +10154:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThanEqual\28double\2c\20double\29 +10155:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThan\28double\2c\20double\29 +10156:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThanEqual\28double\2c\20double\29 +10157:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_equal\28double\2c\20double\29 +10158:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_any\28double\2c\20double\2c\20double\29 +10159:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_all\28double\2c\20double\2c\20double\29 +10160:SkSL::InterfaceBlock::~InterfaceBlock\28\29.1 +10161:SkSL::InterfaceBlock::description\28\29\20const +10162:SkSL::IndexExpression::~IndexExpression\28\29.1 +10163:SkSL::IndexExpression::~IndexExpression\28\29 +10164:SkSL::IndexExpression::description\28SkSL::OperatorPrecedence\29\20const +10165:SkSL::IndexExpression::clone\28SkSL::Position\29\20const +10166:SkSL::IfStatement::~IfStatement\28\29.1 +10167:SkSL::IfStatement::~IfStatement\28\29 +10168:SkSL::IfStatement::description\28\29\20const +10169:SkSL::GlobalVarDeclaration::description\28\29\20const +10170:SkSL::GenericType::slotType\28unsigned\20long\29\20const +10171:SkSL::GenericType::coercibleTypes\28\29\20const +10172:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29.1 +10173:SkSL::FunctionReference::description\28SkSL::OperatorPrecedence\29\20const +10174:SkSL::FunctionReference::clone\28SkSL::Position\29\20const +10175:SkSL::FunctionPrototype::description\28\29\20const +10176:SkSL::FunctionDefinition::description\28\29\20const +10177:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29.1 +10178:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29 +10179:SkSL::FunctionCall::description\28SkSL::OperatorPrecedence\29\20const +10180:SkSL::FunctionCall::clone\28SkSL::Position\29\20const +10181:SkSL::ForStatement::~ForStatement\28\29.1 +10182:SkSL::ForStatement::~ForStatement\28\29 +10183:SkSL::ForStatement::description\28\29\20const +10184:SkSL::FieldSymbol::description\28\29\20const +10185:SkSL::FieldAccess::clone\28SkSL::Position\29\20const +10186:SkSL::Extension::description\28\29\20const +10187:SkSL::ExtendedVariable::~ExtendedVariable\28\29.1 +10188:SkSL::ExtendedVariable::~ExtendedVariable\28\29 +10189:SkSL::ExtendedVariable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +10190:SkSL::ExtendedVariable::mangledName\28\29\20const +10191:SkSL::ExtendedVariable::layout\28\29\20const +10192:SkSL::ExtendedVariable::interfaceBlock\28\29\20const +10193:SkSL::ExtendedVariable::detachDeadInterfaceBlock\28\29 +10194:SkSL::ExpressionStatement::description\28\29\20const +10195:SkSL::Expression::getConstantValue\28int\29\20const +10196:SkSL::EmptyExpression::description\28SkSL::OperatorPrecedence\29\20const +10197:SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +10198:SkSL::DoStatement::description\28\29\20const +10199:SkSL::DiscardStatement::description\28\29\20const +10200:SkSL::DebugTracePriv::~DebugTracePriv\28\29.1 +10201:SkSL::DebugTracePriv::writeTrace\28SkWStream*\29\20const +10202:SkSL::DebugTracePriv::dump\28SkWStream*\29\20const +10203:SkSL::CountReturnsWithLimit::visitStatement\28SkSL::Statement\20const&\29 +10204:SkSL::ContinueStatement::description\28\29\20const +10205:SkSL::ConstructorStruct::clone\28SkSL::Position\29\20const +10206:SkSL::ConstructorSplat::getConstantValue\28int\29\20const +10207:SkSL::ConstructorSplat::clone\28SkSL::Position\29\20const +10208:SkSL::ConstructorScalarCast::clone\28SkSL::Position\29\20const +10209:SkSL::ConstructorMatrixResize::getConstantValue\28int\29\20const +10210:SkSL::ConstructorMatrixResize::clone\28SkSL::Position\29\20const +10211:SkSL::ConstructorDiagonalMatrix::getConstantValue\28int\29\20const +10212:SkSL::ConstructorDiagonalMatrix::clone\28SkSL::Position\29\20const +10213:SkSL::ConstructorCompoundCast::clone\28SkSL::Position\29\20const +10214:SkSL::ConstructorCompound::clone\28SkSL::Position\29\20const +10215:SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +10216:SkSL::ConstructorArray::clone\28SkSL::Position\29\20const +10217:SkSL::Compiler::CompilerErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +10218:SkSL::CodeGenerator::~CodeGenerator\28\29 +10219:SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +10220:SkSL::ChildCall::clone\28SkSL::Position\29\20const +10221:SkSL::BreakStatement::description\28\29\20const +10222:SkSL::Block::~Block\28\29.1 +10223:SkSL::Block::~Block\28\29 +10224:SkSL::Block::isEmpty\28\29\20const +10225:SkSL::Block::description\28\29\20const +10226:SkSL::BinaryExpression::~BinaryExpression\28\29.1 +10227:SkSL::BinaryExpression::~BinaryExpression\28\29 +10228:SkSL::BinaryExpression::description\28SkSL::OperatorPrecedence\29\20const +10229:SkSL::BinaryExpression::clone\28SkSL::Position\29\20const +10230:SkSL::ArrayType::slotType\28unsigned\20long\29\20const +10231:SkSL::ArrayType::slotCount\28\29\20const +10232:SkSL::ArrayType::isUnsizedArray\28\29\20const +10233:SkSL::ArrayType::isOrContainsUnsizedArray\28\29\20const +10234:SkSL::ArrayType::isOrContainsAtomic\28\29\20const +10235:SkSL::ArrayType::isBuiltin\28\29\20const +10236:SkSL::ArrayType::isAllowedInUniform\28SkSL::Position*\29\20const +10237:SkSL::AnyConstructor::getConstantValue\28int\29\20const +10238:SkSL::AnyConstructor::description\28SkSL::OperatorPrecedence\29\20const +10239:SkSL::AnyConstructor::compareConstant\28SkSL::Expression\20const&\29\20const +10240:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29::IsDynamicallyUniformExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +10241:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29::IsCompileTimeConstantVisitor::visitExpression\28SkSL::Expression\20const&\29 +10242:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29::HasSideEffectsVisitor::visitExpression\28SkSL::Expression\20const&\29 +10243:SkSL::Analysis::ContainsVariable\28SkSL::Expression\20const&\2c\20SkSL::Variable\20const&\29::ContainsVariableVisitor::visitExpression\28SkSL::Expression\20const&\29 +10244:SkSL::Analysis::ContainsRTAdjust\28SkSL::Expression\20const&\29::ContainsRTAdjustVisitor::visitExpression\28SkSL::Expression\20const&\29 +10245:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29.1 +10246:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29 +10247:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitStatement\28SkSL::Statement\20const&\29 +10248:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitExpression\28SkSL::Expression\20const&\29 +10249:SkSL::AliasType::textureAccess\28\29\20const +10250:SkSL::AliasType::slotType\28unsigned\20long\29\20const +10251:SkSL::AliasType::slotCount\28\29\20const +10252:SkSL::AliasType::rows\28\29\20const +10253:SkSL::AliasType::priority\28\29\20const +10254:SkSL::AliasType::isVector\28\29\20const +10255:SkSL::AliasType::isUnsizedArray\28\29\20const +10256:SkSL::AliasType::isStruct\28\29\20const +10257:SkSL::AliasType::isScalar\28\29\20const +10258:SkSL::AliasType::isMultisampled\28\29\20const +10259:SkSL::AliasType::isMatrix\28\29\20const +10260:SkSL::AliasType::isLiteral\28\29\20const +10261:SkSL::AliasType::isInterfaceBlock\28\29\20const +10262:SkSL::AliasType::isDepth\28\29\20const +10263:SkSL::AliasType::isArrayedTexture\28\29\20const +10264:SkSL::AliasType::isArray\28\29\20const +10265:SkSL::AliasType::dimensions\28\29\20const +10266:SkSL::AliasType::componentType\28\29\20const +10267:SkSL::AliasType::columns\28\29\20const +10268:SkSL::AliasType::coercibleTypes\28\29\20const +10269:SkRuntimeShader::~SkRuntimeShader\28\29.1 +10270:SkRuntimeShader::type\28\29\20const +10271:SkRuntimeShader::isOpaque\28\29\20const +10272:SkRuntimeShader::getTypeName\28\29\20const +10273:SkRuntimeShader::flatten\28SkWriteBuffer&\29\20const +10274:SkRuntimeShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10275:SkRuntimeEffect::~SkRuntimeEffect\28\29.1 +10276:SkRuntimeEffect::MakeFromSource\28SkString\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +10277:SkRuntimeColorFilter::~SkRuntimeColorFilter\28\29.1 +10278:SkRuntimeColorFilter::~SkRuntimeColorFilter\28\29 +10279:SkRuntimeColorFilter::onIsAlphaUnchanged\28\29\20const +10280:SkRuntimeColorFilter::getTypeName\28\29\20const +10281:SkRuntimeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10282:SkRuntimeBlender::~SkRuntimeBlender\28\29.1 +10283:SkRuntimeBlender::~SkRuntimeBlender\28\29 +10284:SkRuntimeBlender::onAppendStages\28SkStageRec\20const&\29\20const +10285:SkRuntimeBlender::getTypeName\28\29\20const +10286:SkRgnClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10287:SkRgnClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10288:SkRgnClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10289:SkRgnClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10290:SkRgnClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10291:SkRgnClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10292:SkRgnBuilder::~SkRgnBuilder\28\29.1 +10293:SkRgnBuilder::blitH\28int\2c\20int\2c\20int\29 +10294:SkResourceCache::SetTotalByteLimit\28unsigned\20long\29 +10295:SkResourceCache::GetTotalBytesUsed\28\29 +10296:SkResourceCache::GetTotalByteLimit\28\29 +10297:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29.1 +10298:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29 +10299:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::data\28int\29\20const +10300:SkRefCntSet::~SkRefCntSet\28\29.1 +10301:SkRefCntSet::incPtr\28void*\29 +10302:SkRefCntSet::decPtr\28void*\29 +10303:SkRectClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10304:SkRectClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10305:SkRectClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10306:SkRectClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10307:SkRectClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10308:SkRectClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10309:SkRecorder::~SkRecorder\28\29.1 +10310:SkRecorder::~SkRecorder\28\29 +10311:SkRecorder::willSave\28\29 +10312:SkRecorder::onResetClip\28\29 +10313:SkRecorder::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10314:SkRecorder::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10315:SkRecorder::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10316:SkRecorder::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10317:SkRecorder::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10318:SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10319:SkRecorder::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10320:SkRecorder::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10321:SkRecorder::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10322:SkRecorder::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10323:SkRecorder::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10324:SkRecorder::onDrawPaint\28SkPaint\20const&\29 +10325:SkRecorder::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10326:SkRecorder::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +10327:SkRecorder::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10328:SkRecorder::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10329:SkRecorder::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10330:SkRecorder::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10331:SkRecorder::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10332:SkRecorder::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10333:SkRecorder::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10334:SkRecorder::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10335:SkRecorder::onDrawBehind\28SkPaint\20const&\29 +10336:SkRecorder::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10337:SkRecorder::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10338:SkRecorder::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10339:SkRecorder::onDoSaveBehind\28SkRect\20const*\29 +10340:SkRecorder::onClipShader\28sk_sp\2c\20SkClipOp\29 +10341:SkRecorder::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10342:SkRecorder::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10343:SkRecorder::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10344:SkRecorder::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10345:SkRecorder::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +10346:SkRecorder::didTranslate\28float\2c\20float\29 +10347:SkRecorder::didSetM44\28SkM44\20const&\29 +10348:SkRecorder::didScale\28float\2c\20float\29 +10349:SkRecorder::didRestore\28\29 +10350:SkRecorder::didConcat44\28SkM44\20const&\29 +10351:SkRecordedDrawable::~SkRecordedDrawable\28\29.1 +10352:SkRecordedDrawable::~SkRecordedDrawable\28\29 +10353:SkRecordedDrawable::onMakePictureSnapshot\28\29 +10354:SkRecordedDrawable::onGetBounds\28\29 +10355:SkRecordedDrawable::onDraw\28SkCanvas*\29 +10356:SkRecordedDrawable::onApproximateBytesUsed\28\29 +10357:SkRecordedDrawable::getTypeName\28\29\20const +10358:SkRecordedDrawable::flatten\28SkWriteBuffer&\29\20const +10359:SkRecord::~SkRecord\28\29.1 +10360:SkRecord::~SkRecord\28\29 +10361:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29.1 +10362:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29 +10363:SkRasterPipelineSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +10364:SkRasterPipelineSpriteBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10365:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29.1 +10366:SkRasterPipelineBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10367:SkRasterPipelineBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10368:SkRasterPipelineBlitter::blitH\28int\2c\20int\2c\20int\29 +10369:SkRasterPipelineBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10370:SkRasterPipelineBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10371:SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10372:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_3::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10373:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_2::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10374:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_1::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10375:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_0::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10376:SkRadialGradient::getTypeName\28\29\20const +10377:SkRadialGradient::flatten\28SkWriteBuffer&\29\20const +10378:SkRadialGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10379:SkRadialGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +10380:SkRTree::~SkRTree\28\29.1 +10381:SkRTree::~SkRTree\28\29 +10382:SkRTree::search\28SkRect\20const&\2c\20std::__2::vector>*\29\20const +10383:SkRTree::insert\28SkRect\20const*\2c\20int\29 +10384:SkRTree::bytesUsed\28\29\20const +10385:SkPtrSet::~SkPtrSet\28\29 +10386:SkPngNormalDecoder::~SkPngNormalDecoder\28\29 +10387:SkPngNormalDecoder::setRange\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +10388:SkPngNormalDecoder::decode\28int*\29 +10389:SkPngNormalDecoder::decodeAllRows\28void*\2c\20unsigned\20long\2c\20int*\29 +10390:SkPngNormalDecoder::RowCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +10391:SkPngNormalDecoder::AllRowsCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +10392:SkPngInterlacedDecoder::~SkPngInterlacedDecoder\28\29.1 +10393:SkPngInterlacedDecoder::~SkPngInterlacedDecoder\28\29 +10394:SkPngInterlacedDecoder::setRange\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +10395:SkPngInterlacedDecoder::decode\28int*\29 +10396:SkPngInterlacedDecoder::decodeAllRows\28void*\2c\20unsigned\20long\2c\20int*\29 +10397:SkPngInterlacedDecoder::InterlacedRowCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +10398:SkPngEncoderImpl::~SkPngEncoderImpl\28\29.1 +10399:SkPngEncoderImpl::~SkPngEncoderImpl\28\29 +10400:SkPngEncoderImpl::onEncodeRows\28int\29 +10401:SkPngDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10402:SkPngCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10403:SkPngCodec::onRewind\28\29 +10404:SkPngCodec::onIncrementalDecode\28int*\29 +10405:SkPngCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10406:SkPngCodec::getSampler\28bool\29 +10407:SkPngCodec::createColorTable\28SkImageInfo\20const&\29 +10408:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_2::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10409:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_1::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10410:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_0::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10411:SkPixelRef::~SkPixelRef\28\29.1 +10412:SkPictureShader::~SkPictureShader\28\29.1 +10413:SkPictureShader::~SkPictureShader\28\29 +10414:SkPictureShader::type\28\29\20const +10415:SkPictureShader::getTypeName\28\29\20const +10416:SkPictureShader::flatten\28SkWriteBuffer&\29\20const +10417:SkPictureShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10418:SkPictureRecorder*\20emscripten::internal::operator_new\28\29 +10419:SkPictureRecord::~SkPictureRecord\28\29.1 +10420:SkPictureRecord::willSave\28\29 +10421:SkPictureRecord::willRestore\28\29 +10422:SkPictureRecord::onResetClip\28\29 +10423:SkPictureRecord::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10424:SkPictureRecord::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10425:SkPictureRecord::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10426:SkPictureRecord::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10427:SkPictureRecord::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10428:SkPictureRecord::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10429:SkPictureRecord::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10430:SkPictureRecord::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10431:SkPictureRecord::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10432:SkPictureRecord::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10433:SkPictureRecord::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10434:SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +10435:SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10436:SkPictureRecord::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10437:SkPictureRecord::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10438:SkPictureRecord::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10439:SkPictureRecord::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10440:SkPictureRecord::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10441:SkPictureRecord::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10442:SkPictureRecord::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10443:SkPictureRecord::onDrawBehind\28SkPaint\20const&\29 +10444:SkPictureRecord::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10445:SkPictureRecord::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10446:SkPictureRecord::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10447:SkPictureRecord::onDoSaveBehind\28SkRect\20const*\29 +10448:SkPictureRecord::onClipShader\28sk_sp\2c\20SkClipOp\29 +10449:SkPictureRecord::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10450:SkPictureRecord::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10451:SkPictureRecord::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10452:SkPictureRecord::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10453:SkPictureRecord::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +10454:SkPictureRecord::didTranslate\28float\2c\20float\29 +10455:SkPictureRecord::didSetM44\28SkM44\20const&\29 +10456:SkPictureRecord::didScale\28float\2c\20float\29 +10457:SkPictureRecord::didConcat44\28SkM44\20const&\29 +10458:SkPictureData::serialize\28SkWStream*\2c\20SkSerialProcs\20const&\2c\20SkRefCntSet*\2c\20bool\29\20const::DevNull::write\28void\20const*\2c\20unsigned\20long\29 +10459:SkPerlinNoiseShader::~SkPerlinNoiseShader\28\29.1 +10460:SkPerlinNoiseShader::~SkPerlinNoiseShader\28\29 +10461:SkPerlinNoiseShader::type\28\29\20const +10462:SkPerlinNoiseShader::getTypeName\28\29\20const +10463:SkPerlinNoiseShader::flatten\28SkWriteBuffer&\29\20const +10464:SkPerlinNoiseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10465:SkPath::setIsVolatile\28bool\29 +10466:SkPath::setFillType\28SkPathFillType\29 +10467:SkPath::isVolatile\28\29\20const +10468:SkPath::getFillType\28\29\20const +10469:SkPath2DPathEffectImpl::~SkPath2DPathEffectImpl\28\29.1 +10470:SkPath2DPathEffectImpl::~SkPath2DPathEffectImpl\28\29 +10471:SkPath2DPathEffectImpl::next\28SkPoint\20const&\2c\20int\2c\20int\2c\20SkPath*\29\20const +10472:SkPath2DPathEffectImpl::getTypeName\28\29\20const +10473:SkPath2DPathEffectImpl::getFactory\28\29\20const +10474:SkPath2DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10475:SkPath2DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10476:SkPath1DPathEffectImpl::~SkPath1DPathEffectImpl\28\29.1 +10477:SkPath1DPathEffectImpl::~SkPath1DPathEffectImpl\28\29 +10478:SkPath1DPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10479:SkPath1DPathEffectImpl::next\28SkPath*\2c\20float\2c\20SkPathMeasure&\29\20const +10480:SkPath1DPathEffectImpl::getTypeName\28\29\20const +10481:SkPath1DPathEffectImpl::getFactory\28\29\20const +10482:SkPath1DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10483:SkPath1DPathEffectImpl::begin\28float\29\20const +10484:SkPath1DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10485:SkPath1DPathEffect::Make\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29 +10486:SkPath*\20emscripten::internal::operator_new\28\29 +10487:SkPairPathEffect::~SkPairPathEffect\28\29.1 +10488:SkPaint::setDither\28bool\29 +10489:SkPaint::setAntiAlias\28bool\29 +10490:SkPaint::getStrokeMiter\28\29\20const +10491:SkPaint::getStrokeJoin\28\29\20const +10492:SkPaint::getStrokeCap\28\29\20const +10493:SkPaint*\20emscripten::internal::operator_new\28\29 +10494:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29.1 +10495:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29 +10496:SkOTUtils::LocalizedStrings_SingleName::next\28SkTypeface::LocalizedString*\29 +10497:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29.1 +10498:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29 +10499:SkOTUtils::LocalizedStrings_NameTable::next\28SkTypeface::LocalizedString*\29 +10500:SkNoPixelsDevice::~SkNoPixelsDevice\28\29.1 +10501:SkNoPixelsDevice::~SkNoPixelsDevice\28\29 +10502:SkNoPixelsDevice::replaceClip\28SkIRect\20const&\29 +10503:SkNoPixelsDevice::pushClipStack\28\29 +10504:SkNoPixelsDevice::popClipStack\28\29 +10505:SkNoPixelsDevice::onClipShader\28sk_sp\29 +10506:SkNoPixelsDevice::isClipWideOpen\28\29\20const +10507:SkNoPixelsDevice::isClipRect\28\29\20const +10508:SkNoPixelsDevice::isClipEmpty\28\29\20const +10509:SkNoPixelsDevice::isClipAntiAliased\28\29\20const +10510:SkNoPixelsDevice::devClipBounds\28\29\20const +10511:SkNoPixelsDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10512:SkNoPixelsDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +10513:SkNoPixelsDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +10514:SkNoPixelsDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +10515:SkNoPixelsDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +10516:SkNoDrawCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10517:SkNoDrawCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10518:SkMipmap::~SkMipmap\28\29.1 +10519:SkMipmap::~SkMipmap\28\29 +10520:SkMipmap::onDataChange\28void*\2c\20void*\29 +10521:SkMemoryStream::~SkMemoryStream\28\29.1 +10522:SkMemoryStream::~SkMemoryStream\28\29 +10523:SkMemoryStream::setMemory\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +10524:SkMemoryStream::seek\28unsigned\20long\29 +10525:SkMemoryStream::rewind\28\29 +10526:SkMemoryStream::read\28void*\2c\20unsigned\20long\29 +10527:SkMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +10528:SkMemoryStream::onFork\28\29\20const +10529:SkMemoryStream::onDuplicate\28\29\20const +10530:SkMemoryStream::move\28long\29 +10531:SkMemoryStream::isAtEnd\28\29\20const +10532:SkMemoryStream::getMemoryBase\28\29 +10533:SkMemoryStream::getLength\28\29\20const +10534:SkMemoryStream::getData\28\29\20const +10535:SkMatrixColorFilter::onIsAlphaUnchanged\28\29\20const +10536:SkMatrixColorFilter::onAsAColorMatrix\28float*\29\20const +10537:SkMatrixColorFilter::getTypeName\28\29\20const +10538:SkMatrixColorFilter::flatten\28SkWriteBuffer&\29\20const +10539:SkMatrixColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10540:SkMatrix::Trans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10541:SkMatrix::Trans_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10542:SkMatrix::Scale_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10543:SkMatrix::Scale_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10544:SkMatrix::ScaleTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10545:SkMatrix::Poly4Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +10546:SkMatrix::Poly3Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +10547:SkMatrix::Poly2Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +10548:SkMatrix::Persp_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10549:SkMatrix::Persp_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10550:SkMatrix::Identity_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +10551:SkMatrix::Identity_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10552:SkMatrix::Affine_vpts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +10553:SkMaskSwizzler::onSetSampleX\28int\29 +10554:SkMaskFilterBase::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10555:SkMaskFilterBase::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10556:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29.1 +10557:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29 +10558:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29.1 +10559:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29 +10560:SkLumaColorFilter::Make\28\29 +10561:SkLocalMatrixShader::~SkLocalMatrixShader\28\29.1 +10562:SkLocalMatrixShader::~SkLocalMatrixShader\28\29 +10563:SkLocalMatrixShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +10564:SkLocalMatrixShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10565:SkLocalMatrixShader::makeAsALocalMatrixShader\28SkMatrix*\29\20const +10566:SkLocalMatrixShader::isOpaque\28\29\20const +10567:SkLocalMatrixShader::isConstant\28\29\20const +10568:SkLocalMatrixShader::getTypeName\28\29\20const +10569:SkLocalMatrixShader::flatten\28SkWriteBuffer&\29\20const +10570:SkLocalMatrixShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10571:SkLocalMatrixShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10572:SkLinearGradient::getTypeName\28\29\20const +10573:SkLinearGradient::flatten\28SkWriteBuffer&\29\20const +10574:SkLinearGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10575:SkLine2DPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10576:SkLine2DPathEffectImpl::nextSpan\28int\2c\20int\2c\20int\2c\20SkPath*\29\20const +10577:SkLine2DPathEffectImpl::getTypeName\28\29\20const +10578:SkLine2DPathEffectImpl::getFactory\28\29\20const +10579:SkLine2DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10580:SkLine2DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10581:SkJpegMetadataDecoderImpl::~SkJpegMetadataDecoderImpl\28\29.1 +10582:SkJpegMetadataDecoderImpl::~SkJpegMetadataDecoderImpl\28\29 +10583:SkJpegMetadataDecoderImpl::getISOGainmapMetadata\28bool\29\20const +10584:SkJpegMetadataDecoderImpl::getICCProfileData\28bool\29\20const +10585:SkJpegMetadataDecoderImpl::getExifMetadata\28bool\29\20const +10586:SkJpegMemorySourceMgr::skipInputBytes\28unsigned\20long\2c\20unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10587:SkJpegMemorySourceMgr::initSource\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10588:SkJpegDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10589:SkJpegCodec::~SkJpegCodec\28\29.1 +10590:SkJpegCodec::~SkJpegCodec\28\29 +10591:SkJpegCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10592:SkJpegCodec::onSkipScanlines\28int\29 +10593:SkJpegCodec::onRewind\28\29 +10594:SkJpegCodec::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +10595:SkJpegCodec::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +10596:SkJpegCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +10597:SkJpegCodec::onGetScaledDimensions\28float\29\20const +10598:SkJpegCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10599:SkJpegCodec::onDimensionsSupported\28SkISize\20const&\29 +10600:SkJpegCodec::getSampler\28bool\29 +10601:SkJpegCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +10602:SkJpegBufferedSourceMgr::~SkJpegBufferedSourceMgr\28\29.1 +10603:SkJpegBufferedSourceMgr::~SkJpegBufferedSourceMgr\28\29 +10604:SkJpegBufferedSourceMgr::skipInputBytes\28unsigned\20long\2c\20unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10605:SkJpegBufferedSourceMgr::initSource\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10606:SkJpegBufferedSourceMgr::fillInputBuffer\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +10607:SkImage_Raster::~SkImage_Raster\28\29.1 +10608:SkImage_Raster::~SkImage_Raster\28\29 +10609:SkImage_Raster::onReinterpretColorSpace\28sk_sp\29\20const +10610:SkImage_Raster::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +10611:SkImage_Raster::onPeekPixels\28SkPixmap*\29\20const +10612:SkImage_Raster::onMakeWithMipmaps\28sk_sp\29\20const +10613:SkImage_Raster::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10614:SkImage_Raster::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10615:SkImage_Raster::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +10616:SkImage_Raster::onHasMipmaps\28\29\20const +10617:SkImage_Raster::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +10618:SkImage_Raster::notifyAddedToRasterCache\28\29\20const +10619:SkImage_Raster::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +10620:SkImage_LazyTexture::readPixelsProxy\28GrDirectContext*\2c\20SkPixmap\20const&\29\20const +10621:SkImage_LazyTexture::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10622:SkImage_Lazy::~SkImage_Lazy\28\29 +10623:SkImage_Lazy::onReinterpretColorSpace\28sk_sp\29\20const +10624:SkImage_Lazy::onRefEncoded\28\29\20const +10625:SkImage_Lazy::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +10626:SkImage_Lazy::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10627:SkImage_Lazy::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10628:SkImage_Lazy::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +10629:SkImage_Lazy::onIsProtected\28\29\20const +10630:SkImage_Lazy::isValid\28GrRecordingContext*\29\20const +10631:SkImage_Lazy::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +10632:SkImage_GaneshBase::~SkImage_GaneshBase\28\29 +10633:SkImage_GaneshBase::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +10634:SkImage_GaneshBase::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +10635:SkImage_GaneshBase::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10636:SkImage_GaneshBase::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10637:SkImage_GaneshBase::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +10638:SkImage_GaneshBase::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +10639:SkImage_GaneshBase::isValid\28GrRecordingContext*\29\20const +10640:SkImage_GaneshBase::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +10641:SkImage_GaneshBase::directContext\28\29\20const +10642:SkImage_Ganesh::~SkImage_Ganesh\28\29.1 +10643:SkImage_Ganesh::textureSize\28\29\20const +10644:SkImage_Ganesh::onReinterpretColorSpace\28sk_sp\29\20const +10645:SkImage_Ganesh::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +10646:SkImage_Ganesh::onIsProtected\28\29\20const +10647:SkImage_Ganesh::onHasMipmaps\28\29\20const +10648:SkImage_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +10649:SkImage_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +10650:SkImage_Ganesh::generatingSurfaceIsDeleted\28\29 +10651:SkImage_Ganesh::flush\28GrDirectContext*\2c\20GrFlushInfo\20const&\29\20const +10652:SkImage_Ganesh::asView\28GrRecordingContext*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29\20const +10653:SkImage_Ganesh::asFragmentProcessor\28GrRecordingContext*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29\20const +10654:SkImage_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +10655:SkImage_Base::notifyAddedToRasterCache\28\29\20const +10656:SkImage_Base::makeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +10657:SkImage_Base::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +10658:SkImage_Base::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +10659:SkImage_Base::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +10660:SkImage_Base::makeColorSpace\28skgpu::graphite::Recorder*\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +10661:SkImage_Base::makeColorSpace\28GrDirectContext*\2c\20sk_sp\29\20const +10662:SkImage_Base::isTextureBacked\28\29\20const +10663:SkImage_Base::isLazyGenerated\28\29\20const +10664:SkImageShader::~SkImageShader\28\29.1 +10665:SkImageShader::~SkImageShader\28\29 +10666:SkImageShader::type\28\29\20const +10667:SkImageShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +10668:SkImageShader::isOpaque\28\29\20const +10669:SkImageShader::getTypeName\28\29\20const +10670:SkImageShader::flatten\28SkWriteBuffer&\29\20const +10671:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10672:SkImageGenerator::~SkImageGenerator\28\29 +10673:SkImageFilters::Compose\28sk_sp\2c\20sk_sp\29 +10674:SkImage::~SkImage\28\29 +10675:SkIcoDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10676:SkIcoCodec::~SkIcoCodec\28\29.1 +10677:SkIcoCodec::~SkIcoCodec\28\29 +10678:SkIcoCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10679:SkIcoCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10680:SkIcoCodec::onSkipScanlines\28int\29 +10681:SkIcoCodec::onIncrementalDecode\28int*\29 +10682:SkIcoCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +10683:SkIcoCodec::onGetScanlineOrder\28\29\20const +10684:SkIcoCodec::onGetScaledDimensions\28float\29\20const +10685:SkIcoCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10686:SkIcoCodec::onDimensionsSupported\28SkISize\20const&\29 +10687:SkIcoCodec::getSampler\28bool\29 +10688:SkIcoCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +10689:SkGradientBaseShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10690:SkGradientBaseShader::isOpaque\28\29\20const +10691:SkGradientBaseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10692:SkGifDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10693:SkGaussianColorFilter::getTypeName\28\29\20const +10694:SkGaussianColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10695:SkGammaColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +10696:SkGammaColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +10697:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29.1 +10698:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29 +10699:SkFontStyleSet_Custom::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +10700:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29.1 +10701:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29 +10702:SkFontScanner_FreeType::scanFile\28SkStreamAsset*\2c\20int*\29\20const +10703:SkFontScanner_FreeType::scanFace\28SkStreamAsset*\2c\20int\2c\20int*\29\20const +10704:SkFontMgr_Custom::~SkFontMgr_Custom\28\29.1 +10705:SkFontMgr_Custom::~SkFontMgr_Custom\28\29 +10706:SkFontMgr_Custom::onMatchFamily\28char\20const*\29\20const +10707:SkFontMgr_Custom::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +10708:SkFontMgr_Custom::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +10709:SkFontMgr_Custom::onMakeFromStreamArgs\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +10710:SkFontMgr_Custom::onMakeFromFile\28char\20const*\2c\20int\29\20const +10711:SkFontMgr_Custom::onMakeFromData\28sk_sp\2c\20int\29\20const +10712:SkFontMgr_Custom::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +10713:SkFontMgr_Custom::onGetFamilyName\28int\2c\20SkString*\29\20const +10714:SkFont::setScaleX\28float\29 +10715:SkFont::setEmbeddedBitmaps\28bool\29 +10716:SkFont::isEmbolden\28\29\20const +10717:SkFont::getSkewX\28\29\20const +10718:SkFont::getSize\28\29\20const +10719:SkFont::getScaleX\28\29\20const +10720:SkFont*\20emscripten::internal::operator_new\2c\20float\2c\20float\2c\20float>\28sk_sp&&\2c\20float&&\2c\20float&&\2c\20float&&\29 +10721:SkFont*\20emscripten::internal::operator_new\2c\20float>\28sk_sp&&\2c\20float&&\29 +10722:SkFont*\20emscripten::internal::operator_new>\28sk_sp&&\29 +10723:SkFont*\20emscripten::internal::operator_new\28\29 +10724:SkFILEStream::~SkFILEStream\28\29.1 +10725:SkFILEStream::~SkFILEStream\28\29 +10726:SkFILEStream::seek\28unsigned\20long\29 +10727:SkFILEStream::rewind\28\29 +10728:SkFILEStream::read\28void*\2c\20unsigned\20long\29 +10729:SkFILEStream::onFork\28\29\20const +10730:SkFILEStream::onDuplicate\28\29\20const +10731:SkFILEStream::move\28long\29 +10732:SkFILEStream::isAtEnd\28\29\20const +10733:SkFILEStream::getPosition\28\29\20const +10734:SkFILEStream::getLength\28\29\20const +10735:SkEncoder::~SkEncoder\28\29 +10736:SkEmptyShader::getTypeName\28\29\20const +10737:SkEmptyPicture::~SkEmptyPicture\28\29 +10738:SkEmptyPicture::cullRect\28\29\20const +10739:SkEmptyFontMgr::onMatchFamily\28char\20const*\29\20const +10740:SkEdgeBuilder::~SkEdgeBuilder\28\29 +10741:SkEdgeBuilder::build\28SkPath\20const&\2c\20SkIRect\20const*\2c\20bool\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +10742:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29.1 +10743:SkDrawable::onMakePictureSnapshot\28\29 +10744:SkDrawBase::~SkDrawBase\28\29 +10745:SkDraw::paintMasks\28SkZip\2c\20SkPaint\20const&\29\20const +10746:SkDiscretePathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10747:SkDiscretePathEffectImpl::getTypeName\28\29\20const +10748:SkDiscretePathEffectImpl::getFactory\28\29\20const +10749:SkDiscretePathEffectImpl::computeFastBounds\28SkRect*\29\20const +10750:SkDiscretePathEffectImpl::CreateProc\28SkReadBuffer&\29 +10751:SkDevice::~SkDevice\28\29 +10752:SkDevice::strikeDeviceInfo\28\29\20const +10753:SkDevice::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10754:SkDevice::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10755:SkDevice::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20sk_sp\2c\20SkPaint\20const&\29 +10756:SkDevice::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +10757:SkDevice::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10758:SkDevice::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10759:SkDevice::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10760:SkDevice::drawCoverageMask\28SkSpecialImage\20const*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +10761:SkDevice::drawBlurredRRect\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20float\29 +10762:SkDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +10763:SkDevice::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10764:SkDevice::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +10765:SkDashImpl::~SkDashImpl\28\29.1 +10766:SkDashImpl::~SkDashImpl\28\29 +10767:SkDashImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10768:SkDashImpl::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +10769:SkDashImpl::onAsADash\28SkPathEffect::DashInfo*\29\20const +10770:SkDashImpl::getTypeName\28\29\20const +10771:SkDashImpl::flatten\28SkWriteBuffer&\29\20const +10772:SkCustomTypefaceBuilder::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +10773:SkCornerPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10774:SkCornerPathEffectImpl::getTypeName\28\29\20const +10775:SkCornerPathEffectImpl::getFactory\28\29\20const +10776:SkCornerPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +10777:SkCornerPathEffectImpl::CreateProc\28SkReadBuffer&\29 +10778:SkCornerPathEffect::Make\28float\29 +10779:SkContourMeasureIter*\20emscripten::internal::operator_new\28SkPath\20const&\2c\20bool&&\2c\20float&&\29 +10780:SkContourMeasure::~SkContourMeasure\28\29.1 +10781:SkContourMeasure::~SkContourMeasure\28\29 +10782:SkContourMeasure::isClosed\28\29\20const +10783:SkConicalGradient::getTypeName\28\29\20const +10784:SkConicalGradient::flatten\28SkWriteBuffer&\29\20const +10785:SkConicalGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10786:SkConicalGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +10787:SkComposePathEffect::~SkComposePathEffect\28\29 +10788:SkComposePathEffect::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +10789:SkComposePathEffect::getTypeName\28\29\20const +10790:SkComposePathEffect::computeFastBounds\28SkRect*\29\20const +10791:SkComposeColorFilter::onIsAlphaUnchanged\28\29\20const +10792:SkComposeColorFilter::getTypeName\28\29\20const +10793:SkComposeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10794:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29.1 +10795:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29 +10796:SkColorSpaceXformColorFilter::getTypeName\28\29\20const +10797:SkColorSpaceXformColorFilter::flatten\28SkWriteBuffer&\29\20const +10798:SkColorSpaceXformColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10799:SkColorShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10800:SkColorShader::isOpaque\28\29\20const +10801:SkColorShader::getTypeName\28\29\20const +10802:SkColorShader::flatten\28SkWriteBuffer&\29\20const +10803:SkColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10804:SkColorPalette::~SkColorPalette\28\29.1 +10805:SkColorPalette::~SkColorPalette\28\29 +10806:SkColorFilters::SRGBToLinearGamma\28\29 +10807:SkColorFilters::LinearToSRGBGamma\28\29 +10808:SkColorFilters::Lerp\28float\2c\20sk_sp\2c\20sk_sp\29 +10809:SkColorFilters::Compose\28sk_sp\20const&\2c\20sk_sp\29 +10810:SkColorFilterShader::~SkColorFilterShader\28\29.1 +10811:SkColorFilterShader::~SkColorFilterShader\28\29 +10812:SkColorFilterShader::isOpaque\28\29\20const +10813:SkColorFilterShader::getTypeName\28\29\20const +10814:SkColorFilterShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10815:SkColorFilterBase::onFilterColor4f\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkColorSpace*\29\20const +10816:SkColor4Shader::~SkColor4Shader\28\29.1 +10817:SkColor4Shader::~SkColor4Shader\28\29 +10818:SkColor4Shader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +10819:SkColor4Shader::isOpaque\28\29\20const +10820:SkColor4Shader::getTypeName\28\29\20const +10821:SkColor4Shader::flatten\28SkWriteBuffer&\29\20const +10822:SkColor4Shader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10823:SkCodecImageGenerator::~SkCodecImageGenerator\28\29.1 +10824:SkCodecImageGenerator::~SkCodecImageGenerator\28\29 +10825:SkCodecImageGenerator::onRefEncodedData\28\29 +10826:SkCodecImageGenerator::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +10827:SkCodecImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +10828:SkCodecImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +10829:SkCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10830:SkCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10831:SkCodec::onOutputScanline\28int\29\20const +10832:SkCodec::onGetScaledDimensions\28float\29\20const +10833:SkCodec::getEncodedData\28\29\20const +10834:SkCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +10835:SkCanvas::rotate\28float\2c\20float\2c\20float\29 +10836:SkCanvas::recordingContext\28\29\20const +10837:SkCanvas::recorder\28\29\20const +10838:SkCanvas::onPeekPixels\28SkPixmap*\29 +10839:SkCanvas::onNewSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +10840:SkCanvas::onImageInfo\28\29\20const +10841:SkCanvas::onGetProps\28SkSurfaceProps*\2c\20bool\29\20const +10842:SkCanvas::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10843:SkCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10844:SkCanvas::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10845:SkCanvas::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10846:SkCanvas::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10847:SkCanvas::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10848:SkCanvas::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10849:SkCanvas::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10850:SkCanvas::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10851:SkCanvas::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10852:SkCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10853:SkCanvas::onDrawPaint\28SkPaint\20const&\29 +10854:SkCanvas::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10855:SkCanvas::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +10856:SkCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10857:SkCanvas::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10858:SkCanvas::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10859:SkCanvas::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10860:SkCanvas::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10861:SkCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10862:SkCanvas::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10863:SkCanvas::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10864:SkCanvas::onDrawBehind\28SkPaint\20const&\29 +10865:SkCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10866:SkCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10867:SkCanvas::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10868:SkCanvas::onDiscard\28\29 +10869:SkCanvas::onConvertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10870:SkCanvas::onAccessTopLayerPixels\28SkPixmap*\29 +10871:SkCanvas::isClipRect\28\29\20const +10872:SkCanvas::isClipEmpty\28\29\20const +10873:SkCanvas::getSaveCount\28\29\20const +10874:SkCanvas::getBaseLayerSize\28\29\20const +10875:SkCanvas::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10876:SkCanvas::drawPicture\28sk_sp\20const&\29 +10877:SkCanvas::drawCircle\28float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10878:SkCanvas*\20emscripten::internal::operator_new\28float&&\2c\20float&&\29 +10879:SkCanvas*\20emscripten::internal::operator_new\28\29 +10880:SkCachedData::~SkCachedData\28\29.1 +10881:SkCTMShader::~SkCTMShader\28\29 +10882:SkCTMShader::isConstant\28\29\20const +10883:SkCTMShader::getTypeName\28\29\20const +10884:SkCTMShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10885:SkCTMShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10886:SkBreakIterator_icu::~SkBreakIterator_icu\28\29.1 +10887:SkBreakIterator_icu::~SkBreakIterator_icu\28\29 +10888:SkBreakIterator_icu::status\28\29 +10889:SkBreakIterator_icu::setText\28char\20const*\2c\20int\29 +10890:SkBreakIterator_icu::setText\28char16_t\20const*\2c\20int\29 +10891:SkBreakIterator_icu::next\28\29 +10892:SkBreakIterator_icu::isDone\28\29 +10893:SkBreakIterator_icu::first\28\29 +10894:SkBreakIterator_icu::current\28\29 +10895:SkBmpStandardCodec::~SkBmpStandardCodec\28\29.1 +10896:SkBmpStandardCodec::~SkBmpStandardCodec\28\29 +10897:SkBmpStandardCodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10898:SkBmpStandardCodec::onInIco\28\29\20const +10899:SkBmpStandardCodec::getSampler\28bool\29 +10900:SkBmpStandardCodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10901:SkBmpRLESampler::onSetSampleX\28int\29 +10902:SkBmpRLESampler::fillWidth\28\29\20const +10903:SkBmpRLECodec::~SkBmpRLECodec\28\29.1 +10904:SkBmpRLECodec::~SkBmpRLECodec\28\29 +10905:SkBmpRLECodec::skipRows\28int\29 +10906:SkBmpRLECodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10907:SkBmpRLECodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +10908:SkBmpRLECodec::getSampler\28bool\29 +10909:SkBmpRLECodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10910:SkBmpMaskCodec::~SkBmpMaskCodec\28\29.1 +10911:SkBmpMaskCodec::~SkBmpMaskCodec\28\29 +10912:SkBmpMaskCodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +10913:SkBmpMaskCodec::getSampler\28bool\29 +10914:SkBmpMaskCodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +10915:SkBmpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +10916:SkBmpCodec::~SkBmpCodec\28\29 +10917:SkBmpCodec::skipRows\28int\29 +10918:SkBmpCodec::onSkipScanlines\28int\29 +10919:SkBmpCodec::onRewind\28\29 +10920:SkBmpCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +10921:SkBmpCodec::onGetScanlineOrder\28\29\20const +10922:SkBlurMaskFilterImpl::getTypeName\28\29\20const +10923:SkBlurMaskFilterImpl::flatten\28SkWriteBuffer&\29\20const +10924:SkBlurMaskFilterImpl::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10925:SkBlurMaskFilterImpl::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +10926:SkBlurMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +10927:SkBlurMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +10928:SkBlurMaskFilterImpl::asImageFilter\28SkMatrix\20const&\29\20const +10929:SkBlurMaskFilterImpl::asABlur\28SkMaskFilterBase::BlurRec*\29\20const +10930:SkBlockMemoryStream::~SkBlockMemoryStream\28\29.1 +10931:SkBlockMemoryStream::~SkBlockMemoryStream\28\29 +10932:SkBlockMemoryStream::seek\28unsigned\20long\29 +10933:SkBlockMemoryStream::rewind\28\29 +10934:SkBlockMemoryStream::read\28void*\2c\20unsigned\20long\29 +10935:SkBlockMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +10936:SkBlockMemoryStream::onFork\28\29\20const +10937:SkBlockMemoryStream::onDuplicate\28\29\20const +10938:SkBlockMemoryStream::move\28long\29 +10939:SkBlockMemoryStream::isAtEnd\28\29\20const +10940:SkBlockMemoryStream::getMemoryBase\28\29 +10941:SkBlockMemoryRefCnt::~SkBlockMemoryRefCnt\28\29.1 +10942:SkBlockMemoryRefCnt::~SkBlockMemoryRefCnt\28\29 +10943:SkBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10944:SkBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10945:SkBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10946:SkBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10947:SkBlitter::allocBlitMemory\28unsigned\20long\29 +10948:SkBlenderBase::asBlendMode\28\29\20const +10949:SkBlendShader::getTypeName\28\29\20const +10950:SkBlendShader::flatten\28SkWriteBuffer&\29\20const +10951:SkBlendShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10952:SkBlendModeColorFilter::onIsAlphaUnchanged\28\29\20const +10953:SkBlendModeColorFilter::onAsAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +10954:SkBlendModeColorFilter::getTypeName\28\29\20const +10955:SkBlendModeColorFilter::flatten\28SkWriteBuffer&\29\20const +10956:SkBlendModeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +10957:SkBlendModeBlender::onAppendStages\28SkStageRec\20const&\29\20const +10958:SkBlendModeBlender::getTypeName\28\29\20const +10959:SkBlendModeBlender::flatten\28SkWriteBuffer&\29\20const +10960:SkBlendModeBlender::asBlendMode\28\29\20const +10961:SkBitmapDevice::~SkBitmapDevice\28\29.1 +10962:SkBitmapDevice::~SkBitmapDevice\28\29 +10963:SkBitmapDevice::snapSpecial\28SkIRect\20const&\2c\20bool\29 +10964:SkBitmapDevice::setImmutable\28\29 +10965:SkBitmapDevice::replaceClip\28SkIRect\20const&\29 +10966:SkBitmapDevice::pushClipStack\28\29 +10967:SkBitmapDevice::popClipStack\28\29 +10968:SkBitmapDevice::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +10969:SkBitmapDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +10970:SkBitmapDevice::onPeekPixels\28SkPixmap*\29 +10971:SkBitmapDevice::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10972:SkBitmapDevice::onClipShader\28sk_sp\29 +10973:SkBitmapDevice::onAccessPixels\28SkPixmap*\29 +10974:SkBitmapDevice::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +10975:SkBitmapDevice::makeSpecial\28SkImage\20const*\29 +10976:SkBitmapDevice::makeSpecial\28SkBitmap\20const&\29 +10977:SkBitmapDevice::isClipWideOpen\28\29\20const +10978:SkBitmapDevice::isClipRect\28\29\20const +10979:SkBitmapDevice::isClipEmpty\28\29\20const +10980:SkBitmapDevice::isClipAntiAliased\28\29\20const +10981:SkBitmapDevice::getRasterHandle\28\29\20const +10982:SkBitmapDevice::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +10983:SkBitmapDevice::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10984:SkBitmapDevice::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10985:SkBitmapDevice::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10986:SkBitmapDevice::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10987:SkBitmapDevice::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +10988:SkBitmapDevice::drawPaint\28SkPaint\20const&\29 +10989:SkBitmapDevice::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10990:SkBitmapDevice::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +10991:SkBitmapDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +10992:SkBitmapDevice::devClipBounds\28\29\20const +10993:SkBitmapDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +10994:SkBitmapDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10995:SkBitmapDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +10996:SkBitmapDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +10997:SkBitmapDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +10998:SkBitmapDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +10999:SkBitmapCache::Rec::~Rec\28\29.1 +11000:SkBitmapCache::Rec::~Rec\28\29 +11001:SkBitmapCache::Rec::postAddInstall\28void*\29 +11002:SkBitmapCache::Rec::getCategory\28\29\20const +11003:SkBitmapCache::Rec::canBePurged\28\29 +11004:SkBitmapCache::Rec::bytesUsed\28\29\20const +11005:SkBitmapCache::Rec::ReleaseProc\28void*\2c\20void*\29 +11006:SkBitmapCache::Rec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +11007:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29.1 +11008:SkBinaryWriteBuffer::write\28SkM44\20const&\29 +11009:SkBinaryWriteBuffer::writeTypeface\28SkTypeface*\29 +11010:SkBinaryWriteBuffer::writeString\28std::__2::basic_string_view>\29 +11011:SkBinaryWriteBuffer::writeStream\28SkStream*\2c\20unsigned\20long\29 +11012:SkBinaryWriteBuffer::writeScalar\28float\29 +11013:SkBinaryWriteBuffer::writeSampling\28SkSamplingOptions\20const&\29 +11014:SkBinaryWriteBuffer::writeRegion\28SkRegion\20const&\29 +11015:SkBinaryWriteBuffer::writeRect\28SkRect\20const&\29 +11016:SkBinaryWriteBuffer::writePoint\28SkPoint\20const&\29 +11017:SkBinaryWriteBuffer::writePointArray\28SkPoint\20const*\2c\20unsigned\20int\29 +11018:SkBinaryWriteBuffer::writePoint3\28SkPoint3\20const&\29 +11019:SkBinaryWriteBuffer::writePath\28SkPath\20const&\29 +11020:SkBinaryWriteBuffer::writePaint\28SkPaint\20const&\29 +11021:SkBinaryWriteBuffer::writePad32\28void\20const*\2c\20unsigned\20long\29 +11022:SkBinaryWriteBuffer::writeMatrix\28SkMatrix\20const&\29 +11023:SkBinaryWriteBuffer::writeImage\28SkImage\20const*\29 +11024:SkBinaryWriteBuffer::writeColor4fArray\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20unsigned\20int\29 +11025:SkBigPicture::~SkBigPicture\28\29.1 +11026:SkBigPicture::~SkBigPicture\28\29 +11027:SkBigPicture::playback\28SkCanvas*\2c\20SkPicture::AbortCallback*\29\20const +11028:SkBigPicture::cullRect\28\29\20const +11029:SkBigPicture::approximateOpCount\28bool\29\20const +11030:SkBigPicture::approximateBytesUsed\28\29\20const +11031:SkBidiICUFactory::errorName\28UErrorCode\29\20const +11032:SkBidiICUFactory::bidi_setPara\28UBiDi*\2c\20char16_t\20const*\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20UErrorCode*\29\20const +11033:SkBidiICUFactory::bidi_reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29\20const +11034:SkBidiICUFactory::bidi_openSized\28int\2c\20int\2c\20UErrorCode*\29\20const +11035:SkBidiICUFactory::bidi_getLevelAt\28UBiDi\20const*\2c\20int\29\20const +11036:SkBidiICUFactory::bidi_getLength\28UBiDi\20const*\29\20const +11037:SkBidiICUFactory::bidi_getDirection\28UBiDi\20const*\29\20const +11038:SkBidiICUFactory::bidi_close_callback\28\29\20const +11039:SkBezierCubic::Subdivide\28double\20const*\2c\20double\2c\20double*\29 +11040:SkBasicEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +11041:SkBasicEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +11042:SkBasicEdgeBuilder::addQuad\28SkPoint\20const*\29 +11043:SkBasicEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +11044:SkBasicEdgeBuilder::addLine\28SkPoint\20const*\29 +11045:SkBasicEdgeBuilder::addCubic\28SkPoint\20const*\29 +11046:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29 +11047:SkBBoxHierarchy::insert\28SkRect\20const*\2c\20SkBBoxHierarchy::Metadata\20const*\2c\20int\29 +11048:SkArenaAlloc::SkipPod\28char*\29 +11049:SkArenaAlloc::NextBlock\28char*\29 +11050:SkAnimatedImage::~SkAnimatedImage\28\29.1 +11051:SkAnimatedImage::~SkAnimatedImage\28\29 +11052:SkAnimatedImage::reset\28\29 +11053:SkAnimatedImage::onGetBounds\28\29 +11054:SkAnimatedImage::onDraw\28SkCanvas*\29 +11055:SkAnimatedImage::getRepetitionCount\28\29\20const +11056:SkAnimatedImage::getCurrentFrame\28\29 +11057:SkAnimatedImage::currentFrameDuration\28\29 +11058:SkAndroidCodecAdapter::onGetSupportedSubset\28SkIRect*\29\20const +11059:SkAndroidCodecAdapter::onGetSampledDimensions\28int\29\20const +11060:SkAndroidCodecAdapter::onGetAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +11061:SkAnalyticEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +11062:SkAnalyticEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +11063:SkAnalyticEdgeBuilder::addQuad\28SkPoint\20const*\29 +11064:SkAnalyticEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +11065:SkAnalyticEdgeBuilder::addLine\28SkPoint\20const*\29 +11066:SkAnalyticEdgeBuilder::addCubic\28SkPoint\20const*\29 +11067:SkAAClipBlitter::~SkAAClipBlitter\28\29.1 +11068:SkAAClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11069:SkAAClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11070:SkAAClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11071:SkAAClipBlitter::blitH\28int\2c\20int\2c\20int\29 +11072:SkAAClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11073:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_1::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +11074:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_0::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +11075:SkAAClip::Builder::Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11076:SkAAClip::Builder::Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11077:SkAAClip::Builder::Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11078:SkAAClip::Builder::Blitter::blitH\28int\2c\20int\2c\20int\29 +11079:SkAAClip::Builder::Blitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11080:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29.1 +11081:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29 +11082:SkA8_Coverage_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11083:SkA8_Coverage_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11084:SkA8_Coverage_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11085:SkA8_Coverage_Blitter::blitH\28int\2c\20int\2c\20int\29 +11086:SkA8_Coverage_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11087:SkA8_Blitter::~SkA8_Blitter\28\29.1 +11088:SkA8_Blitter::~SkA8_Blitter\28\29 +11089:SkA8_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11090:SkA8_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11091:SkA8_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11092:SkA8_Blitter::blitH\28int\2c\20int\2c\20int\29 +11093:SkA8_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11094:SkA8Blitter_Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +11095:Sk2DPathEffect::nextSpan\28int\2c\20int\2c\20int\2c\20SkPath*\29\20const +11096:Sk2DPathEffect::flatten\28SkWriteBuffer&\29\20const +11097:SimpleVFilter16i_C +11098:SimpleVFilter16_C +11099:SimpleTextStyle*\20emscripten::internal::raw_constructor\28\29 +11100:SimpleTextStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleTextStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle\20const&\29 +11101:SimpleStrutStyle*\20emscripten::internal::raw_constructor\28\29 +11102:SimpleStrutStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleStrutStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle\20const&\29 +11103:SimpleParagraphStyle*\20emscripten::internal::raw_constructor\28\29 +11104:SimpleHFilter16i_C +11105:SimpleHFilter16_C +11106:SimpleFontStyle*\20emscripten::internal::raw_constructor\28\29 +11107:ShaderPDXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11108:ShaderPDXferProcessor::name\28\29\20const +11109:ShaderPDXferProcessor::makeProgramImpl\28\29\20const +11110:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11111:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11112:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11113:RuntimeEffectUniform*\20emscripten::internal::raw_constructor\28\29 +11114:RuntimeEffectRPCallbacks::toLinearSrgb\28void\20const*\29 +11115:RuntimeEffectRPCallbacks::fromLinearSrgb\28void\20const*\29 +11116:RuntimeEffectRPCallbacks::appendShader\28int\29 +11117:RuntimeEffectRPCallbacks::appendColorFilter\28int\29 +11118:RuntimeEffectRPCallbacks::appendBlender\28int\29 +11119:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29 +11120:RunBasedAdditiveBlitter::getRealBlitter\28bool\29 +11121:RunBasedAdditiveBlitter::flush_if_y_changed\28int\2c\20int\29 +11122:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11123:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11124:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11125:Round_Up_To_Grid +11126:Round_To_Half_Grid +11127:Round_To_Grid +11128:Round_To_Double_Grid +11129:Round_Super_45 +11130:Round_Super +11131:Round_None +11132:Round_Down_To_Grid +11133:RoundJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11134:RoundCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +11135:Reset +11136:Read_CVT_Stretched +11137:Read_CVT +11138:RD4_C +11139:Project_y +11140:Project +11141:ProcessRows +11142:PredictorAdd9_C +11143:PredictorAdd8_C +11144:PredictorAdd7_C +11145:PredictorAdd6_C +11146:PredictorAdd5_C +11147:PredictorAdd4_C +11148:PredictorAdd3_C +11149:PredictorAdd2_C +11150:PredictorAdd1_C +11151:PredictorAdd13_C +11152:PredictorAdd12_C +11153:PredictorAdd11_C +11154:PredictorAdd10_C +11155:PredictorAdd0_C +11156:PrePostInverseBlitterProc\28SkBlitter*\2c\20int\2c\20bool\29 +11157:PorterDuffXferProcessor::onHasSecondaryOutput\28\29\20const +11158:PorterDuffXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11159:PorterDuffXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11160:PorterDuffXferProcessor::name\28\29\20const +11161:PorterDuffXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11162:PorterDuffXferProcessor::makeProgramImpl\28\29\20const +11163:ParseVP8X +11164:PackRGB_C +11165:PDLCDXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +11166:PDLCDXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11167:PDLCDXferProcessor::name\28\29\20const +11168:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +11169:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11170:PDLCDXferProcessor::makeProgramImpl\28\29\20const +11171:OT::match_glyph\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11172:OT::match_coverage\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11173:OT::match_class_cached\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11174:OT::match_class_cached2\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11175:OT::match_class_cached1\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11176:OT::match_class\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11177:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GSUB_impl::SubstLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +11178:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GPOS_impl::PosLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +11179:OT::cff1::accelerator_t::gname_t::cmp\28void\20const*\2c\20void\20const*\29 +11180:OT::Layout::Common::RangeRecord::cmp_range\28void\20const*\2c\20void\20const*\29 +11181:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +11182:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +11183:OT::CmapSubtableFormat4::accelerator_t::get_glyph_func\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +11184:Move_CVT_Stretched +11185:Move_CVT +11186:MiterJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11187:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29.1 +11188:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29 +11189:MaskAdditiveBlitter::getWidth\28\29 +11190:MaskAdditiveBlitter::getRealBlitter\28bool\29 +11191:MaskAdditiveBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11192:MaskAdditiveBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11193:MaskAdditiveBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11194:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11195:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11196:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11197:MapAlpha_C +11198:MapARGB_C +11199:MakeRenderTarget\28sk_sp\2c\20int\2c\20int\29 +11200:MakeRenderTarget\28sk_sp\2c\20SimpleImageInfo\29 +11201:MakePathFromVerbsPointsWeights\28unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +11202:MakePathFromSVGString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11203:MakePathFromOp\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\29 +11204:MakePathFromInterpolation\28SkPath\20const&\2c\20SkPath\20const&\2c\20float\29 +11205:MakePathFromCmds\28unsigned\20long\2c\20int\29 +11206:MakeOnScreenGLSurface\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\29 +11207:MakeImageFromGenerator\28SimpleImageInfo\2c\20emscripten::val\29 +11208:MakeGrContext\28\29 +11209:MakeAsWinding\28SkPath\20const&\29 +11210:LD4_C +11211:JpegDecoderMgr::returnFailure\28char\20const*\2c\20SkCodec::Result\29 +11212:JpegDecoderMgr::init\28\29 +11213:JpegDecoderMgr::SourceMgr::SkipInputData\28jpeg_decompress_struct*\2c\20long\29 +11214:JpegDecoderMgr::SourceMgr::InitSource\28jpeg_decompress_struct*\29 +11215:JpegDecoderMgr::SourceMgr::FillInputBuffer\28jpeg_decompress_struct*\29 +11216:JpegDecoderMgr::JpegDecoderMgr\28SkStream*\29 +11217:IsValidSimpleFormat +11218:IsValidExtendedFormat +11219:InverseBlitter::blitH\28int\2c\20int\2c\20int\29 +11220:Init +11221:HorizontalUnfilter_C +11222:HorizontalFilter_C +11223:Horish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +11224:Horish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +11225:HasAlpha8b_C +11226:HasAlpha32b_C +11227:HU4_C +11228:HLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +11229:HLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +11230:HFilter8i_C +11231:HFilter8_C +11232:HFilter16i_C +11233:HFilter16_C +11234:HE8uv_C +11235:HE4_C +11236:HE16_C +11237:HD4_C +11238:GradientUnfilter_C +11239:GradientFilter_C +11240:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11241:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11242:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const +11243:GrYUVtoRGBEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11244:GrYUVtoRGBEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11245:GrYUVtoRGBEffect::name\28\29\20const +11246:GrYUVtoRGBEffect::clone\28\29\20const +11247:GrXferProcessor::ProgramImpl::emitWriteSwizzle\28GrGLSLXPFragmentBuilder*\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20char\20const*\29\20const +11248:GrXferProcessor::ProgramImpl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11249:GrXferProcessor::ProgramImpl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +11250:GrWritePixelsTask::~GrWritePixelsTask\28\29.1 +11251:GrWritePixelsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +11252:GrWritePixelsTask::onExecute\28GrOpFlushState*\29 +11253:GrWritePixelsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11254:GrWaitRenderTask::~GrWaitRenderTask\28\29.1 +11255:GrWaitRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +11256:GrWaitRenderTask::onExecute\28GrOpFlushState*\29 +11257:GrWaitRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11258:GrTriangulator::~GrTriangulator\28\29 +11259:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29.1 +11260:GrTransferFromRenderTask::onExecute\28GrOpFlushState*\29 +11261:GrTransferFromRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11262:GrThreadSafeCache::Trampoline::~Trampoline\28\29.1 +11263:GrThreadSafeCache::Trampoline::~Trampoline\28\29 +11264:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29.1 +11265:GrTextureResolveRenderTask::onExecute\28GrOpFlushState*\29 +11266:GrTextureResolveRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11267:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +11268:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +11269:GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +11270:GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +11271:GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +11272:GrTextureProxy::~GrTextureProxy\28\29.2 +11273:GrTextureProxy::~GrTextureProxy\28\29.1 +11274:GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +11275:GrTextureProxy::instantiate\28GrResourceProvider*\29 +11276:GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +11277:GrTextureProxy::callbackDesc\28\29\20const +11278:GrTextureEffect::~GrTextureEffect\28\29.1 +11279:GrTextureEffect::~GrTextureEffect\28\29 +11280:GrTextureEffect::onMakeProgramImpl\28\29\20const +11281:GrTextureEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11282:GrTextureEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11283:GrTextureEffect::name\28\29\20const +11284:GrTextureEffect::clone\28\29\20const +11285:GrTextureEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11286:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11287:GrTexture::onGpuMemorySize\28\29\20const +11288:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29.1 +11289:GrTDeferredProxyUploader>::freeData\28\29 +11290:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29.1 +11291:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29 +11292:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::freeData\28\29 +11293:GrSurfaceProxy::getUniqueKey\28\29\20const +11294:GrSurface::~GrSurface\28\29 +11295:GrSurface::getResourceType\28\29\20const +11296:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29.1 +11297:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29 +11298:GrStrokeTessellationShader::name\28\29\20const +11299:GrStrokeTessellationShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11300:GrStrokeTessellationShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11301:GrStrokeTessellationShader::Impl::~Impl\28\29.1 +11302:GrStrokeTessellationShader::Impl::~Impl\28\29 +11303:GrStrokeTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11304:GrStrokeTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11305:GrSkSLFP::~GrSkSLFP\28\29.1 +11306:GrSkSLFP::~GrSkSLFP\28\29 +11307:GrSkSLFP::onMakeProgramImpl\28\29\20const +11308:GrSkSLFP::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11309:GrSkSLFP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11310:GrSkSLFP::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11311:GrSkSLFP::clone\28\29\20const +11312:GrSkSLFP::Impl::~Impl\28\29.1 +11313:GrSkSLFP::Impl::~Impl\28\29 +11314:GrSkSLFP::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11315:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11316:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11317:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11318:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11319:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::getMangledName\28char\20const*\29 +11320:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11321:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +11322:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +11323:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareFunction\28char\20const*\29 +11324:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11325:GrSimpleMesh*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29::'lambda'\28char*\29::__invoke\28char*\29 +11326:GrRingBuffer::FinishSubmit\28void*\29 +11327:GrResourceCache::CompareTimestamp\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29 +11328:GrRenderTask::~GrRenderTask\28\29 +11329:GrRenderTask::disown\28GrDrawingManager*\29 +11330:GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +11331:GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +11332:GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +11333:GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +11334:GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +11335:GrRenderTargetProxy::callbackDesc\28\29\20const +11336:GrRecordingContext::~GrRecordingContext\28\29.1 +11337:GrRecordingContext::abandoned\28\29 +11338:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29.1 +11339:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29 +11340:GrRRectShadowGeoProc::onTextureSampler\28int\29\20const +11341:GrRRectShadowGeoProc::name\28\29\20const +11342:GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11343:GrRRectShadowGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11344:GrQuadEffect::name\28\29\20const +11345:GrQuadEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11346:GrQuadEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11347:GrQuadEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11348:GrQuadEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11349:GrPorterDuffXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11350:GrPorterDuffXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11351:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29.1 +11352:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29 +11353:GrPerlinNoise2Effect::onMakeProgramImpl\28\29\20const +11354:GrPerlinNoise2Effect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11355:GrPerlinNoise2Effect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11356:GrPerlinNoise2Effect::name\28\29\20const +11357:GrPerlinNoise2Effect::clone\28\29\20const +11358:GrPerlinNoise2Effect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11359:GrPerlinNoise2Effect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11360:GrPathTessellationShader::Impl::~Impl\28\29 +11361:GrPathTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11362:GrPathTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11363:GrOpsRenderPass::~GrOpsRenderPass\28\29 +11364:GrOpsRenderPass::onExecuteDrawable\28std::__2::unique_ptr>\29 +11365:GrOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11366:GrOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11367:GrOpFlushState::~GrOpFlushState\28\29.1 +11368:GrOpFlushState::~GrOpFlushState\28\29 +11369:GrOpFlushState::writeView\28\29\20const +11370:GrOpFlushState::usesMSAASurface\28\29\20const +11371:GrOpFlushState::tokenTracker\28\29 +11372:GrOpFlushState::threadSafeCache\28\29\20const +11373:GrOpFlushState::strikeCache\28\29\20const +11374:GrOpFlushState::smallPathAtlasManager\28\29\20const +11375:GrOpFlushState::sampledProxyArray\28\29 +11376:GrOpFlushState::rtProxy\28\29\20const +11377:GrOpFlushState::resourceProvider\28\29\20const +11378:GrOpFlushState::renderPassBarriers\28\29\20const +11379:GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +11380:GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +11381:GrOpFlushState::putBackIndirectDraws\28int\29 +11382:GrOpFlushState::putBackIndices\28int\29 +11383:GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +11384:GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +11385:GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +11386:GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +11387:GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +11388:GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +11389:GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +11390:GrOpFlushState::dstProxyView\28\29\20const +11391:GrOpFlushState::colorLoadOp\28\29\20const +11392:GrOpFlushState::atlasManager\28\29\20const +11393:GrOpFlushState::appliedClip\28\29\20const +11394:GrOpFlushState::addInlineUpload\28std::__2::function&\29>&&\29 +11395:GrOp::~GrOp\28\29 +11396:GrOnFlushCallbackObject::postFlush\28skgpu::AtlasToken\29 +11397:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11398:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11399:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +11400:GrModulateAtlasCoverageEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11401:GrModulateAtlasCoverageEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11402:GrModulateAtlasCoverageEffect::name\28\29\20const +11403:GrModulateAtlasCoverageEffect::clone\28\29\20const +11404:GrMeshDrawOp::onPrepare\28GrOpFlushState*\29 +11405:GrMeshDrawOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11406:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11407:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11408:GrMatrixEffect::onMakeProgramImpl\28\29\20const +11409:GrMatrixEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11410:GrMatrixEffect::name\28\29\20const +11411:GrMatrixEffect::clone\28\29\20const +11412:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +11413:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +11414:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::$_0::__invoke\28void\20const*\2c\20void*\29 +11415:GrImageContext::~GrImageContext\28\29.1 +11416:GrImageContext::~GrImageContext\28\29 +11417:GrHardClip::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +11418:GrGpuResource::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +11419:GrGpuBuffer::~GrGpuBuffer\28\29 +11420:GrGpuBuffer::unref\28\29\20const +11421:GrGpuBuffer::getResourceType\28\29\20const +11422:GrGpuBuffer::computeScratchKey\28skgpu::ScratchKey*\29\20const +11423:GrGeometryProcessor::onTextureSampler\28int\29\20const +11424:GrGeometryProcessor::ProgramImpl::~ProgramImpl\28\29 +11425:GrGLVaryingHandler::~GrGLVaryingHandler\28\29 +11426:GrGLUniformHandler::~GrGLUniformHandler\28\29.1 +11427:GrGLUniformHandler::~GrGLUniformHandler\28\29 +11428:GrGLUniformHandler::samplerVariable\28GrResourceHandle\29\20const +11429:GrGLUniformHandler::samplerSwizzle\28GrResourceHandle\29\20const +11430:GrGLUniformHandler::internalAddUniformArray\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20bool\2c\20int\2c\20char\20const**\29 +11431:GrGLUniformHandler::getUniformCStr\28GrResourceHandle\29\20const +11432:GrGLUniformHandler::appendUniformDecls\28GrShaderFlags\2c\20SkString*\29\20const +11433:GrGLUniformHandler::addSampler\28GrBackendFormat\20const&\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20GrShaderCaps\20const*\29 +11434:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +11435:GrGLTextureRenderTarget::onSetLabel\28\29 +11436:GrGLTextureRenderTarget::onRelease\28\29 +11437:GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +11438:GrGLTextureRenderTarget::onAbandon\28\29 +11439:GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +11440:GrGLTextureRenderTarget::backendFormat\28\29\20const +11441:GrGLTexture::~GrGLTexture\28\29.1 +11442:GrGLTexture::~GrGLTexture\28\29 +11443:GrGLTexture::textureParamsModified\28\29 +11444:GrGLTexture::onStealBackendTexture\28GrBackendTexture*\2c\20std::__2::function*\29 +11445:GrGLTexture::getBackendTexture\28\29\20const +11446:GrGLSemaphore::~GrGLSemaphore\28\29.1 +11447:GrGLSemaphore::~GrGLSemaphore\28\29 +11448:GrGLSemaphore::setIsOwned\28\29 +11449:GrGLSemaphore::backendSemaphore\28\29\20const +11450:GrGLSLVertexBuilder::~GrGLSLVertexBuilder\28\29 +11451:GrGLSLVertexBuilder::onFinalize\28\29 +11452:GrGLSLUniformHandler::inputSamplerSwizzle\28GrResourceHandle\29\20const +11453:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +11454:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +11455:GrGLSLFragmentShaderBuilder::onFinalize\28\29 +11456:GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +11457:GrGLSLFragmentShaderBuilder::forceHighPrecision\28\29 +11458:GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +11459:GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +11460:GrGLRenderTarget::~GrGLRenderTarget\28\29 +11461:GrGLRenderTarget::onGpuMemorySize\28\29\20const +11462:GrGLRenderTarget::getBackendRenderTarget\28\29\20const +11463:GrGLRenderTarget::completeStencilAttachment\28GrAttachment*\2c\20bool\29 +11464:GrGLRenderTarget::canAttemptStencilAttachment\28bool\29\20const +11465:GrGLRenderTarget::backendFormat\28\29\20const +11466:GrGLRenderTarget::alwaysClearStencil\28\29\20const +11467:GrGLProgramDataManager::~GrGLProgramDataManager\28\29.1 +11468:GrGLProgramDataManager::~GrGLProgramDataManager\28\29 +11469:GrGLProgramDataManager::setMatrix4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11470:GrGLProgramDataManager::setMatrix4f\28GrResourceHandle\2c\20float\20const*\29\20const +11471:GrGLProgramDataManager::setMatrix3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11472:GrGLProgramDataManager::setMatrix3f\28GrResourceHandle\2c\20float\20const*\29\20const +11473:GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11474:GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +11475:GrGLProgramDataManager::set4iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11476:GrGLProgramDataManager::set4i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\2c\20int\29\20const +11477:GrGLProgramDataManager::set4f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\2c\20float\29\20const +11478:GrGLProgramDataManager::set3iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11479:GrGLProgramDataManager::set3i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\29\20const +11480:GrGLProgramDataManager::set3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11481:GrGLProgramDataManager::set3f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\29\20const +11482:GrGLProgramDataManager::set2iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11483:GrGLProgramDataManager::set2i\28GrResourceHandle\2c\20int\2c\20int\29\20const +11484:GrGLProgramDataManager::set2f\28GrResourceHandle\2c\20float\2c\20float\29\20const +11485:GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11486:GrGLProgramDataManager::set1i\28GrResourceHandle\2c\20int\29\20const +11487:GrGLProgramDataManager::set1fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11488:GrGLProgramDataManager::set1f\28GrResourceHandle\2c\20float\29\20const +11489:GrGLProgramBuilder::~GrGLProgramBuilder\28\29.1 +11490:GrGLProgramBuilder::varyingHandler\28\29 +11491:GrGLProgramBuilder::caps\28\29\20const +11492:GrGLProgram::~GrGLProgram\28\29.1 +11493:GrGLOpsRenderPass::~GrGLOpsRenderPass\28\29 +11494:GrGLOpsRenderPass::onSetScissorRect\28SkIRect\20const&\29 +11495:GrGLOpsRenderPass::onEnd\28\29 +11496:GrGLOpsRenderPass::onDraw\28int\2c\20int\29 +11497:GrGLOpsRenderPass::onDrawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +11498:GrGLOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11499:GrGLOpsRenderPass::onDrawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +11500:GrGLOpsRenderPass::onDrawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +11501:GrGLOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11502:GrGLOpsRenderPass::onClear\28GrScissorState\20const&\2c\20std::__2::array\29 +11503:GrGLOpsRenderPass::onClearStencilClip\28GrScissorState\20const&\2c\20bool\29 +11504:GrGLOpsRenderPass::onBindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +11505:GrGLOpsRenderPass::onBindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +11506:GrGLOpsRenderPass::onBindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +11507:GrGLOpsRenderPass::onBegin\28\29 +11508:GrGLOpsRenderPass::inlineUpload\28GrOpFlushState*\2c\20std::__2::function&\29>&\29 +11509:GrGLInterface::~GrGLInterface\28\29.1 +11510:GrGLInterface::~GrGLInterface\28\29 +11511:GrGLGpu::~GrGLGpu\28\29.1 +11512:GrGLGpu::xferBarrier\28GrRenderTarget*\2c\20GrXferBarrierType\29 +11513:GrGLGpu::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +11514:GrGLGpu::willExecute\28\29 +11515:GrGLGpu::waitSemaphore\28GrSemaphore*\29 +11516:GrGLGpu::submit\28GrOpsRenderPass*\29 +11517:GrGLGpu::stagingBufferManager\28\29 +11518:GrGLGpu::refPipelineBuilder\28\29 +11519:GrGLGpu::prepareTextureForCrossContextUsage\28GrTexture*\29 +11520:GrGLGpu::precompileShader\28SkData\20const&\2c\20SkData\20const&\29 +11521:GrGLGpu::pipelineBuilder\28\29 +11522:GrGLGpu::onWritePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +11523:GrGLGpu::onWrapRenderableBackendTexture\28GrBackendTexture\20const&\2c\20int\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +11524:GrGLGpu::onWrapCompressedBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +11525:GrGLGpu::onWrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\29 +11526:GrGLGpu::onWrapBackendRenderTarget\28GrBackendRenderTarget\20const&\29 +11527:GrGLGpu::onUpdateCompressedBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20void\20const*\2c\20unsigned\20long\29 +11528:GrGLGpu::onTransferPixelsTo\28GrTexture*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +11529:GrGLGpu::onTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\29 +11530:GrGLGpu::onTransferFromBufferToBuffer\28sk_sp\2c\20unsigned\20long\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +11531:GrGLGpu::onSubmitToGpu\28GrSyncCpu\29 +11532:GrGLGpu::onResolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +11533:GrGLGpu::onResetTextureBindings\28\29 +11534:GrGLGpu::onResetContext\28unsigned\20int\29 +11535:GrGLGpu::onRegenerateMipMapLevels\28GrTexture*\29 +11536:GrGLGpu::onReadPixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20unsigned\20long\29 +11537:GrGLGpu::onGetOpsRenderPass\28GrRenderTarget*\2c\20bool\2c\20GrAttachment*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const&\2c\20GrOpsRenderPass::LoadAndStoreInfo\20const&\2c\20GrOpsRenderPass::StencilLoadAndStoreInfo\20const&\2c\20skia_private::TArray\20const&\2c\20GrXferBarrierFlags\29 +11538:GrGLGpu::onDumpJSON\28SkJSONWriter*\29\20const +11539:GrGLGpu::onCreateTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +11540:GrGLGpu::onCreateCompressedTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20void\20const*\2c\20unsigned\20long\29 +11541:GrGLGpu::onCreateCompressedBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\29 +11542:GrGLGpu::onCreateBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +11543:GrGLGpu::onCreateBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +11544:GrGLGpu::onCopySurface\28GrSurface*\2c\20SkIRect\20const&\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +11545:GrGLGpu::onClearBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20std::__2::array\29 +11546:GrGLGpu::makeStencilAttachment\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\29 +11547:GrGLGpu::makeSemaphore\28bool\29 +11548:GrGLGpu::makeMSAAAttachment\28SkISize\2c\20GrBackendFormat\20const&\2c\20int\2c\20skgpu::Protected\2c\20GrMemoryless\29 +11549:GrGLGpu::insertSemaphore\28GrSemaphore*\29 +11550:GrGLGpu::getPreferredStencilFormat\28GrBackendFormat\20const&\29 +11551:GrGLGpu::finishOutstandingGpuWork\28\29 +11552:GrGLGpu::disconnect\28GrGpu::DisconnectType\29 +11553:GrGLGpu::deleteBackendTexture\28GrBackendTexture\20const&\29 +11554:GrGLGpu::compile\28GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\29 +11555:GrGLGpu::checkFinishProcs\28\29 +11556:GrGLGpu::addFinishedProc\28void\20\28*\29\28void*\29\2c\20void*\29 +11557:GrGLGpu::ProgramCache::~ProgramCache\28\29.1 +11558:GrGLGpu::ProgramCache::~ProgramCache\28\29 +11559:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20unsigned\20int\2c\20float\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29 +11560:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29 +11561:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29 +11562:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\29\29::'lambda'\28void\20const*\2c\20float\29::__invoke\28void\20const*\2c\20float\29 +11563:GrGLFunction::GrGLFunction\28void\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +11564:GrGLFunction::GrGLFunction\28void\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +11565:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +11566:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +11567:GrGLCaps::~GrGLCaps\28\29.1 +11568:GrGLCaps::surfaceSupportsReadPixels\28GrSurface\20const*\29\20const +11569:GrGLCaps::supportedWritePixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +11570:GrGLCaps::onSurfaceSupportsWritePixels\28GrSurface\20const*\29\20const +11571:GrGLCaps::onSupportsDynamicMSAA\28GrRenderTargetProxy\20const*\29\20const +11572:GrGLCaps::onSupportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +11573:GrGLCaps::onIsWindowRectanglesSupportedForRT\28GrBackendRenderTarget\20const&\29\20const +11574:GrGLCaps::onGetReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +11575:GrGLCaps::onGetDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\29\20const +11576:GrGLCaps::onGetDefaultBackendFormat\28GrColorType\29\20const +11577:GrGLCaps::onDumpJSON\28SkJSONWriter*\29\20const +11578:GrGLCaps::onCanCopySurface\28GrSurfaceProxy\20const*\2c\20SkIRect\20const&\2c\20GrSurfaceProxy\20const*\2c\20SkIRect\20const&\29\20const +11579:GrGLCaps::onAreColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +11580:GrGLCaps::onApplyOptionsOverrides\28GrContextOptions\20const&\29 +11581:GrGLCaps::maxRenderTargetSampleCount\28GrBackendFormat\20const&\29\20const +11582:GrGLCaps::makeDesc\28GrRenderTarget*\2c\20GrProgramInfo\20const&\2c\20GrCaps::ProgramDescOverrideFlags\29\20const +11583:GrGLCaps::isFormatTexturable\28GrBackendFormat\20const&\2c\20GrTextureType\29\20const +11584:GrGLCaps::isFormatSRGB\28GrBackendFormat\20const&\29\20const +11585:GrGLCaps::isFormatRenderable\28GrBackendFormat\20const&\2c\20int\29\20const +11586:GrGLCaps::isFormatCopyable\28GrBackendFormat\20const&\29\20const +11587:GrGLCaps::isFormatAsColorTypeRenderable\28GrColorType\2c\20GrBackendFormat\20const&\2c\20int\29\20const +11588:GrGLCaps::getWriteSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +11589:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrBackendFormat\20const&\29\20const +11590:GrGLCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +11591:GrGLCaps::getBackendFormatFromCompressionType\28SkTextureCompressionType\29\20const +11592:GrGLCaps::computeFormatKey\28GrBackendFormat\20const&\29\20const +11593:GrGLBuffer::~GrGLBuffer\28\29.1 +11594:GrGLBuffer::~GrGLBuffer\28\29 +11595:GrGLBuffer::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +11596:GrGLBuffer::onUpdateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +11597:GrGLBuffer::onUnmap\28GrGpuBuffer::MapType\29 +11598:GrGLBuffer::onSetLabel\28\29 +11599:GrGLBuffer::onRelease\28\29 +11600:GrGLBuffer::onMap\28GrGpuBuffer::MapType\29 +11601:GrGLBuffer::onClearToZero\28\29 +11602:GrGLBuffer::onAbandon\28\29 +11603:GrGLBackendTextureData::~GrGLBackendTextureData\28\29.1 +11604:GrGLBackendTextureData::~GrGLBackendTextureData\28\29 +11605:GrGLBackendTextureData::isSameTexture\28GrBackendTextureData\20const*\29\20const +11606:GrGLBackendTextureData::isProtected\28\29\20const +11607:GrGLBackendTextureData::getBackendFormat\28\29\20const +11608:GrGLBackendTextureData::equal\28GrBackendTextureData\20const*\29\20const +11609:GrGLBackendTextureData::copyTo\28SkAnySubclass&\29\20const +11610:GrGLBackendRenderTargetData::isProtected\28\29\20const +11611:GrGLBackendRenderTargetData::getBackendFormat\28\29\20const +11612:GrGLBackendRenderTargetData::equal\28GrBackendRenderTargetData\20const*\29\20const +11613:GrGLBackendRenderTargetData::copyTo\28SkAnySubclass&\29\20const +11614:GrGLBackendFormatData::toString\28\29\20const +11615:GrGLBackendFormatData::stencilBits\28\29\20const +11616:GrGLBackendFormatData::equal\28GrBackendFormatData\20const*\29\20const +11617:GrGLBackendFormatData::desc\28\29\20const +11618:GrGLBackendFormatData::copyTo\28SkAnySubclass&\29\20const +11619:GrGLBackendFormatData::compressionType\28\29\20const +11620:GrGLBackendFormatData::channelMask\28\29\20const +11621:GrGLBackendFormatData::bytesPerBlock\28\29\20const +11622:GrGLAttachment::~GrGLAttachment\28\29 +11623:GrGLAttachment::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +11624:GrGLAttachment::onSetLabel\28\29 +11625:GrGLAttachment::onRelease\28\29 +11626:GrGLAttachment::onAbandon\28\29 +11627:GrGLAttachment::backendFormat\28\29\20const +11628:GrFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11629:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11630:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +11631:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11632:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11633:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::name\28\29\20const +11634:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11635:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::clone\28\29\20const +11636:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11637:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const +11638:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::name\28\29\20const +11639:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::clone\28\29\20const +11640:GrFragmentProcessor::ProgramImpl::~ProgramImpl\28\29 +11641:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11642:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const +11643:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::name\28\29\20const +11644:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::clone\28\29\20const +11645:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11646:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const +11647:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::name\28\29\20const +11648:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11649:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::clone\28\29\20const +11650:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11651:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const +11652:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::name\28\29\20const +11653:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11654:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +11655:GrFixedClip::~GrFixedClip\28\29.1 +11656:GrFixedClip::~GrFixedClip\28\29 +11657:GrExternalTextureGenerator::onGenerateTexture\28GrRecordingContext*\2c\20SkImageInfo\20const&\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +11658:GrEagerDynamicVertexAllocator::lock\28unsigned\20long\2c\20int\29 +11659:GrDynamicAtlas::~GrDynamicAtlas\28\29.1 +11660:GrDynamicAtlas::~GrDynamicAtlas\28\29 +11661:GrDrawOp::usesStencil\28\29\20const +11662:GrDrawOp::usesMSAA\28\29\20const +11663:GrDrawOp::fixedFunctionFlags\28\29\20const +11664:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29.1 +11665:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29 +11666:GrDistanceFieldPathGeoProc::onTextureSampler\28int\29\20const +11667:GrDistanceFieldPathGeoProc::name\28\29\20const +11668:GrDistanceFieldPathGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11669:GrDistanceFieldPathGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11670:GrDistanceFieldPathGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11671:GrDistanceFieldPathGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11672:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29.1 +11673:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29 +11674:GrDistanceFieldLCDTextGeoProc::name\28\29\20const +11675:GrDistanceFieldLCDTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11676:GrDistanceFieldLCDTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11677:GrDistanceFieldLCDTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11678:GrDistanceFieldLCDTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11679:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +11680:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +11681:GrDistanceFieldA8TextGeoProc::name\28\29\20const +11682:GrDistanceFieldA8TextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11683:GrDistanceFieldA8TextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11684:GrDistanceFieldA8TextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11685:GrDistanceFieldA8TextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11686:GrDisableColorXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11687:GrDisableColorXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11688:GrDirectContext::~GrDirectContext\28\29.1 +11689:GrDirectContext::releaseResourcesAndAbandonContext\28\29 +11690:GrDirectContext::init\28\29 +11691:GrDirectContext::abandoned\28\29 +11692:GrDirectContext::abandonContext\28\29 +11693:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29.1 +11694:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29 +11695:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29.1 +11696:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29 +11697:GrCpuVertexAllocator::unlock\28int\29 +11698:GrCpuVertexAllocator::lock\28unsigned\20long\2c\20int\29 +11699:GrCpuBuffer::unref\28\29\20const +11700:GrCoverageSetOpXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11701:GrCoverageSetOpXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11702:GrCopyRenderTask::~GrCopyRenderTask\28\29.1 +11703:GrCopyRenderTask::onMakeSkippable\28\29 +11704:GrCopyRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +11705:GrCopyRenderTask::onExecute\28GrOpFlushState*\29 +11706:GrCopyRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11707:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11708:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11709:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const +11710:GrConvexPolyEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11711:GrConvexPolyEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11712:GrConvexPolyEffect::name\28\29\20const +11713:GrConvexPolyEffect::clone\28\29\20const +11714:GrContext_Base::~GrContext_Base\28\29.1 +11715:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29.1 +11716:GrContextThreadSafeProxy::isValidCharacterizationForVulkan\28sk_sp\2c\20bool\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20bool\2c\20bool\29 +11717:GrConicEffect::name\28\29\20const +11718:GrConicEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11719:GrConicEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11720:GrConicEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11721:GrConicEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11722:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +11723:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +11724:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11725:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11726:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const +11727:GrColorSpaceXformEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11728:GrColorSpaceXformEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11729:GrColorSpaceXformEffect::name\28\29\20const +11730:GrColorSpaceXformEffect::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11731:GrColorSpaceXformEffect::clone\28\29\20const +11732:GrCaps::~GrCaps\28\29 +11733:GrCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +11734:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29.1 +11735:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29 +11736:GrBitmapTextGeoProc::onTextureSampler\28int\29\20const +11737:GrBitmapTextGeoProc::name\28\29\20const +11738:GrBitmapTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11739:GrBitmapTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11740:GrBitmapTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11741:GrBitmapTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11742:GrBicubicEffect::onMakeProgramImpl\28\29\20const +11743:GrBicubicEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11744:GrBicubicEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11745:GrBicubicEffect::name\28\29\20const +11746:GrBicubicEffect::clone\28\29\20const +11747:GrBicubicEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11748:GrBicubicEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11749:GrAttachment::onGpuMemorySize\28\29\20const +11750:GrAttachment::getResourceType\28\29\20const +11751:GrAttachment::computeScratchKey\28skgpu::ScratchKey*\29\20const +11752:GrAtlasManager::~GrAtlasManager\28\29.1 +11753:GrAtlasManager::preFlush\28GrOnFlushResourceProvider*\29 +11754:GrAtlasManager::postFlush\28skgpu::AtlasToken\29 +11755:GrAATriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +11756:GetRectsForRange\28skia::textlayout::Paragraph&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +11757:GetRectsForPlaceholders\28skia::textlayout::Paragraph&\29 +11758:GetLineMetrics\28skia::textlayout::Paragraph&\29 +11759:GetLineMetricsAt\28skia::textlayout::Paragraph&\2c\20unsigned\20long\29 +11760:GetGlyphInfoAt\28skia::textlayout::Paragraph&\2c\20unsigned\20long\29 +11761:GetCoeffsFast +11762:GetCoeffsAlt +11763:GetClosestGlyphInfoAtCoordinate\28skia::textlayout::Paragraph&\2c\20float\2c\20float\29 +11764:FontMgrRunIterator::~FontMgrRunIterator\28\29.1 +11765:FontMgrRunIterator::~FontMgrRunIterator\28\29 +11766:FontMgrRunIterator::currentFont\28\29\20const +11767:FontMgrRunIterator::consume\28\29 +11768:ExtractGreen_C +11769:ExtractAlpha_C +11770:ExtractAlphaRows +11771:ExternalWebGLTexture::~ExternalWebGLTexture\28\29.1 +11772:ExternalWebGLTexture::~ExternalWebGLTexture\28\29 +11773:ExternalWebGLTexture::getBackendTexture\28\29 +11774:ExternalWebGLTexture::dispose\28\29 +11775:ExportAlphaRGBA4444 +11776:ExportAlpha +11777:Equals\28SkPath\20const&\2c\20SkPath\20const&\29 +11778:EmitYUV +11779:EmitSampledRGB +11780:EmitRescaledYUV +11781:EmitRescaledRGB +11782:EmitRescaledAlphaYUV +11783:EmitRescaledAlphaRGB +11784:EmitFancyRGB +11785:EmitAlphaYUV +11786:EmitAlphaRGBA4444 +11787:EmitAlphaRGB +11788:EllipticalRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11789:EllipticalRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11790:EllipticalRRectOp::name\28\29\20const +11791:EllipticalRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11792:EllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11793:EllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11794:EllipseOp::name\28\29\20const +11795:EllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11796:EllipseGeometryProcessor::name\28\29\20const +11797:EllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11798:EllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11799:EllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11800:Dual_Project +11801:DitherCombine8x8_C +11802:DispatchAlpha_C +11803:DispatchAlphaToGreen_C +11804:DisableColorXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11805:DisableColorXP::name\28\29\20const +11806:DisableColorXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11807:DisableColorXP::makeProgramImpl\28\29\20const +11808:Direct_Move_Y +11809:Direct_Move_X +11810:Direct_Move_Orig_Y +11811:Direct_Move_Orig_X +11812:Direct_Move_Orig +11813:Direct_Move +11814:DefaultGeoProc::name\28\29\20const +11815:DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11816:DefaultGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11817:DefaultGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11818:DefaultGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11819:DataFontLoader::loadSystemFonts\28SkFontScanner\20const*\2c\20skia_private::TArray\2c\20true>*\29\20const +11820:DataCacheElement_deleter\28void*\29 +11821:DIEllipseOp::~DIEllipseOp\28\29.1 +11822:DIEllipseOp::~DIEllipseOp\28\29 +11823:DIEllipseOp::visitProxies\28std::__2::function\20const&\29\20const +11824:DIEllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11825:DIEllipseOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11826:DIEllipseOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11827:DIEllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11828:DIEllipseOp::name\28\29\20const +11829:DIEllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11830:DIEllipseGeometryProcessor::name\28\29\20const +11831:DIEllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11832:DIEllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11833:DIEllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11834:DC8uv_C +11835:DC8uvNoTop_C +11836:DC8uvNoTopLeft_C +11837:DC8uvNoLeft_C +11838:DC4_C +11839:DC16_C +11840:DC16NoTop_C +11841:DC16NoTopLeft_C +11842:DC16NoLeft_C +11843:CustomXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11844:CustomXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11845:CustomXP::xferBarrierType\28GrCaps\20const&\29\20const +11846:CustomXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11847:CustomXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11848:CustomXP::name\28\29\20const +11849:CustomXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11850:CustomXP::makeProgramImpl\28\29\20const +11851:CustomTeardown +11852:CustomSetup +11853:CustomPut +11854:Current_Ppem_Stretched +11855:Current_Ppem +11856:Cr_z_zcfree +11857:Cr_z_zcalloc +11858:CoverageSetOpXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11859:CoverageSetOpXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11860:CoverageSetOpXP::name\28\29\20const +11861:CoverageSetOpXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11862:CoverageSetOpXP::makeProgramImpl\28\29\20const +11863:CopyPath\28SkPath\20const&\29 +11864:ConvertRGB24ToY_C +11865:ConvertBGR24ToY_C +11866:ConvertARGBToY_C +11867:ColorTableEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11868:ColorTableEffect::onMakeProgramImpl\28\29\20const +11869:ColorTableEffect::name\28\29\20const +11870:ColorTableEffect::clone\28\29\20const +11871:CircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +11872:CircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11873:CircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11874:CircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11875:CircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11876:CircularRRectOp::name\28\29\20const +11877:CircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11878:CircleOp::~CircleOp\28\29.1 +11879:CircleOp::~CircleOp\28\29 +11880:CircleOp::visitProxies\28std::__2::function\20const&\29\20const +11881:CircleOp::programInfo\28\29 +11882:CircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11883:CircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11884:CircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11885:CircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11886:CircleOp::name\28\29\20const +11887:CircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11888:CircleGeometryProcessor::name\28\29\20const +11889:CircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11890:CircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11891:CircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11892:CanInterpolate\28SkPath\20const&\2c\20SkPath\20const&\29 +11893:ButtCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +11894:ButtCapDashedCircleOp::visitProxies\28std::__2::function\20const&\29\20const +11895:ButtCapDashedCircleOp::programInfo\28\29 +11896:ButtCapDashedCircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11897:ButtCapDashedCircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11898:ButtCapDashedCircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11899:ButtCapDashedCircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11900:ButtCapDashedCircleOp::name\28\29\20const +11901:ButtCapDashedCircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11902:ButtCapDashedCircleGeometryProcessor::name\28\29\20const +11903:ButtCapDashedCircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11904:ButtCapDashedCircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11905:ButtCapDashedCircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11906:BluntJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11907:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11908:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11909:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +11910:BlendFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11911:BlendFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11912:BlendFragmentProcessor::name\28\29\20const +11913:BlendFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11914:BlendFragmentProcessor::clone\28\29\20const +11915:AutoCleanPng::infoCallback\28unsigned\20long\29 +11916:AutoCleanPng::decodeBounds\28\29 +11917:ApplyTrim\28SkPath&\2c\20float\2c\20float\2c\20bool\29 +11918:ApplyTransform\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11919:ApplyStroke\28SkPath&\2c\20StrokeOpts\29 +11920:ApplySimplify\28SkPath&\29 +11921:ApplyRewind\28SkPath&\29 +11922:ApplyReset\28SkPath&\29 +11923:ApplyRQuadTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29 +11924:ApplyRMoveTo\28SkPath&\2c\20float\2c\20float\29 +11925:ApplyRLineTo\28SkPath&\2c\20float\2c\20float\29 +11926:ApplyRCubicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11927:ApplyRConicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11928:ApplyRArcToArcSize\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +11929:ApplyQuadTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29 +11930:ApplyPathOp\28SkPath&\2c\20SkPath\20const&\2c\20SkPathOp\29 +11931:ApplyMoveTo\28SkPath&\2c\20float\2c\20float\29 +11932:ApplyLineTo\28SkPath&\2c\20float\2c\20float\29 +11933:ApplyDash\28SkPath&\2c\20float\2c\20float\2c\20float\29 +11934:ApplyCubicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11935:ApplyConicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11936:ApplyClose\28SkPath&\29 +11937:ApplyArcToTangent\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +11938:ApplyArcToArcSize\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +11939:ApplyAlphaMultiply_C +11940:ApplyAlphaMultiply_16b_C +11941:ApplyAddPath\28SkPath&\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +11942:AlphaReplace_C +11943:$_3::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +11944:$_2::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 +11945:$_1::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +11946:$_0::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 diff --git a/canvaskit/canvaskit.wasm b/canvaskit/canvaskit.wasm new file mode 100644 index 0000000..32aa3ca Binary files /dev/null and b/canvaskit/canvaskit.wasm differ diff --git a/canvaskit/chromium/canvaskit.js b/canvaskit/chromium/canvaskit.js new file mode 100644 index 0000000..0832d0d --- /dev/null +++ b/canvaskit/chromium/canvaskit.js @@ -0,0 +1,214 @@ + +var CanvasKitInit = (() => { + var _scriptDir = import.meta.url; + + return ( +async function(moduleArg = {}) { + +var r=moduleArg,aa,ba;r.ready=new Promise((a,b)=>{aa=a;ba=b}); +(function(a){a.Gd=a.Gd||[];a.Gd.push(function(){a.MakeSWCanvasSurface=function(b){var c=b,e="undefined"!==typeof OffscreenCanvas&&c instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&c instanceof HTMLCanvasElement||e||(c=document.getElementById(b),c)))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.ge=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var e={width:b,height:c,colorType:a.ColorType.RGBA_8888, +alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},f=b*c*4,k=a._malloc(f);if(e=a.Surface._makeRasterDirect(e,k,4*b))e.ge=null,e.Oe=b,e.Le=c,e.Me=f,e.re=k,e.getCanvas().clear(a.TRANSPARENT);return e};a.MakeRasterDirectSurface=function(b,c,e){return a.Surface._makeRasterDirect(b,c.byteOffset,e)};a.Surface.prototype.flush=function(b){a.Dd(this.Cd);this._flush();if(this.ge){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.re,this.Me);c=new ImageData(c,this.Oe,this.Le);b?this.ge.getContext("2d").putImageData(c, +0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.ge.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=function(){this.re&&a._free(this.re);this.delete()};a.Dd=a.Dd||function(){};a.he=a.he||function(){return null}})})(r); +(function(a){a.Gd=a.Gd||[];a.Gd.push(function(){function b(m,q,w){return m&&m.hasOwnProperty(q)?m[q]:w}function c(m){var q=da(ea);ea[q]=m;return q}function e(m){return m.naturalHeight||m.videoHeight||m.displayHeight||m.height}function f(m){return m.naturalWidth||m.videoWidth||m.displayWidth||m.width}function k(m,q,w,y){m.bindTexture(m.TEXTURE_2D,q);y||w.alphaType!==a.AlphaType.Premul||m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return q}function l(m,q,w){w||q.alphaType!==a.AlphaType.Premul|| +m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);m.bindTexture(m.TEXTURE_2D,null)}a.GetWebGLContext=function(m,q){if(!m)throw"null canvas passed into makeWebGLContext";var w={alpha:b(q,"alpha",1),depth:b(q,"depth",1),stencil:b(q,"stencil",8),antialias:b(q,"antialias",0),premultipliedAlpha:b(q,"premultipliedAlpha",1),preserveDrawingBuffer:b(q,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(q,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(q,"failIfMajorPerformanceCaveat", +0),enableExtensionsByDefault:b(q,"enableExtensionsByDefault",1),explicitSwapControl:b(q,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(q,"renderViaOffscreenBackBuffer",0)};w.majorVersion=q&&q.majorVersion?q.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(w.explicitSwapControl)throw"explicitSwapControl is not supported";m=fa(m,w);if(!m)return 0;ha(m);x.Od.getExtension("WEBGL_debug_renderer_info");return m};a.deleteContext=function(m){x===ia[m]&&(x=null);"object"==typeof JSEvents&& +JSEvents.sf(ia[m].Od.canvas);ia[m]&&ia[m].Od.canvas&&(ia[m].Od.canvas.Je=void 0);ia[m]=null};a._setTextureCleanup({deleteTexture:function(m,q){var w=ea[q];w&&ia[m].Od.deleteTexture(w);ea[q]=null}});a.MakeWebGLContext=function(m){if(!this.Dd(m))return null;var q=this._MakeGrContext();if(!q)return null;q.Cd=m;var w=q.delete.bind(q);q["delete"]=function(){a.Dd(this.Cd);w()}.bind(q);return x.te=q};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Dd(this.Cd); +this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Dd(this.Cd);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Dd(this.Cd);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(m){a.Dd(this.Cd);this._setResourceCacheLimitBytes(m)};a.MakeOnScreenGLSurface=function(m,q,w,y,B,D){if(!this.Dd(m.Cd))return null;q=void 0===B||void 0===D? +this._MakeOnScreenGLSurface(m,q,w,y):this._MakeOnScreenGLSurface(m,q,w,y,B,D);if(!q)return null;q.Cd=m.Cd;return q};a.MakeRenderTarget=function(){var m=arguments[0];if(!this.Dd(m.Cd))return null;if(3===arguments.length){var q=this._MakeRenderTargetWH(m,arguments[1],arguments[2]);if(!q)return null}else if(2===arguments.length){if(q=this._MakeRenderTargetII(m,arguments[1]),!q)return null}else return null;q.Cd=m.Cd;return q};a.MakeWebGLCanvasSurface=function(m,q,w){q=q||null;var y=m,B="undefined"!== +typeof OffscreenCanvas&&y instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&y instanceof HTMLCanvasElement||B||(y=document.getElementById(m),y)))throw"Canvas with id "+m+" was not found";m=this.GetWebGLContext(y,w);if(!m||0>m)throw"failed to create webgl context: err "+m;m=this.MakeWebGLContext(m);q=this.MakeOnScreenGLSurface(m,y.width,y.height,q);return q?q:(q=y.cloneNode(!0),y.parentNode.replaceChild(q,y),q.classList.add("ck-replaced"),a.MakeSWCanvasSurface(q))};a.MakeCanvasSurface= +a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(m,q){a.Dd(this.Cd);m=c(m);if(q=this._makeImageFromTexture(this.Cd,m,q))q.be=m;return q};a.Surface.prototype.makeImageFromTextureSource=function(m,q,w){q||(q={height:e(m),width:f(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul});q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);a.Dd(this.Cd);var y=x.Od;w=k(y,y.createTexture(),q,w);2===x.version?y.texImage2D(y.TEXTURE_2D,0,y.RGBA,q.width,q.height, +0,y.RGBA,y.UNSIGNED_BYTE,m):y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,m);l(y,q);this._resetContext();return this.makeImageFromTexture(w,q)};a.Surface.prototype.updateTextureFromSource=function(m,q,w){if(m.be){a.Dd(this.Cd);var y=m.getImageInfo(),B=x.Od,D=k(B,ea[m.be],y,w);2===x.version?B.texImage2D(B.TEXTURE_2D,0,B.RGBA,f(q),e(q),0,B.RGBA,B.UNSIGNED_BYTE,q):B.texImage2D(B.TEXTURE_2D,0,B.RGBA,B.RGBA,B.UNSIGNED_BYTE,q);l(B,y,w);this._resetContext();ea[m.be]=null;m.be=c(D);y.colorSpace= +m.getColorSpace();q=this._makeImageFromTexture(this.Cd,m.be,y);w=m.jd.Ed;B=m.jd.Jd;m.jd.Ed=q.jd.Ed;m.jd.Jd=q.jd.Jd;q.jd.Ed=w;q.jd.Jd=B;q.delete();y.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(m,q,w){q||(q={height:e(m),width:f(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul});q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);var y={makeTexture:function(){var B=x,D=B.Od,u=k(D,D.createTexture(),q,w);2===B.version?D.texImage2D(D.TEXTURE_2D,0,D.RGBA, +q.width,q.height,0,D.RGBA,D.UNSIGNED_BYTE,m):D.texImage2D(D.TEXTURE_2D,0,D.RGBA,D.RGBA,D.UNSIGNED_BYTE,m);l(D,q,w);return c(u)},freeSrc:function(){}};"VideoFrame"===m.constructor.name&&(y.freeSrc=function(){m.close()});return a.Image._makeFromGenerator(q,y)};a.Dd=function(m){return m?ha(m):!1};a.he=function(){return x&&x.te&&!x.te.isDeleted()?x.te:null}})})(r); +(function(a){function b(g){return(f(255*g[3])<<24|f(255*g[0])<<16|f(255*g[1])<<8|f(255*g[2])<<0)>>>0}function c(g){if(g&&g._ck)return g;if(g instanceof Float32Array){for(var d=Math.floor(g.length/4),h=new Uint32Array(d),n=0;nz;z++)a.HEAPF32[t+n]=g[v][z],n++;g=h}else g=M;d.Ld=g}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof g;return d}function q(g){if(!g)return M;var d=T.toTypedArray();if(g.length){if(6===g.length||9===g.length)return l(g,"HEAPF32",H),6===g.length&&a.HEAPF32.set(fd,6+H/4),H;if(16===g.length)return d[0]=g[0],d[1]=g[1],d[2]=g[3],d[3]=g[4],d[4]=g[5],d[5]=g[7],d[6]=g[12],d[7]=g[13],d[8]=g[15],H;throw"invalid matrix size"; +}if(void 0===g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m41;d[3]=g.m12;d[4]=g.m22;d[5]=g.m42;d[6]=g.m14;d[7]=g.m24;d[8]=g.m44;return H}function w(g){if(!g)return M;var d=Y.toTypedArray();if(g.length){if(16!==g.length&&6!==g.length&&9!==g.length)throw"invalid matrix size";if(16===g.length)return l(g,"HEAPF32",ca);d.fill(0);d[0]=g[0];d[1]=g[1];d[3]=g[2];d[4]=g[3];d[5]=g[4];d[7]=g[5];d[10]=1;d[12]=g[6];d[13]=g[7];d[15]=g[8];6===g.length&&(d[12]=0,d[13]=0,d[15]=1);return ca}if(void 0=== +g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m31;d[3]=g.m41;d[4]=g.m12;d[5]=g.m22;d[6]=g.m32;d[7]=g.m42;d[8]=g.m13;d[9]=g.m23;d[10]=g.m33;d[11]=g.m43;d[12]=g.m14;d[13]=g.m24;d[14]=g.m34;d[15]=g.m44;return ca}function y(g,d){return l(g,"HEAPF32",d||va)}function B(g,d,h,n){var t=Na.toTypedArray();t[0]=g;t[1]=d;t[2]=h;t[3]=n;return va}function D(g){for(var d=new Float32Array(4),h=0;4>h;h++)d[h]=a.HEAPF32[g/4+h];return d}function u(g,d){return l(g,"HEAPF32",d||X)}function F(g,d){return l(g, +"HEAPF32",d||Eb)}a.Color=function(g,d,h,n){void 0===n&&(n=1);return a.Color4f(f(g)/255,f(d)/255,f(h)/255,n)};a.ColorAsInt=function(g,d,h,n){void 0===n&&(n=255);return(f(n)<<24|f(g)<<16|f(d)<<8|f(h)<<0&268435455)>>>0};a.Color4f=function(g,d,h,n){void 0===n&&(n=1);return Float32Array.of(g,d,h,n)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,"WHITE",{get:function(){return a.Color4f(1, +1,1,1)}});Object.defineProperty(a,"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,0,1,1)}});a.getColorComponents=function(g){return[Math.floor(255* +g[0]),Math.floor(255*g[1]),Math.floor(255*g[2]),g[3]]};a.parseColorString=function(g,d){g=g.toLowerCase();if(g.startsWith("#")){d=255;switch(g.length){case 9:d=parseInt(g.slice(7,9),16);case 7:var h=parseInt(g.slice(1,3),16);var n=parseInt(g.slice(3,5),16);var t=parseInt(g.slice(5,7),16);break;case 5:d=17*parseInt(g.slice(4,5),16);case 4:h=17*parseInt(g.slice(1,2),16),n=17*parseInt(g.slice(2,3),16),t=17*parseInt(g.slice(3,4),16)}return a.Color(h,n,t,d/255)}return g.startsWith("rgba")?(g=g.slice(5, +-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("rgb")?(g=g.slice(4,-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("gray(")||g.startsWith("hsl")||!d||(g=d[g],void 0===g)?a.BLACK:g};a.multiplyByAlpha=function(g,d){g=g.slice();g[3]=Math.max(0,Math.min(g[3]*d,1));return g};a.Malloc=function(g,d){var h=a._malloc(d*g.BYTES_PER_ELEMENT);return{_ck:!0,length:d,byteOffset:h,Wd:null,subarray:function(n,t){n=this.toTypedArray().subarray(n,t);n._ck=!0;return n},toTypedArray:function(){if(this.Wd&& +this.Wd.length)return this.Wd;this.Wd=new g(a.HEAPU8.buffer,h,d);this.Wd._ck=!0;return this.Wd}}};a.Free=function(g){a._free(g.byteOffset);g.byteOffset=M;g.toTypedArray=null;g.Wd=null};var H=M,T,ca=M,Y,va=M,Na,na,X=M,fc,Ba=M,gc,Fb=M,hc,Gb=M,hb,Sa=M,ic,Eb=M,jc,kc=M,fd=Float32Array.of(0,0,1),M=0;a.onRuntimeInitialized=function(){function g(d,h,n,t,v,z,E){z||(z=4*t.width,t.colorType===a.ColorType.RGBA_F16?z*=2:t.colorType===a.ColorType.RGBA_F32&&(z*=4));var J=z*t.height;var I=v?v.byteOffset:a._malloc(J); +if(E?!d._readPixels(t,I,z,h,n,E):!d._readPixels(t,I,z,h,n))return v||a._free(I),null;if(v)return v.toTypedArray();switch(t.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:d=(new Uint8Array(a.HEAPU8.buffer,I,J)).slice();break;case a.ColorType.RGBA_F32:d=(new Float32Array(a.HEAPU8.buffer,I,J)).slice();break;default:return null}a._free(I);return d}Na=a.Malloc(Float32Array,4);va=Na.byteOffset;Y=a.Malloc(Float32Array,16);ca=Y.byteOffset;T=a.Malloc(Float32Array,9);H=T.byteOffset;ic=a.Malloc(Float32Array, +12);Eb=ic.byteOffset;jc=a.Malloc(Float32Array,12);kc=jc.byteOffset;na=a.Malloc(Float32Array,4);X=na.byteOffset;fc=a.Malloc(Float32Array,4);Ba=fc.byteOffset;gc=a.Malloc(Float32Array,3);Fb=gc.byteOffset;hc=a.Malloc(Float32Array,3);Gb=hc.byteOffset;hb=a.Malloc(Int32Array,4);Sa=hb.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds= +function(d){var h=l(d,"HEAPF32"),n=a.Path._MakeFromCmds(h,d.length);k(h,d);return n};a.Path.MakeFromVerbsPointsWeights=function(d,h,n){var t=l(d,"HEAPU8"),v=l(h,"HEAPF32"),z=l(n,"HEAPF32"),E=a.Path._MakeFromVerbsPointsWeights(t,d.length,v,h.length,z,n&&n.length||0);k(t,d);k(v,h);k(z,n);return E};a.Path.prototype.addArc=function(d,h,n){d=u(d);this._addArc(d,h,n);return this};a.Path.prototype.addCircle=function(d,h,n,t){this._addCircle(d,h,n,!!t);return this};a.Path.prototype.addOval=function(d,h,n){void 0=== +n&&(n=1);d=u(d);this._addOval(d,!!h,n);return this};a.Path.prototype.addPath=function(){var d=Array.prototype.slice.call(arguments),h=d[0],n=!1;"boolean"===typeof d[d.length-1]&&(n=d.pop());if(1===d.length)this._addPath(h,1,0,0,0,1,0,0,0,1,n);else if(2===d.length)d=d[1],this._addPath(h,d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1,n);else if(7===d.length||10===d.length)this._addPath(h,d[1],d[2],d[3],d[4],d[5],d[6],d[7]||0,d[8]||0,d[9]||1,n);else return null;return this};a.Path.prototype.addPoly= +function(d,h){var n=l(d,"HEAPF32");this._addPoly(n,d.length/2,h);k(n,d);return this};a.Path.prototype.addRect=function(d,h){d=u(d);this._addRect(d,!!h);return this};a.Path.prototype.addRRect=function(d,h){d=F(d);this._addRRect(d,!!h);return this};a.Path.prototype.addVerbsPointsWeights=function(d,h,n){var t=l(d,"HEAPU8"),v=l(h,"HEAPF32"),z=l(n,"HEAPF32");this._addVerbsPointsWeights(t,d.length,v,h.length,z,n&&n.length||0);k(t,d);k(v,h);k(z,n)};a.Path.prototype.arc=function(d,h,n,t,v,z){d=a.LTRBRect(d- +n,h-n,d+n,h+n);v=(v-t)/Math.PI*180-360*!!z;z=new a.Path;z.addArc(d,t/Math.PI*180,v);this.addPath(z,!0);z.delete();return this};a.Path.prototype.arcToOval=function(d,h,n,t){d=u(d);this._arcToOval(d,h,n,t);return this};a.Path.prototype.arcToRotated=function(d,h,n,t,v,z,E){this._arcToRotated(d,h,n,!!t,!!v,z,E);return this};a.Path.prototype.arcToTangent=function(d,h,n,t,v){this._arcToTangent(d,h,n,t,v);return this};a.Path.prototype.close=function(){this._close();return this};a.Path.prototype.conicTo= +function(d,h,n,t,v){this._conicTo(d,h,n,t,v);return this};a.Path.prototype.computeTightBounds=function(d){this._computeTightBounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.cubicTo=function(d,h,n,t,v,z){this._cubicTo(d,h,n,t,v,z);return this};a.Path.prototype.dash=function(d,h,n){return this._dash(d,h,n)?this:null};a.Path.prototype.getBounds=function(d){this._getBounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.lineTo=function(d, +h){this._lineTo(d,h);return this};a.Path.prototype.moveTo=function(d,h){this._moveTo(d,h);return this};a.Path.prototype.offset=function(d,h){this._transform(1,0,d,0,1,h,0,0,1);return this};a.Path.prototype.quadTo=function(d,h,n,t){this._quadTo(d,h,n,t);return this};a.Path.prototype.rArcTo=function(d,h,n,t,v,z,E){this._rArcTo(d,h,n,t,v,z,E);return this};a.Path.prototype.rConicTo=function(d,h,n,t,v){this._rConicTo(d,h,n,t,v);return this};a.Path.prototype.rCubicTo=function(d,h,n,t,v,z){this._rCubicTo(d, +h,n,t,v,z);return this};a.Path.prototype.rLineTo=function(d,h){this._rLineTo(d,h);return this};a.Path.prototype.rMoveTo=function(d,h){this._rMoveTo(d,h);return this};a.Path.prototype.rQuadTo=function(d,h,n,t){this._rQuadTo(d,h,n,t);return this};a.Path.prototype.stroke=function(d){d=d||{};d.width=d.width||1;d.miter_limit=d.miter_limit||4;d.cap=d.cap||a.StrokeCap.Butt;d.join=d.join||a.StrokeJoin.Miter;d.precision=d.precision||1;return this._stroke(d)?this:null};a.Path.prototype.transform=function(){if(1=== +arguments.length){var d=arguments[0];this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1)}else if(6===arguments.length||9===arguments.length)d=arguments,this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.trim=function(d,h,n){return this._trim(d,h,!!n)?this:null};a.Image.prototype.encodeToBytes=function(d,h){var n=a.he();d=d||a.ImageFormat.PNG;h=h||100; +return n?this._encodeToBytes(d,h,n):this._encodeToBytes(d,h)};a.Image.prototype.makeShaderCubic=function(d,h,n,t,v){v=q(v);return this._makeShaderCubic(d,h,n,t,v)};a.Image.prototype.makeShaderOptions=function(d,h,n,t,v){v=q(v);return this._makeShaderOptions(d,h,n,t,v)};a.Image.prototype.readPixels=function(d,h,n,t,v){var z=a.he();return g(this,d,h,n,t,v,z)};a.Canvas.prototype.clear=function(d){a.Dd(this.Cd);d=y(d);this._clear(d)};a.Canvas.prototype.clipRRect=function(d,h,n){a.Dd(this.Cd);d=F(d);this._clipRRect(d, +h,n)};a.Canvas.prototype.clipRect=function(d,h,n){a.Dd(this.Cd);d=u(d);this._clipRect(d,h,n)};a.Canvas.prototype.concat=function(d){a.Dd(this.Cd);d=w(d);this._concat(d)};a.Canvas.prototype.drawArc=function(d,h,n,t,v){a.Dd(this.Cd);d=u(d);this._drawArc(d,h,n,t,v)};a.Canvas.prototype.drawAtlas=function(d,h,n,t,v,z,E){if(d&&t&&h&&n&&h.length===n.length){a.Dd(this.Cd);v||(v=a.BlendMode.SrcOver);var J=l(h,"HEAPF32"),I=l(n,"HEAPF32"),U=n.length/4,V=l(c(z),"HEAPU32");if(E&&"B"in E&&"C"in E)this._drawAtlasCubic(d, +I,J,V,U,v,E.B,E.C,t);else{let p=a.FilterMode.Linear,A=a.MipmapMode.None;E&&(p=E.filter,"mipmap"in E&&(A=E.mipmap));this._drawAtlasOptions(d,I,J,V,U,v,p,A,t)}k(J,h);k(I,n);k(V,z)}};a.Canvas.prototype.drawCircle=function(d,h,n,t){a.Dd(this.Cd);this._drawCircle(d,h,n,t)};a.Canvas.prototype.drawColor=function(d,h){a.Dd(this.Cd);d=y(d);void 0!==h?this._drawColor(d,h):this._drawColor(d)};a.Canvas.prototype.drawColorInt=function(d,h){a.Dd(this.Cd);this._drawColorInt(d,h||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents= +function(d,h,n,t,v){a.Dd(this.Cd);d=B(d,h,n,t);void 0!==v?this._drawColor(d,v):this._drawColor(d)};a.Canvas.prototype.drawDRRect=function(d,h,n){a.Dd(this.Cd);d=F(d,Eb);h=F(h,kc);this._drawDRRect(d,h,n)};a.Canvas.prototype.drawImage=function(d,h,n,t){a.Dd(this.Cd);this._drawImage(d,h,n,t||null)};a.Canvas.prototype.drawImageCubic=function(d,h,n,t,v,z){a.Dd(this.Cd);this._drawImageCubic(d,h,n,t,v,z||null)};a.Canvas.prototype.drawImageOptions=function(d,h,n,t,v,z){a.Dd(this.Cd);this._drawImageOptions(d, +h,n,t,v,z||null)};a.Canvas.prototype.drawImageNine=function(d,h,n,t,v){a.Dd(this.Cd);h=l(h,"HEAP32",Sa);n=u(n);this._drawImageNine(d,h,n,t,v||null)};a.Canvas.prototype.drawImageRect=function(d,h,n,t,v){a.Dd(this.Cd);u(h,X);u(n,Ba);this._drawImageRect(d,X,Ba,t,!!v)};a.Canvas.prototype.drawImageRectCubic=function(d,h,n,t,v,z){a.Dd(this.Cd);u(h,X);u(n,Ba);this._drawImageRectCubic(d,X,Ba,t,v,z||null)};a.Canvas.prototype.drawImageRectOptions=function(d,h,n,t,v,z){a.Dd(this.Cd);u(h,X);u(n,Ba);this._drawImageRectOptions(d, +X,Ba,t,v,z||null)};a.Canvas.prototype.drawLine=function(d,h,n,t,v){a.Dd(this.Cd);this._drawLine(d,h,n,t,v)};a.Canvas.prototype.drawOval=function(d,h){a.Dd(this.Cd);d=u(d);this._drawOval(d,h)};a.Canvas.prototype.drawPaint=function(d){a.Dd(this.Cd);this._drawPaint(d)};a.Canvas.prototype.drawParagraph=function(d,h,n){a.Dd(this.Cd);this._drawParagraph(d,h,n)};a.Canvas.prototype.drawPatch=function(d,h,n,t,v){if(24>d.length)throw"Need 12 cubic points";if(h&&4>h.length)throw"Need 4 colors";if(n&&8>n.length)throw"Need 4 shader coordinates"; +a.Dd(this.Cd);const z=l(d,"HEAPF32"),E=h?l(c(h),"HEAPU32"):M,J=n?l(n,"HEAPF32"):M;t||(t=a.BlendMode.Modulate);this._drawPatch(z,E,J,t,v);k(J,n);k(E,h);k(z,d)};a.Canvas.prototype.drawPath=function(d,h){a.Dd(this.Cd);this._drawPath(d,h)};a.Canvas.prototype.drawPicture=function(d){a.Dd(this.Cd);this._drawPicture(d)};a.Canvas.prototype.drawPoints=function(d,h,n){a.Dd(this.Cd);var t=l(h,"HEAPF32");this._drawPoints(d,t,h.length/2,n);k(t,h)};a.Canvas.prototype.drawRRect=function(d,h){a.Dd(this.Cd);d=F(d); +this._drawRRect(d,h)};a.Canvas.prototype.drawRect=function(d,h){a.Dd(this.Cd);d=u(d);this._drawRect(d,h)};a.Canvas.prototype.drawRect4f=function(d,h,n,t,v){a.Dd(this.Cd);this._drawRect4f(d,h,n,t,v)};a.Canvas.prototype.drawShadow=function(d,h,n,t,v,z,E){a.Dd(this.Cd);var J=l(v,"HEAPF32"),I=l(z,"HEAPF32");h=l(h,"HEAPF32",Fb);n=l(n,"HEAPF32",Gb);this._drawShadow(d,h,n,t,J,I,E);k(J,v);k(I,z)};a.getShadowLocalBounds=function(d,h,n,t,v,z,E){d=q(d);n=l(n,"HEAPF32",Fb);t=l(t,"HEAPF32",Gb);if(!this._getShadowLocalBounds(d, +h,n,t,v,z,X))return null;h=na.toTypedArray();return E?(E.set(h),E):h.slice()};a.Canvas.prototype.drawTextBlob=function(d,h,n,t){a.Dd(this.Cd);this._drawTextBlob(d,h,n,t)};a.Canvas.prototype.drawVertices=function(d,h,n){a.Dd(this.Cd);this._drawVertices(d,h,n)};a.Canvas.prototype.getDeviceClipBounds=function(d){this._getDeviceClipBounds(Sa);var h=hb.toTypedArray();d?d.set(h):d=h.slice();return d};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(ca);for(var d=ca,h=Array(16),n=0;16> +n;n++)h[n]=a.HEAPF32[d/4+n];return h};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(H);for(var d=Array(9),h=0;9>h;h++)d[h]=a.HEAPF32[H/4+h];return d};a.Canvas.prototype.makeSurface=function(d){d=this._makeSurface(d);d.Cd=this.Cd;return d};a.Canvas.prototype.readPixels=function(d,h,n,t,v){a.Dd(this.Cd);return g(this,d,h,n,t,v)};a.Canvas.prototype.saveLayer=function(d,h,n,t){h=u(h);return this._saveLayer(d||null,h,n||null,t||0)};a.Canvas.prototype.writePixels=function(d,h,n,t,v, +z,E,J){if(d.byteLength%(h*n))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Dd(this.Cd);var I=d.byteLength/(h*n);z=z||a.AlphaType.Unpremul;E=E||a.ColorType.RGBA_8888;J=J||a.ColorSpace.SRGB;var U=I*h;I=l(d,"HEAPU8");h=this._writePixels({width:h,height:n,colorType:E,alphaType:z,colorSpace:J},I,U,t,v);k(I,d);return h};a.ColorFilter.MakeBlend=function(d,h,n){d=y(d);n=n||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(d,h,n)};a.ColorFilter.MakeMatrix=function(d){if(!d||20!==d.length)throw"invalid color matrix"; +var h=l(d,"HEAPF32"),n=a.ColorFilter._makeMatrix(h);k(h,d);return n};a.ContourMeasure.prototype.getPosTan=function(d,h){this._getPosTan(d,X);d=na.toTypedArray();return h?(h.set(d),h):d.slice()};a.ImageFilter.prototype.getOutputBounds=function(d,h,n){d=u(d,X);h=q(h);this._getOutputBounds(d,h,Sa);h=hb.toTypedArray();return n?(n.set(h),n):h.slice()};a.ImageFilter.MakeDropShadow=function(d,h,n,t,v,z){v=y(v,va);return a.ImageFilter._MakeDropShadow(d,h,n,t,v,z)};a.ImageFilter.MakeDropShadowOnly=function(d, +h,n,t,v,z){v=y(v,va);return a.ImageFilter._MakeDropShadowOnly(d,h,n,t,v,z)};a.ImageFilter.MakeImage=function(d,h,n,t){n=u(n,X);t=u(t,Ba);if("B"in h&&"C"in h)return a.ImageFilter._MakeImageCubic(d,h.B,h.C,n,t);const v=h.filter;let z=a.MipmapMode.None;"mipmap"in h&&(z=h.mipmap);return a.ImageFilter._MakeImageOptions(d,v,z,n,t)};a.ImageFilter.MakeMatrixTransform=function(d,h,n){d=q(d);if("B"in h&&"C"in h)return a.ImageFilter._MakeMatrixTransformCubic(d,h.B,h.C,n);const t=h.filter;let v=a.MipmapMode.None; +"mipmap"in h&&(v=h.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(d,t,v,n)};a.Paint.prototype.getColor=function(){this._getColor(va);return D(va)};a.Paint.prototype.setColor=function(d,h){h=h||null;d=y(d);this._setColor(d,h)};a.Paint.prototype.setColorComponents=function(d,h,n,t,v){v=v||null;d=B(d,h,n,t);this._setColor(d,v)};a.Path.prototype.getPoint=function(d,h){this._getPoint(d,X);d=na.toTypedArray();return h?(h[0]=d[0],h[1]=d[1],h):d.slice(0,2)};a.Picture.prototype.makeShader=function(d, +h,n,t,v){t=q(t);v=u(v);return this._makeShader(d,h,n,t,v)};a.Picture.prototype.cullRect=function(d){this._cullRect(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.PictureRecorder.prototype.beginRecording=function(d,h){d=u(d);return this._beginRecording(d,!!h)};a.Surface.prototype.getCanvas=function(){var d=this._getCanvas();d.Cd=this.Cd;return d};a.Surface.prototype.makeImageSnapshot=function(d){a.Dd(this.Cd);d=l(d,"HEAP32",Sa);return this._makeImageSnapshot(d)};a.Surface.prototype.makeSurface= +function(d){a.Dd(this.Cd);d=this._makeSurface(d);d.Cd=this.Cd;return d};a.Surface.prototype.Ne=function(d,h){this.ae||(this.ae=this.getCanvas());return requestAnimationFrame(function(){a.Dd(this.Cd);d(this.ae);this.flush(h)}.bind(this))};a.Surface.prototype.requestAnimationFrame||(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.Ne);a.Surface.prototype.Ke=function(d,h){this.ae||(this.ae=this.getCanvas());requestAnimationFrame(function(){a.Dd(this.Cd);d(this.ae);this.flush(h);this.dispose()}.bind(this))}; +a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.Ke);a.PathEffect.MakeDash=function(d,h){h||(h=0);if(!d.length||1===d.length%2)throw"Intervals array must have even length";var n=l(d,"HEAPF32");h=a.PathEffect._MakeDash(n,d.length,h);k(n,d);return h};a.PathEffect.MakeLine2D=function(d,h){h=q(h);return a.PathEffect._MakeLine2D(d,h)};a.PathEffect.MakePath2D=function(d,h){d=q(d);return a.PathEffect._MakePath2D(d,h)};a.Shader.MakeColor=function(d,h){h=h||null;d=y(d);return a.Shader._MakeColor(d, +h)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(d,h,n,t,v,z,E,J){J=J||null;var I=m(n),U=l(t,"HEAPF32");E=E||0;z=q(z);var V=na.toTypedArray();V.set(d);V.set(h,2);d=a.Shader._MakeLinearGradient(X,I.Ld,I.colorType,U,I.count,v,E,z,J);k(I.Ld,n);t&&k(U,t);return d};a.Shader.MakeRadialGradient=function(d,h,n,t,v,z,E,J){J=J||null;var I=m(n),U=l(t,"HEAPF32");E=E||0;z=q(z);d=a.Shader._MakeRadialGradient(d[0],d[1],h,I.Ld,I.colorType,U,I.count,v,E, +z,J);k(I.Ld,n);t&&k(U,t);return d};a.Shader.MakeSweepGradient=function(d,h,n,t,v,z,E,J,I,U){U=U||null;var V=m(n),p=l(t,"HEAPF32");E=E||0;J=J||0;I=I||360;z=q(z);d=a.Shader._MakeSweepGradient(d,h,V.Ld,V.colorType,p,V.count,v,J,I,E,z,U);k(V.Ld,n);t&&k(p,t);return d};a.Shader.MakeTwoPointConicalGradient=function(d,h,n,t,v,z,E,J,I,U){U=U||null;var V=m(v),p=l(z,"HEAPF32");I=I||0;J=q(J);var A=na.toTypedArray();A.set(d);A.set(n,2);d=a.Shader._MakeTwoPointConicalGradient(X,h,t,V.Ld,V.colorType,p,V.count,E, +I,J,U);k(V.Ld,v);z&&k(p,z);return d};a.Vertices.prototype.bounds=function(d){this._bounds(X);var h=na.toTypedArray();return d?(d.set(h),d):h.slice()};a.Gd&&a.Gd.forEach(function(d){d()})};a.computeTonalColors=function(g){var d=l(g.ambient,"HEAPF32"),h=l(g.spot,"HEAPF32");this._computeTonalColors(d,h);var n={ambient:D(d),spot:D(h)};k(d,g.ambient);k(h,g.spot);return n};a.LTRBRect=function(g,d,h,n){return Float32Array.of(g,d,h,n)};a.XYWHRect=function(g,d,h,n){return Float32Array.of(g,d,g+h,d+n)};a.LTRBiRect= +function(g,d,h,n){return Int32Array.of(g,d,h,n)};a.XYWHiRect=function(g,d,h,n){return Int32Array.of(g,d,g+h,d+n)};a.RRectXY=function(g,d,h){return Float32Array.of(g[0],g[1],g[2],g[3],d,h,d,h,d,h,d,h)};a.MakeAnimatedImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeAnimatedImage(d,g.byteLength))?g:null};a.MakeImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeImage(d,g.byteLength))? +g:null};var Ta=null;a.MakeImageFromCanvasImageSource=function(g){var d=g.width,h=g.height;Ta||(Ta=document.createElement("canvas"));Ta.width=d;Ta.height=h;var n=Ta.getContext("2d",{willReadFrequently:!0});n.drawImage(g,0,0);g=n.getImageData(0,0,d,h);return a.MakeImage({width:d,height:h,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},g.data,4*d)};a.MakeImage=function(g,d,h){var n=a._malloc(d.length);a.HEAPU8.set(d,n);return a._MakeImage(g,n,d.length,h)}; +a.MakeVertices=function(g,d,h,n,t,v){var z=t&&t.length||0,E=0;h&&h.length&&(E|=1);n&&n.length&&(E|=2);void 0===v||v||(E|=4);g=new a._VerticesBuilder(g,d.length/2,z,E);l(d,"HEAPF32",g.positions());g.texCoords()&&l(h,"HEAPF32",g.texCoords());g.colors()&&l(c(n),"HEAPU32",g.colors());g.indices()&&l(t,"HEAPU16",g.indices());return g.detach()};(function(g){g.Gd=g.Gd||[];g.Gd.push(function(){function d(p){p&&(p.dir=0===p.dir?g.TextDirection.RTL:g.TextDirection.LTR);return p}function h(p){if(!p||!p.length)return[]; +for(var A=[],O=0;Od)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.Font.prototype.getGlyphIntercepts=function(g,d,h,n){var t=l(g,"HEAPU16"),v=l(d,"HEAPF32");return this._getGlyphIntercepts(t, +g.length,!(g&&g._ck),v,d.length,!(d&&d._ck),h,n)};a.Font.prototype.getGlyphWidths=function(g,d,h){var n=l(g,"HEAPU16"),t=a._malloc(4*g.length);this._getGlyphWidthBounds(n,g.length,t,M,d||null);d=new Float32Array(a.HEAPU8.buffer,t,g.length);k(n,g);if(h)return h.set(d),a._free(t),h;g=Float32Array.from(d);a._free(t);return g};a.FontMgr.FromData=function(){if(!arguments.length)return null;var g=arguments;1===g.length&&Array.isArray(g[0])&&(g=arguments[0]);if(!g.length)return null;for(var d=[],h=[],n= +0;nd)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.TextBlob.MakeOnPath=function(g,d,h,n){if(g&&g.length&&d&&d.countPoints()){if(1===d.countPoints())return this.MakeFromText(g,h);n||(n=0);var t=h.getGlyphIDs(g);t=h.getGlyphWidths(t);var v=[];d=new a.ContourMeasureIter(d,!1,1);for(var z=d.next(),E=new Float32Array(4),J=0;Jz.length()){z.delete();z=d.next();if(!z){g=g.substring(0,J);break}n=I/2}z.getPosTan(n,E);var U=E[2],V=E[3];v.push(U,V,E[0]-I/2*U,E[1]-I/2*V);n+=I/2}g=this.MakeFromRSXform(g,v,h);z&&z.delete();d.delete();return g}};a.TextBlob.MakeFromRSXform=function(g,d,h){var n=ja(g)+1,t=a._malloc(n);ka(g,C,t,n);g=l(d,"HEAPF32");h=a.TextBlob._MakeFromRSXform(t,n-1,g,h);a._free(t);return h?h:null};a.TextBlob.MakeFromRSXformGlyphs=function(g,d,h){var n=l(g,"HEAPU16");d=l(d,"HEAPF32"); +h=a.TextBlob._MakeFromRSXformGlyphs(n,2*g.length,d,h);k(n,g);return h?h:null};a.TextBlob.MakeFromGlyphs=function(g,d){var h=l(g,"HEAPU16");d=a.TextBlob._MakeFromGlyphs(h,2*g.length,d);k(h,g);return d?d:null};a.TextBlob.MakeFromText=function(g,d){var h=ja(g)+1,n=a._malloc(h);ka(g,C,n,h);g=a.TextBlob._MakeFromText(n,h-1,d);a._free(n);return g?g:null};a.MallocGlyphIDs=function(g){return a.Malloc(Uint16Array,g)}});a.Gd=a.Gd||[];a.Gd.push(function(){a.MakePicture=function(g){g=new Uint8Array(g);var d= +a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._MakePicture(d,g.byteLength))?g:null}});a.Gd=a.Gd||[];a.Gd.push(function(){a.RuntimeEffect.Make=function(g,d){return a.RuntimeEffect._Make(g,{onError:d||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.MakeForBlender=function(g,d){return a.RuntimeEffect._MakeForBlender(g,{onError:d||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.prototype.makeShader=function(g,d){var h=!g._ck,n=l(g,"HEAPF32");d=q(d);return this._makeShader(n, +4*g.length,h,d)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(g,d,h){var n=!g._ck,t=l(g,"HEAPF32");h=q(h);for(var v=[],z=0;z{throw b;},pa="object"==typeof window,ra="function"==typeof importScripts,sa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,ta="",ua,wa,xa; +if(sa){const {createRequire:a}=await import("module");var require=a(import.meta.url),fs=require("fs"),ya=require("path");ra?ta=ya.dirname(ta)+"/":ta=require("url").fileURLToPath(new URL("./",import.meta.url));ua=(b,c)=>{b=b.startsWith("file://")?new URL(b):ya.normalize(b);return fs.readFileSync(b,c?void 0:"utf8")};xa=b=>{b=ua(b,!0);b.buffer||(b=new Uint8Array(b));return b};wa=(b,c,e,f=!0)=>{b=b.startsWith("file://")?new URL(b):ya.normalize(b);fs.readFile(b,f?void 0: +"utf8",(k,l)=>{k?e(k):c(f?l.buffer:l)})};!r.thisProgram&&1{process.exitCode=b;throw c;};r.inspect=()=>"[Emscripten Module object]"}else if(pa||ra)ra?ta=self.location.href:"undefined"!=typeof document&&document.currentScript&&(ta=document.currentScript.src),_scriptDir&&(ta=_scriptDir),0!==ta.indexOf("blob:")?ta=ta.substr(0,ta.replace(/[?#].*/,"").lastIndexOf("/")+1):ta="",ua=a=>{var b=new XMLHttpRequest;b.open("GET", +a,!1);b.send(null);return b.responseText},ra&&(xa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),wa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)};var Aa=r.print||console.log.bind(console),Ca=r.printErr||console.error.bind(console);Object.assign(r,la);la=null;r.thisProgram&&(ma=r.thisProgram); +r.quit&&(oa=r.quit);var Da;r.wasmBinary&&(Da=r.wasmBinary);var noExitRuntime=r.noExitRuntime||!0;"object"!=typeof WebAssembly&&Ea("no native wasm support detected");var Fa,G,Ga=!1,Ha,C,Ia,Ja,K,L,N,Ka;function La(){var a=Fa.buffer;r.HEAP8=Ha=new Int8Array(a);r.HEAP16=Ia=new Int16Array(a);r.HEAP32=K=new Int32Array(a);r.HEAPU8=C=new Uint8Array(a);r.HEAPU16=Ja=new Uint16Array(a);r.HEAPU32=L=new Uint32Array(a);r.HEAPF32=N=new Float32Array(a);r.HEAPF64=Ka=new Float64Array(a)}var Ma,Oa=[],Pa=[],Qa=[]; +function Ra(){var a=r.preRun.shift();Oa.unshift(a)}var Ua=0,Va=null,Wa=null;function Ea(a){if(r.onAbort)r.onAbort(a);a="Aborted("+a+")";Ca(a);Ga=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function Xa(a){return a.startsWith("data:application/octet-stream;base64,")}var Ya;if(r.locateFile){if(Ya="canvaskit.wasm",!Xa(Ya)){var Za=Ya;Ya=r.locateFile?r.locateFile(Za,ta):ta+Za}}else Ya=(new URL("canvaskit.wasm",import.meta.url)).href; +function $a(a){if(a==Ya&&Da)return new Uint8Array(Da);if(xa)return xa(a);throw"both async and sync fetching of the wasm failed";}function ab(a){if(!Da&&(pa||ra)){if("function"==typeof fetch&&!a.startsWith("file://"))return fetch(a,{credentials:"same-origin"}).then(b=>{if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(()=>$a(a));if(wa)return new Promise((b,c)=>{wa(a,e=>b(new Uint8Array(e)),c)})}return Promise.resolve().then(()=>$a(a))} +function bb(a,b,c){return ab(a).then(e=>WebAssembly.instantiate(e,b)).then(e=>e).then(c,e=>{Ca("failed to asynchronously prepare wasm: "+e);Ea(e)})} +function cb(a,b){var c=Ya;return Da||"function"!=typeof WebAssembly.instantiateStreaming||Xa(c)||c.startsWith("file://")||sa||"function"!=typeof fetch?bb(c,a,b):fetch(c,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){Ca("wasm streaming compile failed: "+f);Ca("falling back to ArrayBuffer instantiation");return bb(c,a,b)}))}function db(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a}var eb=a=>{for(;0>2]=b};this.qe=function(b){L[this.Ed+8>>2]=b};this.Td=function(b,c){this.pe();this.Ie(b);this.qe(c)};this.pe=function(){L[this.Ed+16>>2]=0}} +var gb=0,ib=0,jb="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,kb=(a,b,c)=>{var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}, +lb={};function mb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function nb(a){return this.fromWireType(K[a>>2])}var ob={},pb={},qb={},rb=void 0;function sb(a){throw new rb(a);} +function tb(a,b,c){function e(m){m=c(m);m.length!==a.length&&sb("Mismatched type converter count");for(var q=0;q{pb.hasOwnProperty(m)?f[q]=pb[m]:(k.push(m),ob.hasOwnProperty(m)||(ob[m]=[]),ob[m].push(()=>{f[q]=pb[m];++l;l===k.length&&e(f)}))});0===k.length&&e(f)} +function vb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${a}`);}}var wb=void 0;function P(a){for(var b="";C[a];)b+=wb[C[a++]];return b}var xb=void 0;function Q(a){throw new xb(a);} +function yb(a,b,c={}){var e=b.name;a||Q(`type "${e}" must have a positive integer typeid pointer`);if(pb.hasOwnProperty(a)){if(c.$e)return;Q(`Cannot register type '${e}' twice`)}pb[a]=b;delete qb[a];ob.hasOwnProperty(a)&&(b=ob[a],delete ob[a],b.forEach(f=>f()))}function ub(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");yb(a,b,c)}function zb(a){Q(a.jd.Hd.Fd.name+" instance already deleted")}var Ab=!1;function Bb(){} +function Cb(a){--a.count.value;0===a.count.value&&(a.Jd?a.Nd.Rd(a.Jd):a.Hd.Fd.Rd(a.Ed))}function Db(a,b,c){if(b===c)return a;if(void 0===c.Kd)return null;a=Db(a,b,c.Kd);return null===a?null:c.Se(a)}var Jb={},Kb=[];function Lb(){for(;Kb.length;){var a=Kb.pop();a.jd.Zd=!1;a["delete"]()}}var Mb=void 0,Nb={};function Ob(a,b){for(void 0===b&&Q("ptr should not be undefined");a.Kd;)b=a.ee(b),a=a.Kd;return Nb[b]} +function Pb(a,b){b.Hd&&b.Ed||sb("makeClassHandle requires ptr and ptrType");!!b.Nd!==!!b.Jd&&sb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Qb(Object.create(a,{jd:{value:b}}))}function Qb(a){if("undefined"===typeof FinalizationRegistry)return Qb=b=>b,a;Ab=new FinalizationRegistry(b=>{Cb(b.jd)});Qb=b=>{var c=b.jd;c.Jd&&Ab.register(b,{jd:c},b);return b};Bb=b=>{Ab.unregister(b)};return Qb(a)}function Rb(){} +function Sb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a}function Tb(a,b){a=Sb(a);return{[a]:function(){return b.apply(this,arguments)}}[a]} +function Ub(a,b,c){if(void 0===a[b].Id){var e=a[b];a[b]=function(){a[b].Id.hasOwnProperty(arguments.length)||Q(`Function '${c}' called with an invalid number of arguments (${arguments.length}) - expects one of (${a[b].Id})!`);return a[b].Id[arguments.length].apply(this,arguments)};a[b].Id=[];a[b].Id[e.Xd]=e}} +function Vb(a,b,c){r.hasOwnProperty(a)?((void 0===c||void 0!==r[a].Id&&void 0!==r[a].Id[c])&&Q(`Cannot register public name '${a}' twice`),Ub(r,a,a),r.hasOwnProperty(c)&&Q(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`),r[a].Id[c]=b):(r[a]=b,void 0!==c&&(r[a].rf=c))}function Wb(a,b,c,e,f,k,l,m){this.name=a;this.constructor=b;this.$d=c;this.Rd=e;this.Kd=f;this.Ve=k;this.ee=l;this.Se=m;this.df=[]} +function Xb(a,b,c){for(;b!==c;)b.ee||Q(`Expected null or instance of ${c.name}, got an instance of ${b.name}`),a=b.ee(a),b=b.Kd;return a}function Yb(a,b){if(null===b)return this.ue&&Q(`null is not a valid ${this.name}`),0;b.jd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.jd.Ed||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);return Xb(b.jd.Ed,b.jd.Hd.Fd,this.Fd)} +function $b(a,b){if(null===b){this.ue&&Q(`null is not a valid ${this.name}`);if(this.je){var c=this.ve();null!==a&&a.push(this.Rd,c);return c}return 0}b.jd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.jd.Ed||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);!this.ie&&b.jd.Hd.ie&&Q(`Cannot convert argument of type ${b.jd.Nd?b.jd.Nd.name:b.jd.Hd.name} to parameter type ${this.name}`);c=Xb(b.jd.Ed,b.jd.Hd.Fd,this.Fd);if(this.je)switch(void 0===b.jd.Jd&&Q("Passing raw pointer to smart pointer is illegal"), +this.jf){case 0:b.jd.Nd===this?c=b.jd.Jd:Q(`Cannot convert argument of type ${b.jd.Nd?b.jd.Nd.name:b.jd.Hd.name} to parameter type ${this.name}`);break;case 1:c=b.jd.Jd;break;case 2:if(b.jd.Nd===this)c=b.jd.Jd;else{var e=b.clone();c=this.ef(c,ac(function(){e["delete"]()}));null!==a&&a.push(this.Rd,c)}break;default:Q("Unsupporting sharing policy")}return c} +function bc(a,b){if(null===b)return this.ue&&Q(`null is not a valid ${this.name}`),0;b.jd||Q(`Cannot pass "${Zb(b)}" as a ${this.name}`);b.jd.Ed||Q(`Cannot pass deleted object as a pointer of type ${this.name}`);b.jd.Hd.ie&&Q(`Cannot convert argument of type ${b.jd.Hd.name} to parameter type ${this.name}`);return Xb(b.jd.Ed,b.jd.Hd.Fd,this.Fd)} +function cc(a,b,c,e,f,k,l,m,q,w,y){this.name=a;this.Fd=b;this.ue=c;this.ie=e;this.je=f;this.cf=k;this.jf=l;this.Ee=m;this.ve=q;this.ef=w;this.Rd=y;f||void 0!==b.Kd?this.toWireType=$b:(this.toWireType=e?Yb:bc,this.Md=null)}function dc(a,b,c){r.hasOwnProperty(a)||sb("Replacing nonexistant public symbol");void 0!==r[a].Id&&void 0!==c?r[a].Id[c]=b:(r[a]=b,r[a].Xd=c)} +var ec=(a,b)=>{var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var e=r["dynCall_"+a];e=c&&c.length?e.apply(null,[b].concat(c)):e.call(null,b)}else e=Ma.get(b).apply(null,c);return e}};function mc(a,b){a=P(a);var c=a.includes("j")?ec(a,b):Ma.get(b);"function"!=typeof c&&Q(`unknown function pointer with signature ${a}: ${b}`);return c}var nc=void 0;function oc(a){a=pc(a);var b=P(a);qc(a);return b} +function rc(a,b){function c(k){f[k]||pb[k]||(qb[k]?qb[k].forEach(c):(e.push(k),f[k]=!0))}var e=[],f={};b.forEach(c);throw new nc(`${a}: `+e.map(oc).join([", "]));} +function sc(a,b,c,e,f){var k=b.length;2>k&&Q("argTypes array size mismatch! Must at least get return value and 'this' types!");var l=null!==b[1]&&null!==c,m=!1;for(c=1;c>2]);return c}function uc(){this.Qd=[void 0];this.Ce=[]}var vc=new uc;function wc(a){a>=vc.Td&&0===--vc.get(a).Fe&&vc.qe(a)} +var xc=a=>{a||Q("Cannot use deleted val. handle = "+a);return vc.get(a).value},ac=a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:return vc.pe({Fe:1,value:a})}};function yc(a,b,c){switch(b){case 0:return function(e){return this.fromWireType((c?Ha:C)[e])};case 1:return function(e){return this.fromWireType((c?Ia:Ja)[e>>1])};case 2:return function(e){return this.fromWireType((c?K:L)[e>>2])};default:throw new TypeError("Unknown integer type: "+a);}} +function zc(a,b){var c=pb[a];void 0===c&&Q(b+" has unknown type "+oc(a));return c}function Zb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}function Ac(a,b){switch(b){case 2:return function(c){return this.fromWireType(N[c>>2])};case 3:return function(c){return this.fromWireType(Ka[c>>3])};default:throw new TypeError("Unknown float type: "+a);}} +function Bc(a,b,c){switch(b){case 0:return c?function(e){return Ha[e]}:function(e){return C[e]};case 1:return c?function(e){return Ia[e>>1]}:function(e){return Ja[e>>1]};case 2:return c?function(e){return K[e>>2]}:function(e){return L[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}} +var ka=(a,b,c,e)=>{if(!(0=l){var m=a.charCodeAt(++k);l=65536+((l&1023)<<10)|m&1023}if(127>=l){if(c>=e)break;b[c++]=l}else{if(2047>=l){if(c+1>=e)break;b[c++]=192|l>>6}else{if(65535>=l){if(c+2>=e)break;b[c++]=224|l>>12}else{if(c+3>=e)break;b[c++]=240|l>>18;b[c++]=128|l>>12&63}b[c++]=128|l>>6&63}b[c++]=128|l&63}}b[c]=0;return c-f},ja=a=>{for(var b=0,c=0;c=e?b++:2047>= +e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b},Cc="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Dc=(a,b)=>{var c=a>>1;for(var e=c+b/2;!(c>=e)&&Ja[c];)++c;c<<=1;if(32=b/2);++e){var f=Ia[a+2*e>>1];if(0==f)break;c+=String.fromCharCode(f)}return c},Ec=(a,b,c)=>{void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f>1]=a.charCodeAt(f),b+=2;Ia[b>>1]=0;return b-e}, +Fc=a=>2*a.length,Gc=(a,b)=>{for(var c=0,e="";!(c>=b/4);){var f=K[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e},Hc=(a,b,c)=>{void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f=k){var l=a.charCodeAt(++f);k=65536+((k&1023)<<10)|l&1023}K[b>>2]=k;b+=4;if(b+4>c)break}K[b>>2]=0;return b-e},Ic=a=>{for(var b=0,c=0;c=e&&++c;b+=4}return b},Jc={};function Kc(a){var b=Jc[a];return void 0===b?P(a):b}var Lc=[]; +function Mc(){function a(b){b.$$$embind_global$$$=b;var c="object"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;c||delete b.$$$embind_global$$$;return c}if("object"==typeof globalThis)return globalThis;if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;"object"==typeof global&&a(global)?$$$embind_global$$$=global:"object"==typeof self&&a(self)&&($$$embind_global$$$=self);if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object."); +}function Nc(a){var b=Lc.length;Lc.push(a);return b}function Oc(a,b){for(var c=Array(a),e=0;e>2],"parameter "+e);return c}var Pc=[];function Qc(a){var b=Array(a+1);return function(c,e,f){b[0]=c;for(var k=0;k>2],"parameter "+k);b[k+1]=l.readValueFromPointer(f);f+=l.argPackAdvance}c=new (c.bind.apply(c,b));return ac(c)}}var Rc={}; +function Sc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,e){b.vertexAttribDivisorANGLE(c,e)},a.drawArraysInstanced=function(c,e,f,k){b.drawArraysInstancedANGLE(c,e,f,k)},a.drawElementsInstanced=function(c,e,f,k,l){b.drawElementsInstancedANGLE(c,e,f,k,l)})} +function Tc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Uc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,e){b.drawBuffersWEBGL(c,e)})} +var Vc=1,Wc=[],Xc=[],Yc=[],Zc=[],ea=[],$c=[],ad=[],ia=[],bd=[],cd=[],dd={},ed={},gd=4;function R(a){hd||(hd=a)}function da(a){for(var b=Vc++,c=a.length;ca.version||!b.Ae)b.Ae=b.getExtension("EXT_disjoint_timer_query");b.qf=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}} +var x,hd,ld={},nd=()=>{if(!md){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ma||"./this.program"},b;for(b in ld)void 0===ld[b]?delete a[b]:a[b]=ld[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);md=c}return md},md,od=[null,[],[]];function pd(a){S.bindVertexArray(ad[a])} +function qd(a,b){for(var c=0;c>2];S.deleteVertexArray(ad[e]);ad[e]=null}}var rd=[];function sd(a,b,c,e){S.drawElements(a,b,c,e)}function td(a,b,c,e){for(var f=0;f>2]=l}}function ud(a,b){td(a,b,"createVertexArray",ad)} +function vd(a,b,c){if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&R(1280);return;case 34814:case 36345:e=0;break;case 34466:var f=S.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>x.version){R(1282);return}e=2*(S.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>x.version){R(1280);return}e=33307==a?3:0}if(void 0===e)switch(f=S.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":R(1280);return;case "object":if(null=== +f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=0;break;default:R(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a>2]=f[a];break;case 2:N[b+4*a>>2]=f[a];break;case 4:Ha[b+a>>0]=f[a]?1:0}return}try{e=f.name|0}catch(k){R(1280); +Ca("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+k+")");return}}break;default:R(1280);Ca("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=e;L[b>>2]=c;L[b+4>>2]=(c-L[b>>2])/4294967296;break;case 0:K[b>>2]=e;break;case 2:N[b>>2]=e;break;case 4:Ha[b>>0]=e?1:0}}else R(1281)}var xd=a=>{var b=ja(a)+1,c=wd(b);c&&ka(a,C,c,b);return c}; +function yd(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function zd(a){a-=5120;return 0==a?Ha:1==a?C:2==a?Ia:4==a?K:6==a?N:5==a||28922==a||28520==a||30779==a||30782==a?L:Ja}function Ad(a,b,c,e,f){a=zd(a);var k=31-Math.clz32(a.BYTES_PER_ELEMENT),l=gd;return a.subarray(f>>k,f+e*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<>k)} +function W(a){var b=S.Qe;if(b){var c=b.de[a];"number"==typeof c&&(b.de[a]=c=S.getUniformLocation(b,b.Ge[a]+(00===a%4&&(0!==a%100||0===a%400),Ed=[31,29,31,30,31,30,31,31,30,31,30,31],Fd=[31,28,31,30,31,30,31,31,30,31,30,31];function Gd(a){var b=Array(ja(a)+1);ka(a,b,0,b.length);return b} +var Hd=(a,b,c,e)=>{function f(u,F,H){for(u="number"==typeof u?u.toString():u||"";u.lengthca?-1:0T-u.getDate())F-=T-u.getDate()+1,u.setDate(1),11>H?u.setMonth(H+1):(u.setMonth(0),u.setFullYear(u.getFullYear()+1));else{u.setDate(u.getDate()+F);break}}H=new Date(u.getFullYear()+1,0,4);F=m(new Date(u.getFullYear(), +0,4));H=m(H);return 0>=l(F,u)?0>=l(H,u)?u.getFullYear()+1:u.getFullYear():u.getFullYear()-1}var w=K[e+40>>2];e={mf:K[e>>2],lf:K[e+4>>2],ne:K[e+8>>2],we:K[e+12>>2],oe:K[e+16>>2],Vd:K[e+20>>2],Pd:K[e+24>>2],Ud:K[e+28>>2],tf:K[e+32>>2],kf:K[e+36>>2],nf:w?w?kb(C,w):"":""};c=c?kb(C,c):"";w={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y", +"%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var y in w)c=c.replace(new RegExp(y,"g"),w[y]);var B="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),D="January February March April May June July August September October November December".split(" ");w={"%a":u=>B[u.Pd].substring(0,3),"%A":u=>B[u.Pd],"%b":u=>D[u.oe].substring(0,3),"%B":u=>D[u.oe],"%C":u=>k((u.Vd+1900)/ +100|0,2),"%d":u=>k(u.we,2),"%e":u=>f(u.we,2," "),"%g":u=>q(u).toString().substring(2),"%G":u=>q(u),"%H":u=>k(u.ne,2),"%I":u=>{u=u.ne;0==u?u=12:12{for(var F=0,H=0;H<=u.oe-1;F+=(Dd(u.Vd+1900)?Ed:Fd)[H++]);return k(u.we+F,3)},"%m":u=>k(u.oe+1,2),"%M":u=>k(u.lf,2),"%n":()=>"\n","%p":u=>0<=u.ne&&12>u.ne?"AM":"PM","%S":u=>k(u.mf,2),"%t":()=>"\t","%u":u=>u.Pd||7,"%U":u=>k(Math.floor((u.Ud+7-u.Pd)/7),2),"%V":u=>{var F=Math.floor((u.Ud+7-(u.Pd+6)%7)/7);2>=(u.Pd+371-u.Ud- +2)%7&&F++;if(F)53==F&&(H=(u.Pd+371-u.Ud)%7,4==H||3==H&&Dd(u.Vd)||(F=1));else{F=52;var H=(u.Pd+7-u.Ud-1)%7;(4==H||5==H&&Dd(u.Vd%400-1))&&F++}return k(F,2)},"%w":u=>u.Pd,"%W":u=>k(Math.floor((u.Ud+7-(u.Pd+6)%7)/7),2),"%y":u=>(u.Vd+1900).toString().substring(2),"%Y":u=>u.Vd+1900,"%z":u=>{u=u.kf;var F=0<=u;u=Math.abs(u)/60;return(F?"+":"-")+String("0000"+(u/60*100+u%60)).slice(-4)},"%Z":u=>u.nf,"%%":()=>"%"};c=c.replace(/%%/g,"\x00\x00");for(y in w)c.includes(y)&&(c=c.replace(new RegExp(y,"g"),w[y](e))); +c=c.replace(/\0\0/g,"%");y=Gd(c);if(y.length>b)return 0;Ha.set(y,a);return y.length-1};rb=r.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}};for(var Id=Array(256),Jd=0;256>Jd;++Jd)Id[Jd]=String.fromCharCode(Jd);wb=Id;xb=r.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}}; +Rb.prototype.isAliasOf=function(a){if(!(this instanceof Rb&&a instanceof Rb))return!1;var b=this.jd.Hd.Fd,c=this.jd.Ed,e=a.jd.Hd.Fd;for(a=a.jd.Ed;b.Kd;)c=b.ee(c),b=b.Kd;for(;e.Kd;)a=e.ee(a),e=e.Kd;return b===e&&c===a}; +Rb.prototype.clone=function(){this.jd.Ed||zb(this);if(this.jd.ce)return this.jd.count.value+=1,this;var a=Qb,b=Object,c=b.create,e=Object.getPrototypeOf(this),f=this.jd;a=a(c.call(b,e,{jd:{value:{count:f.count,Zd:f.Zd,ce:f.ce,Ed:f.Ed,Hd:f.Hd,Jd:f.Jd,Nd:f.Nd}}}));a.jd.count.value+=1;a.jd.Zd=!1;return a};Rb.prototype["delete"]=function(){this.jd.Ed||zb(this);this.jd.Zd&&!this.jd.ce&&Q("Object already scheduled for deletion");Bb(this);Cb(this.jd);this.jd.ce||(this.jd.Jd=void 0,this.jd.Ed=void 0)}; +Rb.prototype.isDeleted=function(){return!this.jd.Ed};Rb.prototype.deleteLater=function(){this.jd.Ed||zb(this);this.jd.Zd&&!this.jd.ce&&Q("Object already scheduled for deletion");Kb.push(this);1===Kb.length&&Mb&&Mb(Lb);this.jd.Zd=!0;return this};r.getInheritedInstanceCount=function(){return Object.keys(Nb).length};r.getLiveInheritedInstances=function(){var a=[],b;for(b in Nb)Nb.hasOwnProperty(b)&&a.push(Nb[b]);return a};r.flushPendingDeletes=Lb;r.setDelayFunction=function(a){Mb=a;Kb.length&&Mb&&Mb(Lb)}; +cc.prototype.We=function(a){this.Ee&&(a=this.Ee(a));return a};cc.prototype.ye=function(a){this.Rd&&this.Rd(a)};cc.prototype.argPackAdvance=8;cc.prototype.readValueFromPointer=nb;cc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()}; +cc.prototype.fromWireType=function(a){function b(){return this.je?Pb(this.Fd.$d,{Hd:this.cf,Ed:c,Nd:this,Jd:a}):Pb(this.Fd.$d,{Hd:this,Ed:a})}var c=this.We(a);if(!c)return this.ye(a),null;var e=Ob(this.Fd,c);if(void 0!==e){if(0===e.jd.count.value)return e.jd.Ed=c,e.jd.Jd=a,e.clone();e=e.clone();this.ye(a);return e}e=this.Fd.Ve(c);e=Jb[e];if(!e)return b.call(this);e=this.ie?e.Pe:e.pointerType;var f=Db(c,this.Fd,e.Fd);return null===f?b.call(this):this.je?Pb(e.Fd.$d,{Hd:e,Ed:f,Nd:this,Jd:a}):Pb(e.Fd.$d, +{Hd:e,Ed:f})};nc=r.UnboundTypeError=function(a,b){var c=Tb(b,function(e){this.name=b;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(a.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`};return c}(Error,"UnboundTypeError"); +Object.assign(uc.prototype,{get(a){return this.Qd[a]},has(a){return void 0!==this.Qd[a]},pe(a){var b=this.Ce.pop()||this.Qd.length;this.Qd[b]=a;return b},qe(a){this.Qd[a]=void 0;this.Ce.push(a)}});vc.Qd.push({value:void 0},{value:null},{value:!0},{value:!1});vc.Td=vc.Qd.length;r.count_emval_handles=function(){for(var a=0,b=vc.Td;bKd;++Kd)rd.push(Array(Kd));var Ld=new Float32Array(288); +for(Kd=0;288>Kd;++Kd)Bd[Kd]=Ld.subarray(0,Kd+1);var Md=new Int32Array(288);for(Kd=0;288>Kd;++Kd)Cd[Kd]=Md.subarray(0,Kd+1); +var $d={H:function(a,b,c){(new fb(a)).Td(b,c);gb=a;ib++;throw gb;},_:function(){return 0},_c:()=>{},Zc:function(){return 0},Yc:()=>{},Xc:function(){},Wc:()=>{},D:function(a){var b=lb[a];delete lb[a];var c=b.ve,e=b.Rd,f=b.Be,k=f.map(l=>l.Ze).concat(f.map(l=>l.gf));tb([a],k,l=>{var m={};f.forEach((q,w)=>{var y=l[w],B=q.Xe,D=q.Ye,u=l[w+f.length],F=q.ff,H=q.hf;m[q.Ue]={read:T=>y.fromWireType(B(D,T)),write:(T,ca)=>{var Y=[];F(H,T,u.toWireType(Y,ca));mb(Y)}}});return[{name:b.name,fromWireType:function(q){var w= +{},y;for(y in m)w[y]=m[y].read(q);e(q);return w},toWireType:function(q,w){for(var y in m)if(!(y in w))throw new TypeError(`Missing field: "${y}"`);var B=c();for(y in m)m[y].write(B,w[y]);null!==q&&q.push(e,B);return B},argPackAdvance:8,readValueFromPointer:nb,Md:e}]})},ea:function(){},Sc:function(a,b,c,e,f){var k=vb(c);b=P(b);ub(a,{name:b,fromWireType:function(l){return!!l},toWireType:function(l,m){return m?e:f},argPackAdvance:8,readValueFromPointer:function(l){if(1===c)var m=Ha;else if(2===c)m=Ia; +else if(4===c)m=K;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(m[l>>k])},Md:null})},l:function(a,b,c,e,f,k,l,m,q,w,y,B,D){y=P(y);k=mc(f,k);m&&(m=mc(l,m));w&&(w=mc(q,w));D=mc(B,D);var u=Sb(y);Vb(u,function(){rc(`Cannot construct ${y} due to unbound types`,[e])});tb([a,b,c],e?[e]:[],function(F){F=F[0];if(e){var H=F.Fd;var T=H.$d}else T=Rb.prototype;F=Tb(u,function(){if(Object.getPrototypeOf(this)!==ca)throw new xb("Use 'new' to construct "+y);if(void 0===Y.Sd)throw new xb(y+ +" has no accessible constructor");var Na=Y.Sd[arguments.length];if(void 0===Na)throw new xb(`Tried to invoke ctor of ${y} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(Y.Sd).toString()}) parameters instead!`);return Na.apply(this,arguments)});var ca=Object.create(T,{constructor:{value:F}});F.prototype=ca;var Y=new Wb(y,F,ca,D,H,k,m,w);Y.Kd&&(void 0===Y.Kd.fe&&(Y.Kd.fe=[]),Y.Kd.fe.push(Y));H=new cc(y,Y,!0,!1,!1);T=new cc(y+"*",Y,!1,!1,!1);var va=new cc(y+" const*", +Y,!1,!0,!1);Jb[a]={pointerType:T,Pe:va};dc(u,F);return[H,T,va]})},e:function(a,b,c,e,f,k,l){var m=tc(c,e);b=P(b);k=mc(f,k);tb([],[a],function(q){function w(){rc(`Cannot call ${y} due to unbound types`,m)}q=q[0];var y=`${q.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var B=q.Fd.constructor;void 0===B[b]?(w.Xd=c-1,B[b]=w):(Ub(B,b,y),B[b].Id[c-1]=w);tb([],m,function(D){D=[D[0],null].concat(D.slice(1));D=sc(y,D,null,k,l);void 0===B[b].Id?(D.Xd=c-1,B[b]=D):B[b].Id[c-1]=D;if(q.Fd.fe)for(const u of q.Fd.fe)u.constructor.hasOwnProperty(b)|| +(u.constructor[b]=D);return[]});return[]})},B:function(a,b,c,e,f,k){var l=tc(b,c);f=mc(e,f);tb([],[a],function(m){m=m[0];var q=`constructor ${m.name}`;void 0===m.Fd.Sd&&(m.Fd.Sd=[]);if(void 0!==m.Fd.Sd[b-1])throw new xb(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${m.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);m.Fd.Sd[b-1]=()=>{rc(`Cannot construct ${m.name} due to unbound types`,l)}; +tb([],l,function(w){w.splice(1,0,null);m.Fd.Sd[b-1]=sc(q,w,null,f,k);return[]});return[]})},a:function(a,b,c,e,f,k,l,m){var q=tc(c,e);b=P(b);k=mc(f,k);tb([],[a],function(w){function y(){rc(`Cannot call ${B} due to unbound types`,q)}w=w[0];var B=`${w.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);m&&w.Fd.df.push(b);var D=w.Fd.$d,u=D[b];void 0===u||void 0===u.Id&&u.className!==w.name&&u.Xd===c-2?(y.Xd=c-2,y.className=w.name,D[b]=y):(Ub(D,b,B),D[b].Id[c-2]=y);tb([],q,function(F){F=sc(B,F, +w,k,l);void 0===D[b].Id?(F.Xd=c-2,D[b]=F):D[b].Id[c-2]=F;return[]});return[]})},s:function(a,b,c){a=P(a);tb([],[b],function(e){e=e[0];r[a]=e.fromWireType(c);return[]})},Rc:function(a,b){b=P(b);ub(a,{name:b,fromWireType:function(c){var e=xc(c);wc(c);return e},toWireType:function(c,e){return ac(e)},argPackAdvance:8,readValueFromPointer:nb,Md:null})},i:function(a,b,c,e){function f(){}c=vb(c);b=P(b);f.values={};ub(a,{name:b,constructor:f,fromWireType:function(k){return this.constructor.values[k]},toWireType:function(k, +l){return l.value},argPackAdvance:8,readValueFromPointer:yc(b,c,e),Md:null});Vb(b,f)},b:function(a,b,c){var e=zc(a,"enum");b=P(b);a=e.constructor;e=Object.create(e.constructor.prototype,{value:{value:c},constructor:{value:Tb(`${e.name}_${b}`,function(){})}});a.values[c]=e;a[b]=e},X:function(a,b,c){c=vb(c);b=P(b);ub(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){return f},argPackAdvance:8,readValueFromPointer:Ac(b,c),Md:null})},v:function(a,b,c,e,f,k){var l=tc(b,c);a=P(a);f= +mc(e,f);Vb(a,function(){rc(`Cannot call ${a} due to unbound types`,l)},b-1);tb([],l,function(m){m=[m[0],null].concat(m.slice(1));dc(a,sc(a,m,null,f,k),b-1);return[]})},E:function(a,b,c,e,f){b=P(b);-1===f&&(f=4294967295);f=vb(c);var k=m=>m;if(0===e){var l=32-8*c;k=m=>m<>>l}c=b.includes("unsigned")?function(m,q){return q>>>0}:function(m,q){return q};ub(a,{name:b,fromWireType:k,toWireType:c,argPackAdvance:8,readValueFromPointer:Bc(b,f,0!==e),Md:null})},r:function(a,b,c){function e(k){k>>=2;var l= +L;return new f(l.buffer,l[k+1],l[k])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=P(c);ub(a,{name:c,fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{$e:!0})},o:function(a,b,c,e,f,k,l,m,q,w,y,B){c=P(c);k=mc(f,k);m=mc(l,m);w=mc(q,w);B=mc(y,B);tb([a],[b],function(D){D=D[0];return[new cc(c,D.Fd,!1,!1,!0,D,e,k,m,w,B)]})},W:function(a,b){b=P(b);var c="std::string"===b;ub(a,{name:b,fromWireType:function(e){var f=L[e>>2],k=e+4;if(c)for(var l= +k,m=0;m<=f;++m){var q=k+m;if(m==f||0==C[q]){l=l?kb(C,l,q-l):"";if(void 0===w)var w=l;else w+=String.fromCharCode(0),w+=l;l=q+1}}else{w=Array(f);for(m=0;m>2]= +l;if(c&&k)ka(f,C,q,l+1);else if(k)for(k=0;kJa;var m=1}else 4===b&&(e=Gc,f=Hc,k=Ic,l=()=>L,m=2);ub(a,{name:c,fromWireType:function(q){for(var w=L[q>>2],y=l(),B,D=q+4,u=0;u<=w;++u){var F= +q+4+u*b;if(u==w||0==y[F>>m])D=e(D,F-D),void 0===B?B=D:(B+=String.fromCharCode(0),B+=D),D=F+b}qc(q);return B},toWireType:function(q,w){"string"!=typeof w&&Q(`Cannot pass non-string to C++ string type ${c}`);var y=k(w),B=wd(4+y+b);L[B>>2]=y>>m;f(w,B+4,y+b);null!==q&&q.push(qc,B);return B},argPackAdvance:8,readValueFromPointer:nb,Md:function(q){qc(q)}})},C:function(a,b,c,e,f,k){lb[a]={name:P(b),ve:mc(c,e),Rd:mc(f,k),Be:[]}},d:function(a,b,c,e,f,k,l,m,q,w){lb[a].Be.push({Ue:P(b),Ze:c,Xe:mc(e,f),Ye:k, +gf:l,ff:mc(m,q),hf:w})},Qc:function(a,b){b=P(b);ub(a,{bf:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},Pc:()=>!0,Oc:()=>{throw Infinity;},G:function(a,b,c){a=xc(a);b=zc(b,"emval::as");var e=[],f=ac(e);L[c>>2]=f;return b.toWireType(e,a)},N:function(a,b,c,e,f){a=Lc[a];b=xc(b);c=Kc(c);var k=[];L[e>>2]=ac(k);return a(b,c,k,f)},t:function(a,b,c,e){a=Lc[a];b=xc(b);c=Kc(c);a(b,c,null,e)},c:wc,M:function(a){if(0===a)return ac(Mc());a=Kc(a);return ac(Mc()[a])},p:function(a, +b){var c=Oc(a,b),e=c[0];b=e.name+"_$"+c.slice(1).map(function(l){return l.name}).join("_")+"$";var f=Pc[b];if(void 0!==f)return f;var k=Array(a-1);f=Nc((l,m,q,w)=>{for(var y=0,B=0;B{Ea("")},Mc:()=>performance.now(),Lc:a=>{var b=C.length;a>>>=0;if(2147483648=c;c*=2){var e=b*(1+.2/c); +e=Math.min(e,a+100663296);var f=Math;e=Math.max(a,e);a:{f=f.min.call(f,2147483648,e+(65536-e%65536)%65536)-Fa.buffer.byteLength+65535>>>16;try{Fa.grow(f);La();var k=1;break a}catch(l){}k=void 0}if(k)return!0}return!1},Kc:function(){return x?x.handle:0},Vc:(a,b)=>{var c=0;nd().forEach(function(e,f){var k=b+c;f=L[a+4*f>>2]=k;for(k=0;k>0]=e.charCodeAt(k);Ha[f>>0]=0;c+=e.length+1});return 0},Uc:(a,b)=>{var c=nd();L[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});L[b>> +2]=e;return 0},Jc:a=>{if(!noExitRuntime){if(r.onExit)r.onExit(a);Ga=!0}oa(a,new db(a))},Z:()=>52,ga:function(){return 52},Tc:()=>52,fa:function(){return 70},Y:(a,b,c,e)=>{for(var f=0,k=0;k>2],m=L[b+4>>2];b+=8;for(var q=0;q>2]=f;return 0},Ic:function(a){S.activeTexture(a)},Hc:function(a,b){S.attachShader(Xc[a],$c[b])},Gc:function(a,b,c){S.bindAttribLocation(Xc[a],b,c?kb(C,c):"")},Fc:function(a, +b){35051==a?S.se=b:35052==a&&(S.Yd=b);S.bindBuffer(a,Wc[b])},V:function(a,b){S.bindFramebuffer(a,Yc[b])},Ec:function(a,b){S.bindRenderbuffer(a,Zc[b])},Dc:function(a,b){S.bindSampler(a,bd[b])},Cc:function(a,b){S.bindTexture(a,ea[b])},Bc:pd,Ac:pd,zc:function(a,b,c,e){S.blendColor(a,b,c,e)},yc:function(a){S.blendEquation(a)},xc:function(a,b){S.blendFunc(a,b)},wc:function(a,b,c,e,f,k,l,m,q,w){S.blitFramebuffer(a,b,c,e,f,k,l,m,q,w)},vc:function(a,b,c,e){2<=x.version?c&&b?S.bufferData(a,C,e,c,b):S.bufferData(a, +b,e):S.bufferData(a,c?C.subarray(c,c+b):b,e)},uc:function(a,b,c,e){2<=x.version?c&&S.bufferSubData(a,b,C,e,c):S.bufferSubData(a,b,C.subarray(e,e+c))},tc:function(a){return S.checkFramebufferStatus(a)},U:function(a){S.clear(a)},T:function(a,b,c,e){S.clearColor(a,b,c,e)},S:function(a){S.clearStencil(a)},ba:function(a,b,c,e){return S.clientWaitSync(cd[a],b,(c>>>0)+4294967296*e)},sc:function(a,b,c,e){S.colorMask(!!a,!!b,!!c,!!e)},rc:function(a){S.compileShader($c[a])},qc:function(a,b,c,e,f,k,l,m){2<= +x.version?S.Yd||!l?S.compressedTexImage2D(a,b,c,e,f,k,l,m):S.compressedTexImage2D(a,b,c,e,f,k,C,m,l):S.compressedTexImage2D(a,b,c,e,f,k,m?C.subarray(m,m+l):null)},pc:function(a,b,c,e,f,k,l,m,q){2<=x.version?S.Yd||!m?S.compressedTexSubImage2D(a,b,c,e,f,k,l,m,q):S.compressedTexSubImage2D(a,b,c,e,f,k,l,C,q,m):S.compressedTexSubImage2D(a,b,c,e,f,k,l,q?C.subarray(q,q+m):null)},oc:function(a,b,c,e,f){S.copyBufferSubData(a,b,c,e,f)},nc:function(a,b,c,e,f,k,l,m){S.copyTexSubImage2D(a,b,c,e,f,k,l,m)},mc:function(){var a= +da(Xc),b=S.createProgram();b.name=a;b.me=b.ke=b.le=0;b.xe=1;Xc[a]=b;return a},lc:function(a){var b=da($c);$c[b]=S.createShader(a);return b},kc:function(a){S.cullFace(a)},jc:function(a,b){for(var c=0;c>2],f=Wc[e];f&&(S.deleteBuffer(f),f.name=0,Wc[e]=null,e==S.se&&(S.se=0),e==S.Yd&&(S.Yd=0))}},ic:function(a,b){for(var c=0;c>2],f=Yc[e];f&&(S.deleteFramebuffer(f),f.name=0,Yc[e]=null)}},hc:function(a){if(a){var b=Xc[a];b?(S.deleteProgram(b),b.name=0,Xc[a]=null): +R(1281)}},gc:function(a,b){for(var c=0;c>2],f=Zc[e];f&&(S.deleteRenderbuffer(f),f.name=0,Zc[e]=null)}},fc:function(a,b){for(var c=0;c>2],f=bd[e];f&&(S.deleteSampler(f),f.name=0,bd[e]=null)}},ec:function(a){if(a){var b=$c[a];b?(S.deleteShader(b),$c[a]=null):R(1281)}},dc:function(a){if(a){var b=cd[a];b?(S.deleteSync(b),b.name=0,cd[a]=null):R(1281)}},cc:function(a,b){for(var c=0;c>2],f=ea[e];f&&(S.deleteTexture(f),f.name=0,ea[e]=null)}}, +bc:qd,ac:qd,$b:function(a){S.depthMask(!!a)},_b:function(a){S.disable(a)},Zb:function(a){S.disableVertexAttribArray(a)},Yb:function(a,b,c){S.drawArrays(a,b,c)},Xb:function(a,b,c,e){S.drawArraysInstanced(a,b,c,e)},Wb:function(a,b,c,e,f){S.ze.drawArraysInstancedBaseInstanceWEBGL(a,b,c,e,f)},Vb:function(a,b){for(var c=rd[a],e=0;e>2];S.drawBuffers(c)},Ub:sd,Tb:function(a,b,c,e,f){S.drawElementsInstanced(a,b,c,e,f)},Sb:function(a,b,c,e,f,k,l){S.ze.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a, +b,c,e,f,k,l)},Rb:function(a,b,c,e,f,k){sd(a,e,f,k)},Qb:function(a){S.enable(a)},Pb:function(a){S.enableVertexAttribArray(a)},Ob:function(a,b){return(a=S.fenceSync(a,b))?(b=da(cd),a.name=b,cd[b]=a,b):0},Nb:function(){S.finish()},Mb:function(){S.flush()},Lb:function(a,b,c,e){S.framebufferRenderbuffer(a,b,c,Zc[e])},Kb:function(a,b,c,e,f){S.framebufferTexture2D(a,b,c,ea[e],f)},Jb:function(a){S.frontFace(a)},Ib:function(a,b){td(a,b,"createBuffer",Wc)},Hb:function(a,b){td(a,b,"createFramebuffer",Yc)},Gb:function(a, +b){td(a,b,"createRenderbuffer",Zc)},Fb:function(a,b){td(a,b,"createSampler",bd)},Eb:function(a,b){td(a,b,"createTexture",ea)},Db:ud,Cb:ud,Bb:function(a){S.generateMipmap(a)},Ab:function(a,b,c){c?K[c>>2]=S.getBufferParameter(a,b):R(1281)},zb:function(){var a=S.getError()||hd;hd=0;return a},yb:function(a,b){vd(a,b,2)},xb:function(a,b,c,e){a=S.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;K[e>>2]=a},K:function(a,b){vd(a,b,0)},wb:function(a, +b,c,e){a=S.getProgramInfoLog(Xc[a]);null===a&&(a="(unknown error)");b=0>2]=b)},vb:function(a,b,c){if(c)if(a>=Vc)R(1281);else if(a=Xc[a],35716==b)a=S.getProgramInfoLog(a),null===a&&(a="(unknown error)"),K[c>>2]=a.length+1;else if(35719==b){if(!a.me)for(b=0;b>2]=a.me}else if(35722==b){if(!a.ke)for(b=0;b>2]=a.ke}else if(35381==b){if(!a.le)for(b=0;b>2]=a.le}else K[c>>2]=S.getProgramParameter(a,b);else R(1281)},ub:function(a,b,c){c?K[c>>2]=S.getRenderbufferParameter(a,b):R(1281)},tb:function(a,b,c,e){a=S.getShaderInfoLog($c[a]);null===a&&(a="(unknown error)");b=0>2]=b)},sb:function(a,b,c,e){a=S.getShaderPrecisionFormat(a,b);K[c>>2]=a.rangeMin;K[c+4>> +2]=a.rangeMax;K[e>>2]=a.precision},rb:function(a,b,c){c?35716==b?(a=S.getShaderInfoLog($c[a]),null===a&&(a="(unknown error)"),K[c>>2]=a?a.length+1:0):35720==b?(a=S.getShaderSource($c[a]),K[c>>2]=a?a.length+1:0):K[c>>2]=S.getShaderParameter($c[a],b):R(1281)},R:function(a){var b=dd[a];if(!b){switch(a){case 7939:b=S.getSupportedExtensions()||[];b=b.concat(b.map(function(e){return"GL_"+e}));b=xd(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=S.getParameter(a))||R(1280);b=b&&xd(b);break; +case 7938:b=S.getParameter(7938);b=2<=x.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=xd(b);break;case 35724:b=S.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=xd(b);break;default:R(1280)}dd[a]=b}return b},qb:function(a,b){if(2>x.version)return R(1282),0;var c=ed[a];if(c)return 0>b||b>=c.length?(R(1281),0):c[b];switch(a){case 7939:return c=S.getSupportedExtensions()||[], +c=c.concat(c.map(function(e){return"GL_"+e})),c=c.map(function(e){return xd(e)}),c=ed[a]=c,0>b||b>=c.length?(R(1281),0):c[b];default:return R(1280),0}},pb:function(a,b){b=b?kb(C,b):"";if(a=Xc[a]){var c=a,e=c.de,f=c.He,k;if(!e)for(c.de=e={},c.Ge={},k=0;k>>0,f=b.slice(0, +k));if((f=a.He[f])&&e>2];S.invalidateFramebuffer(a,e)},nb:function(a,b,c,e,f,k,l){for(var m=rd[b],q=0;q>2];S.invalidateSubFramebuffer(a,m,e,f,k,l)},mb:function(a){return S.isSync(cd[a])},lb:function(a){return(a=ea[a])?S.isTexture(a):0},kb:function(a){S.lineWidth(a)},jb:function(a){a=Xc[a];S.linkProgram(a);a.de=0;a.He={}},ib:function(a, +b,c,e,f,k){S.De.multiDrawArraysInstancedBaseInstanceWEBGL(a,K,b>>2,K,c>>2,K,e>>2,L,f>>2,k)},hb:function(a,b,c,e,f,k,l,m){S.De.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,K,b>>2,c,K,e>>2,K,f>>2,K,k>>2,L,l>>2,m)},gb:function(a,b){3317==a&&(gd=b);S.pixelStorei(a,b)},fb:function(a){S.readBuffer(a)},eb:function(a,b,c,e,f,k,l){if(2<=x.version)if(S.se)S.readPixels(a,b,c,e,f,k,l);else{var m=zd(k);S.readPixels(a,b,c,e,f,k,m,l>>31-Math.clz32(m.BYTES_PER_ELEMENT))}else(l=Ad(k,f,c,e,l))?S.readPixels(a, +b,c,e,f,k,l):R(1280)},db:function(a,b,c,e){S.renderbufferStorage(a,b,c,e)},cb:function(a,b,c,e,f){S.renderbufferStorageMultisample(a,b,c,e,f)},bb:function(a,b,c){S.samplerParameterf(bd[a],b,c)},ab:function(a,b,c){S.samplerParameteri(bd[a],b,c)},$a:function(a,b,c){S.samplerParameteri(bd[a],b,K[c>>2])},_a:function(a,b,c,e){S.scissor(a,b,c,e)},Za:function(a,b,c,e){for(var f="",k=0;k>2]:-1,m=K[c+4*k>>2];l=m?kb(C,m,0>l?void 0:l):"";f+=l}S.shaderSource($c[a],f)},Ya:function(a,b, +c){S.stencilFunc(a,b,c)},Xa:function(a,b,c,e){S.stencilFuncSeparate(a,b,c,e)},Wa:function(a){S.stencilMask(a)},Va:function(a,b){S.stencilMaskSeparate(a,b)},Ua:function(a,b,c){S.stencilOp(a,b,c)},Ta:function(a,b,c,e){S.stencilOpSeparate(a,b,c,e)},Sa:function(a,b,c,e,f,k,l,m,q){if(2<=x.version)if(S.Yd)S.texImage2D(a,b,c,e,f,k,l,m,q);else if(q){var w=zd(m);S.texImage2D(a,b,c,e,f,k,l,m,w,q>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else S.texImage2D(a,b,c,e,f,k,l,m,null);else S.texImage2D(a,b,c,e,f,k,l,m,q? +Ad(m,l,e,f,q):null)},Ra:function(a,b,c){S.texParameterf(a,b,c)},Qa:function(a,b,c){S.texParameterf(a,b,N[c>>2])},Pa:function(a,b,c){S.texParameteri(a,b,c)},Oa:function(a,b,c){S.texParameteri(a,b,K[c>>2])},Na:function(a,b,c,e,f){S.texStorage2D(a,b,c,e,f)},Ma:function(a,b,c,e,f,k,l,m,q){if(2<=x.version)if(S.Yd)S.texSubImage2D(a,b,c,e,f,k,l,m,q);else if(q){var w=zd(m);S.texSubImage2D(a,b,c,e,f,k,l,m,w,q>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else S.texSubImage2D(a,b,c,e,f,k,l,m,null);else w=null,q&&(w= +Ad(m,l,f,k,q)),S.texSubImage2D(a,b,c,e,f,k,l,m,w)},La:function(a,b){S.uniform1f(W(a),b)},Ka:function(a,b,c){if(2<=x.version)b&&S.uniform1fv(W(a),N,c>>2,b);else{if(288>=b)for(var e=Bd[b-1],f=0;f>2];else e=N.subarray(c>>2,c+4*b>>2);S.uniform1fv(W(a),e)}},Ja:function(a,b){S.uniform1i(W(a),b)},Ia:function(a,b,c){if(2<=x.version)b&&S.uniform1iv(W(a),K,c>>2,b);else{if(288>=b)for(var e=Cd[b-1],f=0;f>2];else e=K.subarray(c>>2,c+4*b>>2);S.uniform1iv(W(a),e)}},Ha:function(a, +b,c){S.uniform2f(W(a),b,c)},Ga:function(a,b,c){if(2<=x.version)b&&S.uniform2fv(W(a),N,c>>2,2*b);else{if(144>=b)for(var e=Bd[2*b-1],f=0;f<2*b;f+=2)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2];else e=N.subarray(c>>2,c+8*b>>2);S.uniform2fv(W(a),e)}},Fa:function(a,b,c){S.uniform2i(W(a),b,c)},Ea:function(a,b,c){if(2<=x.version)b&&S.uniform2iv(W(a),K,c>>2,2*b);else{if(144>=b)for(var e=Cd[2*b-1],f=0;f<2*b;f+=2)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2];else e=K.subarray(c>>2,c+8*b>>2);S.uniform2iv(W(a),e)}},Da:function(a, +b,c,e){S.uniform3f(W(a),b,c,e)},Ca:function(a,b,c){if(2<=x.version)b&&S.uniform3fv(W(a),N,c>>2,3*b);else{if(96>=b)for(var e=Bd[3*b-1],f=0;f<3*b;f+=3)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2],e[f+2]=N[c+(4*f+8)>>2];else e=N.subarray(c>>2,c+12*b>>2);S.uniform3fv(W(a),e)}},Ba:function(a,b,c,e){S.uniform3i(W(a),b,c,e)},Aa:function(a,b,c){if(2<=x.version)b&&S.uniform3iv(W(a),K,c>>2,3*b);else{if(96>=b)for(var e=Cd[3*b-1],f=0;f<3*b;f+=3)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2],e[f+2]=K[c+(4*f+8)>>2];else e= +K.subarray(c>>2,c+12*b>>2);S.uniform3iv(W(a),e)}},za:function(a,b,c,e,f){S.uniform4f(W(a),b,c,e,f)},ya:function(a,b,c){if(2<=x.version)b&&S.uniform4fv(W(a),N,c>>2,4*b);else{if(72>=b){var e=Bd[4*b-1],f=N;c>>=2;for(var k=0;k<4*b;k+=4){var l=c+k;e[k]=f[l];e[k+1]=f[l+1];e[k+2]=f[l+2];e[k+3]=f[l+3]}}else e=N.subarray(c>>2,c+16*b>>2);S.uniform4fv(W(a),e)}},xa:function(a,b,c,e,f){S.uniform4i(W(a),b,c,e,f)},wa:function(a,b,c){if(2<=x.version)b&&S.uniform4iv(W(a),K,c>>2,4*b);else{if(72>=b)for(var e=Cd[4*b- +1],f=0;f<4*b;f+=4)e[f]=K[c+4*f>>2],e[f+1]=K[c+(4*f+4)>>2],e[f+2]=K[c+(4*f+8)>>2],e[f+3]=K[c+(4*f+12)>>2];else e=K.subarray(c>>2,c+16*b>>2);S.uniform4iv(W(a),e)}},va:function(a,b,c,e){if(2<=x.version)b&&S.uniformMatrix2fv(W(a),!!c,N,e>>2,4*b);else{if(72>=b)for(var f=Bd[4*b-1],k=0;k<4*b;k+=4)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2];else f=N.subarray(e>>2,e+16*b>>2);S.uniformMatrix2fv(W(a),!!c,f)}},ua:function(a,b,c,e){if(2<=x.version)b&&S.uniformMatrix3fv(W(a), +!!c,N,e>>2,9*b);else{if(32>=b)for(var f=Bd[9*b-1],k=0;k<9*b;k+=9)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2],f[k+4]=N[e+(4*k+16)>>2],f[k+5]=N[e+(4*k+20)>>2],f[k+6]=N[e+(4*k+24)>>2],f[k+7]=N[e+(4*k+28)>>2],f[k+8]=N[e+(4*k+32)>>2];else f=N.subarray(e>>2,e+36*b>>2);S.uniformMatrix3fv(W(a),!!c,f)}},ta:function(a,b,c,e){if(2<=x.version)b&&S.uniformMatrix4fv(W(a),!!c,N,e>>2,16*b);else{if(18>=b){var f=Bd[16*b-1],k=N;e>>=2;for(var l=0;l<16*b;l+=16){var m=e+l;f[l]= +k[m];f[l+1]=k[m+1];f[l+2]=k[m+2];f[l+3]=k[m+3];f[l+4]=k[m+4];f[l+5]=k[m+5];f[l+6]=k[m+6];f[l+7]=k[m+7];f[l+8]=k[m+8];f[l+9]=k[m+9];f[l+10]=k[m+10];f[l+11]=k[m+11];f[l+12]=k[m+12];f[l+13]=k[m+13];f[l+14]=k[m+14];f[l+15]=k[m+15]}}else f=N.subarray(e>>2,e+64*b>>2);S.uniformMatrix4fv(W(a),!!c,f)}},sa:function(a){a=Xc[a];S.useProgram(a);S.Qe=a},ra:function(a,b){S.vertexAttrib1f(a,b)},qa:function(a,b){S.vertexAttrib2f(a,N[b>>2],N[b+4>>2])},pa:function(a,b){S.vertexAttrib3f(a,N[b>>2],N[b+4>>2],N[b+8>>2])}, +oa:function(a,b){S.vertexAttrib4f(a,N[b>>2],N[b+4>>2],N[b+8>>2],N[b+12>>2])},na:function(a,b){S.vertexAttribDivisor(a,b)},ma:function(a,b,c,e,f){S.vertexAttribIPointer(a,b,c,e,f)},la:function(a,b,c,e,f,k){S.vertexAttribPointer(a,b,c,!!e,f,k)},ka:function(a,b,c,e){S.viewport(a,b,c,e)},aa:function(a,b,c,e){S.waitSync(cd[a],b,(c>>>0)+4294967296*e)},n:Nd,u:Od,j:Pd,J:Qd,Q:Rd,P:Sd,x:Td,y:Ud,q:Vd,w:Wd,ja:Xd,ia:Yd,ha:Zd,$:(a,b,c,e)=>Hd(a,b,c,e)}; +(function(){function a(c){G=c=c.exports;Fa=G.$c;La();Ma=G.cd;Pa.unshift(G.ad);Ua--;r.monitorRunDependencies&&r.monitorRunDependencies(Ua);if(0==Ua&&(null!==Va&&(clearInterval(Va),Va=null),Wa)){var e=Wa;Wa=null;e()}return c}var b={a:$d};Ua++;r.monitorRunDependencies&&r.monitorRunDependencies(Ua);if(r.instantiateWasm)try{return r.instantiateWasm(b,a)}catch(c){Ca("Module.instantiateWasm callback failed with error: "+c),ba(c)}cb(b,function(c){a(c.instance)}).catch(ba);return{}})(); +var wd=r._malloc=a=>(wd=r._malloc=G.bd)(a),qc=r._free=a=>(qc=r._free=G.dd)(a),pc=a=>(pc=G.ed)(a);r.__embind_initialize_bindings=()=>(r.__embind_initialize_bindings=G.fd)();var ae=(a,b)=>(ae=G.gd)(a,b),be=()=>(be=G.hd)(),ce=a=>(ce=G.id)(a);r.dynCall_viji=(a,b,c,e,f)=>(r.dynCall_viji=G.kd)(a,b,c,e,f);r.dynCall_vijiii=(a,b,c,e,f,k,l)=>(r.dynCall_vijiii=G.ld)(a,b,c,e,f,k,l);r.dynCall_viiiiij=(a,b,c,e,f,k,l,m)=>(r.dynCall_viiiiij=G.md)(a,b,c,e,f,k,l,m);r.dynCall_jii=(a,b,c)=>(r.dynCall_jii=G.nd)(a,b,c); +r.dynCall_vij=(a,b,c,e)=>(r.dynCall_vij=G.od)(a,b,c,e);r.dynCall_iiij=(a,b,c,e,f)=>(r.dynCall_iiij=G.pd)(a,b,c,e,f);r.dynCall_iiiij=(a,b,c,e,f,k)=>(r.dynCall_iiiij=G.qd)(a,b,c,e,f,k);r.dynCall_viij=(a,b,c,e,f)=>(r.dynCall_viij=G.rd)(a,b,c,e,f);r.dynCall_viiij=(a,b,c,e,f,k)=>(r.dynCall_viiij=G.sd)(a,b,c,e,f,k);r.dynCall_jiiiiii=(a,b,c,e,f,k,l)=>(r.dynCall_jiiiiii=G.td)(a,b,c,e,f,k,l);r.dynCall_jiiiiji=(a,b,c,e,f,k,l,m)=>(r.dynCall_jiiiiji=G.ud)(a,b,c,e,f,k,l,m); +r.dynCall_ji=(a,b)=>(r.dynCall_ji=G.vd)(a,b);r.dynCall_iijj=(a,b,c,e,f,k)=>(r.dynCall_iijj=G.wd)(a,b,c,e,f,k);r.dynCall_jiji=(a,b,c,e,f)=>(r.dynCall_jiji=G.xd)(a,b,c,e,f);r.dynCall_viijii=(a,b,c,e,f,k,l)=>(r.dynCall_viijii=G.yd)(a,b,c,e,f,k,l);r.dynCall_iiiiij=(a,b,c,e,f,k,l)=>(r.dynCall_iiiiij=G.zd)(a,b,c,e,f,k,l);r.dynCall_iiiiijj=(a,b,c,e,f,k,l,m,q)=>(r.dynCall_iiiiijj=G.Ad)(a,b,c,e,f,k,l,m,q);r.dynCall_iiiiiijj=(a,b,c,e,f,k,l,m,q,w)=>(r.dynCall_iiiiiijj=G.Bd)(a,b,c,e,f,k,l,m,q,w); +function Wd(a,b,c,e,f){var k=be();try{Ma.get(a)(b,c,e,f)}catch(l){ce(k);if(l!==l+0)throw l;ae(1,0)}}function Od(a,b,c){var e=be();try{return Ma.get(a)(b,c)}catch(f){ce(e);if(f!==f+0)throw f;ae(1,0)}}function Ud(a,b,c){var e=be();try{Ma.get(a)(b,c)}catch(f){ce(e);if(f!==f+0)throw f;ae(1,0)}}function Nd(a,b){var c=be();try{return Ma.get(a)(b)}catch(e){ce(c);if(e!==e+0)throw e;ae(1,0)}}function Td(a,b){var c=be();try{Ma.get(a)(b)}catch(e){ce(c);if(e!==e+0)throw e;ae(1,0)}} +function Pd(a,b,c,e){var f=be();try{return Ma.get(a)(b,c,e)}catch(k){ce(f);if(k!==k+0)throw k;ae(1,0)}}function Zd(a,b,c,e,f,k,l,m,q,w){var y=be();try{Ma.get(a)(b,c,e,f,k,l,m,q,w)}catch(B){ce(y);if(B!==B+0)throw B;ae(1,0)}}function Vd(a,b,c,e){var f=be();try{Ma.get(a)(b,c,e)}catch(k){ce(f);if(k!==k+0)throw k;ae(1,0)}}function Yd(a,b,c,e,f,k,l){var m=be();try{Ma.get(a)(b,c,e,f,k,l)}catch(q){ce(m);if(q!==q+0)throw q;ae(1,0)}} +function Qd(a,b,c,e,f){var k=be();try{return Ma.get(a)(b,c,e,f)}catch(l){ce(k);if(l!==l+0)throw l;ae(1,0)}}function Rd(a,b,c,e,f,k,l){var m=be();try{return Ma.get(a)(b,c,e,f,k,l)}catch(q){ce(m);if(q!==q+0)throw q;ae(1,0)}}function Xd(a,b,c,e,f,k){var l=be();try{Ma.get(a)(b,c,e,f,k)}catch(m){ce(l);if(m!==m+0)throw m;ae(1,0)}}function Sd(a,b,c,e,f,k,l,m,q,w){var y=be();try{return Ma.get(a)(b,c,e,f,k,l,m,q,w)}catch(B){ce(y);if(B!==B+0)throw B;ae(1,0)}}var de;Wa=function ee(){de||fe();de||(Wa=ee)}; +function fe(){function a(){if(!de&&(de=!0,r.calledRun=!0,!Ga)){eb(Pa);aa(r);if(r.onRuntimeInitialized)r.onRuntimeInitialized();if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var b=r.postRun.shift();Qa.unshift(b)}eb(Qa)}}if(!(0\28SkColorSpace*\29 +218:SkString::~SkString\28\29 +219:__memcpy +220:__memset +221:GrGLSLShaderBuilder::codeAppendf\28char\20const*\2c\20...\29 +222:SkColorInfo::~SkColorInfo\28\29 +223:SkDebugf\28char\20const*\2c\20...\29 +224:SkString::SkString\28\29 +225:SkData::~SkData\28\29 +226:SkContainerAllocator::allocate\28int\2c\20double\29 +227:memcmp +228:memmove +229:SkString::insert\28unsigned\20long\2c\20char\20const*\29 +230:hb_blob_destroy +231:SkPath::~SkPath\28\29 +232:sk_report_container_overflow_and_die\28\29 +233:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\29 +234:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::~__func\28\29 +235:SkSL::ErrorReporter::error\28SkSL::Position\2c\20std::__2::basic_string_view>\29 +236:SkArenaAlloc::ensureSpace\28unsigned\20int\2c\20unsigned\20int\29 +237:SkRasterPipeline::append\28SkRasterPipelineOp\2c\20void*\29 +238:SkString::SkString\28char\20const*\29 +239:ft_mem_free +240:FT_MulFix +241:emscripten::default_smart_ptr_trait>::share\28void*\29 +242:SkTDStorage::append\28\29 +243:SkMatrix::computeTypeMask\28\29\20const +244:GrGpuResource::notifyARefCntIsZero\28GrIORef::LastRemovedRef\29\20const +245:testSetjmp +246:SkWriter32::growToAtLeast\28unsigned\20long\29 +247:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\2c\20unsigned\20long\29 +248:fmaxf +249:std::__2::basic_string\2c\20std::__2::allocator>::size\5babi:v160004\5d\28\29\20const +250:SkString::SkString\28SkString&&\29 +251:SkSL::Pool::AllocMemory\28unsigned\20long\29 +252:std::__2::basic_string\2c\20std::__2::allocator>::__throw_length_error\5babi:v160004\5d\28\29\20const +253:GrColorInfo::~GrColorInfo\28\29 +254:SkIRect::intersect\28SkIRect\20const&\2c\20SkIRect\20const&\29 +255:strlen +256:GrBackendFormat::~GrBackendFormat\28\29 +257:std::__2::vector>::__throw_length_error\5babi:v160004\5d\28\29\20const +258:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\29 +259:GrContext_Base::caps\28\29\20const +260:SkPaint::~SkPaint\28\29 +261:SkTDStorage::~SkTDStorage\28\29 +262:sk_malloc_throw\28unsigned\20long\2c\20unsigned\20long\29 +263:SkTDStorage::SkTDStorage\28int\29 +264:SkSL::RP::Generator::pushExpression\28SkSL::Expression\20const&\2c\20bool\29 +265:SkStrokeRec::getStyle\28\29\20const +266:strncmp +267:SkString::SkString\28SkString\20const&\29 +268:hb_ot_map_builder_t::add_feature\28unsigned\20int\2c\20hb_ot_map_feature_flags_t\2c\20unsigned\20int\29 +269:SkMatrix::mapRect\28SkRect*\2c\20SkRect\20const&\2c\20SkApplyPerspectiveClip\29\20const +270:void\20emscripten::internal::raw_destructor\28SkContourMeasure*\29 +271:SkBitmap::~SkBitmap\28\29 +272:hb_buffer_t::make_room_for\28unsigned\20int\2c\20unsigned\20int\29 +273:fminf +274:SkArenaAlloc::installFooter\28char*\20\28*\29\28char*\29\2c\20unsigned\20int\29 +275:SkArenaAlloc::allocObjectWithFooter\28unsigned\20int\2c\20unsigned\20int\29 +276:strcmp +277:skia_private::TArray::push_back\28SkPoint\20const&\29 +278:SkString::operator=\28SkString&&\29 +279:SkSemaphore::osSignal\28int\29 +280:SkPath::SkPath\28\29 +281:std::__2::__shared_weak_count::__release_weak\28\29 +282:skia_png_error +283:hb_buffer_t::message\28hb_font_t*\2c\20char\20const*\2c\20...\29 +284:SkSL::Parser::nextRawToken\28\29 +285:SkArenaAlloc::~SkArenaAlloc\28\29 +286:SkMatrix::computePerspectiveTypeMask\28\29\20const +287:SkFontMgr*\20emscripten::base::convertPointer\28skia::textlayout::TypefaceFontProvider*\29 +288:SkSemaphore::osWait\28\29 +289:SkColorInfo::SkColorInfo\28SkColorInfo\20const&\29 +290:SkIntersections::insert\28double\2c\20double\2c\20SkDPoint\20const&\29 +291:dlmalloc +292:FT_DivFix +293:std::__throw_bad_array_new_length\5babi:v160004\5d\28\29 +294:SkString::appendf\28char\20const*\2c\20...\29 +295:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +296:skia_png_free +297:skia_png_crc_finish +298:SkPath::lineTo\28float\2c\20float\29 +299:SkMatrix::setTranslate\28float\2c\20float\29 +300:SkChecksum::Hash32\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20int\29 +301:skia_png_chunk_benign_error +302:SkMatrix::mapPoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +303:dlrealloc +304:skia_png_warning +305:OT::VarData::get_delta\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20OT::VarRegionList\20const&\2c\20float*\29\20const +306:ft_mem_qrealloc +307:SkColorInfo::bytesPerPixel\28\29\20const +308:SkPaint::SkPaint\28SkPaint\20const&\29 +309:GrVertexChunkBuilder::allocChunk\28int\29 +310:skia_private::TArray::push_back\28unsigned\20long\20const&\29 +311:OT::DeltaSetIndexMap::map\28unsigned\20int\29\20const +312:ft_mem_realloc +313:SkReadBuffer::readUInt\28\29 +314:SkMatrix::reset\28\29 +315:SkImageInfo::MakeUnknown\28int\2c\20int\29 +316:GrSurfaceProxyView::asRenderTargetProxy\28\29\20const +317:skia_private::TArray::push_back\28unsigned\20char&&\29 +318:SkBitmap::SkBitmap\28\29 +319:SkPath::SkPath\28SkPath\20const&\29 +320:ft_validator_error +321:SkPaint::SkPaint\28\29 +322:SkBlitter::~SkBlitter\28\29 +323:strstr +324:SkOpPtT::segment\28\29\20const +325:SkSL::Parser::expect\28SkSL::Token::Kind\2c\20char\20const*\2c\20SkSL::Token*\29 +326:SkJSONWriter::appendName\28char\20const*\29 +327:SkImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +328:sk_malloc_flags\28unsigned\20long\2c\20unsigned\20int\29 +329:GrTextureGenerator::isTextureGenerator\28\29\20const +330:std::__2::basic_string\2c\20std::__2::allocator>::__get_pointer\5babi:v160004\5d\28\29 +331:skia_private::TArray\2c\20true>::push_back\28sk_sp&&\29 +332:SkMatrix::invertNonIdentity\28SkMatrix*\29\20const +333:SkJSONWriter::beginValue\28bool\29 +334:dlcalloc +335:SkSL::RP::Builder::appendInstruction\28SkSL::RP::BuilderOp\2c\20SkSL::RP::Builder::SlotList\2c\20int\2c\20int\2c\20int\2c\20int\29 +336:skia_private::TArray::push_back\28SkSL::RP::Instruction&&\29 +337:skia_png_get_uint_32 +338:skia_png_calculate_crc +339:std::__2::basic_string\2c\20std::__2::allocator>::resize\5babi:v160004\5d\28unsigned\20long\29 +340:SkSL::GLSLCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +341:skgpu::Swizzle::Swizzle\28char\20const*\29 +342:SkPoint::Length\28float\2c\20float\29 +343:GrImageInfo::GrImageInfo\28GrImageInfo\20const&\29 +344:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +345:SkPath::getBounds\28\29\20const +346:std::__2::locale::~locale\28\29 +347:skia_private::TArray::push_back\28SkString&&\29 +348:SkPathRef::Editor::Editor\28sk_sp*\2c\20int\2c\20int\2c\20int\29 +349:FT_Stream_Seek +350:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28char\29 +351:SkRect::join\28SkRect\20const&\29 +352:SkRect::intersect\28SkRect\20const&\29 +353:hb_blob_reference +354:cf2_stack_popFixed +355:GrGLExtensions::has\28char\20const*\29\20const +356:std::__2::__throw_bad_function_call\5babi:v160004\5d\28\29 +357:SkRect::setBoundsCheck\28SkPoint\20const*\2c\20int\29 +358:SkRasterPipeline::uncheckedAppend\28SkRasterPipelineOp\2c\20void*\29 +359:SkCachedData::internalUnref\28bool\29\20const +360:GrProcessor::operator\20new\28unsigned\20long\29 +361:FT_MulDiv +362:std::__2::to_string\28int\29 +363:skia_private::TArray>\2c\20true>::operator=\28skia_private::TArray>\2c\20true>&&\29 +364:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +365:std::__2::ios_base::getloc\28\29\20const +366:SkRegion::~SkRegion\28\29 +367:skia_png_read_push_finish_row +368:skia::textlayout::TextStyle::~TextStyle\28\29 +369:hb_blob_make_immutable +370:SkString::operator=\28char\20const*\29 +371:SkReadBuffer::setInvalid\28\29 +372:SkColorInfo::operator=\28SkColorInfo&&\29 +373:hb_ot_map_builder_t::add_pause\28unsigned\20int\2c\20bool\20\28*\29\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29\29 +374:cff1_path_procs_extents_t::curve\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +375:VP8GetValue +376:SkSemaphore::~SkSemaphore\28\29 +377:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28\29 +378:skgpu::ganesh::SurfaceContext::caps\28\29\20const +379:SkSL::String::printf\28char\20const*\2c\20...\29 +380:SkPoint::normalize\28\29 +381:SkColorInfo::operator=\28SkColorInfo\20const&\29 +382:SkArenaAlloc::SkArenaAlloc\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +383:FT_Stream_ReadUShort +384:jdiv_round_up +385:SkSL::RP::Builder::binary_op\28SkSL::RP::BuilderOp\2c\20int\29 +386:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +387:jzero_far +388:hb_blob_get_data_writable +389:SkPathRef::growForVerb\28int\2c\20float\29 +390:SkColorInfo::SkColorInfo\28SkColorInfo&&\29 +391:skia_png_write_data +392:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +393:SkSL::Type::matches\28SkSL::Type\20const&\29\20const +394:SkRuntimeEffect::uniformSize\28\29\20const +395:SkMatrix::setConcat\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +396:SkImageGenerator::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +397:FT_Stream_ExitFrame +398:subtag_matches\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20int\29 +399:skia_private::TArray::push_back_raw\28int\29 +400:__shgetc +401:SkBlitter::~SkBlitter\28\29.1 +402:FT_Stream_GetUShort +403:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28wchar_t\20const*\29 +404:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28char\20const*\29 +405:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +406:SkSL::SymbolTable::addWithoutOwnershipOrDie\28SkSL::Symbol*\29 +407:SkPoint::scale\28float\2c\20SkPoint*\29\20const +408:SkNullBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +409:SkIRect\20skif::Mapping::map\28SkIRect\20const&\2c\20SkMatrix\20const&\29 +410:GrFragmentProcessor::ProgramImpl::invokeChild\28int\2c\20char\20const*\2c\20char\20const*\2c\20GrFragmentProcessor::ProgramImpl::EmitArgs&\2c\20std::__2::basic_string_view>\29 +411:sktext::gpu::BagOfBytes::~BagOfBytes\28\29 +412:hb_face_reference_table +413:SkStringPrintf\28char\20const*\2c\20...\29 +414:GrSurfaceProxyView::asTextureProxy\28\29\20const +415:RoughlyEqualUlps\28float\2c\20float\29 +416:GrGLSLVaryingHandler::addVarying\28char\20const*\2c\20GrGLSLVarying*\2c\20GrGLSLVaryingHandler::Interpolation\29 +417:skia_png_chunk_error +418:SkTDStorage::reserve\28int\29 +419:SkPath::Iter::next\28SkPoint*\29 +420:SkDynamicMemoryWStream::write\28void\20const*\2c\20unsigned\20long\29 +421:OT::Layout::Common::Coverage::get_coverage\28unsigned\20int\29\20const +422:GrQuad::MakeFromRect\28SkRect\20const&\2c\20SkMatrix\20const&\29 +423:round +424:SkRecord::grow\28\29 +425:SkRGBA4f<\28SkAlphaType\293>::toBytes_RGBA\28\29\20const +426:GrProcessor::operator\20new\28unsigned\20long\2c\20unsigned\20long\29 +427:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28SkSL::SymbolTable*\29\20const +428:skgpu::ganesh::SurfaceDrawContext::addDrawOp\28GrClip\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::function\20const&\29 +429:skgpu::ResourceKeyHash\28unsigned\20int\20const*\2c\20unsigned\20long\29 +430:VP8LoadFinalBytes +431:SkSL::TProgramVisitor::visitStatement\28SkSL::Statement\20const&\29 +432:SkSL::RP::Builder::discard_stack\28int\2c\20int\29 +433:SkPath::conicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\29 +434:SkCanvas::predrawNotify\28bool\29 +435:std::__2::__cloc\28\29 +436:sscanf +437:SkSurfaceProps::SkSurfaceProps\28\29 +438:SkStrikeSpec::~SkStrikeSpec\28\29 +439:SkPath::moveTo\28float\2c\20float\29 +440:GrSkSLFP::GrSkSLFP\28sk_sp\2c\20char\20const*\2c\20GrSkSLFP::OptFlags\29 +441:GrBackendFormat::GrBackendFormat\28\29 +442:__multf3 +443:VP8LReadBits +444:SkTDStorage::append\28int\29 +445:SkPath::isFinite\28\29\20const +446:SkMatrix::setScale\28float\2c\20float\29 +447:GrOpsRenderPass::setScissorRect\28SkIRect\20const&\29 +448:GrOpsRenderPass::bindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +449:GrCaps::getDefaultBackendFormat\28GrColorType\2c\20skgpu::Renderable\29\20const +450:hb_draw_funcs_t::start_path\28void*\2c\20hb_draw_state_t&\29 +451:SkSL::ConstructorCompound::MakeFromConstants\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20double\20const*\29 +452:SkRuntimeEffect::MakeForShader\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +453:SkPath::isEmpty\28\29\20const +454:SkColorSpaceXformSteps::SkColorSpaceXformSteps\28SkColorSpace\20const*\2c\20SkAlphaType\2c\20SkColorSpace\20const*\2c\20SkAlphaType\29 +455:GrSimpleMeshDrawOpHelper::~GrSimpleMeshDrawOpHelper\28\29 +456:GrProcessorSet::GrProcessorSet\28GrPaint&&\29 +457:GrBackendFormats::AsGLFormat\28GrBackendFormat\20const&\29 +458:std::__2::locale::id::__get\28\29 +459:std::__2::locale::facet::facet\5babi:v160004\5d\28unsigned\20long\29 +460:skia_private::TArray::push_back_raw\28int\29 +461:hb_buffer_t::_infos_set_glyph_flags\28hb_glyph_info_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +462:SkSL::PipelineStage::PipelineStageCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +463:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29 +464:SkSL::GLSLCodeGenerator::writeIdentifier\28std::__2::basic_string_view>\29 +465:SkPath::reset\28\29 +466:SkPath::operator=\28SkPath\20const&\29 +467:GrGeometryProcessor::AttributeSet::initImplicit\28GrGeometryProcessor::Attribute\20const*\2c\20int\29 +468:GrContext_Base::contextID\28\29\20const +469:FT_Stream_EnterFrame +470:AlmostEqualUlps\28float\2c\20float\29 +471:std::__2::locale::__imp::install\28std::__2::locale::facet*\2c\20long\29 +472:skia_png_read_data +473:SkSpinlock::contendedAcquire\28\29 +474:SkSL::evaluate_n_way_intrinsic\28SkSL::Context\20const&\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29\20\28.18\29 +475:SkSL::FunctionDeclaration::description\28\29\20const +476:SkPaint::setStyle\28SkPaint::Style\29 +477:SkMatrix::setRectToRect\28SkRect\20const&\2c\20SkRect\20const&\2c\20SkMatrix::ScaleToFit\29 +478:SkDPoint::approximatelyEqual\28SkDPoint\20const&\29\20const +479:GrSurfaceProxy::backingStoreDimensions\28\29\20const +480:GrOpsRenderPass::bindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +481:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +482:skgpu::ganesh::SurfaceContext::drawingManager\28\29 +483:skgpu::UniqueKey::GenerateDomain\28\29 +484:hb_buffer_t::_set_glyph_flags\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +485:emscripten_longjmp +486:GrMeshDrawOp::GrMeshDrawOp\28unsigned\20int\29 +487:FT_RoundFix +488:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +489:std::__2::unique_ptr::unique_ptr\5babi:v160004\5d\28unsigned\20char*\2c\20std::__2::__dependent_type\2c\20true>::__good_rval_ref_type\29 +490:hb_face_get_glyph_count +491:cf2_stack_pushFixed +492:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +493:__multi3 +494:SkSL::RP::Builder::push_duplicates\28int\29 +495:SkMatrix::postTranslate\28float\2c\20float\29 +496:SkColorInfo::refColorSpace\28\29\20const +497:SkCanvas::concat\28SkMatrix\20const&\29 +498:SkBlockAllocator::reset\28\29 +499:SkBitmapDevice::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +500:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20SkFilterMode\2c\20SkMipmapMode\29 +501:GrGLSLVaryingHandler::addPassThroughAttribute\28GrShaderVar\20const&\2c\20char\20const*\2c\20GrGLSLVaryingHandler::Interpolation\29 +502:GrFragmentProcessor::registerChild\28std::__2::unique_ptr>\2c\20SkSL::SampleUsage\29 +503:FT_Stream_ReleaseFrame +504:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +505:skia::textlayout::TextStyle::TextStyle\28skia::textlayout::TextStyle\20const&\29 +506:hb_buffer_t::merge_clusters_impl\28unsigned\20int\2c\20unsigned\20int\29 +507:decltype\28fp.sanitize\28this\29\29\20hb_sanitize_context_t::_dispatch\28OT::Layout::Common::Coverage\20const&\2c\20hb_priority<1u>\29 +508:SkWStream::writePackedUInt\28unsigned\20long\29 +509:SkSL::RP::Builder::push_constant_i\28int\2c\20int\29 +510:SkSL::BreakStatement::~BreakStatement\28\29 +511:SkPaint::setShader\28sk_sp\29 +512:SkNullBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +513:SkBitmap::setImmutable\28\29 +514:GrPipeline::visitProxies\28std::__2::function\20const&\29\20const +515:GrGeometryProcessor::GrGeometryProcessor\28GrProcessor::ClassID\29 +516:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +517:SkSL::fold_expression\28SkSL::Position\2c\20double\2c\20SkSL::Type\20const*\29 +518:SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0::operator\28\29\28SkSL::FunctionDefinition\20const*\2c\20SkSL::FunctionDefinition\20const*\29\20const +519:SkSL::RP::Generator::binaryOp\28SkSL::Type\20const&\2c\20SkSL::RP::Generator::TypedOps\20const&\29 +520:SkJSONWriter::appendf\28char\20const*\2c\20...\29 +521:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29 +522:GrGeometryProcessor::Attribute&\20skia_private::TArray::emplace_back\28char\20const\20\28&\29\20\5b10\5d\2c\20GrVertexAttribType&&\2c\20SkSLType&&\29 +523:Cr_z_crc32 +524:skia_png_push_save_buffer +525:cosf +526:SkSL::Type::MakeAliasType\28std::__2::basic_string_view>\2c\20SkSL::Type\20const&\29 +527:SkSL::RP::SlotManager::getVariableSlots\28SkSL::Variable\20const&\29 +528:SkSL::RP::Builder::unary_op\28SkSL::RP::BuilderOp\2c\20int\29 +529:SkReadBuffer::readScalar\28\29 +530:GrProcessorSet::visitProxies\28std::__2::function\20const&\29\20const +531:GrGLTexture::target\28\29\20const +532:sk_srgb_singleton\28\29 +533:fmodf +534:fma +535:SkSurface_Base::aboutToDraw\28SkSurface::ContentChangeMode\29 +536:SkSL::Pool::FreeMemory\28void*\29 +537:SkPaint::SkPaint\28SkPaint&&\29 +538:SkDPoint::ApproximatelyEqual\28SkPoint\20const&\2c\20SkPoint\20const&\29 +539:SkBitmap::SkBitmap\28SkBitmap\20const&\29 +540:void\20std::__2::vector>\2c\20std::__2::allocator>>>::__push_back_slow_path>>\28std::__2::unique_ptr>&&\29 +541:std::__2::basic_string\2c\20std::__2::allocator>::__init_copy_ctor_external\28char\20const*\2c\20unsigned\20long\29 +542:skip_spaces +543:skcms_Transform +544:sk_realloc_throw\28void*\2c\20unsigned\20long\29 +545:emscripten::smart_ptr_trait>::get\28sk_sp\20const&\29 +546:cff2_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +547:cff1_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +548:bool\20OT::Layout::Common::Coverage::collect_coverage\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>>\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>*\29\20const +549:SkString::operator=\28SkString\20const&\29 +550:SkString::equals\28SkString\20const&\29\20const +551:SkSL::Type::toCompound\28SkSL::Context\20const&\2c\20int\2c\20int\29\20const +552:SkPath::transform\28SkMatrix\20const&\2c\20SkPath*\2c\20SkApplyPerspectiveClip\29\20const +553:SkPath::quadTo\28float\2c\20float\2c\20float\2c\20float\29 +554:SkCanvas::save\28\29 +555:SkBlockAllocator::addBlock\28int\2c\20int\29 +556:SkBitmap::tryAllocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29 +557:SkAAClipBlitter::~SkAAClipBlitter\28\29 +558:OT::hb_ot_apply_context_t::match_properties_mark\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +559:GrThreadSafeCache::VertexData::~VertexData\28\29 +560:GrShape::asPath\28SkPath*\2c\20bool\29\20const +561:GrShaderVar::appendDecl\28GrShaderCaps\20const*\2c\20SkString*\29\20const +562:GrPixmapBase::~GrPixmapBase\28\29 +563:GrGLSLVaryingHandler::emitAttributes\28GrGeometryProcessor\20const&\29 +564:void\20emscripten::internal::raw_destructor\28GrDirectContext*\29 +565:std::__2::unique_ptr::reset\5babi:v160004\5d\28unsigned\20char*\29 +566:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +567:skia_private::TArray::push_back\28SkPaint\20const&\29 +568:png_icc_profile_error +569:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression\20const&\29 +570:SkRasterClip::~SkRasterClip\28\29 +571:SkPixmap::reset\28SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +572:SkPathRef::~SkPathRef\28\29 +573:SkPath::countPoints\28\29\20const +574:SkPaint::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +575:SkPaint::canComputeFastBounds\28\29\20const +576:SkOpPtT::contains\28SkOpPtT\20const*\29\20const +577:SkOpAngle::segment\28\29\20const +578:SkMatrix::preConcat\28SkMatrix\20const&\29 +579:SkMatrix::mapVectors\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +580:SkMasks::getRed\28unsigned\20int\29\20const +581:SkMasks::getGreen\28unsigned\20int\29\20const +582:SkMasks::getBlue\28unsigned\20int\29\20const +583:SkColorInfo::shiftPerPixel\28\29\20const +584:GrProcessorSet::~GrProcessorSet\28\29 +585:GrMeshDrawOp::createProgramInfo\28GrMeshDrawTarget*\29 +586:FT_Stream_ReadFields +587:AutoLayerForImageFilter::~AutoLayerForImageFilter\28\29 +588:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +589:saveSetjmp +590:operator==\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +591:hb_face_t::load_num_glyphs\28\29\20const +592:emscripten::internal::MethodInvoker::invoke\28int\20\28SkAnimatedImage::*\20const&\29\28\29\2c\20SkAnimatedImage*\29 +593:emscripten::default_smart_ptr_trait>::construct_null\28\29 +594:VP8GetSignedValue +595:SkSafeMath::Mul\28unsigned\20long\2c\20unsigned\20long\29 +596:SkSL::Type::MakeVectorType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\29 +597:SkRasterPipeline::SkRasterPipeline\28SkArenaAlloc*\29 +598:SkPoint::setLength\28float\29 +599:OT::GDEF::accelerator_t::mark_set_covers\28unsigned\20int\2c\20unsigned\20int\29\20const +600:GrTextureProxy::mipmapped\28\29\20const +601:GrGpuResource::~GrGpuResource\28\29 +602:FT_Stream_GetULong +603:FT_Get_Char_Index +604:Cr_z__tr_flush_bits +605:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +606:void\20emscripten::internal::MemberAccess::setWire\28int\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform&\2c\20int\29 +607:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +608:std::__2::__throw_overflow_error\5babi:v160004\5d\28char\20const*\29 +609:skia_private::THashMap::set\28char\20const*\2c\20unsigned\20int\29 +610:skia_png_chunk_report +611:skgpu::UniqueKey::operator=\28skgpu::UniqueKey\20const&\29 +612:sk_double_nearly_zero\28double\29 +613:int\20emscripten::internal::MemberAccess::getWire\28int\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform\20const&\29 +614:hb_font_get_glyph +615:ft_mem_qalloc +616:fit_linear\28skcms_Curve\20const*\2c\20int\2c\20float\2c\20float*\2c\20float*\2c\20float*\29 +617:_output_with_dotted_circle\28hb_buffer_t*\29 +618:WebPSafeMalloc +619:SkStream::readS32\28int*\29 +620:SkSL::GLSLCodeGenerator::getTypeName\28SkSL::Type\20const&\29 +621:SkRGBA4f<\28SkAlphaType\293>::FromColor\28unsigned\20int\29 +622:SkPath::Iter::Iter\28SkPath\20const&\2c\20bool\29 +623:SkMatrix::postConcat\28SkMatrix\20const&\29 +624:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_3::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +625:SkGlyph::rowBytes\28\29\20const +626:SkDrawable::getFlattenableType\28\29\20const +627:SkDrawable::getBounds\28\29 +628:SkDCubic::ptAtT\28double\29\20const +629:SkColorSpace::MakeSRGB\28\29 +630:SkColorInfo::SkColorInfo\28\29 +631:GrOpFlushState::drawMesh\28GrSimpleMesh\20const&\29 +632:GrImageInfo::GrImageInfo\28SkImageInfo\20const&\29 +633:DefaultGeoProc::Impl::~Impl\28\29 +634:skif::LayerSpace::mapRect\28skif::LayerSpace\20const&\29\20const +635:out +636:jpeg_fill_bit_buffer +637:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +638:SkString::data\28\29 +639:SkShaderBase::SkShaderBase\28\29 +640:SkSL::Type::coerceExpression\28std::__2::unique_ptr>\2c\20SkSL::Context\20const&\29\20const +641:SkSL::Type::MakeGenericType\28char\20const*\2c\20SkSpan\2c\20SkSL::Type\20const*\29 +642:SkSL::ConstantFolder::GetConstantValueForVariable\28SkSL::Expression\20const&\29 +643:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29 +644:SkRegion::setRect\28SkIRect\20const&\29 +645:SkRegion::SkRegion\28\29 +646:SkRecords::FillBounds::adjustForSaveLayerPaints\28SkRect*\2c\20int\29\20const +647:SkPathStroker::lineTo\28SkPoint\20const&\2c\20SkPath::Iter\20const*\29 +648:SkPaint::setPathEffect\28sk_sp\29 +649:SkPaint::setMaskFilter\28sk_sp\29 +650:SkPaint::setColor\28unsigned\20int\29 +651:SkPaint::setColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\29 +652:SkOpContourBuilder::flush\28\29 +653:SkImageFilter::getInput\28int\29\20const +654:SkData::MakeWithCopy\28void\20const*\2c\20unsigned\20long\29 +655:SkCanvas::~SkCanvas\28\29.1 +656:SkCanvas::restoreToCount\28int\29 +657:SkCanvas::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +658:SkAutoPixmapStorage::~SkAutoPixmapStorage\28\29 +659:GrMatrixEffect::Make\28SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +660:std::__2::char_traits::assign\28char&\2c\20char\20const&\29 +661:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +662:std::__2::__check_grouping\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int&\29 +663:skia_png_malloc +664:skia::textlayout::Cluster::run\28\29\20const +665:skgpu::ganesh::SurfaceDrawContext::drawFilledQuad\28GrClip\20const*\2c\20GrPaint&&\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\29 +666:sk_sp::~sk_sp\28\29 +667:png_write_complete_chunk +668:pad +669:hb_lockable_set_t::fini\28hb_mutex_t&\29 +670:ft_mem_alloc +671:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20SkBlendMode\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20SkBlendMode\29 +672:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +673:__ashlti3 +674:SkWBuffer::writeNoSizeCheck\28void\20const*\2c\20unsigned\20long\29 +675:SkTCoincident::setPerp\28SkTCurve\20const&\2c\20double\2c\20SkDPoint\20const&\2c\20SkTCurve\20const&\29 +676:SkStrokeRec::SkStrokeRec\28SkStrokeRec::InitStyle\29 +677:SkString::printf\28char\20const*\2c\20...\29 +678:SkSL::Type::MakeMatrixType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\2c\20signed\20char\29 +679:SkSL::Operator::tightOperatorName\28\29\20const +680:SkReadBuffer::readColor4f\28SkRGBA4f<\28SkAlphaType\293>*\29 +681:SkPixmap::reset\28\29 +682:SkPictureData::requiredPaint\28SkReadBuffer*\29\20const +683:SkPath::cubicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +684:SkPath::close\28\29 +685:SkPaintToGrPaint\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +686:SkPaint::setBlendMode\28SkBlendMode\29 +687:SkFindUnitQuadRoots\28float\2c\20float\2c\20float\2c\20float*\29 +688:SkDeque::push_back\28\29 +689:SkCanvas::internalQuickReject\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\29 +690:SkBinaryWriteBuffer::writeBool\28bool\29 +691:OT::hb_paint_context_t::return_t\20OT::Paint::dispatch\28OT::hb_paint_context_t*\29\20const +692:GrShape::bounds\28\29\20const +693:GrProgramInfo::GrProgramInfo\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrGeometryProcessor\20const*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +694:GrPixmapBase::GrPixmapBase\28GrImageInfo\2c\20void*\2c\20unsigned\20long\29 +695:GrColorInfo::GrColorInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\29 +696:FT_Outline_Translate +697:FT_Load_Glyph +698:FT_GlyphLoader_CheckPoints +699:DefaultGeoProc::~DefaultGeoProc\28\29 +700:uprv_malloc_skia +701:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +702:std::__2::basic_string\2c\20std::__2::allocator>::__set_short_size\5babi:v160004\5d\28unsigned\20long\29 +703:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_size\5babi:v160004\5d\28unsigned\20long\29 +704:sinf +705:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28GrDirectContext&\2c\20unsigned\20long\29\2c\20GrDirectContext*\2c\20unsigned\20long\29 +706:byn$mgfn-shared$std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +707:SkTextBlob::~SkTextBlob\28\29 +708:SkRasterPipeline::extend\28SkRasterPipeline\20const&\29 +709:SkMatrix::preTranslate\28float\2c\20float\29 +710:SkMatrix::mapXY\28float\2c\20float\2c\20SkPoint*\29\20const +711:SkMatrix::mapRadius\28float\29\20const +712:SkImageGenerator::onIsValid\28GrRecordingContext*\29\20const +713:SkIRect::join\28SkIRect\20const&\29 +714:SkData::MakeUninitialized\28unsigned\20long\29 +715:SkDQuad::RootsValidT\28double\2c\20double\2c\20double\2c\20double*\29 +716:SkDLine::nearPoint\28SkDPoint\20const&\2c\20bool*\29\20const +717:SkConic::chopIntoQuadsPOW2\28SkPoint*\2c\20int\29\20const +718:SkColorSpaceXformSteps::apply\28float*\29\20const +719:SkCodec::applyColorXform\28void*\2c\20void\20const*\2c\20int\29\20const +720:SkCachedData::internalRef\28bool\29\20const +721:SkBitmap::installPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29 +722:GrSurface::RefCntedReleaseProc::~RefCntedReleaseProc\28\29 +723:GrStyle::initPathEffect\28sk_sp\29 +724:GrProcessor::operator\20delete\28void*\29 +725:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::~Impl\28\29 +726:GrBufferAllocPool::~GrBufferAllocPool\28\29.1 +727:std::__2::numpunct::thousands_sep\5babi:v160004\5d\28\29\20const +728:std::__2::numpunct::grouping\5babi:v160004\5d\28\29\20const +729:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +730:skia_png_malloc_warn +731:rewind\28GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +732:cf2_stack_popInt +733:SkSL::GLSLCodeGenerator::write\28std::__2::basic_string_view>\29 +734:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29 +735:SkPaint::setColorFilter\28sk_sp\29 +736:SkMatrixPriv::MapRect\28SkM44\20const&\2c\20SkRect\20const&\29 +737:SkImageInfo::MakeA8\28int\2c\20int\29 +738:SkImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +739:SkData::MakeWithProc\28void\20const*\2c\20unsigned\20long\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +740:SkData::MakeEmpty\28\29 +741:SkConic::computeQuadPOW2\28float\29\20const +742:SkColorTypeIsAlwaysOpaque\28SkColorType\29 +743:SkColorInfo::makeColorType\28SkColorType\29\20const +744:SkCodec::~SkCodec\28\29 +745:SkAAClip::quickContains\28int\2c\20int\2c\20int\2c\20int\29\20const +746:SkAAClip::isRect\28\29\20const +747:GrSurface::ComputeSize\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20bool\29 +748:GrSimpleMeshDrawOpHelper::GrSimpleMeshDrawOpHelper\28GrProcessorSet*\2c\20GrAAType\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +749:GrGeometryProcessor::ProgramImpl::SetTransform\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrResourceHandle\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix*\29 +750:GrDrawingManager::flushIfNecessary\28\29 +751:GrBlendFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkBlendMode\2c\20bool\29 +752:FT_Stream_ExtractFrame +753:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +754:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +755:std::__2::basic_string\2c\20std::__2::allocator>::__is_long\5babi:v160004\5d\28\29\20const +756:std::__2::__throw_bad_optional_access\5babi:v160004\5d\28\29 +757:skia_png_malloc_base +758:skgpu::ganesh::AsView\28GrRecordingContext*\2c\20SkImage\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +759:skcms_TransferFunction_eval +760:pow +761:hb_ot_face_t::init0\28hb_face_t*\29 +762:hb_lazy_loader_t\2c\20hb_face_t\2c\2025u\2c\20OT::GSUB_accelerator_t>::get\28\29\20const +763:__addtf3 +764:SkUTF::NextUTF8\28char\20const**\2c\20char\20const*\29 +765:SkTDStorage::reset\28\29 +766:SkScan::AntiHairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +767:SkSL::TProgramVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +768:SkSL::RP::Builder::label\28int\29 +769:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +770:SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +771:SkReadBuffer::skip\28unsigned\20long\2c\20unsigned\20long\29 +772:SkPath::countVerbs\28\29\20const +773:SkMatrix::set9\28float\20const*\29 +774:SkMatrix::getMaxScale\28\29\20const +775:SkImageInfo::computeByteSize\28unsigned\20long\29\20const +776:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +777:SkImageFilter_Base::SkImageFilter_Base\28sk_sp\20const*\2c\20int\2c\20std::__2::optional\29 +778:SkFontMgr::countFamilies\28\29\20const +779:SkDrawBase::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20bool\2c\20bool\2c\20SkBlitter*\29\20const +780:SkDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +781:SkBlockAllocator::SkBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\2c\20unsigned\20long\29 +782:SkBlender::Mode\28SkBlendMode\29 +783:ReadHuffmanCode +784:GrSurfaceProxy::~GrSurfaceProxy\28\29 +785:GrRenderTask::makeClosed\28GrRecordingContext*\29 +786:GrGpuBuffer::unmap\28\29 +787:GrContext_Base::options\28\29\20const +788:GrCaps::getReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +789:GrBufferAllocPool::reset\28\29 +790:FT_Stream_ReadByte +791:std::__2::char_traits::assign\28wchar_t&\2c\20wchar_t\20const&\29 +792:std::__2::char_traits::copy\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +793:std::__2::basic_string\2c\20std::__2::allocator>::begin\5babi:v160004\5d\28\29 +794:std::__2::__next_prime\28unsigned\20long\29 +795:std::__2::__libcpp_snprintf_l\28char*\2c\20unsigned\20long\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +796:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29 +797:is_equal\28std::type_info\20const*\2c\20std::type_info\20const*\2c\20bool\29 +798:hb_buffer_t::sync\28\29 +799:cbrtf +800:__floatsitf +801:WebPSafeCalloc +802:StreamRemainingLengthIsBelow\28SkStream*\2c\20unsigned\20long\29 +803:SkSize\20skif::Mapping::map\28SkSize\20const&\2c\20SkMatrix\20const&\29 +804:SkSL::RP::Builder::swizzle\28int\2c\20SkSpan\29 +805:SkSL::Parser::expression\28\29 +806:SkRuntimeEffect::Uniform::sizeInBytes\28\29\20const +807:SkRGBA4f<\28SkAlphaType\293>::toSkColor\28\29\20const +808:SkPath::isConvex\28\29\20const +809:SkImageFilter_Base::getFlattenableType\28\29\20const +810:SkImageFilter_Base::getChildOutputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +811:SkImageFilter_Base::getChildInputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +812:SkIDChangeListener::List::~List\28\29 +813:SkDQuad::ptAtT\28double\29\20const +814:SkDLine::exactPoint\28SkDPoint\20const&\29\20const +815:SkDConic::ptAtT\28double\29\20const +816:SkColorInfo::makeAlphaType\28SkAlphaType\29\20const +817:SkCanvas::restore\28\29 +818:SkCanvas::drawImage\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +819:SkBitmap::setInfo\28SkImageInfo\20const&\2c\20unsigned\20long\29 +820:SkAAClip::Builder::addRun\28int\2c\20int\2c\20unsigned\20int\2c\20int\29 +821:GrSkSLFP::addChild\28std::__2::unique_ptr>\2c\20bool\29 +822:GrGpuResource::hasRef\28\29\20const +823:GrGLSLShaderBuilder::appendTextureLookup\28SkString*\2c\20GrResourceHandle\2c\20char\20const*\29\20const +824:GrFragmentProcessor::cloneAndRegisterAllChildProcessors\28GrFragmentProcessor\20const&\29 +825:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::~SwizzleFragmentProcessor\28\29 +826:GrDrawOpAtlas::~GrDrawOpAtlas\28\29 +827:GrBackendFormat::GrBackendFormat\28GrBackendFormat\20const&\29 +828:AutoLayerForImageFilter::AutoLayerForImageFilter\28SkCanvas*\2c\20SkPaint\20const&\2c\20SkRect\20const*\2c\20bool\29 +829:AutoFTAccess::AutoFTAccess\28SkTypeface_FreeType\20const*\29 +830:AlmostPequalUlps\28float\2c\20float\29 +831:void\20std::__2::vector>\2c\20std::__2::allocator>>>::__emplace_back_slow_path>\28unsigned\20int\20const&\2c\20sk_sp&&\29 +832:strchr +833:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20char\29\20const +834:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\29 +835:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_cap\5babi:v160004\5d\28unsigned\20long\29 +836:skia_png_reset_crc +837:skia_png_benign_error +838:memchr +839:hb_buffer_t::sync_so_far\28\29 +840:hb_buffer_t::move_to\28unsigned\20int\29 +841:VP8ExitCritical +842:SkTDStorage::resize\28int\29 +843:SkSwizzler::swizzle\28void*\2c\20unsigned\20char\20const*\29 +844:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20float\29 +845:SkStream::readPackedUInt\28unsigned\20long*\29 +846:SkSL::Type::coercionCost\28SkSL::Type\20const&\29\20const +847:SkSL::Type::clone\28SkSL::Context\20const&\2c\20SkSL::SymbolTable*\29\20const +848:SkSL::RP::Generator::writeStatement\28SkSL::Statement\20const&\29 +849:SkSL::Parser::operatorRight\28SkSL::Parser::AutoDepth&\2c\20SkSL::OperatorKind\2c\20std::__2::unique_ptr>\20\28SkSL::Parser::*\29\28\29\2c\20std::__2::unique_ptr>&\29 +850:SkRuntimeEffectBuilder::writableUniformData\28\29 +851:SkRuntimeEffect::findUniform\28std::__2::basic_string_view>\29\20const +852:SkResourceCache::Key::init\28void*\2c\20unsigned\20long\20long\2c\20unsigned\20long\29 +853:SkReadBuffer::skip\28unsigned\20long\29 +854:SkReadBuffer::readFlattenable\28SkFlattenable::Type\29 +855:SkRRect::initializeRect\28SkRect\20const&\29 +856:SkPaint::asBlendMode\28\29\20const +857:SkGlyph::path\28\29\20const +858:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\29 +859:GrRenderTargetProxy::arenas\28\29 +860:GrOpFlushState::caps\28\29\20const +861:GrGpuResource::hasNoCommandBufferUsages\28\29\20const +862:GrGeometryProcessor::ProgramImpl::WriteLocalCoord\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20GrShaderVar\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +863:GrGLTextureParameters::SamplerOverriddenState::SamplerOverriddenState\28\29 +864:GrGLGpu::deleteFramebuffer\28unsigned\20int\29 +865:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\29 +866:FT_Stream_ReadULong +867:FT_Get_Module +868:Cr_z__tr_flush_block +869:AlmostBequalUlps\28float\2c\20float\29 +870:uprv_realloc_skia +871:std::__2::numpunct::truename\5babi:v160004\5d\28\29\20const +872:std::__2::moneypunct::do_grouping\28\29\20const +873:std::__2::locale::use_facet\28std::__2::locale::id&\29\20const +874:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29\20const +875:std::__2::basic_string\2c\20std::__2::allocator>::empty\5babi:v160004\5d\28\29\20const +876:sktext::gpu::BagOfBytes::needMoreBytes\28int\2c\20int\29 +877:skia_png_save_int_32 +878:skia_png_safecat +879:skia_png_gamma_significant +880:skgpu::ganesh::SurfaceContext::readPixels\28GrDirectContext*\2c\20GrPixmap\2c\20SkIPoint\29 +881:hb_lazy_loader_t\2c\20hb_face_t\2c\2026u\2c\20OT::GPOS_accelerator_t>::get\28\29\20const +882:hb_font_get_nominal_glyph +883:hb_buffer_t::clear_output\28\29 +884:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPaint\20const&\29\2c\20SkCanvas*\2c\20SkPaint*\29 +885:emscripten::internal::FunctionInvoker::invoke\28unsigned\20long\20\28**\29\28GrDirectContext&\29\2c\20GrDirectContext*\29 +886:cff_parse_num +887:\28anonymous\20namespace\29::write_trc_tag\28skcms_Curve\20const&\29 +888:SkWStream::writeScalarAsText\28float\29 +889:SkTSect::SkTSect\28SkTCurve\20const&\29 +890:SkString::set\28char\20const*\2c\20unsigned\20long\29 +891:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Context\20const&\2c\20SkSL::Symbol*\29 +892:SkSL::Swizzle::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29 +893:SkSL::Parser::layoutInt\28\29 +894:SkSL::Parser::expectIdentifier\28SkSL::Token*\29 +895:SkRegion::Cliperator::next\28\29 +896:SkRegion::Cliperator::Cliperator\28SkRegion\20const&\2c\20SkIRect\20const&\29 +897:SkRRect::setOval\28SkRect\20const&\29 +898:SkPictureRecorder::~SkPictureRecorder\28\29 +899:SkPathRef::CreateEmpty\28\29 +900:SkPath::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +901:SkPaint::operator=\28SkPaint&&\29 +902:SkMasks::getAlpha\28unsigned\20int\29\20const +903:SkM44::setConcat\28SkM44\20const&\2c\20SkM44\20const&\29 +904:SkImageFilters::Crop\28SkRect\20const&\2c\20SkTileMode\2c\20sk_sp\29 +905:SkImageFilter_Base::getChildOutput\28int\2c\20skif::Context\20const&\29\20const +906:SkIDChangeListener::List::List\28\29 +907:SkData::MakeFromMalloc\28void\20const*\2c\20unsigned\20long\29 +908:SkDRect::setBounds\28SkTCurve\20const&\29 +909:SkColorFilter::isAlphaUnchanged\28\29\20const +910:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +911:SkCanvas::translate\28float\2c\20float\29 +912:SkBitmapCache::Rec::getKey\28\29\20const +913:PS_Conv_ToFixed +914:OT::hb_ot_apply_context_t::hb_ot_apply_context_t\28unsigned\20int\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20hb_blob_t*\29 +915:GrTriangulator::Line::intersect\28GrTriangulator::Line\20const&\2c\20SkPoint*\29\20const +916:GrSimpleMeshDrawOpHelper::isCompatible\28GrSimpleMeshDrawOpHelper\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +917:GrQuad::MakeFromSkQuad\28SkPoint\20const*\2c\20SkMatrix\20const&\29 +918:GrOpsRenderPass::bindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +919:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkISize\20const&\29 +920:GrGLSLShaderBuilder::appendTextureLookup\28GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +921:GrColorInfo::GrColorInfo\28SkColorInfo\20const&\29 +922:AlmostDequalUlps\28double\2c\20double\29 +923:tt_face_get_name +924:std::__2::vector>::size\5babi:v160004\5d\28\29\20const +925:std::__2::to_string\28long\20long\29 +926:std::__2::__libcpp_locale_guard::~__libcpp_locale_guard\5babi:v160004\5d\28\29 +927:std::__2::__libcpp_locale_guard::__libcpp_locale_guard\5babi:v160004\5d\28__locale_struct*&\29 +928:skif::FilterResult::~FilterResult\28\29 +929:skia_png_app_error +930:skgpu::ganesh::SurfaceFillContext::getOpsTask\28\29 +931:isdigit +932:hb_sanitize_context_t::return_t\20OT::Paint::dispatch\28hb_sanitize_context_t*\29\20const +933:hb_ot_layout_lookup_would_substitute +934:hb_buffer_t::unsafe_to_break\28unsigned\20int\2c\20unsigned\20int\29 +935:ft_module_get_service +936:expf +937:cf2_hintmap_map +938:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +939:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28\29\20const +940:__sindf +941:__shlim +942:__cosdf +943:SkTiff::ImageFileDirectory::getEntryValuesGeneric\28unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20int\2c\20void*\29\20const +944:SkSurface::getCanvas\28\29 +945:SkSL::cast_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +946:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitType\28SkSL::Type\20const&\29 +947:SkSL::VariableReference::VariableReference\28SkSL::Position\2c\20SkSL::Variable\20const*\2c\20SkSL::VariableRefKind\29 +948:SkSL::Variable::initialValue\28\29\20const +949:SkSL::SymbolTable::lookup\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +950:SkSL::SymbolTable::addArrayDimension\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20int\29 +951:SkSL::StringStream::str\28\29\20const +952:SkSL::RP::Program::appendCopy\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20std::byte*\2c\20SkSL::RP::ProgramOp\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29\20const +953:SkSL::RP::Generator::makeLValue\28SkSL::Expression\20const&\2c\20bool\29 +954:SkSL::RP::DynamicIndexLValue::dynamicSlotRange\28\29 +955:SkSL::GLSLCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +956:SkSL::Expression::description\28\29\20const +957:SkSL::Analysis::UpdateVariableRefKind\28SkSL::Expression*\2c\20SkSL::VariableRefKind\2c\20SkSL::ErrorReporter*\29 +958:SkRegion::setEmpty\28\29 +959:SkRasterPipeline::appendLoadDst\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +960:SkRRect::setRectRadii\28SkRect\20const&\2c\20SkPoint\20const*\29 +961:SkPointPriv::DistanceToLineSegmentBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +962:SkPath::arcTo\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +963:SkPath::addPath\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPath::AddPathMode\29 +964:SkPaint::setImageFilter\28sk_sp\29 +965:SkOpSpanBase::contains\28SkOpSegment\20const*\29\20const +966:SkMipmap::ComputeLevelCount\28int\2c\20int\29 +967:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint\20const*\2c\20int\29\20const +968:SkMatrix::isSimilarity\28float\29\20const +969:SkKnownRuntimeEffects::GetKnownRuntimeEffect\28SkKnownRuntimeEffects::StableKey\29 +970:SkIDChangeListener::List::changed\28\29 +971:SkDynamicMemoryWStream::detachAsData\28\29 +972:SkColorSpace::Equals\28SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +973:SkColorFilter::filterColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\2c\20SkColorSpace*\29\20const +974:SkCanvas::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +975:SkAutoPixmapStorage::SkAutoPixmapStorage\28\29 +976:SkAAClipBlitterWrapper::init\28SkRasterClip\20const&\2c\20SkBlitter*\29 +977:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28\29 +978:RunBasedAdditiveBlitter::flush\28\29 +979:GrSurface::onRelease\28\29 +980:GrStyledShape::unstyledKeySize\28\29\20const +981:GrShape::convex\28bool\29\20const +982:GrRecordingContext::threadSafeCache\28\29 +983:GrProxyProvider::caps\28\29\20const +984:GrOp::GrOp\28unsigned\20int\29 +985:GrMakeUncachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +986:GrGLSLShaderBuilder::getMangledFunctionName\28char\20const*\29 +987:GrGLGpu::bindBuffer\28GrGpuBufferType\2c\20GrBuffer\20const*\29 +988:GrGLAttribArrayState::set\28GrGLGpu*\2c\20int\2c\20GrBuffer\20const*\2c\20GrVertexAttribType\2c\20SkSLType\2c\20int\2c\20unsigned\20long\2c\20int\29 +989:GrAAConvexTessellator::Ring::computeNormals\28GrAAConvexTessellator\20const&\29 +990:GrAAConvexTessellator::Ring::computeBisectors\28GrAAConvexTessellator\20const&\29 +991:FT_Activate_Size +992:Cr_z_adler32 +993:vsnprintf +994:void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +995:void\20extend_pts<\28SkPaint::Cap\291>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +996:top12 +997:toSkImageInfo\28SimpleImageInfo\20const&\29 +998:std::__2::pair::type\2c\20std::__2::__unwrap_ref_decay::type>\20std::__2::make_pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +999:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +1000:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\2c\20std::__2::allocator>\28char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +1001:std::__2::__tree\2c\20std::__2::__map_value_compare\2c\20std::__2::less\2c\20true>\2c\20std::__2::allocator>>::destroy\28std::__2::__tree_node\2c\20void*>*\29 +1002:std::__2::__num_put_base::__identify_padding\28char*\2c\20char*\2c\20std::__2::ios_base\20const&\29 +1003:std::__2::__num_get_base::__get_base\28std::__2::ios_base&\29 +1004:std::__2::__libcpp_asprintf_l\28char**\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +1005:skia_private::THashTable::Traits>::removeSlot\28int\29 +1006:skia_png_zstream_error +1007:skia::textlayout::TextLine::iterateThroughVisualRuns\28bool\2c\20std::__2::function\2c\20float*\29>\20const&\29\20const +1008:skia::textlayout::ParagraphImpl::cluster\28unsigned\20long\29 +1009:skia::textlayout::Cluster::runOrNull\28\29\20const +1010:skgpu::ganesh::SurfaceFillContext::replaceOpsTask\28\29 +1011:skcms_TransferFunction_getType +1012:skcms_GetTagBySignature +1013:read_curve\28unsigned\20char\20const*\2c\20unsigned\20int\2c\20skcms_Curve*\2c\20unsigned\20int*\29 +1014:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +1015:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +1016:hb_serialize_context_t::pop_pack\28bool\29 +1017:hb_lazy_loader_t\2c\20hb_face_t\2c\206u\2c\20hb_blob_t>::get\28\29\20const +1018:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::__wrap_iter\20const&\2c\20std::__2::__wrap_iter\20const&\29 +1019:afm_parser_read_vals +1020:__extenddftf2 +1021:\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1022:\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1023:\28anonymous\20namespace\29::colrv1_transform\28FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\2c\20SkCanvas*\2c\20SkMatrix*\29 +1024:WebPRescalerImport +1025:SkTDStorage::removeShuffle\28int\29 +1026:SkString::SkString\28char\20const*\2c\20unsigned\20long\29 +1027:SkScan::HairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +1028:SkSL::ProgramUsage::get\28SkSL::Variable\20const&\29\20const +1029:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29 +1030:SkSL::InlineCandidateAnalyzer::visitExpression\28std::__2::unique_ptr>*\29 +1031:SkSL::GLSLCodeGenerator::getTypePrecision\28SkSL::Type\20const&\29 +1032:SkReadBuffer::readByteArray\28void*\2c\20unsigned\20long\29 +1033:SkRasterPipeline::run\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +1034:SkRBuffer::read\28void*\2c\20unsigned\20long\29 +1035:SkPictureData::optionalPaint\28SkReadBuffer*\29\20const +1036:SkPathWriter::isClosed\28\29\20const +1037:SkPath::isRect\28SkRect*\2c\20bool*\2c\20SkPathDirection*\29\20const +1038:SkPath::getGenerationID\28\29\20const +1039:SkPaint::setStrokeWidth\28float\29 +1040:SkOpSegment::nextChase\28SkOpSpanBase**\2c\20int*\2c\20SkOpSpan**\2c\20SkOpSpanBase**\29\20const +1041:SkOpSegment::addCurveTo\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkPathWriter*\29\20const +1042:SkMemoryStream::Make\28sk_sp\29 +1043:SkMatrix::preScale\28float\2c\20float\29 +1044:SkMatrix::postScale\28float\2c\20float\29 +1045:SkMask::computeImageSize\28\29\20const +1046:SkIntersections::removeOne\28int\29 +1047:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\29 +1048:SkDevice::makeSpecial\28SkBitmap\20const&\29 +1049:SkDLine::ptAtT\28double\29\20const +1050:SkBulkGlyphMetrics::~SkBulkGlyphMetrics\28\29 +1051:SkBitmap::peekPixels\28SkPixmap*\29\20const +1052:SkAAClip::setEmpty\28\29 +1053:PS_Conv_Strtol +1054:OT::Layout::GSUB_impl::SubstLookup*\20hb_serialize_context_t::push\28\29 +1055:GrTriangulator::makeConnectingEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\2c\20int\29 +1056:GrTextureProxy::~GrTextureProxy\28\29 +1057:GrSimpleMeshDrawOpHelper::createProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1058:GrResourceAllocator::addInterval\28GrSurfaceProxy*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20GrResourceAllocator::ActualUse\2c\20GrResourceAllocator::AllowRecycling\29 +1059:GrRecordingContextPriv::makeSFCWithFallback\28GrImageInfo\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1060:GrGpuBuffer::updateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +1061:GrGLTextureParameters::NonsamplerState::NonsamplerState\28\29 +1062:GrGLSLShaderBuilder::~GrGLSLShaderBuilder\28\29 +1063:GrGLSLProgramBuilder::nameVariable\28char\2c\20char\20const*\2c\20bool\29 +1064:GrGLGpu::prepareToDraw\28GrPrimitiveType\29 +1065:GrGLFormatFromGLEnum\28unsigned\20int\29 +1066:GrBackendTexture::getBackendFormat\28\29\20const +1067:GrBackendFormats::MakeGL\28unsigned\20int\2c\20unsigned\20int\29 +1068:GrBackendFormatToCompressionType\28GrBackendFormat\20const&\29 +1069:FilterLoop24_C +1070:FT_Stream_Skip +1071:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1072:AAT::Lookup::sanitize\28hb_sanitize_context_t*\29\20const +1073:uprv_free_skia +1074:strcpy +1075:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +1076:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\20const*\2c\20char\20const*\29\20const +1077:std::__2::enable_if::type\20skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::AddTrianglesWhenChopping\2c\20skgpu::tess::DiscardFlatCurves>::writeTriangleStack\28skgpu::tess::MiddleOutPolygonTriangulator::PoppedTriangleStack&&\29 +1078:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +1079:std::__2::char_traits::eq_int_type\28int\2c\20int\29 +1080:std::__2::basic_string\2c\20std::__2::allocator>::__get_long_cap\5babi:v160004\5d\28\29\20const +1081:skif::LayerSpace::ceil\28\29\20const +1082:skia_private::TArray::push_back\28float\20const&\29 +1083:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +1084:skia_png_write_finish_row +1085:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29 +1086:scalbn +1087:hb_lazy_loader_t\2c\20hb_face_t\2c\2022u\2c\20hb_blob_t>::get\28\29\20const +1088:hb_lazy_loader_t\2c\20hb_face_t\2c\2024u\2c\20OT::GDEF_accelerator_t>::get\28\29\20const +1089:hb_buffer_get_glyph_infos +1090:hb_buffer_destroy +1091:cff2_path_param_t::line_to\28CFF::point_t\20const&\29 +1092:cff1_path_param_t::line_to\28CFF::point_t\20const&\29 +1093:cf2_stack_getReal +1094:byn$mgfn-shared$GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +1095:antifilldot8\28int\2c\20int\2c\20int\2c\20int\2c\20SkBlitter*\2c\20bool\29 +1096:afm_stream_skip_spaces +1097:WebPRescalerInit +1098:WebPRescalerExportRow +1099:SkWStream::writeDecAsText\28int\29 +1100:SkTextBlobBuilder::allocInternal\28SkFont\20const&\2c\20SkTextBlob::GlyphPositioning\2c\20int\2c\20int\2c\20SkPoint\2c\20SkRect\20const*\29 +1101:SkTDStorage::append\28void\20const*\2c\20int\29 +1102:SkString::Rec::Make\28char\20const*\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +1103:SkStrike::digestFor\28skglyph::ActionType\2c\20SkPackedGlyphID\29 +1104:SkShaders::Color\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\29 +1105:SkShader::makeWithLocalMatrix\28SkMatrix\20const&\29\20const +1106:SkSafeMath::Add\28unsigned\20long\2c\20unsigned\20long\29 +1107:SkSL::Parser::assignmentExpression\28\29 +1108:SkSL::ConstructorSplat::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1109:SkSL::ConstructorScalarCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1110:SkResourceCache::Find\28SkResourceCache::Key\20const&\2c\20bool\20\28*\29\28SkResourceCache::Rec\20const&\2c\20void*\29\2c\20void*\29 +1111:SkRegion::SkRegion\28SkIRect\20const&\29 +1112:SkRect::toQuad\28SkPoint*\29\20const +1113:SkRasterPipeline::appendTransferFunction\28skcms_TransferFunction\20const&\29 +1114:SkRasterPipeline::appendStore\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +1115:SkRasterPipeline::appendConstantColor\28SkArenaAlloc*\2c\20float\20const*\29 +1116:SkRasterClip::SkRasterClip\28\29 +1117:SkRRect::checkCornerContainment\28float\2c\20float\29\20const +1118:SkPictureData::getImage\28SkReadBuffer*\29\20const +1119:SkPathMeasure::getLength\28\29 +1120:SkPathBuilder::~SkPathBuilder\28\29 +1121:SkPathBuilder::detach\28\29 +1122:SkPathBuilder::SkPathBuilder\28\29 +1123:SkPath::addPoly\28SkPoint\20const*\2c\20int\2c\20bool\29 +1124:SkPaint::refPathEffect\28\29\20const +1125:SkMipmap::getLevel\28int\2c\20SkMipmap::Level*\29\20const +1126:SkJSONWriter::endArray\28\29 +1127:SkJSONWriter::appendCString\28char\20const*\2c\20char\20const*\29 +1128:SkIntersections::setCoincident\28int\29 +1129:SkImageInfo::computeOffset\28int\2c\20int\2c\20unsigned\20long\29\20const +1130:SkImageFilter_Base::flatten\28SkWriteBuffer&\29\20const +1131:SkImageFilter::countInputs\28\29\20const +1132:SkDrawBase::SkDrawBase\28\29 +1133:SkDLine::NearPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1134:SkDLine::NearPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1135:SkDLine::ExactPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1136:SkDLine::ExactPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +1137:SkColorSpaceXformSteps::apply\28SkRasterPipeline*\29\20const +1138:SkColorFilter::asAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +1139:SkCodec::SkCodec\28SkEncodedInfo&&\2c\20skcms_PixelFormat\2c\20std::__2::unique_ptr>\2c\20SkEncodedOrigin\29 +1140:SkCanvas::drawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +1141:SkCanvas::drawColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +1142:SkCanvas::aboutToDraw\28SkPaint\20const&\2c\20SkRect\20const*\2c\20SkEnumBitMask\29 +1143:SkBulkGlyphMetrics::SkBulkGlyphMetrics\28SkStrikeSpec\20const&\29 +1144:SkBlockAllocator::releaseBlock\28SkBlockAllocator::Block*\29 +1145:SkBitmap::asImage\28\29\20const +1146:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1147:OT::MVAR::get_var\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29\20const +1148:GrXferProcessor::GrXferProcessor\28GrProcessor::ClassID\2c\20bool\2c\20GrProcessorAnalysisCoverage\29 +1149:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20GrCaps\20const&\2c\20float\20const*\29 +1150:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\29 +1151:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +1152:GrResourceProvider::findResourceByUniqueKey\28skgpu::UniqueKey\20const&\29 +1153:GrRecordingContext::OwnedArenas::get\28\29 +1154:GrProxyProvider::createProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\29 +1155:GrProxyProvider::assignUniqueKeyToProxy\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\29 +1156:GrProcessorSet::finalize\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrCaps\20const&\2c\20GrClampType\2c\20SkRGBA4f<\28SkAlphaType\292>*\29 +1157:GrOpFlushState::allocator\28\29 +1158:GrOp::cutChain\28\29 +1159:GrMeshDrawTarget::makeVertexWriter\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +1160:GrGpuResource::GrGpuResource\28GrGpu*\2c\20std::__2::basic_string_view>\29 +1161:GrGeometryProcessor::TextureSampler::reset\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +1162:GrGeometryProcessor::AttributeSet::end\28\29\20const +1163:GrGeometryProcessor::AttributeSet::Iter::operator++\28\29 +1164:GrGeometryProcessor::AttributeSet::Iter::operator*\28\29\20const +1165:GrGLTextureParameters::set\28GrGLTextureParameters::SamplerOverriddenState\20const*\2c\20GrGLTextureParameters::NonsamplerState\20const&\2c\20unsigned\20long\20long\29 +1166:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29 +1167:GrBackendTexture::~GrBackendTexture\28\29 +1168:FT_Outline_Get_CBox +1169:FT_Get_Sfnt_Table +1170:std::__2::vector>::__destroy_vector::__destroy_vector\28std::__2::vector>&\29 +1171:std::__2::moneypunct::negative_sign\5babi:v160004\5d\28\29\20const +1172:std::__2::moneypunct::neg_format\5babi:v160004\5d\28\29\20const +1173:std::__2::moneypunct::frac_digits\5babi:v160004\5d\28\29\20const +1174:std::__2::moneypunct::do_pos_format\28\29\20const +1175:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +1176:std::__2::char_traits::copy\28wchar_t*\2c\20wchar_t\20const*\2c\20unsigned\20long\29 +1177:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1178:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1179:std::__2::basic_string\2c\20std::__2::allocator>::__set_size\5babi:v160004\5d\28unsigned\20long\29 +1180:std::__2::basic_string\2c\20std::__2::allocator>::__assign_external\28char\20const*\2c\20unsigned\20long\29 +1181:std::__2::__itoa::__append2\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1182:snprintf +1183:sktext::gpu::GlyphVector::glyphs\28\29\20const +1184:sktext::SkStrikePromise::SkStrikePromise\28sktext::SkStrikePromise&&\29 +1185:skif::FilterResult::resolve\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20bool\29\20const +1186:skif::FilterResult::analyzeBounds\28SkMatrix\20const&\2c\20SkIRect\20const&\2c\20skif::FilterResult::BoundsScope\29\20const +1187:skia_png_read_finish_row +1188:skia_png_handle_unknown +1189:skia_png_gamma_correct +1190:skia_png_colorspace_sync +1191:skia_png_app_warning +1192:skia::textlayout::TextStyle::operator=\28skia::textlayout::TextStyle\20const&\29 +1193:skia::textlayout::TextLine::offset\28\29\20const +1194:skia::textlayout::Run::placeholderStyle\28\29\20const +1195:skia::textlayout::Cluster::Cluster\28skia::textlayout::ParagraphImpl*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkSpan\2c\20float\2c\20float\29 +1196:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +1197:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20std::__2::basic_string_view>\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1198:skgpu::ganesh::SurfaceContext::PixelTransferResult::~PixelTransferResult\28\29 +1199:skgpu::ganesh::ClipStack::SaveRecord::state\28\29\20const +1200:sk_doubles_nearly_equal_ulps\28double\2c\20double\2c\20unsigned\20char\29 +1201:ps_parser_to_token +1202:isspace +1203:hb_face_t::load_upem\28\29\20const +1204:hb_buffer_t::merge_out_clusters\28unsigned\20int\2c\20unsigned\20int\29 +1205:hb_buffer_t::enlarge\28unsigned\20int\29 +1206:hb_buffer_reverse +1207:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint&\29\2c\20SkCanvas*\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint*\29 +1208:cff_index_init +1209:cf2_glyphpath_curveTo +1210:atan2f +1211:WebPCopyPlane +1212:SkTMaskGamma_build_correcting_lut\28unsigned\20char*\2c\20unsigned\20int\2c\20float\2c\20SkColorSpaceLuminance\20const&\2c\20float\29 +1213:SkSurface_Raster::type\28\29\20const +1214:SkString::swap\28SkString&\29 +1215:SkString::reset\28\29 +1216:SkSampler::Fill\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::ZeroInitialized\29 +1217:SkSL::Type::MakeTextureType\28char\20const*\2c\20SpvDim_\2c\20bool\2c\20bool\2c\20bool\2c\20SkSL::Type::TextureAccess\29 +1218:SkSL::Type::MakeSpecialType\28char\20const*\2c\20char\20const*\2c\20SkSL::Type::TypeKind\29 +1219:SkSL::RP::Builder::push_slots_or_immutable\28SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +1220:SkSL::RP::Builder::push_clone_from_stack\28SkSL::RP::SlotRange\2c\20int\2c\20int\29 +1221:SkSL::Program::~Program\28\29 +1222:SkSL::PipelineStage::PipelineStageCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1223:SkSL::Operator::isAssignment\28\29\20const +1224:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mul\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +1225:SkSL::InlineCandidateAnalyzer::visitStatement\28std::__2::unique_ptr>*\2c\20bool\29 +1226:SkSL::GLSLCodeGenerator::writeModifiers\28SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20bool\29 +1227:SkSL::ExpressionStatement::Make\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +1228:SkSL::ConstructorCompound::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +1229:SkSL::Analysis::GetReturnComplexity\28SkSL::FunctionDefinition\20const&\29 +1230:SkSL::AliasType::resolve\28\29\20const +1231:SkResourceCache::Add\28SkResourceCache::Rec*\2c\20void*\29 +1232:SkRegion::writeToMemory\28void*\29\20const +1233:SkReadBuffer::readMatrix\28SkMatrix*\29 +1234:SkReadBuffer::readBool\28\29 +1235:SkRasterClip::setRect\28SkIRect\20const&\29 +1236:SkRasterClip::SkRasterClip\28SkRasterClip\20const&\29 +1237:SkPathMeasure::~SkPathMeasure\28\29 +1238:SkPathMeasure::SkPathMeasure\28SkPath\20const&\2c\20bool\2c\20float\29 +1239:SkPath::swap\28SkPath&\29 +1240:SkParse::FindScalars\28char\20const*\2c\20float*\2c\20int\29 +1241:SkPaint::operator=\28SkPaint\20const&\29 +1242:SkOpSpan::computeWindSum\28\29 +1243:SkOpSegment::existing\28double\2c\20SkOpSegment\20const*\29\20const +1244:SkOpPtT::find\28SkOpSegment\20const*\29\20const +1245:SkOpCoincidence::addEndMovedSpans\28SkOpSpan\20const*\2c\20SkOpSpanBase\20const*\29 +1246:SkNoDrawCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1247:SkMakeImageFromRasterBitmap\28SkBitmap\20const&\2c\20SkCopyPixelsMode\29 +1248:SkImage_Ganesh::SkImage_Ganesh\28sk_sp\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20SkColorInfo\29 +1249:SkImageInfo::makeColorSpace\28sk_sp\29\20const +1250:SkImage::refColorSpace\28\29\20const +1251:SkGlyph::imageSize\28\29\20const +1252:SkFont::textToGlyphs\28void\20const*\2c\20unsigned\20long\2c\20SkTextEncoding\2c\20unsigned\20short*\2c\20int\29\20const +1253:SkFont::setSubpixel\28bool\29 +1254:SkDraw::SkDraw\28\29 +1255:SkColorTypeBytesPerPixel\28SkColorType\29 +1256:SkColorFilter::makeComposed\28sk_sp\29\20const +1257:SkChopQuadAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +1258:SkCanvas::drawImageRect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1259:SkBmpCodec::getDstRow\28int\2c\20int\29\20const +1260:SkBlockMemoryStream::getLength\28\29\20const +1261:SkAutoDescriptor::SkAutoDescriptor\28\29 +1262:OT::DeltaSetIndexMap::sanitize\28hb_sanitize_context_t*\29\20const +1263:OT::ClassDef::sanitize\28hb_sanitize_context_t*\29\20const +1264:GrTriangulator::Comparator::sweep_lt\28SkPoint\20const&\2c\20SkPoint\20const&\29\20const +1265:GrTextureProxy::textureType\28\29\20const +1266:GrSurfaceProxy::createSurfaceImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\29\20const +1267:GrStyledShape::writeUnstyledKey\28unsigned\20int*\29\20const +1268:GrStyledShape::simplify\28\29 +1269:GrSkSLFP::setInput\28std::__2::unique_ptr>\29 +1270:GrSimpleMeshDrawOpHelperWithStencil::GrSimpleMeshDrawOpHelperWithStencil\28GrProcessorSet*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +1271:GrShape::operator=\28GrShape\20const&\29 +1272:GrResourceProvider::createPatternedIndexBuffer\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\2c\20skgpu::UniqueKey\20const*\29 +1273:GrRenderTarget::~GrRenderTarget\28\29 +1274:GrRecordingContextPriv::makeSC\28GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +1275:GrOpFlushState::detachAppliedClip\28\29 +1276:GrGpuBuffer::map\28\29 +1277:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\29 +1278:GrGLSLShaderBuilder::declAppend\28GrShaderVar\20const&\29 +1279:GrGLGpu::didDrawTo\28GrRenderTarget*\29 +1280:GrFragmentProcessors::Make\28GrRecordingContext*\2c\20SkColorFilter\20const*\2c\20std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1281:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +1282:GrCaps::validateSurfaceParams\28SkISize\20const&\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20GrTextureType\29\20const +1283:GrBufferAllocPool::putBack\28unsigned\20long\29 +1284:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29::$_0::operator\28\29\28SkIRect\2c\20SkIRect\29\20const +1285:GrBackendTexture::GrBackendTexture\28\29 +1286:GrAAConvexTessellator::createInsetRing\28GrAAConvexTessellator::Ring\20const&\2c\20GrAAConvexTessellator::Ring*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +1287:FT_Stream_GetByte +1288:FT_Set_Transform +1289:FT_Add_Module +1290:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +1291:AlmostLessOrEqualUlps\28float\2c\20float\29 +1292:ActiveEdge::intersect\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29\20const +1293:wrapper_cmp +1294:void\20std::__2::reverse\5babi:v160004\5d\28char*\2c\20char*\29 +1295:void\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__do_rehash\28unsigned\20long\29 +1296:ubidi_getParaLevelAtIndex_skia +1297:tanf +1298:std::__2::vector>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29 +1299:std::__2::vector>::capacity\5babi:v160004\5d\28\29\20const +1300:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ios_base&\2c\20wchar_t\29 +1301:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ios_base&\2c\20char\29 +1302:std::__2::char_traits::to_int_type\28char\29 +1303:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1304:std::__2::basic_ios>::~basic_ios\28\29 +1305:std::__2::basic_ios>::setstate\5babi:v160004\5d\28unsigned\20int\29 +1306:std::__2::__compressed_pair_elem::__compressed_pair_elem\5babi:v160004\5d\28void\20\28*&&\29\28void*\29\29 +1307:sktext::gpu::GlyphVector::~GlyphVector\28\29 +1308:sktext::StrikeMutationMonitor::~StrikeMutationMonitor\28\29 +1309:sktext::StrikeMutationMonitor::StrikeMutationMonitor\28sktext::StrikeForGPU*\29 +1310:skif::RoundOut\28SkRect\29 +1311:skif::LayerSpace::contains\28skif::LayerSpace\20const&\29\20const +1312:skif::FilterResult::AutoSurface::snap\28\29 +1313:skif::FilterResult::AutoSurface::AutoSurface\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult::PixelBoundary\2c\20bool\2c\20SkSurfaceProps\20const*\29 +1314:skif::Backend::~Backend\28\29.1 +1315:skia_private::TArray::push_back\28skif::FilterResult::Builder::SampledFilterResult&&\29 +1316:skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>::~STArray\28\29 +1317:skia_png_chunk_unknown_handling +1318:skia::textlayout::TextStyle::TextStyle\28\29 +1319:skia::textlayout::TextLine::iterateThroughSingleRunByStyles\28skia::textlayout::TextLine::TextAdjustment\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::StyleType\2c\20std::__2::function\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\20const&\29\20const +1320:skgpu::ganesh::SurfaceFillContext::internalClear\28SkIRect\20const*\2c\20std::__2::array\2c\20bool\29 +1321:skgpu::ganesh::SurfaceDrawContext::fillRectToRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +1322:skgpu::SkSLToBackend\28SkSL::ShaderCaps\20const*\2c\20bool\20\28*\29\28SkSL::Program&\2c\20SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\29\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20skgpu::ShaderErrorHandler*\29 +1323:skgpu::GetApproxSize\28SkISize\29 +1324:skcms_Matrix3x3_invert +1325:non-virtual\20thunk\20to\20GrOpFlushState::allocator\28\29 +1326:hb_lazy_loader_t\2c\20hb_face_t\2c\2011u\2c\20hb_blob_t>::get\28\29\20const +1327:hb_lazy_loader_t\2c\20hb_face_t\2c\202u\2c\20hb_blob_t>::get\28\29\20const +1328:hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +1329:hb_font_t::scale_glyph_extents\28hb_glyph_extents_t*\29 +1330:hb_font_t::get_glyph_h_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +1331:hb_buffer_append +1332:emscripten::internal::MethodInvoker\29\2c\20void\2c\20SkFont*\2c\20sk_sp>::invoke\28void\20\28SkFont::*\20const&\29\28sk_sp\29\2c\20SkFont*\2c\20sk_sp*\29 +1333:emscripten::internal::Invoker::invoke\28unsigned\20long\20\28*\29\28\29\29 +1334:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +1335:cos +1336:cf2_glyphpath_lineTo +1337:byn$mgfn-shared$SkTDStorage::calculateSizeOrDie\28int\29::$_0::operator\28\29\28\29\20const +1338:alloc_small +1339:af_latin_hints_compute_segments +1340:_hb_glyph_info_set_unicode_props\28hb_glyph_info_t*\2c\20hb_buffer_t*\29 +1341:__lshrti3 +1342:__letf2 +1343:__cxx_global_array_dtor.3 +1344:\28anonymous\20namespace\29::SkBlurImageFilter::~SkBlurImageFilter\28\29 +1345:SkUTF::ToUTF16\28int\2c\20unsigned\20short*\29 +1346:SkTextBlobBuilder::~SkTextBlobBuilder\28\29 +1347:SkTextBlobBuilder::make\28\29 +1348:SkSurfaces::RenderTarget\28GrRecordingContext*\2c\20skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20int\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const*\2c\20bool\2c\20bool\29 +1349:SkSurface::makeImageSnapshot\28\29 +1350:SkString::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +1351:SkString::insertUnichar\28unsigned\20long\2c\20int\29 +1352:SkStrikeSpec::findOrCreateScopedStrike\28sktext::StrikeForGPUCacheInterface*\29\20const +1353:SkStrikeCache::GlobalStrikeCache\28\29 +1354:SkShader::isAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +1355:SkSL::is_constant_value\28SkSL::Expression\20const&\2c\20double\29 +1356:SkSL::evaluate_pairwise_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +1357:SkSL::compile_and_shrink\28SkSL::Compiler*\2c\20SkSL::ProgramKind\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::Module\20const*\29 +1358:SkSL::\28anonymous\20namespace\29::ReturnsOnAllPathsVisitor::visitStatement\28SkSL::Statement\20const&\29 +1359:SkSL::Type::MakeScalarType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type::NumberKind\2c\20signed\20char\2c\20signed\20char\29 +1360:SkSL::RP::Generator::pushBinaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +1361:SkSL::RP::Builder::push_clone\28int\2c\20int\29 +1362:SkSL::ProgramUsage::remove\28SkSL::Statement\20const*\29 +1363:SkSL::Parser::statement\28bool\29 +1364:SkSL::Operator::determineBinaryType\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\29\20const +1365:SkSL::ModifierFlags::description\28\29\20const +1366:SkSL::Layout::paddedDescription\28\29\20const +1367:SkSL::GetModuleData\28SkSL::ModuleName\2c\20char\20const*\29 +1368:SkSL::FieldAccess::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20int\2c\20SkSL::FieldAccessOwnerKind\29 +1369:SkSL::ConstructorCompoundCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1370:SkSL::Compiler::~Compiler\28\29 +1371:SkSL::Analysis::IsSameExpressionTree\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +1372:SkRuntimeEffect::findChild\28std::__2::basic_string_view>\29\20const +1373:SkRect\20skif::Mapping::map\28SkRect\20const&\2c\20SkMatrix\20const&\29 +1374:SkRectPriv::Subtract\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkIRect*\29 +1375:SkPictureRecorder::SkPictureRecorder\28\29 +1376:SkPictureData::~SkPictureData\28\29 +1377:SkPathMeasure::nextContour\28\29 +1378:SkPathMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29 +1379:SkPathMeasure::getPosTan\28float\2c\20SkPoint*\2c\20SkPoint*\29 +1380:SkPathBuilder::lineTo\28SkPoint\29 +1381:SkPath::getPoint\28int\29\20const +1382:SkPath::getLastPt\28SkPoint*\29\20const +1383:SkPaint::setBlender\28sk_sp\29 +1384:SkPaint::setAlphaf\28float\29 +1385:SkOpSegment::addT\28double\29 +1386:SkNoPixelsDevice::ClipState&\20skia_private::TArray::emplace_back\28SkIRect&&\2c\20bool&&\2c\20bool&&\29 +1387:SkNextID::ImageID\28\29 +1388:SkMessageBus::Inbox::Inbox\28unsigned\20int\29 +1389:SkJSONWriter::endObject\28\29 +1390:SkImage_Lazy::generator\28\29\20const +1391:SkImage_Base::~SkImage_Base\28\29 +1392:SkImage_Base::SkImage_Base\28SkImageInfo\20const&\2c\20unsigned\20int\29 +1393:SkImageInfo::Make\28SkISize\2c\20SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +1394:SkImage::isAlphaOnly\28\29\20const +1395:SkFont::getWidthsBounds\28unsigned\20short\20const*\2c\20int\2c\20float*\2c\20SkRect*\2c\20SkPaint\20const*\29\20const +1396:SkFont::getMetrics\28SkFontMetrics*\29\20const +1397:SkFont::SkFont\28sk_sp\2c\20float\29 +1398:SkFont::SkFont\28\29 +1399:SkDrawBase::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20SkRect\20const*\29\20const +1400:SkDevice::setGlobalCTM\28SkM44\20const&\29 +1401:SkDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +1402:SkDescriptor::operator==\28SkDescriptor\20const&\29\20const +1403:SkConvertPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +1404:SkConic::chopAt\28float\2c\20SkConic*\29\20const +1405:SkColorSpace::gammaIsLinear\28\29\20const +1406:SkColorSpace::MakeRGB\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +1407:SkCodec::fillIncompleteImage\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::ZeroInitialized\2c\20int\2c\20int\29 +1408:SkCanvas::saveLayer\28SkRect\20const*\2c\20SkPaint\20const*\29 +1409:SkCanvas::drawPaint\28SkPaint\20const&\29 +1410:SkCanvas::ImageSetEntry::~ImageSetEntry\28\29 +1411:SkBulkGlyphMetrics::glyphs\28SkSpan\29 +1412:SkBitmap::operator=\28SkBitmap&&\29 +1413:SkBitmap::getGenerationID\28\29\20const +1414:SkArenaAllocWithReset::reset\28\29 +1415:OT::Layout::GPOS_impl::AnchorFormat3::sanitize\28hb_sanitize_context_t*\29\20const +1416:OT::GDEF::get_glyph_props\28unsigned\20int\29\20const +1417:OT::CmapSubtable::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +1418:Ins_UNKNOWN +1419:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\2c\20bool\29 +1420:GrSurfaceProxyView::mipmapped\28\29\20const +1421:GrSurfaceProxy::instantiateImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::UniqueKey\20const*\29 +1422:GrSimpleMeshDrawOpHelperWithStencil::isCompatible\28GrSimpleMeshDrawOpHelperWithStencil\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +1423:GrSimpleMeshDrawOpHelperWithStencil::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +1424:GrShape::simplifyRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20unsigned\20int\29 +1425:GrQuad::projectedBounds\28\29\20const +1426:GrProcessorSet::MakeEmptySet\28\29 +1427:GrPorterDuffXPFactory::SimpleSrcOverXP\28\29 +1428:GrPixmap::Allocate\28GrImageInfo\20const&\29 +1429:GrPathTessellationShader::MakeSimpleTriangleShader\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +1430:GrMakeCachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\29 +1431:GrImageInfo::operator=\28GrImageInfo&&\29 +1432:GrImageInfo::makeColorType\28GrColorType\29\20const +1433:GrGpuResource::setUniqueKey\28skgpu::UniqueKey\20const&\29 +1434:GrGpuResource::release\28\29 +1435:GrGpuResource::isPurgeable\28\29\20const +1436:GrGeometryProcessor::textureSampler\28int\29\20const +1437:GrGeometryProcessor::AttributeSet::begin\28\29\20const +1438:GrGLSLShaderBuilder::addFeature\28unsigned\20int\2c\20char\20const*\29 +1439:GrGLGpu::clearErrorsAndCheckForOOM\28\29 +1440:GrGLGpu::bindSurfaceFBOForPixelOps\28GrSurface*\2c\20int\2c\20unsigned\20int\2c\20GrGLGpu::TempFBOTarget\29 +1441:GrGLCompileAndAttachShader\28GrGLContext\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20bool\2c\20GrThreadSafePipelineBuilder::Stats*\2c\20skgpu::ShaderErrorHandler*\29 +1442:GrFragmentProcessor::MakeColor\28SkRGBA4f<\28SkAlphaType\292>\29 +1443:GrDirectContextPriv::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +1444:GrDefaultGeoProcFactory::Make\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +1445:GrConvertPixels\28GrPixmap\20const&\2c\20GrCPixmap\20const&\2c\20bool\29 +1446:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +1447:GrColorInfo::GrColorInfo\28\29 +1448:GrBlurUtils::convolve_gaussian_1d\28skgpu::ganesh::SurfaceFillContext*\2c\20GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\2c\20SkIRect\20const&\2c\20SkAlphaType\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\29 +1449:GrBackendFormat::operator=\28GrBackendFormat\20const&\29 +1450:FT_Stream_Read +1451:FT_GlyphLoader_Rewind +1452:FT_Done_Face +1453:Cr_z_inflate +1454:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1455:void\20std::__2::__stable_sort\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +1456:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20unsigned\20int*&\2c\20unsigned\20int*&\29 +1457:void\20hb_serialize_context_t::add_link\2c\20true>>\28OT::OffsetTo\2c\20true>&\2c\20unsigned\20int\2c\20hb_serialize_context_t::whence_t\2c\20unsigned\20int\29 +1458:void\20emscripten::internal::MemberAccess::setWire\28bool\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform&\2c\20bool\29 +1459:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +1460:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +1461:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +1462:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +1463:toupper +1464:top12.2 +1465:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1466:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1467:std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>::type\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>\28skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*\29\20const +1468:std::__2::ctype::narrow\5babi:v160004\5d\28char\2c\20char\29\20const +1469:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28wchar_t\20const*\29 +1470:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1471:std::__2::basic_streambuf>::~basic_streambuf\28\29 +1472:std::__2::basic_streambuf>::setg\5babi:v160004\5d\28char*\2c\20char*\2c\20char*\29 +1473:std::__2::__num_get::__stage2_int_loop\28wchar_t\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20wchar_t\20const*\29 +1474:std::__2::__num_get::__stage2_int_loop\28char\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20char\20const*\29 +1475:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1476:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1477:src_p\28unsigned\20char\2c\20unsigned\20char\29 +1478:skif::FilterResult::subset\28skif::LayerSpace\20const&\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +1479:skif::FilterResult::operator=\28skif::FilterResult&&\29 +1480:skia_private::THashMap::operator\5b\5d\28SkSL::Variable\20const*\20const&\29 +1481:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +1482:skia_private::TArray::resize_back\28int\29 +1483:skia_png_get_valid +1484:skia_png_gamma_8bit_correct +1485:skia_png_free_data +1486:skia_png_chunk_warning +1487:skia::textlayout::TextLine::measureTextInsideOneRun\28skia::textlayout::SkRange\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20float\2c\20bool\2c\20skia::textlayout::TextLine::TextAdjustment\29\20const +1488:skia::textlayout::Run::positionX\28unsigned\20long\29\20const +1489:skia::textlayout::Run::Run\28skia::textlayout::ParagraphImpl*\2c\20SkShaper::RunHandler::RunInfo\20const&\2c\20unsigned\20long\2c\20float\2c\20bool\2c\20float\2c\20unsigned\20long\2c\20float\29 +1490:skia::textlayout::ParagraphCacheKey::operator==\28skia::textlayout::ParagraphCacheKey\20const&\29\20const +1491:skia::textlayout::FontCollection::enableFontFallback\28\29 +1492:skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\294>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\298>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::ReplicateLineEndPoints\2c\20skgpu::tess::TrackJoinControlPoints>::chopAndWriteCubics\28skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20int\29 +1493:skgpu::ganesh::SmallPathAtlasMgr::reset\28\29 +1494:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::vertexSize\28\29\20const +1495:skgpu::ganesh::Device::readSurfaceView\28\29 +1496:skgpu::ganesh::ClipStack::clip\28skgpu::ganesh::ClipStack::RawElement&&\29 +1497:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::RawElement\20const&\29\20const +1498:skgpu::ganesh::ClipStack::RawElement::RawElement\28SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\2c\20SkClipOp\29 +1499:skgpu::TAsyncReadResult::Plane&\20skia_private::TArray::Plane\2c\20false>::emplace_back\2c\20unsigned\20long&>\28sk_sp&&\2c\20unsigned\20long&\29 +1500:skgpu::Swizzle::asString\28\29\20const +1501:skgpu::ScratchKey::GenerateResourceType\28\29 +1502:skgpu::GetBlendFormula\28bool\2c\20bool\2c\20SkBlendMode\29 +1503:select_curve_ops\28skcms_Curve\20const*\2c\20int\2c\20OpAndArg*\29 +1504:sbrk +1505:ps_tofixedarray +1506:processPropertySeq\28UBiDi*\2c\20LevState*\2c\20unsigned\20char\2c\20int\2c\20int\29 +1507:png_format_buffer +1508:png_check_keyword +1509:nextafterf +1510:jpeg_huff_decode +1511:hb_unicode_funcs_destroy +1512:hb_serialize_context_t::pop_discard\28\29 +1513:hb_buffer_set_flags +1514:hb_blob_create_sub_blob +1515:hb_array_t::hash\28\29\20const +1516:hairquad\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1517:haircubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1518:fmt_u +1519:flush_pending +1520:emscripten::internal::Invoker>::invoke\28sk_sp\20\28*\29\28\29\29 +1521:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\29\2c\20SkPath*\29 +1522:do_fixed +1523:destroy_face +1524:decltype\28fp\28\28SkRecords::NoOp*\29\28nullptr\29\29\29\20SkRecord::Record::mutate\28SkRecord::Destroyer&\29 +1525:char*\20const&\20std::__2::max\5babi:v160004\5d\28char*\20const&\2c\20char*\20const&\29 +1526:cf2_stack_pushInt +1527:cf2_interpT2CharString +1528:cf2_glyphpath_moveTo +1529:byn$mgfn-shared$SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +1530:byn$mgfn-shared$GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +1531:bool\20hb_hashmap_t::set_with_hash\28unsigned\20int\20const&\2c\20unsigned\20int\2c\20unsigned\20int\20const&\2c\20bool\29 +1532:bool\20emscripten::internal::MemberAccess::getWire\28bool\20RuntimeEffectUniform::*\20const&\2c\20RuntimeEffectUniform\20const&\29 +1533:_hb_ot_metrics_get_position_common\28hb_font_t*\2c\20hb_ot_metrics_tag_t\2c\20int*\29 +1534:__tandf +1535:__floatunsitf +1536:__cxa_allocate_exception +1537:\28anonymous\20namespace\29::PathGeoBuilder::createMeshAndPutBackReserve\28\29 +1538:\28anonymous\20namespace\29::MeshOp::fixedFunctionFlags\28\29\20const +1539:\28anonymous\20namespace\29::DrawAtlasOpImpl::fixedFunctionFlags\28\29\20const +1540:WebPDemuxGetI +1541:VP8LDoFillBitWindow +1542:VP8LClear +1543:TT_Get_MM_Var +1544:SkWStream::writeScalar\28float\29 +1545:SkUTF::UTF8ToUTF16\28unsigned\20short*\2c\20int\2c\20char\20const*\2c\20unsigned\20long\29 +1546:SkTypeface::MakeEmpty\28\29 +1547:SkTSect::BinarySearch\28SkTSect*\2c\20SkTSect*\2c\20SkIntersections*\29 +1548:SkTConic::operator\5b\5d\28int\29\20const +1549:SkTBlockList::reset\28\29 +1550:SkTBlockList::reset\28\29 +1551:SkString::insertU32\28unsigned\20long\2c\20unsigned\20int\29 +1552:SkSpecialImages::MakeDeferredFromGpu\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1553:SkShaders::MatrixRec::applyForFragmentProcessor\28SkMatrix\20const&\29\20const +1554:SkScan::FillRect\28SkRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +1555:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +1556:SkSL::optimize_comparison\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20bool\20\28*\29\28double\2c\20double\29\29 +1557:SkSL::Type::convertArraySize\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20long\20long\29\20const +1558:SkSL::String::appendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20...\29 +1559:SkSL::RP::Builder::dot_floats\28int\29 +1560:SkSL::ProgramUsage::get\28SkSL::FunctionDeclaration\20const&\29\20const +1561:SkSL::Parser::type\28SkSL::Modifiers*\29 +1562:SkSL::Parser::modifiers\28\29 +1563:SkSL::ConstructorDiagonalMatrix::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1564:SkSL::ConstructorArrayCast::~ConstructorArrayCast\28\29 +1565:SkSL::ConstantFolder::MakeConstantValueForVariable\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +1566:SkSL::Compiler::Compiler\28\29 +1567:SkSL::Analysis::IsTrivialExpression\28SkSL::Expression\20const&\29 +1568:SkRuntimeShaderBuilder::~SkRuntimeShaderBuilder\28\29 +1569:SkRuntimeShaderBuilder::makeShader\28SkMatrix\20const*\29\20const +1570:SkRuntimeShaderBuilder::SkRuntimeShaderBuilder\28sk_sp\29 +1571:SkRuntimeEffectPriv::CanDraw\28SkCapabilities\20const*\2c\20SkRuntimeEffect\20const*\29 +1572:SkRegion::setPath\28SkPath\20const&\2c\20SkRegion\20const&\29 +1573:SkRegion::operator=\28SkRegion\20const&\29 +1574:SkRegion::op\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\29 +1575:SkRegion::Iterator::next\28\29 +1576:SkRasterPipeline::compile\28\29\20const +1577:SkRasterPipeline::appendClampIfNormalized\28SkImageInfo\20const&\29 +1578:SkRRect::transform\28SkMatrix\20const&\2c\20SkRRect*\29\20const +1579:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20SkBBHFactory*\29 +1580:SkPathWriter::finishContour\28\29 +1581:SkPathStroker::cubicPerpRay\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +1582:SkPath::getSegmentMasks\28\29\20const +1583:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\29 +1584:SkPaintPriv::ComputeLuminanceColor\28SkPaint\20const&\29 +1585:SkPaint::nothingToDraw\28\29\20const +1586:SkPaint::isSrcOver\28\29\20const +1587:SkOpAngle::linesOnOriginalSide\28SkOpAngle\20const*\29 +1588:SkNotifyBitmapGenIDIsStale\28unsigned\20int\29 +1589:SkNoDrawCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +1590:SkMipmap::Build\28SkPixmap\20const&\2c\20SkDiscardableMemory*\20\28*\29\28unsigned\20long\29\2c\20bool\29 +1591:SkMeshSpecification::~SkMeshSpecification\28\29 +1592:SkMatrix::setSinCos\28float\2c\20float\2c\20float\2c\20float\29 +1593:SkMatrix::setRSXform\28SkRSXform\20const&\29 +1594:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint3\20const*\2c\20int\29\20const +1595:SkMaskBuilder::AllocImage\28unsigned\20long\2c\20SkMaskBuilder::AllocType\29 +1596:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_2D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1597:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1598:SkJSONWriter::appendString\28char\20const*\2c\20unsigned\20long\29 +1599:SkIntersections::insertNear\28double\2c\20double\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29 +1600:SkIntersections::flip\28\29 +1601:SkImageFilters::Empty\28\29 +1602:SkImageFilter_Base::~SkImageFilter_Base\28\29 +1603:SkGlyph::drawable\28\29\20const +1604:SkFont::unicharToGlyph\28int\29\20const +1605:SkFont::setTypeface\28sk_sp\29 +1606:SkFont::setHinting\28SkFontHinting\29 +1607:SkFindQuadMaxCurvature\28SkPoint\20const*\29 +1608:SkEvalCubicAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29 +1609:SkDrawTiler::stepAndSetupTileDraw\28\29 +1610:SkDrawTiler::SkDrawTiler\28SkBitmapDevice*\2c\20SkRect\20const*\29 +1611:SkDevice::accessPixels\28SkPixmap*\29 +1612:SkDeque::SkDeque\28unsigned\20long\2c\20void*\2c\20unsigned\20long\2c\20int\29 +1613:SkDCubic::FindExtrema\28double\20const*\2c\20double*\29 +1614:SkColorFilters::Blend\28unsigned\20int\2c\20SkBlendMode\29 +1615:SkCodec::getPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const*\29 +1616:SkCanvas::topDevice\28\29\20const +1617:SkCanvas::internalRestore\28\29 +1618:SkCanvas::init\28sk_sp\29 +1619:SkCanvas::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +1620:SkBlendMode_AsCoeff\28SkBlendMode\2c\20SkBlendModeCoeff*\2c\20SkBlendModeCoeff*\29 +1621:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29 +1622:SkAutoPixmapStorage::tryAlloc\28SkImageInfo\20const&\29 +1623:SkAAClip::SkAAClip\28\29 +1624:OT::glyf_accelerator_t::glyf_accelerator_t\28hb_face_t*\29 +1625:OT::VariationStore::sanitize\28hb_sanitize_context_t*\29\20const +1626:OT::Layout::GPOS_impl::ValueFormat::sanitize_value_devices\28hb_sanitize_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\29\20const +1627:OT::Layout::GPOS_impl::ValueFormat::apply_value\28OT::hb_ot_apply_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\2c\20hb_glyph_position_t&\29\20const +1628:OT::HVARVVAR::sanitize\28hb_sanitize_context_t*\29\20const +1629:GrTriangulator::VertexList::insert\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\29 +1630:GrTriangulator::Poly::addEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Side\2c\20GrTriangulator*\29 +1631:GrTriangulator::EdgeList::remove\28GrTriangulator::Edge*\29 +1632:GrStyledShape::operator=\28GrStyledShape\20const&\29 +1633:GrSimpleMeshDrawOpHelperWithStencil::createProgramInfoWithStencil\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1634:GrResourceCache::purgeAsNeeded\28\29 +1635:GrRenderTask::addDependency\28GrDrawingManager*\2c\20GrSurfaceProxy*\2c\20skgpu::Mipmapped\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +1636:GrRenderTask::GrRenderTask\28\29 +1637:GrRenderTarget::onRelease\28\29 +1638:GrProxyProvider::findOrCreateProxyByUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxy::UseAllocator\29 +1639:GrProcessorSet::operator==\28GrProcessorSet\20const&\29\20const +1640:GrPathUtils::generateQuadraticPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +1641:GrMeshDrawOp::QuadHelper::QuadHelper\28GrMeshDrawTarget*\2c\20unsigned\20long\2c\20int\29 +1642:GrIsStrokeHairlineOrEquivalent\28GrStyle\20const&\2c\20SkMatrix\20const&\2c\20float*\29 +1643:GrImageContext::abandoned\28\29 +1644:GrGpuResource::registerWithCache\28skgpu::Budgeted\29 +1645:GrGpuBuffer::isMapped\28\29\20const +1646:GrGpu::submitToGpu\28GrSyncCpu\29 +1647:GrGpu::didWriteToSurface\28GrSurface*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const*\2c\20unsigned\20int\29\20const +1648:GrGeometryProcessor::ProgramImpl::setupUniformColor\28GrGLSLFPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20GrResourceHandle*\29 +1649:GrGLGpu::flushRenderTarget\28GrGLRenderTarget*\2c\20bool\29 +1650:GrFragmentProcessor::visitTextureEffects\28std::__2::function\20const&\29\20const +1651:GrFragmentProcessor::visitProxies\28std::__2::function\20const&\29\20const +1652:GrCpuBuffer::ref\28\29\20const +1653:GrBufferAllocPool::makeSpace\28unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\29 +1654:GrBackendTextures::GetGLTextureInfo\28GrBackendTexture\20const&\2c\20GrGLTextureInfo*\29 +1655:FilterLoop26_C +1656:FT_Vector_Transform +1657:FT_Vector_NormLen +1658:FT_Outline_Transform +1659:CFF::dict_opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +1660:AlmostBetweenUlps\28float\2c\20float\2c\20float\29 +1661:void\20std::__2::vector>::__emplace_back_slow_path\28skia::textlayout::OneLineShaper::RunBlock&\29 +1662:ubidi_getMemory_skia +1663:transform\28unsigned\20int*\2c\20unsigned\20char\20const*\29 +1664:strcspn +1665:std::__2::vector>::__append\28unsigned\20long\29 +1666:std::__2::locale::locale\28std::__2::locale\20const&\29 +1667:std::__2::locale::classic\28\29 +1668:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +1669:std::__2::chrono::__libcpp_steady_clock_now\28\29 +1670:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20char\20const*\29 +1671:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +1672:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1673:std::__2::__wrap_iter\20std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float\20const*\2c\20float\20const*\29 +1674:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1675:std::__2::__throw_bad_variant_access\5babi:v160004\5d\28\29 +1676:std::__2::__split_buffer>::push_front\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +1677:std::__2::__shared_count::__release_shared\5babi:v160004\5d\28\29 +1678:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20wchar_t&\29 +1679:std::__2::__num_get::__do_widen\28std::__2::ios_base&\2c\20wchar_t*\29\20const +1680:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20char&\29 +1681:std::__2::__itoa::__append1\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1682:sktext::gpu::VertexFiller::vertexStride\28SkMatrix\20const&\29\20const +1683:skif::RoundIn\28SkRect\29 +1684:skif::LayerSpace::round\28\29\20const +1685:skif::LayerSpace::inverseMapRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29\20const +1686:skif::FilterResult::applyTransform\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkSamplingOptions\20const&\29\20const +1687:skif::FilterResult::Builder::~Builder\28\29 +1688:skif::FilterResult::Builder::Builder\28skif::Context\20const&\29 +1689:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair&&\29 +1690:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +1691:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +1692:skia_private::TArray::resize_back\28int\29 +1693:skia_private::TArray::push_back_raw\28int\29 +1694:skia_png_sig_cmp +1695:skia_png_set_progressive_read_fn +1696:skia_png_set_longjmp_fn +1697:skia_png_set_interlace_handling +1698:skia_png_reciprocal +1699:skia_png_read_chunk_header +1700:skia_png_get_io_ptr +1701:skia_png_calloc +1702:skia::textlayout::TextLine::~TextLine\28\29 +1703:skia::textlayout::ParagraphStyle::ParagraphStyle\28skia::textlayout::ParagraphStyle\20const&\29 +1704:skia::textlayout::ParagraphCacheKey::~ParagraphCacheKey\28\29 +1705:skia::textlayout::FontCollection::findTypefaces\28std::__2::vector>\20const&\2c\20SkFontStyle\2c\20std::__2::optional\20const&\29 +1706:skia::textlayout::Cluster::trimmedWidth\28unsigned\20long\29\20const +1707:skgpu::ganesh::TextureOp::BatchSizeLimiter::createOp\28GrTextureSetEntry*\2c\20int\2c\20GrAAType\29 +1708:skgpu::ganesh::SurfaceFillContext::fillWithFP\28std::__2::unique_ptr>\29 +1709:skgpu::ganesh::SurfaceDrawContext::drawShapeUsingPathRenderer\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\2c\20bool\29 +1710:skgpu::ganesh::SurfaceDrawContext::drawRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const*\29 +1711:skgpu::ganesh::SurfaceDrawContext::drawRRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20GrStyle\20const&\29 +1712:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29 +1713:skgpu::ganesh::QuadPerEdgeAA::CalcIndexBufferOption\28GrAAType\2c\20int\29 +1714:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29::$_0::operator\28\29\28GrSurfaceProxyView\20const&\29\20const +1715:skgpu::ganesh::Device::targetProxy\28\29 +1716:skgpu::ganesh::ClipStack::getConservativeBounds\28\29\20const +1717:skgpu::TAsyncReadResult::addTransferResult\28skgpu::ganesh::SurfaceContext::PixelTransferResult\20const&\2c\20SkISize\2c\20unsigned\20long\2c\20skgpu::TClientMappedBufferManager*\29 +1718:skgpu::Plot::resetRects\28\29 +1719:skcms_TransferFunction_invert +1720:ps_dimension_add_t1stem +1721:powf +1722:log2f +1723:log +1724:jcopy_sample_rows +1725:hb_font_t::has_func\28unsigned\20int\29 +1726:hb_buffer_create_similar +1727:getenv +1728:ft_service_list_lookup +1729:fseek +1730:fiprintf +1731:fflush +1732:expm1 +1733:emscripten::internal::MethodInvoker::invoke\28void\20\28GrDirectContext::*\20const&\29\28\29\2c\20GrDirectContext*\29 +1734:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +1735:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFont&\29\2c\20SkFont*\29 +1736:do_putc +1737:crc32_z +1738:cf2_hintmap_insertHint +1739:cf2_hintmap_build +1740:cf2_glyphpath_pushPrevElem +1741:byn$mgfn-shared$std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +1742:byn$mgfn-shared$std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +1743:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +1744:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +1745:byn$mgfn-shared$skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +1746:byn$mgfn-shared$skif::Backend::~Backend\28\29.1 +1747:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +1748:blit_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +1749:afm_stream_read_one +1750:af_latin_hints_link_segments +1751:af_latin_compute_stem_width +1752:af_glyph_hints_reload +1753:acosf +1754:__wasi_syscall_ret +1755:__syscall_ret +1756:__sin +1757:__cos +1758:VP8LHuffmanTablesDeallocate +1759:SkWriter32::writeSampling\28SkSamplingOptions\20const&\29 +1760:SkVertices::Builder::detach\28\29 +1761:SkUTF::NextUTF8WithReplacement\28char\20const**\2c\20char\20const*\29 +1762:SkTypeface_FreeType::~SkTypeface_FreeType\28\29 +1763:SkTypeface_FreeType::FaceRec::~FaceRec\28\29 +1764:SkTypeface::SkTypeface\28SkFontStyle\20const&\2c\20bool\29 +1765:SkTextBlobBuilder::TightRunBounds\28SkTextBlob::RunRecord\20const&\29 +1766:SkTextBlob::RunRecord::textSizePtr\28\29\20const +1767:SkTMultiMap::remove\28skgpu::ScratchKey\20const&\2c\20GrGpuResource\20const*\29 +1768:SkTMultiMap::insert\28skgpu::ScratchKey\20const&\2c\20GrGpuResource*\29 +1769:SkTDStorage::insert\28int\2c\20int\2c\20void\20const*\29 +1770:SkTDPQueue<\28anonymous\20namespace\29::RunIteratorQueue::Entry\2c\20&\28anonymous\20namespace\29::RunIteratorQueue::CompareEntry\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\2c\20\28int*\20\28*\29\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\290>::insert\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\29 +1771:SkSwizzler::Make\28SkEncodedInfo\20const&\2c\20unsigned\20int\20const*\2c\20SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20SkIRect\20const*\29 +1772:SkSurfaces::Raster\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +1773:SkSurface_Base::~SkSurface_Base\28\29 +1774:SkSurface::recordingContext\28\29\20const +1775:SkString::resize\28unsigned\20long\29 +1776:SkStrikeSpec::SkStrikeSpec\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1777:SkStrikeSpec::MakeMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1778:SkStrikeSpec::MakeCanonicalized\28SkFont\20const&\2c\20SkPaint\20const*\29 +1779:SkStrikeCache::findOrCreateStrike\28SkStrikeSpec\20const&\29 +1780:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +1781:SkShaders::MatrixRec::apply\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +1782:SkShaders::MatrixRec::MatrixRec\28SkMatrix\20const&\29 +1783:SkShaders::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +1784:SkScan::FillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\29 +1785:SkScalerContext_FreeType::emboldenIfNeeded\28FT_FaceRec_*\2c\20FT_GlyphSlotRec_*\2c\20unsigned\20short\29 +1786:SkSL::Type::displayName\28\29\20const +1787:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20double\2c\20SkSL::Position\29\20const +1788:SkSL::SymbolTable::find\28std::__2::basic_string_view>\29\20const +1789:SkSL::String::Separator\28\29::Output::~Output\28\29 +1790:SkSL::RP::SlotManager::addSlotDebugInfoForGroup\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20int*\2c\20bool\29 +1791:SkSL::RP::Generator::foldComparisonOp\28SkSL::Operator\2c\20int\29 +1792:SkSL::RP::Builder::branch_if_no_lanes_active\28int\29 +1793:SkSL::PrefixExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +1794:SkSL::PipelineStage::PipelineStageCodeGenerator::typedVariable\28SkSL::Type\20const&\2c\20std::__2::basic_string_view>\29 +1795:SkSL::Parser::parseArrayDimensions\28SkSL::Position\2c\20SkSL::Type\20const**\29 +1796:SkSL::Parser::arraySize\28long\20long*\29 +1797:SkSL::Operator::operatorName\28\29\20const +1798:SkSL::ModifierFlags::paddedDescription\28\29\20const +1799:SkSL::IndexExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +1800:SkSL::ConstantFolder::GetConstantValue\28SkSL::Expression\20const&\2c\20double*\29 +1801:SkSL::ConstantFolder::GetConstantInt\28SkSL::Expression\20const&\2c\20long\20long*\29 +1802:SkSL::Compiler::convertProgram\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::ProgramSettings\20const&\29 +1803:SkResourceCache::remove\28SkResourceCache::Rec*\29 +1804:SkRegion::op\28SkRegion\20const&\2c\20SkIRect\20const&\2c\20SkRegion::Op\29 +1805:SkRegion::Iterator::Iterator\28SkRegion\20const&\29 +1806:SkRectPriv::ClosestDisjointEdge\28SkIRect\20const&\2c\20SkIRect\20const&\29 +1807:SkRecords::FillBounds::bounds\28SkRecords::DrawArc\20const&\29\20const +1808:SkReadBuffer::setMemory\28void\20const*\2c\20unsigned\20long\29 +1809:SkRasterClip::SkRasterClip\28SkIRect\20const&\29 +1810:SkRRect::writeToMemory\28void*\29\20const +1811:SkRRect::setRectXY\28SkRect\20const&\2c\20float\2c\20float\29 +1812:SkPointPriv::DistanceToLineBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPointPriv::Side*\29 +1813:SkPoint::setNormalize\28float\2c\20float\29 +1814:SkPixmapUtils::SwapWidthHeight\28SkImageInfo\20const&\29 +1815:SkPictureRecorder::finishRecordingAsPicture\28\29 +1816:SkPathPriv::ComputeFirstDirection\28SkPath\20const&\29 +1817:SkPathEffect::asADash\28SkPathEffect::DashInfo*\29\20const +1818:SkPathEdgeIter::SkPathEdgeIter\28SkPath\20const&\29 +1819:SkPath::rewind\28\29 +1820:SkPath::isLine\28SkPoint*\29\20const +1821:SkPath::incReserve\28int\2c\20int\2c\20int\29 +1822:SkPath::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +1823:SkPaint::setStrokeCap\28SkPaint::Cap\29 +1824:SkPaint::refShader\28\29\20const +1825:SkOpSpan::setWindSum\28int\29 +1826:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20int\2c\20SkOpSpanBase**\29 +1827:SkOpContourBuilder::addCurve\28SkPath::Verb\2c\20SkPoint\20const*\2c\20float\29 +1828:SkOpAngle::starter\28\29 +1829:SkOpAngle::insert\28SkOpAngle*\29 +1830:SkNoDestructor::SkNoDestructor\28SkSL::String::Separator\28\29::Output&&\29 +1831:SkMatrixPriv::InverseMapRect\28SkMatrix\20const&\2c\20SkRect*\2c\20SkRect\20const&\29 +1832:SkMatrix::setSinCos\28float\2c\20float\29 +1833:SkMatrix::decomposeScale\28SkSize*\2c\20SkMatrix*\29\20const +1834:SkMaskFilterBase::getFlattenableType\28\29\20const +1835:SkMaskFilter::MakeBlur\28SkBlurStyle\2c\20float\2c\20bool\29 +1836:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29 +1837:SkMD5::write\28void\20const*\2c\20unsigned\20long\29 +1838:SkLineClipper::IntersectLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\29 +1839:SkImage_GaneshBase::SkImage_GaneshBase\28sk_sp\2c\20SkImageInfo\2c\20unsigned\20int\29 +1840:SkImageGenerator::onRefEncodedData\28\29 +1841:SkImage::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +1842:SkImage::makeRasterImage\28GrDirectContext*\2c\20SkImage::CachingHint\29\20const +1843:SkIDChangeListener::SkIDChangeListener\28\29 +1844:SkIDChangeListener::List::reset\28\29 +1845:SkGradientBaseShader::flatten\28SkWriteBuffer&\29\20const +1846:SkFontMgr::RefEmpty\28\29 +1847:SkFont::setEdging\28SkFont::Edging\29 +1848:SkEvalQuadAt\28SkPoint\20const*\2c\20float\29 +1849:SkEncodedInfo::makeImageInfo\28\29\20const +1850:SkEdgeClipper::next\28SkPoint*\29 +1851:SkDevice::scalerContextFlags\28\29\20const +1852:SkConic::evalAt\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +1853:SkColorInfo::SkColorInfo\28SkColorType\2c\20SkAlphaType\2c\20sk_sp\29 +1854:SkCodec::skipScanlines\28int\29 +1855:SkChopCubicAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +1856:SkCapabilities::RasterBackend\28\29 +1857:SkCanvas::saveLayer\28SkCanvas::SaveLayerRec\20const&\29 +1858:SkCanvas::imageInfo\28\29\20const +1859:SkCanvas::drawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +1860:SkCanvas::drawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +1861:SkCanvas::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +1862:SkBmpBaseCodec::~SkBmpBaseCodec\28\29 +1863:SkBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +1864:SkBlendMode\20SkReadBuffer::read32LE\28SkBlendMode\29 +1865:SkBitmap::operator=\28SkBitmap\20const&\29 +1866:SkBitmap::extractSubset\28SkBitmap*\2c\20SkIRect\20const&\29\20const +1867:SkBitmap::SkBitmap\28SkBitmap&&\29 +1868:SkBinaryWriteBuffer::writeByteArray\28void\20const*\2c\20unsigned\20long\29 +1869:SkBinaryWriteBuffer::SkBinaryWriteBuffer\28SkSerialProcs\20const&\29 +1870:SkBaseShadowTessellator::handleLine\28SkPoint\20const&\29 +1871:SkAAClip::setRegion\28SkRegion\20const&\29 +1872:R +1873:OT::hb_ot_apply_context_t::_set_glyph_class\28unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +1874:OT::cmap::find_subtable\28unsigned\20int\2c\20unsigned\20int\29\20const +1875:GrXPFactory::FromBlendMode\28SkBlendMode\29 +1876:GrTriangulator::setBottom\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +1877:GrTriangulator::mergeCollinearEdges\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +1878:GrTriangulator::Edge::disconnect\28\29 +1879:GrThreadSafeCache::find\28skgpu::UniqueKey\20const&\29 +1880:GrThreadSafeCache::add\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +1881:GrThreadSafeCache::Entry::makeEmpty\28\29 +1882:GrSurfaceProxyView::operator==\28GrSurfaceProxyView\20const&\29\20const +1883:GrSurfaceProxyView::Copy\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\29 +1884:GrSurfaceProxyPriv::doLazyInstantiation\28GrResourceProvider*\29 +1885:GrSurfaceProxy::isFunctionallyExact\28\29\20const +1886:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20sk_sp*\29 +1887:GrSimpleMeshDrawOpHelperWithStencil::fixedFunctionFlags\28\29\20const +1888:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20GrProcessorAnalysisColor*\29 +1889:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrProcessorSet&&\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrPipeline::InputFlags\2c\20GrUserStencilSettings\20const*\29 +1890:GrSimpleMeshDrawOpHelper::CreatePipeline\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20skgpu::Swizzle\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrProcessorSet&&\2c\20GrPipeline::InputFlags\29 +1891:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20void\20const*\2c\20skgpu::UniqueKey\20const&\29 +1892:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20skgpu::UniqueKey\20const&\2c\20void\20\28*\29\28skgpu::VertexWriter\2c\20unsigned\20long\29\29 +1893:GrResourceCache::findAndRefScratchResource\28skgpu::ScratchKey\20const&\29 +1894:GrRecordingContextPriv::makeSFC\28GrImageInfo\2c\20std::__2::basic_string_view>\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1895:GrQuadUtils::TessellationHelper::Vertices::moveAlong\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1896:GrQuad::asRect\28SkRect*\29\20const +1897:GrProcessorSet::GrProcessorSet\28GrProcessorSet&&\29 +1898:GrPathUtils::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +1899:GrGpu::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +1900:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +1901:GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +1902:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +1903:GrGLSLColorSpaceXformHelper::emitCode\28GrGLSLUniformHandler*\2c\20GrColorSpaceXform\20const*\2c\20unsigned\20int\29 +1904:GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +1905:GrGLRenderTarget::bindInternal\28unsigned\20int\2c\20bool\29 +1906:GrGLGpu::getErrorAndCheckForOOM\28\29 +1907:GrGLGpu::bindTexture\28int\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20GrGLTexture*\29 +1908:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkMatrix\20const&\29 +1909:GrFragmentProcessor::visitWithImpls\28std::__2::function\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\20const +1910:GrFragmentProcessor::ColorMatrix\28std::__2::unique_ptr>\2c\20float\20const*\2c\20bool\2c\20bool\2c\20bool\29 +1911:GrDrawingManager::appendTask\28sk_sp\29 +1912:GrColorInfo::GrColorInfo\28GrColorInfo\20const&\29 +1913:GrCaps::isFormatCompressed\28GrBackendFormat\20const&\29\20const +1914:GrAAConvexTessellator::lineTo\28SkPoint\20const&\2c\20GrAAConvexTessellator::CurveState\29 +1915:FT_Select_Metrics +1916:FT_Select_Charmap +1917:FT_Get_Next_Char +1918:FT_Get_Module_Interface +1919:FT_Done_Size +1920:DecodeImageStream +1921:CFF::opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +1922:CFF::Charset::get_glyph\28unsigned\20int\2c\20unsigned\20int\29\20const +1923:wuffs_gif__decoder__num_decoded_frames +1924:void\20std::__2::vector\2c\20std::__2::allocator>>::__push_back_slow_path\20const&>\28sk_sp\20const&\29 +1925:void\20std::__2::reverse\5babi:v160004\5d\28wchar_t*\2c\20wchar_t*\29 +1926:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.2 +1927:void\20merge_sort<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +1928:void\20merge_sort<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +1929:void\20emscripten::internal::MemberAccess::setWire\28float\20StrokeOpts::*\20const&\2c\20StrokeOpts&\2c\20float\29 +1930:validate_offsetToRestore\28SkReadBuffer*\2c\20unsigned\20long\29 +1931:ubidi_setPara_skia +1932:ubidi_getVisualRun_skia +1933:ubidi_getRuns_skia +1934:ubidi_getClass_skia +1935:tt_set_mm_blend +1936:tt_face_get_ps_name +1937:trinkle +1938:std::__2::unique_ptr::release\5babi:v160004\5d\28\29 +1939:std::__2::pair\2c\20void*>*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__emplace_unique_key_args\2c\20std::__2::tuple<>>\28GrTriangulator::Vertex*\20const&\2c\20std::__2::piecewise_construct_t\20const&\2c\20std::__2::tuple&&\2c\20std::__2::tuple<>&&\29 +1940:std::__2::pair::pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +1941:std::__2::moneypunct::do_decimal_point\28\29\20const +1942:std::__2::moneypunct::do_decimal_point\28\29\20const +1943:std::__2::istreambuf_iterator>::istreambuf_iterator\5babi:v160004\5d\28std::__2::basic_istream>&\29 +1944:std::__2::ios_base::good\5babi:v160004\5d\28\29\20const +1945:std::__2::ctype::toupper\5babi:v160004\5d\28char\29\20const +1946:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +1947:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +1948:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +1949:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +1950:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +1951:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +1952:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +1953:std::__2::basic_string\2c\20std::__2::allocator>::__get_short_size\5babi:v160004\5d\28\29\20const +1954:std::__2::basic_string\2c\20std::__2::allocator>&\20std::__2::basic_string\2c\20std::__2::allocator>::__assign_no_alias\28char\20const*\2c\20unsigned\20long\29 +1955:std::__2::basic_streambuf>::__pbump\5babi:v160004\5d\28long\29 +1956:std::__2::basic_iostream>::~basic_iostream\28\29.1 +1957:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::allocator&\2c\20wchar_t*\2c\20unsigned\20long\29 +1958:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::allocator&\2c\20char*\2c\20unsigned\20long\29 +1959:std::__2::__num_put_base::__format_int\28char*\2c\20char\20const*\2c\20bool\2c\20unsigned\20int\29 +1960:std::__2::__num_put_base::__format_float\28char*\2c\20char\20const*\2c\20unsigned\20int\29 +1961:std::__2::__itoa::__append8\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1962:sktext::gpu::VertexFiller::deviceRectAndCheckTransform\28SkMatrix\20const&\29\20const +1963:sktext::gpu::TextBlob::Key::operator==\28sktext::gpu::TextBlob::Key\20const&\29\20const +1964:sktext::gpu::GlyphVector::packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29 +1965:sktext::SkStrikePromise::strike\28\29 +1966:skif::\28anonymous\20namespace\29::downscale_step_count\28float\29 +1967:skif::FilterResult::getAnalyzedShaderView\28skif::Context\20const&\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\29\20const +1968:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20bool\2c\20SkBlender\20const*\29\20const +1969:skif::FilterResult::applyCrop\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkTileMode\29\20const +1970:skif::Context::~Context\28\29 +1971:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::resize\28int\29 +1972:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +1973:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +1974:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::resize\28int\29 +1975:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::resize\28int\29 +1976:skia_private::THashTable::Traits>::resize\28int\29 +1977:skia_private::TArray::move\28void*\29 +1978:skia_private::TArray::operator=\28skia_private::TArray&&\29 +1979:skia_private::TArray\2c\20true>::push_back\28SkRGBA4f<\28SkAlphaType\293>&&\29 +1980:skia_png_set_text_2 +1981:skia_png_set_palette_to_rgb +1982:skia_png_handle_IHDR +1983:skia_png_handle_IEND +1984:skia_png_destroy_write_struct +1985:skia::textlayout::operator==\28skia::textlayout::FontArguments\20const&\2c\20skia::textlayout::FontArguments\20const&\29 +1986:skia::textlayout::TextWrapper::TextStretch::extend\28skia::textlayout::Cluster*\29 +1987:skia::textlayout::FontCollection::getFontManagerOrder\28\29\20const +1988:skia::textlayout::FontArguments::FontArguments\28skia::textlayout::FontArguments\20const&\29 +1989:skia::textlayout::Decorations::calculateGaps\28skia::textlayout::TextLine::ClipContext\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\29 +1990:skia::textlayout::Block&\20skia_private::TArray::emplace_back\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20skia::textlayout::TextStyle\20const&\29 +1991:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::fixedFunctionFlags\28\29\20const +1992:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +1993:skgpu::ganesh::SurfaceFillContext::SurfaceFillContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +1994:skgpu::ganesh::SurfaceDrawContext::drawShape\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\29 +1995:skgpu::ganesh::SurfaceDrawContext::drawPaint\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\29 +1996:skgpu::ganesh::SurfaceDrawContext::MakeWithFallback\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1997:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29 +1998:skgpu::ganesh::SurfaceContext::PixelTransferResult::operator=\28skgpu::ganesh::SurfaceContext::PixelTransferResult&&\29 +1999:skgpu::ganesh::SmallPathAtlasMgr::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +2000:skgpu::ganesh::OpsTask::~OpsTask\28\29 +2001:skgpu::ganesh::OpsTask::setColorLoadOp\28GrLoadOp\2c\20std::__2::array\29 +2002:skgpu::ganesh::OpsTask::deleteOps\28\29 +2003:skgpu::ganesh::FillRectOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +2004:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29::$_0::operator\28\29\28int\29\20const +2005:skgpu::ganesh::ClipStack::~ClipStack\28\29 +2006:skgpu::TClientMappedBufferManager::~TClientMappedBufferManager\28\29 +2007:skgpu::Swizzle::apply\28SkRasterPipeline*\29\20const +2008:skgpu::Plot::addSubImage\28int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +2009:skgpu::GetLCDBlendFormula\28SkBlendMode\29 +2010:skcms_TransferFunction_isHLGish +2011:skcms_Matrix3x3_concat +2012:sk_srgb_linear_singleton\28\29 +2013:shr +2014:shl +2015:setRegionCheck\28SkRegion*\2c\20SkRegion\20const&\29 +2016:read_header\28SkStream*\2c\20SkPngChunkReader*\2c\20SkCodec**\2c\20png_struct_def**\2c\20png_info_def**\29 +2017:ps_dimension_set_mask_bits +2018:operator==\28SkPath\20const&\2c\20SkPath\20const&\29 +2019:mbrtowc +2020:jround_up +2021:jpeg_make_d_derived_tbl +2022:ilogbf +2023:hb_ucd_get_unicode_funcs +2024:hb_syllabic_insert_dotted_circles\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +2025:hb_shape_full +2026:hb_serialize_context_t::~hb_serialize_context_t\28\29 +2027:hb_serialize_context_t::resolve_links\28\29 +2028:hb_serialize_context_t::reset\28\29 +2029:hb_lazy_loader_t\2c\20hb_face_t\2c\2016u\2c\20OT::cff1_accelerator_t>::get\28\29\20const +2030:hb_lazy_loader_t\2c\20hb_face_t\2c\2034u\2c\20hb_blob_t>::get\28\29\20const +2031:hb_language_from_string +2032:hb_font_t::mults_changed\28\29 +2033:hb_font_destroy +2034:hb_buffer_t::next_glyph\28\29 +2035:get_sof +2036:ftell +2037:ft_var_readpackedpoints +2038:ft_mem_strdup +2039:float\20emscripten::internal::MemberAccess::getWire\28float\20StrokeOpts::*\20const&\2c\20StrokeOpts\20const&\29 +2040:fill_window +2041:exp +2042:encodeImage\28GrDirectContext*\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int\29 +2043:emscripten::val\20MakeTypedArray\28int\2c\20float\20const*\29 +2044:emscripten::internal::MethodInvoker::invoke\28float\20\28SkContourMeasure::*\20const&\29\28\29\20const\2c\20SkContourMeasure\20const*\29 +2045:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20unsigned\20long\29 +2046:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath\20const&\2c\20SkPath\20const&\29\2c\20SkPath*\2c\20SkPath*\29 +2047:dquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2048:do_clip_op\28SkReadBuffer*\2c\20SkCanvas*\2c\20SkRegion::Op\2c\20SkClipOp*\29 +2049:do_anti_hairline\28int\2c\20int\2c\20int\2c\20int\2c\20SkIRect\20const*\2c\20SkBlitter*\29 +2050:doWriteReverse\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +2051:doWriteForward\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +2052:dline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2053:dispose_chunk +2054:direct_blur_y\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2055:decltype\28fp\28\28SkRecords::NoOp\29\28\29\29\29\20SkRecord::Record::visit\28SkRecords::Draw&\29\20const +2056:dcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2057:dconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2058:crop_rect_edge\28SkRect\20const&\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float*\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +2059:char*\20std::__2::__rewrap_iter\5babi:v160004\5d>\28char*\2c\20char*\29 +2060:cff_slot_load +2061:cff_parse_real +2062:cff_index_get_sid_string +2063:cff_index_access_element +2064:cf2_doStems +2065:cf2_doFlex +2066:byn$mgfn-shared$tt_cmap8_get_info +2067:byn$mgfn-shared$tt_cmap0_get_info +2068:byn$mgfn-shared$skia_png_set_strip_16 +2069:byn$mgfn-shared$SkSL::Tracer::line\28int\29 +2070:byn$mgfn-shared$AlmostBequalUlps\28float\2c\20float\29 +2071:buffer_verify_error\28hb_buffer_t*\2c\20hb_font_t*\2c\20char\20const*\2c\20...\29 +2072:blur_y_rect\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2073:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29::$_0::operator\28\29\28unsigned\20char*\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29\20const +2074:af_sort_and_quantize_widths +2075:af_glyph_hints_align_weak_points +2076:af_glyph_hints_align_strong_points +2077:af_face_globals_new +2078:af_cjk_compute_stem_width +2079:add_huff_table +2080:addPoint\28UBiDi*\2c\20int\2c\20int\29 +2081:__uselocale +2082:__math_xflow +2083:__cxxabiv1::__base_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +2084:\28anonymous\20namespace\29::make_vertices_spec\28bool\2c\20bool\29 +2085:\28anonymous\20namespace\29::gather_lines_and_quads\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\29::$_1::operator\28\29\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20bool\29\20const +2086:\28anonymous\20namespace\29::draw_stencil_rect\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrHardClip\20const&\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2087:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2088:\28anonymous\20namespace\29::PathSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +2089:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2090:\28anonymous\20namespace\29::CacheImpl::removeInternal\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +2091:WebPRescalerExport +2092:WebPInitAlphaProcessing +2093:WebPFreeDecBuffer +2094:WebPDemuxDelete +2095:VP8SetError +2096:VP8LInverseTransform +2097:VP8LDelete +2098:VP8LColorCacheClear +2099:TT_Load_Context +2100:StringBuffer\20apply_format_string<1024>\28char\20const*\2c\20void*\2c\20char\20\28&\29\20\5b1024\5d\2c\20SkString*\29 +2101:SkYUVAPixmaps::operator=\28SkYUVAPixmaps\20const&\29 +2102:SkYUVAPixmapInfo::SupportedDataTypes::enableDataType\28SkYUVAPixmapInfo::DataType\2c\20int\29 +2103:SkWriter32::writeMatrix\28SkMatrix\20const&\29 +2104:SkWriter32::snapshotAsData\28\29\20const +2105:SkVertices::uniqueID\28\29\20const +2106:SkVertices::approximateSize\28\29\20const +2107:SkTypefaceCache::NewTypefaceID\28\29 +2108:SkTextBlobRunIterator::next\28\29 +2109:SkTextBlobRunIterator::SkTextBlobRunIterator\28SkTextBlob\20const*\29 +2110:SkTextBlobBuilder::SkTextBlobBuilder\28\29 +2111:SkTextBlobBuilder::ConservativeRunBounds\28SkTextBlob::RunRecord\20const&\29 +2112:SkTSpan::closestBoundedT\28SkDPoint\20const&\29\20const +2113:SkTSect::updateBounded\28SkTSpan*\2c\20SkTSpan*\2c\20SkTSpan*\29 +2114:SkTSect::trim\28SkTSpan*\2c\20SkTSect*\29 +2115:SkTDStorage::erase\28int\2c\20int\29 +2116:SkTDPQueue::percolateUpIfNecessary\28int\29 +2117:SkSurfaceProps::SkSurfaceProps\28unsigned\20int\2c\20SkPixelGeometry\2c\20float\2c\20float\29 +2118:SkStrokerPriv::JoinFactory\28SkPaint::Join\29 +2119:SkStrokeRec::setStrokeStyle\28float\2c\20bool\29 +2120:SkStrokeRec::setFillStyle\28\29 +2121:SkStrokeRec::applyToPath\28SkPath*\2c\20SkPath\20const&\29\20const +2122:SkString::set\28char\20const*\29 +2123:SkStrikeSpec::findOrCreateStrike\28\29\20const +2124:SkStrikeSpec::MakeWithNoDevice\28SkFont\20const&\2c\20SkPaint\20const*\29 +2125:SkStrike::unlock\28\29 +2126:SkStrike::lock\28\29 +2127:SkSharedMutex::SkSharedMutex\28\29 +2128:SkShadowTessellator::MakeSpot\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20bool\2c\20bool\29 +2129:SkShaders::Empty\28\29 +2130:SkShaders::Color\28unsigned\20int\29 +2131:SkShaderBase::appendRootStages\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +2132:SkScalerContext::~SkScalerContext\28\29.1 +2133:SkSL::write_stringstream\28SkSL::StringStream\20const&\2c\20SkSL::OutputStream&\29 +2134:SkSL::evaluate_3_way_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +2135:SkSL::VarDeclaration::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\2c\20std::__2::unique_ptr>\29 +2136:SkSL::Type::priority\28\29\20const +2137:SkSL::Type::checkIfUsableInArray\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +2138:SkSL::SymbolTable::takeOwnershipOfString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +2139:SkSL::SymbolTable::isBuiltinType\28std::__2::basic_string_view>\29\20const +2140:SkSL::RP::SlotManager::mapVariableToSlots\28SkSL::Variable\20const&\2c\20SkSL::RP::SlotRange\29 +2141:SkSL::RP::Program::appendStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkSL::RP::Callbacks*\2c\20SkSpan\29\20const +2142:SkSL::RP::Generator::pushVectorizedExpression\28SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +2143:SkSL::RP::Builder::ternary_op\28SkSL::RP::BuilderOp\2c\20int\29 +2144:SkSL::RP::Builder::simplifyPopSlotsUnmasked\28SkSL::RP::SlotRange*\29 +2145:SkSL::RP::Builder::pop_slots_unmasked\28SkSL::RP::SlotRange\29 +2146:SkSL::RP::Builder::exchange_src\28\29 +2147:SkSL::ProgramUsage::remove\28SkSL::ProgramElement\20const&\29 +2148:SkSL::ProgramUsage::isDead\28SkSL::Variable\20const&\29\20const +2149:SkSL::Pool::~Pool\28\29 +2150:SkSL::PipelineStage::PipelineStageCodeGenerator::typeName\28SkSL::Type\20const&\29 +2151:SkSL::LiteralType::priority\28\29\20const +2152:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sub\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +2153:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_dot\28std::__2::array\20const&\29 +2154:SkSL::GLSLCodeGenerator::writeAnyConstructor\28SkSL::AnyConstructor\20const&\2c\20SkSL::OperatorPrecedence\29 +2155:SkSL::ExpressionArray::clone\28\29\20const +2156:SkSL::Compiler::errorText\28bool\29 +2157:SkSL::Block::Make\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2158:SkSL::Block::MakeBlock\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2159:SkSL::Analysis::DetectVarDeclarationWithoutScope\28SkSL::Statement\20const&\2c\20SkSL::ErrorReporter*\29 +2160:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpace\20const*\29 +2161:SkRuntimeEffect::getRPProgram\28SkSL::DebugTracePriv*\29\20const +2162:SkRegion::getBoundaryPath\28SkPath*\29\20const +2163:SkRegion::Spanerator::next\28int*\2c\20int*\29 +2164:SkRegion::SkRegion\28SkRegion\20const&\29 +2165:SkReduceOrder::Quad\28SkPoint\20const*\2c\20SkPoint*\29 +2166:SkReadBuffer::skipByteArray\28unsigned\20long*\29 +2167:SkReadBuffer::readSampling\28\29 +2168:SkReadBuffer::readRRect\28SkRRect*\29 +2169:SkReadBuffer::checkInt\28int\2c\20int\29 +2170:SkRasterPipeline::appendMatrix\28SkArenaAlloc*\2c\20SkMatrix\20const&\29 +2171:SkQuads::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +2172:SkQuadraticEdge::updateQuadratic\28\29 +2173:SkPngCodec::~SkPngCodec\28\29.1 +2174:SkPngCodec::processData\28\29 +2175:SkPixmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2176:SkPictureRecord::~SkPictureRecord\28\29 +2177:SkPicture::~SkPicture\28\29.1 +2178:SkPathStroker::quadStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2179:SkPathStroker::preJoinTo\28SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\2c\20bool\29 +2180:SkPathStroker::intersectRay\28SkQuadConstruct*\2c\20SkPathStroker::IntersectRayType\29\20const +2181:SkPathStroker::cubicStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2182:SkPathStroker::conicStroke\28SkConic\20const&\2c\20SkQuadConstruct*\29 +2183:SkPathMeasure::isClosed\28\29 +2184:SkPathEffectBase::getFlattenableType\28\29\20const +2185:SkPathBuilder::moveTo\28SkPoint\29 +2186:SkPathBuilder::incReserve\28int\2c\20int\29 +2187:SkPathBuilder::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2188:SkPath::isLastContourClosed\28\29\20const +2189:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2190:SkPaintToGrPaintReplaceShader\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2191:SkPaint::setStrokeMiter\28float\29 +2192:SkPaint::setStrokeJoin\28SkPaint::Join\29 +2193:SkOpSpanBase::mergeMatches\28SkOpSpanBase*\29 +2194:SkOpSpanBase::addOpp\28SkOpSpanBase*\29 +2195:SkOpSegment::subDivide\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkDCurve*\29\20const +2196:SkOpSegment::release\28SkOpSpan\20const*\29 +2197:SkOpSegment::operand\28\29\20const +2198:SkOpSegment::moveNearby\28\29 +2199:SkOpSegment::markDone\28SkOpSpan*\29 +2200:SkOpSegment::markAndChaseDone\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpSpanBase**\29 +2201:SkOpSegment::isClose\28double\2c\20SkOpSegment\20const*\29\20const +2202:SkOpSegment::init\28SkPoint*\2c\20float\2c\20SkOpContour*\2c\20SkPath::Verb\29 +2203:SkOpSegment::addT\28double\2c\20SkPoint\20const&\29 +2204:SkOpCoincidence::fixUp\28SkOpPtT*\2c\20SkOpPtT\20const*\29 +2205:SkOpCoincidence::add\28SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\29 +2206:SkOpCoincidence::addMissing\28bool*\29 +2207:SkOpCoincidence::addIfMissing\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20double\2c\20double\2c\20SkOpSegment*\2c\20SkOpSegment*\2c\20bool*\29 +2208:SkOpCoincidence::addExpanded\28\29 +2209:SkOpAngle::set\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +2210:SkOpAngle::lineOnOneSide\28SkDPoint\20const&\2c\20SkDVector\20const&\2c\20SkOpAngle\20const*\2c\20bool\29\20const +2211:SkNoPixelsDevice::ClipState::op\28SkClipOp\2c\20SkM44\20const&\2c\20SkRect\20const&\2c\20bool\2c\20bool\29 +2212:SkMatrix\20skif::Mapping::map\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +2213:SkMatrixPriv::DifferentialAreaScale\28SkMatrix\20const&\2c\20SkPoint\20const&\29 +2214:SkMatrix::writeToMemory\28void*\29\20const +2215:SkMatrix::preservesRightAngles\28float\29\20const +2216:SkM44::normalizePerspective\28\29 +2217:SkLatticeIter::~SkLatticeIter\28\29 +2218:SkLatticeIter::next\28SkIRect*\2c\20SkRect*\2c\20bool*\2c\20unsigned\20int*\29 +2219:SkImages::RasterFromBitmap\28SkBitmap\20const&\29 +2220:SkImage_Lazy::Validator::Validator\28sk_sp\2c\20SkColorType\20const*\2c\20sk_sp\29 +2221:SkImageShader::MakeSubset\28sk_sp\2c\20SkRect\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +2222:SkImageFilters::Image\28sk_sp\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\29 +2223:SkImageFilters::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +2224:SkImage::readPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +2225:SkHalfToFloat\28unsigned\20short\29 +2226:SkGradientShader::MakeSweep\28float\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2227:SkGradientShader::MakeRadial\28SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2228:SkGradientBaseShader::commonAsAGradient\28SkShaderBase::GradientInfo*\29\20const +2229:SkGradientBaseShader::ValidGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2230:SkGradientBaseShader::SkGradientBaseShader\28SkGradientBaseShader::Descriptor\20const&\2c\20SkMatrix\20const&\29 +2231:SkGradientBaseShader::MakeDegenerateGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20float\20const*\2c\20int\2c\20sk_sp\2c\20SkTileMode\29 +2232:SkGradientBaseShader::Descriptor::~Descriptor\28\29 +2233:SkGradientBaseShader::Descriptor::Descriptor\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2234:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkPath\20const*\2c\20bool\29 +2235:SkFontMgr::matchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +2236:SkFont::setSize\28float\29 +2237:SkEvalQuadAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +2238:SkEncodedInfo::~SkEncodedInfo\28\29 +2239:SkEmptyFontMgr::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +2240:SkDrawableList::~SkDrawableList\28\29 +2241:SkDrawable::draw\28SkCanvas*\2c\20SkMatrix\20const*\29 +2242:SkData::PrivateNewWithCopy\28void\20const*\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +2243:SkDashPathEffect::Make\28float\20const*\2c\20int\2c\20float\29 +2244:SkDQuad::monotonicInX\28\29\20const +2245:SkDCubic::dxdyAtT\28double\29\20const +2246:SkDCubic::RootsValidT\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +2247:SkCubicEdge::updateCubic\28\29 +2248:SkConicalGradient::~SkConicalGradient\28\29 +2249:SkColorSpace::serialize\28\29\20const +2250:SkColorSpace::MakeSRGBLinear\28\29 +2251:SkColorFilterPriv::MakeGaussian\28\29 +2252:SkColorConverter::SkColorConverter\28unsigned\20int\20const*\2c\20int\29 +2253:SkCodec::startScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const*\29 +2254:SkCodec::handleFrameIndex\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20std::__2::function\29 +2255:SkCodec::getScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +2256:SkChopQuadAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2257:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\20const*\2c\20int\29 +2258:SkChopCubicAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2259:SkCharToGlyphCache::SkCharToGlyphCache\28\29 +2260:SkCanvas::getTotalMatrix\28\29\20const +2261:SkCanvas::getLocalToDevice\28\29\20const +2262:SkCanvas::getLocalClipBounds\28\29\20const +2263:SkCanvas::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +2264:SkCanvas::drawAtlas\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +2265:SkCanvas::concat\28SkM44\20const&\29 +2266:SkCanvas::SkCanvas\28SkBitmap\20const&\29 +2267:SkCanvas::ImageSetEntry::ImageSetEntry\28SkCanvas::ImageSetEntry\20const&\29 +2268:SkBmpCodec::ReadHeader\28SkStream*\2c\20bool\2c\20std::__2::unique_ptr>*\29 +2269:SkBlurMaskFilterImpl::computeXformedSigma\28SkMatrix\20const&\29\20const +2270:SkBlitter::blitRectRegion\28SkIRect\20const&\2c\20SkRegion\20const&\29 +2271:SkBlendMode_ShouldPreScaleCoverage\28SkBlendMode\2c\20bool\29 +2272:SkBlendMode_AppendStages\28SkBlendMode\2c\20SkRasterPipeline*\29 +2273:SkBitmap::tryAllocPixels\28SkBitmap::Allocator*\29 +2274:SkBitmap::readPixels\28SkPixmap\20const&\2c\20int\2c\20int\29\20const +2275:SkBitmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2276:SkBitmap::installPixels\28SkPixmap\20const&\29 +2277:SkBitmap::allocPixels\28SkImageInfo\20const&\29 +2278:SkBaseShadowTessellator::handleQuad\28SkPoint\20const*\29 +2279:SkAutoDescriptor::~SkAutoDescriptor\28\29 +2280:SkAnimatedImage::getFrameCount\28\29\20const +2281:SkAAClip::~SkAAClip\28\29 +2282:SkAAClip::setPath\28SkPath\20const&\2c\20SkIRect\20const&\2c\20bool\29 +2283:SkAAClip::op\28SkAAClip\20const&\2c\20SkClipOp\29 +2284:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GSUB_impl::SubstLookup\20const&\29 +2285:OT::hb_ot_apply_context_t::replace_glyph\28unsigned\20int\29 +2286:OT::apply_lookup\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20OT::LookupRecord\20const*\2c\20unsigned\20int\29 +2287:OT::Layout::GPOS_impl::ValueFormat::get_device\28OT::IntType\20const*\2c\20bool*\2c\20void\20const*\2c\20hb_sanitize_context_t&\29 +2288:OT::Layout::GPOS_impl::AnchorFormat3::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2289:OT::Layout::GPOS_impl::AnchorFormat2::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2290:OT::ClassDef::get_class\28unsigned\20int\29\20const +2291:JpegDecoderMgr::~JpegDecoderMgr\28\29 +2292:GrTriangulator::simplify\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +2293:GrTriangulator::setTop\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2294:GrTriangulator::mergeCoincidentVertices\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29\20const +2295:GrTriangulator::Vertex*\20SkArenaAlloc::make\28SkPoint&\2c\20int&&\29 +2296:GrThreadSafeCache::remove\28skgpu::UniqueKey\20const&\29 +2297:GrThreadSafeCache::internalFind\28skgpu::UniqueKey\20const&\29 +2298:GrThreadSafeCache::internalAdd\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2299:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29 +2300:GrTexture::markMipmapsClean\28\29 +2301:GrTessellationShader::MakePipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedClip&&\2c\20GrProcessorSet&&\29 +2302:GrSurfaceProxyView::concatSwizzle\28skgpu::Swizzle\29 +2303:GrSurfaceProxy::LazyCallbackResult::LazyCallbackResult\28sk_sp\29 +2304:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20GrSurfaceProxy::RectsMustMatch\2c\20sk_sp*\29 +2305:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +2306:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +2307:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrPipeline\20const*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrUserStencilSettings\20const*\29 +2308:GrShape::simplifyLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\29 +2309:GrShape::reset\28\29 +2310:GrShape::conservativeContains\28SkPoint\20const&\29\20const +2311:GrSWMaskHelper::init\28SkIRect\20const&\29 +2312:GrResourceProvider::createNonAAQuadIndexBuffer\28\29 +2313:GrResourceProvider::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\2c\20GrResourceProvider::ZeroInit\29 +2314:GrResourceCache::refAndMakeResourceMRU\28GrGpuResource*\29 +2315:GrResourceCache::findAndRefUniqueResource\28skgpu::UniqueKey\20const&\29 +2316:GrRenderTask::addTarget\28GrDrawingManager*\2c\20sk_sp\29 +2317:GrRenderTarget::~GrRenderTarget\28\29.1 +2318:GrRecordingContextPriv::createDevice\28skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\2c\20skgpu::ganesh::Device::InitContents\29 +2319:GrQuadUtils::WillUseHairline\28GrQuad\20const&\2c\20GrAAType\2c\20GrQuadAAFlags\29 +2320:GrQuadUtils::CropToRect\28SkRect\20const&\2c\20GrAA\2c\20DrawQuad*\2c\20bool\29 +2321:GrProxyProvider::processInvalidUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\29 +2322:GrPorterDuffXPFactory::Get\28SkBlendMode\29 +2323:GrPixmap::operator=\28GrPixmap&&\29 +2324:GrPathUtils::scaleToleranceToSrc\28float\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +2325:GrPathUtils::quadraticPointCount\28SkPoint\20const*\2c\20float\29 +2326:GrPathUtils::cubicPointCount\28SkPoint\20const*\2c\20float\29 +2327:GrPaint::setPorterDuffXPFactory\28SkBlendMode\29 +2328:GrPaint::GrPaint\28GrPaint\20const&\29 +2329:GrOpsRenderPass::draw\28int\2c\20int\29 +2330:GrOpsRenderPass::drawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +2331:GrMeshDrawOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +2332:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29 +2333:GrGradientShader::MakeGradientFP\28SkGradientBaseShader\20const&\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\2c\20std::__2::unique_ptr>\2c\20SkMatrix\20const*\29 +2334:GrGpuResource::getContext\28\29 +2335:GrGpu::writePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +2336:GrGLTexture::onSetLabel\28\29 +2337:GrGLTexture::onRelease\28\29 +2338:GrGLTexture::onAbandon\28\29 +2339:GrGLTexture::backendFormat\28\29\20const +2340:GrGLSLShaderBuilder::appendFunctionDecl\28SkSLType\2c\20char\20const*\2c\20SkSpan\29 +2341:GrGLSLProgramBuilder::fragmentProcessorHasCoordsParam\28GrFragmentProcessor\20const*\29\20const +2342:GrGLRenderTarget::onRelease\28\29 +2343:GrGLRenderTarget::onAbandon\28\29 +2344:GrGLGpu::resolveRenderFBOs\28GrGLRenderTarget*\2c\20SkIRect\20const&\2c\20GrGLRenderTarget::ResolveDirection\2c\20bool\29 +2345:GrGLGpu::flushBlendAndColorWrite\28skgpu::BlendInfo\20const&\2c\20skgpu::Swizzle\20const&\29 +2346:GrGLGetVersionFromString\28char\20const*\29 +2347:GrGLCheckLinkStatus\28GrGLGpu\20const*\2c\20unsigned\20int\2c\20bool\2c\20skgpu::ShaderErrorHandler*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const**\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +2348:GrGLCaps::maxRenderTargetSampleCount\28GrGLFormat\29\20const +2349:GrFragmentProcessors::Make\28SkBlenderBase\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20GrFPArgs\20const&\29 +2350:GrFragmentProcessor::isEqual\28GrFragmentProcessor\20const&\29\20const +2351:GrFragmentProcessor::asTextureEffect\28\29\20const +2352:GrFragmentProcessor::Rect\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRect\29 +2353:GrFragmentProcessor::ModulateRGBA\28std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +2354:GrDrawingManager::~GrDrawingManager\28\29 +2355:GrDrawingManager::removeRenderTasks\28\29 +2356:GrDrawingManager::getPathRenderer\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\2c\20bool\2c\20skgpu::ganesh::PathRendererChain::DrawType\2c\20skgpu::ganesh::PathRenderer::StencilSupport*\29 +2357:GrDrawOpAtlas::compact\28skgpu::AtlasToken\29 +2358:GrContext_Base::~GrContext_Base\28\29 +2359:GrContext_Base::defaultBackendFormat\28SkColorType\2c\20skgpu::Renderable\29\20const +2360:GrColorSpaceXform::XformKey\28GrColorSpaceXform\20const*\29 +2361:GrColorSpaceXform::Make\28SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +2362:GrColorSpaceXform::Make\28GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +2363:GrColorInfo::operator=\28GrColorInfo\20const&\29 +2364:GrCaps::supportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +2365:GrCaps::getFallbackColorTypeAndFormat\28GrColorType\2c\20int\29\20const +2366:GrCaps::areColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +2367:GrBufferAllocPool::~GrBufferAllocPool\28\29 +2368:GrBlurUtils::DrawShapeWithMaskFilter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\29 +2369:GrBaseContextPriv::getShaderErrorHandler\28\29\20const +2370:GrBackendTexture::GrBackendTexture\28GrBackendTexture\20const&\29 +2371:GrBackendRenderTarget::getBackendFormat\28\29\20const +2372:GrBackendFormat::operator==\28GrBackendFormat\20const&\29\20const +2373:GrAAConvexTessellator::createOuterRing\28GrAAConvexTessellator::Ring\20const&\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring*\29 +2374:GrAAConvexTessellator::createInsetRings\28GrAAConvexTessellator::Ring&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring**\29 +2375:FindSortableTop\28SkOpContourHead*\29 +2376:FT_Set_Charmap +2377:FT_Outline_Decompose +2378:FT_Open_Face +2379:FT_New_Size +2380:FT_Load_Sfnt_Table +2381:FT_GlyphLoader_Add +2382:FT_Get_Color_Glyph_Paint +2383:FT_Get_Color_Glyph_Layer +2384:FT_Get_Advance +2385:FT_Done_Library +2386:FT_CMap_New +2387:DecodeImageData\28sk_sp\29 +2388:Current_Ratio +2389:Cr_z__tr_stored_block +2390:ClipParams_unpackRegionOp\28SkReadBuffer*\2c\20unsigned\20int\29 +2391:CircleOp::Circle&\20skia_private::TArray::emplace_back\28CircleOp::Circle&&\29 +2392:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +2393:AlmostEqualUlps_Pin\28float\2c\20float\29 +2394:wuffs_lzw__decoder__workbuf_len +2395:wuffs_gif__decoder__decode_image_config +2396:wuffs_gif__decoder__decode_frame_config +2397:winding_mono_quad\28SkPoint\20const*\2c\20float\2c\20float\2c\20int*\29 +2398:winding_mono_conic\28SkConic\20const&\2c\20float\2c\20float\2c\20int*\29 +2399:wcrtomb +2400:wchar_t\20const*\20std::__2::find\5babi:v160004\5d\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const&\29 +2401:void\20std::__2::__introsort\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2402:void\20std::__2::__introsort\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\2c\20std::__2::iterator_traits<\28anonymous\20namespace\29::Entry*>::difference_type\29 +2403:void\20std::__2::__introsort\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\2c\20std::__2::iterator_traits::difference_type\29 +2404:void\20std::__2::__introsort\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2405:void\20std::__2::__inplace_merge\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +2406:void\20sort_r_simple\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\2c\20void*\29\2c\20void*\29 +2407:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.3 +2408:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29 +2409:void\20SkTIntroSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29>\28int\2c\20double*\2c\20int\2c\20void\20SkTQSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29\20const&\29 +2410:void\20SkTIntroSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29>\28int\2c\20SkEdge*\2c\20int\2c\20void\20SkTQSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29\20const&\29 +2411:vfprintf +2412:valid_args\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20unsigned\20long*\29 +2413:update_offset_to_base\28char\20const*\2c\20long\29 +2414:update_box +2415:unsigned\20long\20const&\20std::__2::min\5babi:v160004\5d\28unsigned\20long\20const&\2c\20unsigned\20long\20const&\29 +2416:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2417:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +2418:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2419:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2420:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2421:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +2422:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2423:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2424:u_charMirror_skia +2425:tt_size_reset +2426:tt_sbit_decoder_load_metrics +2427:tt_face_get_location +2428:tt_face_find_bdf_prop +2429:tolower +2430:toTextStyle\28SimpleTextStyle\20const&\29 +2431:t1_cmap_unicode_done +2432:subdivide_cubic_to\28SkPath*\2c\20SkPoint\20const*\2c\20int\29 +2433:subdivide\28SkConic\20const&\2c\20SkPoint*\2c\20int\29 +2434:strtox +2435:strtoull_l +2436:strtod +2437:std::logic_error::~logic_error\28\29.1 +2438:std::__2::vector>::__append\28unsigned\20long\29 +2439:std::__2::vector>::push_back\5babi:v160004\5d\28float&&\29 +2440:std::__2::vector>::__append\28unsigned\20long\29 +2441:std::__2::vector<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20std::__2::allocator<\28anonymous\20namespace\29::CacheImpl::Value*>>::__throw_length_error\5babi:v160004\5d\28\29\20const +2442:std::__2::vector>::reserve\28unsigned\20long\29 +2443:std::__2::vector\2c\20std::__2::allocator>>::push_back\5babi:v160004\5d\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +2444:std::__2::unique_ptr<\28anonymous\20namespace\29::SoftwarePathData\2c\20std::__2::default_delete<\28anonymous\20namespace\29::SoftwarePathData>>::reset\5babi:v160004\5d\28\28anonymous\20namespace\29::SoftwarePathData*\29 +2445:std::__2::time_put>>::~time_put\28\29.1 +2446:std::__2::pair\2c\20std::__2::allocator>>>::~pair\28\29 +2447:std::__2::pair\20std::__2::__copy_trivial::operator\28\29\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +2448:std::__2::locale::operator=\28std::__2::locale\20const&\29 +2449:std::__2::locale::locale\28\29 +2450:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\29 +2451:std::__2::ios_base::~ios_base\28\29 +2452:std::__2::ios_base::init\28void*\29 +2453:std::__2::ios_base::clear\28unsigned\20int\29 +2454:std::__2::fpos<__mbstate_t>::fpos\5babi:v160004\5d\28long\20long\29 +2455:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28SkAnimatedImage::Frame&\2c\20SkAnimatedImage::Frame&\29 +2456:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28SkSL::ProgramUsage*\29\20const +2457:std::__2::decay>::__call\28std::declval\20const&>\28\29\29\29>::type\20std::__2::__to_address\5babi:v160004\5d\2c\20void>\28std::__2::__wrap_iter\20const&\29 +2458:std::__2::chrono::duration>::duration\5babi:v160004\5d\28long\20long\20const&\2c\20std::__2::enable_if::value\20&&\20\28std::__2::integral_constant::value\20||\20!treat_as_floating_point::value\29\2c\20void>::type*\29 +2459:std::__2::char_traits::move\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +2460:std::__2::char_traits::assign\28char*\2c\20unsigned\20long\2c\20char\29 +2461:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.2 +2462:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29 +2463:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +2464:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28wchar_t\29 +2465:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +2466:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::allocator\20const&\29 +2467:std::__2::basic_string\2c\20std::__2::allocator>::__make_iterator\5babi:v160004\5d\28char*\29 +2468:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +2469:std::__2::basic_streambuf>::setp\5babi:v160004\5d\28char*\2c\20char*\29 +2470:std::__2::basic_streambuf>::basic_streambuf\28\29 +2471:std::__2::basic_ostream>::~basic_ostream\28\29.1 +2472:std::__2::basic_istream>::~basic_istream\28\29.1 +2473:std::__2::basic_istream>::sentry::sentry\28std::__2::basic_istream>&\2c\20bool\29 +2474:std::__2::basic_iostream>::~basic_iostream\28\29.2 +2475:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +2476:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +2477:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2478:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2479:std::__2::__throw_out_of_range\5babi:v160004\5d\28char\20const*\29 +2480:std::__2::__throw_length_error\5babi:v160004\5d\28char\20const*\29 +2481:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +2482:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20wchar_t*\2c\20wchar_t&\2c\20wchar_t&\29 +2483:std::__2::__num_get::__stage2_float_loop\28wchar_t\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20wchar_t*\29 +2484:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20char*\2c\20char&\2c\20char&\29 +2485:std::__2::__num_get::__stage2_float_loop\28char\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20char*\29 +2486:std::__2::__libcpp_wcrtomb_l\5babi:v160004\5d\28char*\2c\20wchar_t\2c\20__mbstate_t*\2c\20__locale_struct*\29 +2487:std::__2::__less::operator\28\29\5babi:v160004\5d\28unsigned\20int\20const&\2c\20unsigned\20long\20const&\29\20const +2488:std::__2::__itoa::__base_10_u32\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2489:std::__2::__itoa::__append6\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2490:std::__2::__itoa::__append4\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2491:sktext::gpu::VertexFiller::flatten\28SkWriteBuffer&\29\20const +2492:sktext::gpu::VertexFiller::Make\28skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20SkRect\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::FillerType\29 +2493:sktext::gpu::SubRunContainer::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20SkRefCnt\20const*\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +2494:sktext::gpu::SubRunAllocator::SubRunAllocator\28int\29 +2495:sktext::gpu::GlyphVector::flatten\28SkWriteBuffer&\29\20const +2496:sktext::gpu::GlyphVector::Make\28sktext::SkStrikePromise&&\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\29 +2497:sktext::SkStrikePromise::flatten\28SkWriteBuffer&\29\20const +2498:sktext::GlyphRunBuilder::makeGlyphRunList\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20SkPoint\29 +2499:sktext::GlyphRun::GlyphRun\28SkFont\20const&\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20SkSpan\29 +2500:skpaint_to_grpaint_impl\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::optional>>\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2501:skip_literal_string +2502:skif::\28anonymous\20namespace\29::are_axes_nearly_integer_aligned\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29 +2503:skif::LayerSpace::relevantSubset\28skif::LayerSpace\2c\20SkTileMode\29\20const +2504:skif::FilterResult::applyColorFilter\28skif::Context\20const&\2c\20sk_sp\29\20const +2505:skif::FilterResult::Builder::outputBounds\28std::__2::optional>\29\20const +2506:skif::FilterResult::Builder::drawShader\28sk_sp\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +2507:skif::FilterResult::Builder::createInputShaders\28skif::LayerSpace\20const&\2c\20bool\29 +2508:skia_private::THashTable\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::resize\28int\29 +2509:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeSlot\28int\29 +2510:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2511:skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2512:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +2513:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +2514:skia_private::THashTable::Traits>::resize\28int\29 +2515:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::find\28GrProgramDesc\20const&\29\20const +2516:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrThreadSafeCache::Entry*&&\29 +2517:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +2518:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +2519:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrTextureProxy*&&\29 +2520:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +2521:skia_private::THashTable::Traits>::uncheckedSet\28FT_Opaque_Paint_&&\29 +2522:skia_private::THashTable::Traits>::resize\28int\29 +2523:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::~THashMap\28\29 +2524:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::find\28std::__2::basic_string_view>\20const&\29\20const +2525:skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::THashMap\28std::initializer_list>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>\29 +2526:skia_private::THashMap>\2c\20SkGoodHash>::set\28SkSL::Variable\20const*\2c\20std::__2::unique_ptr>\29 +2527:skia_private::TArray::resize_back\28int\29 +2528:skia_private::TArray::operator=\28skia_private::TArray&&\29 +2529:skia_private::TArray::push_back\28SkRasterPipeline_MemoryCtxInfo&&\29 +2530:skia_private::TArray::push_back_raw\28int\29 +2531:skia_private::TArray::resize_back\28int\29 +2532:skia_png_write_chunk +2533:skia_png_set_sBIT +2534:skia_png_set_read_fn +2535:skia_png_set_packing +2536:skia_png_set_bKGD +2537:skia_png_save_uint_32 +2538:skia_png_reciprocal2 +2539:skia_png_realloc_array +2540:skia_png_read_start_row +2541:skia_png_read_IDAT_data +2542:skia_png_handle_zTXt +2543:skia_png_handle_tRNS +2544:skia_png_handle_tIME +2545:skia_png_handle_tEXt +2546:skia_png_handle_sRGB +2547:skia_png_handle_sPLT +2548:skia_png_handle_sCAL +2549:skia_png_handle_sBIT +2550:skia_png_handle_pHYs +2551:skia_png_handle_pCAL +2552:skia_png_handle_oFFs +2553:skia_png_handle_iTXt +2554:skia_png_handle_iCCP +2555:skia_png_handle_hIST +2556:skia_png_handle_gAMA +2557:skia_png_handle_cHRM +2558:skia_png_handle_bKGD +2559:skia_png_handle_as_unknown +2560:skia_png_handle_PLTE +2561:skia_png_do_strip_channel +2562:skia_png_destroy_read_struct +2563:skia_png_destroy_info_struct +2564:skia_png_compress_IDAT +2565:skia_png_combine_row +2566:skia_png_colorspace_set_sRGB +2567:skia_png_check_fp_string +2568:skia_png_check_fp_number +2569:skia::textlayout::TypefaceFontStyleSet::createTypeface\28int\29 +2570:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::$_0::operator\28\29\28sk_sp\2c\20sk_sp\29\20const +2571:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const +2572:skia::textlayout::TextLine::getGlyphPositionAtCoordinate\28float\29 +2573:skia::textlayout::Run::isResolved\28\29\20const +2574:skia::textlayout::Run::copyTo\28SkTextBlobBuilder&\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +2575:skia::textlayout::ParagraphImpl::buildClusterTable\28\29 +2576:skia::textlayout::ParagraphBuilderImpl::ensureUTF16Mapping\28\29 +2577:skia::textlayout::OneLineShaper::~OneLineShaper\28\29 +2578:skia::textlayout::FontCollection::setDefaultFontManager\28sk_sp\29 +2579:skia::textlayout::FontCollection::FontCollection\28\29 +2580:skia::textlayout::Cluster::isSoftBreak\28\29\20const +2581:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::flush\28GrMeshDrawTarget*\2c\20skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::FlushInfo*\29\20const +2582:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +2583:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::programInfo\28\29 +2584:skgpu::ganesh::SurfaceFillContext::discard\28\29 +2585:skgpu::ganesh::SurfaceDrawContext::internalStencilClear\28SkIRect\20const*\2c\20bool\29 +2586:skgpu::ganesh::SurfaceDrawContext::drawPath\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrStyle\20const&\29 +2587:skgpu::ganesh::SurfaceDrawContext::attemptQuadOptimization\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20DrawQuad*\2c\20GrPaint*\29 +2588:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +2589:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29::$_0::operator\28\29\28GrSurfaceProxyView\2c\20SkIRect\29\20const +2590:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +2591:skgpu::ganesh::QuadPerEdgeAA::MinColorType\28SkRGBA4f<\28SkAlphaType\292>\29 +2592:skgpu::ganesh::PathRendererChain::PathRendererChain\28GrRecordingContext*\2c\20skgpu::ganesh::PathRendererChain::Options\20const&\29 +2593:skgpu::ganesh::PathCurveTessellator::draw\28GrOpFlushState*\29\20const +2594:skgpu::ganesh::OpsTask::recordOp\28std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const*\2c\20GrCaps\20const&\29 +2595:skgpu::ganesh::FilterAndMipmapHaveNoEffect\28GrQuad\20const&\2c\20GrQuad\20const&\29 +2596:skgpu::ganesh::FillRectOp::MakeNonAARect\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +2597:skgpu::ganesh::FillRRectOp::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2598:skgpu::ganesh::Device::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +2599:skgpu::ganesh::Device::drawImageQuadDirect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +2600:skgpu::ganesh::Device::Make\28std::__2::unique_ptr>\2c\20SkAlphaType\2c\20skgpu::ganesh::Device::InitContents\29 +2601:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::setup_dashed_rect\28SkRect\20const&\2c\20skgpu::VertexWriter&\2c\20SkMatrix\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashCap\29 +2602:skgpu::ganesh::ClipStack::SaveRecord::invalidateMasks\28GrProxyProvider*\2c\20SkTBlockList*\29 +2603:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::SaveRecord\20const&\29\20const +2604:skgpu::ganesh::AtlasTextOp::operator\20new\28unsigned\20long\29 +2605:skgpu::ganesh::AtlasTextOp::Geometry::Make\28sktext::gpu::AtlasSubRun\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\2c\20sk_sp&&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\29 +2606:skgpu::ganesh::AtlasRenderTask::addAtlasDrawOp\28std::__2::unique_ptr>\2c\20GrCaps\20const&\29 +2607:skcms_Transform::$_2::operator\28\29\28skcms_Curve\20const*\2c\20int\29\20const +2608:skcms_TransferFunction_isPQish +2609:skcms_MaxRoundtripError +2610:sk_free_releaseproc\28void\20const*\2c\20void*\29 +2611:siprintf +2612:sift +2613:rotate\28SkDCubic\20const&\2c\20int\2c\20int\2c\20SkDCubic&\29 +2614:read_metadata\28std::__2::vector>\20const&\2c\20unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +2615:read_header\28SkStream*\2c\20SkISize*\29 +2616:quad_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2617:qsort +2618:psh_globals_set_scale +2619:ps_parser_skip_PS_token +2620:ps_builder_done +2621:png_text_compress +2622:png_inflate_read +2623:png_inflate_claim +2624:png_image_size +2625:png_colorspace_endpoints_match +2626:png_build_16bit_table +2627:normalize +2628:next_marker +2629:morphpoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\2c\20SkPathMeasure&\2c\20float\29 +2630:make_unpremul_effect\28std::__2::unique_ptr>\29 +2631:long\20std::__2::__libcpp_atomic_refcount_decrement\5babi:v160004\5d\28long&\29 +2632:long\20const&\20std::__2::min\5babi:v160004\5d\28long\20const&\2c\20long\20const&\29 +2633:log1p +2634:load_truetype_glyph +2635:line_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2636:lang_find_or_insert\28char\20const*\29 +2637:jpeg_calc_output_dimensions +2638:inner_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +2639:inflate_table +2640:increment_simple_rowgroup_ctr +2641:hb_tag_from_string +2642:hb_shape_plan_destroy +2643:hb_script_get_horizontal_direction +2644:hb_paint_extents_context_t::push_clip\28hb_extents_t\29 +2645:hb_ot_color_palette_get_colors +2646:hb_lazy_loader_t\2c\20hb_face_t\2c\2012u\2c\20OT::vmtx_accelerator_t>::get\28\29\20const +2647:hb_lazy_loader_t\2c\20hb_face_t\2c\2023u\2c\20hb_blob_t>::get\28\29\20const +2648:hb_lazy_loader_t\2c\20hb_face_t\2c\201u\2c\20hb_blob_t>::get\28\29\20const +2649:hb_lazy_loader_t\2c\20hb_face_t\2c\2018u\2c\20hb_blob_t>::get\28\29\20const +2650:hb_hashmap_t::alloc\28unsigned\20int\29 +2651:hb_font_funcs_destroy +2652:hb_face_get_upem +2653:hb_face_destroy +2654:hb_draw_cubic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +2655:hb_buffer_set_segment_properties +2656:hb_blob_create +2657:gray_render_line +2658:get_vendor\28char\20const*\29 +2659:get_renderer\28char\20const*\2c\20GrGLExtensions\20const&\29 +2660:get_layer_mapping_and_bounds\28SkSpan>\2c\20SkMatrix\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\2c\20float\29 +2661:get_joining_type\28unsigned\20int\2c\20hb_unicode_general_category_t\29 +2662:generate_distance_field_from_image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\29 +2663:ft_var_readpackeddeltas +2664:ft_var_get_item_delta +2665:ft_var_done_item_variation_store +2666:ft_glyphslot_done +2667:ft_glyphslot_alloc_bitmap +2668:freelocale +2669:free_pool +2670:fquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2671:fp_barrierf +2672:fline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2673:fixN0c\28BracketData*\2c\20int\2c\20int\2c\20unsigned\20char\29 +2674:fcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2675:fconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +2676:fclose +2677:exp2 +2678:emscripten::internal::MethodInvoker::invoke\28void\20\28SkFont::*\20const&\29\28float\29\2c\20SkFont*\2c\20float\29 +2679:emscripten::internal::MethodInvoker\20\28SkAnimatedImage::*\29\28\29\2c\20sk_sp\2c\20SkAnimatedImage*>::invoke\28sk_sp\20\28SkAnimatedImage::*\20const&\29\28\29\2c\20SkAnimatedImage*\29 +2680:emscripten::internal::Invoker>\2c\20SimpleParagraphStyle\2c\20sk_sp>::invoke\28std::__2::unique_ptr>\20\28*\29\28SimpleParagraphStyle\2c\20sk_sp\29\2c\20SimpleParagraphStyle*\2c\20sk_sp*\29 +2681:emscripten::internal::FunctionInvoker::invoke\28int\20\28**\29\28SkCanvas&\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29\2c\20SkCanvas*\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29 +2682:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFontMgr&\2c\20int\29\2c\20SkFontMgr*\2c\20int\29 +2683:do_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +2684:decompose\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\2c\20unsigned\20int\29 +2685:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0>\28skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0&&\29::'lambda'\28char*\29::__invoke\28char*\29 +2686:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool&\2c\20GrPipeline*&\2c\20GrUserStencilSettings\20const*&&\2c\20\28anonymous\20namespace\29::DrawAtlasPathShader*&\2c\20GrPrimitiveType&&\2c\20GrXferBarrierFlags&\2c\20GrLoadOp&\29::'lambda'\28void*\29>\28GrProgramInfo&&\29::'lambda'\28char*\29::__invoke\28char*\29 +2687:cubic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2688:conic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +2689:char\20const*\20std::__2::find\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char\20const&\29 +2690:char\20const*\20std::__2::__rewrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +2691:cff_index_get_pointers +2692:cff2_path_param_t::move_to\28CFF::point_t\20const&\29 +2693:cff1_path_param_t::move_to\28CFF::point_t\20const&\29 +2694:cf2_glyphpath_computeOffset +2695:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2696:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2697:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2698:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2699:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2700:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2701:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2702:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +2703:byn$mgfn-shared$void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +2704:byn$mgfn-shared$std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +2705:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +2706:byn$mgfn-shared$skia_private::TArray::operator=\28skia_private::TArray&&\29 +2707:byn$mgfn-shared$skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +2708:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +2709:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +2710:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +2711:byn$mgfn-shared$SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +2712:byn$mgfn-shared$SkImageInfo::MakeN32Premul\28int\2c\20int\29 +2713:byn$mgfn-shared$SkBlockMemoryStream::~SkBlockMemoryStream\28\29.1 +2714:byn$mgfn-shared$SkBlockMemoryStream::~SkBlockMemoryStream\28\29 +2715:byn$mgfn-shared$SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +2716:byn$mgfn-shared$Round_To_Grid +2717:byn$mgfn-shared$LineConicIntersections::addLineNearEndPoints\28\29 +2718:byn$mgfn-shared$GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +2719:byn$mgfn-shared$GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +2720:byn$mgfn-shared$GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +2721:byn$mgfn-shared$DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +2722:build_tree +2723:bracketAddOpening\28BracketData*\2c\20char16_t\2c\20int\29 +2724:bool\20OT::glyf_impl::Glyph::get_points\28hb_font_t*\2c\20OT::glyf_accelerator_t\20const&\2c\20contour_point_vector_t&\2c\20contour_point_vector_t*\2c\20head_maxp_info_t*\2c\20unsigned\20int*\2c\20bool\2c\20bool\2c\20bool\2c\20hb_array_t\2c\20hb_map_t*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +2725:bool\20OT::glyf_accelerator_t::get_points\28hb_font_t*\2c\20unsigned\20int\2c\20OT::glyf_accelerator_t::points_aggregator_t\29\20const +2726:bool\20OT::GSUBGPOSVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +2727:bool\20OT::GSUBGPOSVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +2728:blit_aaa_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +2729:auto\20std::__2::__unwrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +2730:atan +2731:alloc_large +2732:af_glyph_hints_done +2733:add_quad\28SkPoint\20const*\2c\20skia_private::TArray*\29 +2734:acos +2735:aaa_fill_path\28SkPath\20const&\2c\20SkIRect\20const&\2c\20AdditiveBlitter*\2c\20int\2c\20int\2c\20bool\2c\20bool\2c\20bool\29 +2736:_get_path\28OT::cff1::accelerator_t\20const*\2c\20hb_font_t*\2c\20unsigned\20int\2c\20hb_draw_session_t&\2c\20bool\2c\20CFF::point_t*\29 +2737:_get_bounds\28OT::cff1::accelerator_t\20const*\2c\20unsigned\20int\2c\20bounds_t&\2c\20bool\29 +2738:_embind_register_bindings +2739:__trunctfdf2 +2740:__towrite +2741:__toread +2742:__subtf3 +2743:__strchrnul +2744:__rem_pio2f +2745:__rem_pio2 +2746:__math_uflowf +2747:__math_oflowf +2748:__fwritex +2749:__cxxabiv1::__class_type_info::process_static_type_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\29\20const +2750:__cxxabiv1::__class_type_info::process_static_type_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\29\20const +2751:__cxxabiv1::__class_type_info::process_found_base_class\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +2752:__cxxabiv1::__base_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +2753:\28anonymous\20namespace\29::shape_contains_rect\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const&\2c\20bool\29 +2754:\28anonymous\20namespace\29::generateFacePathCOLRv1\28FT_FaceRec_*\2c\20unsigned\20short\2c\20SkPath*\29 +2755:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads_with_constraint\28SkPoint\20const*\2c\20float\2c\20SkPathFirstDirection\2c\20skia_private::TArray*\2c\20int\29 +2756:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\2c\20int\2c\20bool\2c\20bool\29 +2757:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const +2758:\28anonymous\20namespace\29::bloat_quad\28SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkMatrix\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +2759:\28anonymous\20namespace\29::SkEmptyTypeface::onMakeClone\28SkFontArguments\20const&\29\20const +2760:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29.1 +2761:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29 +2762:\28anonymous\20namespace\29::SkBlurImageFilter::mapSigma\28skif::Mapping\20const&\2c\20bool\29\20const +2763:\28anonymous\20namespace\29::DrawAtlasOpImpl::visitProxies\28std::__2::function\20const&\29\20const +2764:\28anonymous\20namespace\29::DrawAtlasOpImpl::programInfo\28\29 +2765:\28anonymous\20namespace\29::DrawAtlasOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +2766:\28anonymous\20namespace\29::DirectMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +2767:\28anonymous\20namespace\29::DirectMaskSubRun::glyphs\28\29\20const +2768:WebPRescaleNeededLines +2769:WebPInitDecBufferInternal +2770:WebPInitCustomIo +2771:WebPGetFeaturesInternal +2772:WebPDemuxGetFrame +2773:VP8LInitBitReader +2774:VP8LColorIndexInverseTransformAlpha +2775:VP8InitIoInternal +2776:VP8InitBitReader +2777:TT_Vary_Apply_Glyph_Deltas +2778:TT_Set_Var_Design +2779:SkWuffsCodec::decodeFrame\28\29 +2780:SkVertices::MakeCopy\28SkVertices::VertexMode\2c\20int\2c\20SkPoint\20const*\2c\20SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20short\20const*\29 +2781:SkVertices::Builder::texCoords\28\29 +2782:SkVertices::Builder::positions\28\29 +2783:SkVertices::Builder::init\28SkVertices::Desc\20const&\29 +2784:SkVertices::Builder::colors\28\29 +2785:SkVertices::Builder::Builder\28SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +2786:SkTypeface_FreeType::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +2787:SkTypeface::getTableSize\28unsigned\20int\29\20const +2788:SkTiff::ImageFileDirectory::getEntryTag\28unsigned\20short\29\20const +2789:SkTiff::ImageFileDirectory::MakeFromOffset\28sk_sp\2c\20bool\2c\20unsigned\20int\2c\20bool\29 +2790:SkTextBlobRunIterator::positioning\28\29\20const +2791:SkTSpan::splitAt\28SkTSpan*\2c\20double\2c\20SkArenaAlloc*\29 +2792:SkTSect::computePerpendiculars\28SkTSect*\2c\20SkTSpan*\2c\20SkTSpan*\29 +2793:SkTDStorage::insert\28int\29 +2794:SkTDStorage::calculateSizeOrDie\28int\29::$_0::operator\28\29\28\29\20const +2795:SkTDPQueue::percolateDownIfNecessary\28int\29 +2796:SkTConic::hullIntersects\28SkDConic\20const&\2c\20bool*\29\20const +2797:SkSurface_Base::SkSurface_Base\28int\2c\20int\2c\20SkSurfaceProps\20const*\29 +2798:SkStrokerPriv::CapFactory\28SkPaint::Cap\29 +2799:SkStrokeRec::getInflationRadius\28\29\20const +2800:SkString::equals\28char\20const*\29\20const +2801:SkStrikeSpec::MakeTransformMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +2802:SkStrikeSpec::MakePath\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\29 +2803:SkStrike::glyph\28SkGlyphDigest\29 +2804:SkShapers::HB::ShapeDontWrapOrReorder\28sk_sp\2c\20sk_sp\29 +2805:SkShaper::TrivialRunIterator::endOfCurrentRun\28\29\20const +2806:SkShaper::TrivialRunIterator::atEnd\28\29\20const +2807:SkShaper::MakeFontMgrRunIterator\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20sk_sp\29 +2808:SkShadowTessellator::MakeAmbient\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20bool\29 +2809:SkScan::FillTriangle\28SkPoint\20const*\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +2810:SkScan::FillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +2811:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +2812:SkScan::AntiHairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +2813:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\2c\20bool\29 +2814:SkScalerContextRec::CachedMaskGamma\28unsigned\20char\2c\20unsigned\20char\29 +2815:SkScalerContextFTUtils::drawSVGGlyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +2816:SkScalarInterpFunc\28float\2c\20float\20const*\2c\20float\20const*\2c\20int\29 +2817:SkSLTypeString\28SkSLType\29 +2818:SkSL::simplify_negation\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\29 +2819:SkSL::simplify_matrix_multiplication\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +2820:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +2821:SkSL::build_argument_type_list\28SkSpan>\20const>\29 +2822:SkSL::\28anonymous\20namespace\29::SwitchCaseContainsExit::visitStatement\28SkSL::Statement\20const&\29 +2823:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::returnsInputAlpha\28SkSL::Expression\20const&\29 +2824:SkSL::\28anonymous\20namespace\29::ConstantExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +2825:SkSL::Variable::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\29 +2826:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29\20const +2827:SkSL::Type::MakeSamplerType\28char\20const*\2c\20SkSL::Type\20const&\29 +2828:SkSL::SymbolTable::moveSymbolTo\28SkSL::SymbolTable*\2c\20SkSL::Symbol*\2c\20SkSL::Context\20const&\29 +2829:SkSL::SymbolTable::isType\28std::__2::basic_string_view>\29\20const +2830:SkSL::Symbol::instantiate\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +2831:SkSL::StructType::slotCount\28\29\20const +2832:SkSL::SampleUsage::merge\28SkSL::SampleUsage\20const&\29 +2833:SkSL::ReturnStatement::~ReturnStatement\28\29.1 +2834:SkSL::ReturnStatement::~ReturnStatement\28\29 +2835:SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +2836:SkSL::RP::Generator::pushTernaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +2837:SkSL::RP::Generator::pushStructuredComparison\28SkSL::RP::LValue*\2c\20SkSL::Operator\2c\20SkSL::RP::LValue*\2c\20SkSL::Type\20const&\29 +2838:SkSL::RP::Generator::pushMatrixMultiply\28SkSL::RP::LValue*\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +2839:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29 +2840:SkSL::RP::Builder::push_uniform\28SkSL::RP::SlotRange\29 +2841:SkSL::RP::Builder::merge_condition_mask\28\29 +2842:SkSL::RP::Builder::jump\28int\29 +2843:SkSL::RP::Builder::branch_if_no_active_lanes_on_stack_top_equal\28int\2c\20int\29 +2844:SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +2845:SkSL::Pool::detachFromThread\28\29 +2846:SkSL::PipelineStage::ConvertProgram\28SkSL::Program\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20SkSL::PipelineStage::Callbacks*\29 +2847:SkSL::Parser::unaryExpression\28\29 +2848:SkSL::Parser::swizzle\28SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::basic_string_view>\2c\20SkSL::Position\29 +2849:SkSL::Parser::block\28bool\2c\20std::__2::unique_ptr>*\29 +2850:SkSL::Operator::getBinaryPrecedence\28\29\20const +2851:SkSL::ModuleLoader::loadGPUModule\28SkSL::Compiler*\29 +2852:SkSL::ModifierFlags::checkPermittedFlags\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\29\20const +2853:SkSL::MethodReference::~MethodReference\28\29.1 +2854:SkSL::MethodReference::~MethodReference\28\29 +2855:SkSL::Mangler::uniqueName\28std::__2::basic_string_view>\2c\20SkSL::SymbolTable*\29 +2856:SkSL::LiteralType::slotType\28unsigned\20long\29\20const +2857:SkSL::Layout::operator==\28SkSL::Layout\20const&\29\20const +2858:SkSL::Layout::checkPermittedLayout\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkEnumBitMask\29\20const +2859:SkSL::Inliner::analyze\28std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\29 +2860:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29 +2861:SkSL::GLSLCodeGenerator::writeLiteral\28SkSL::Literal\20const&\29 +2862:SkSL::GLSLCodeGenerator::writeFunctionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +2863:SkSL::ForStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +2864:SkSL::FieldAccess::description\28SkSL::OperatorPrecedence\29\20const +2865:SkSL::Expression::isIncomplete\28SkSL::Context\20const&\29\20const +2866:SkSL::Expression::compareConstant\28SkSL::Expression\20const&\29\20const +2867:SkSL::DebugTracePriv::~DebugTracePriv\28\29 +2868:SkSL::Context::Context\28SkSL::BuiltinTypes\20const&\2c\20SkSL::ErrorReporter&\29 +2869:SkSL::ConstructorArrayCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +2870:SkSL::ConstructorArray::~ConstructorArray\28\29 +2871:SkSL::ConstructorArray::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +2872:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +2873:SkSL::Analysis::CallsColorTransformIntrinsics\28SkSL::Program\20const&\29 +2874:SkSL::AliasType::bitWidth\28\29\20const +2875:SkRuntimeEffectPriv::VarAsUniform\28SkSL::Variable\20const&\2c\20SkSL::Context\20const&\2c\20unsigned\20long*\29 +2876:SkRuntimeEffectPriv::UniformsAsSpan\28SkSpan\2c\20sk_sp\2c\20bool\2c\20SkColorSpace\20const*\2c\20SkArenaAlloc*\29 +2877:SkRuntimeEffect::source\28\29\20const +2878:SkRuntimeEffect::makeShader\28sk_sp\2c\20SkSpan\2c\20SkMatrix\20const*\29\20const +2879:SkRuntimeEffect::MakeForBlender\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +2880:SkResourceCache::checkMessages\28\29 +2881:SkResourceCache::NewCachedData\28unsigned\20long\29 +2882:SkRegion::translate\28int\2c\20int\2c\20SkRegion*\29\20const +2883:SkReduceOrder::Cubic\28SkPoint\20const*\2c\20SkPoint*\29 +2884:SkRectPriv::QuadContainsRectMask\28SkM44\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20float\29 +2885:SkRecords::PreCachedPath::PreCachedPath\28SkPath\20const&\29 +2886:SkRecords::FillBounds::pushSaveBlock\28SkPaint\20const*\29 +2887:SkRecordDraw\28SkRecord\20const&\2c\20SkCanvas*\2c\20SkPicture\20const*\20const*\2c\20SkDrawable*\20const*\2c\20int\2c\20SkBBoxHierarchy\20const*\2c\20SkPicture::AbortCallback*\29 +2888:SkReadBuffer::readPoint\28SkPoint*\29 +2889:SkReadBuffer::readPath\28SkPath*\29 +2890:SkReadBuffer::readByteArrayAsData\28\29 +2891:SkReadBuffer::readArray\28void*\2c\20unsigned\20long\2c\20unsigned\20long\29 +2892:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29 +2893:SkRasterPipelineBlitter::blitRectWithTrace\28int\2c\20int\2c\20int\2c\20int\2c\20bool\29 +2894:SkRasterPipelineBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +2895:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29 +2896:SkRasterPipeline::appendLoad\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +2897:SkRasterClip::op\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkClipOp\2c\20bool\29 +2898:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29 +2899:SkRRect::scaleRadii\28\29 +2900:SkRRect::AreRectAndRadiiValid\28SkRect\20const&\2c\20SkPoint\20const*\29 +2901:SkRBuffer::skip\28unsigned\20long\29 +2902:SkPngCodec::IsPng\28void\20const*\2c\20unsigned\20long\29 +2903:SkPixmap::setColorSpace\28sk_sp\29 +2904:SkPixelRef::~SkPixelRef\28\29 +2905:SkPixelRef::notifyPixelsChanged\28\29 +2906:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20sk_sp\29 +2907:SkPictureRecord::addPathToHeap\28SkPath\20const&\29 +2908:SkPictureData::getPath\28SkReadBuffer*\29\20const +2909:SkPicture::serialize\28SkWStream*\2c\20SkSerialProcs\20const*\2c\20SkRefCntSet*\2c\20bool\29\20const +2910:SkPathWriter::update\28SkOpPtT\20const*\29 +2911:SkPathStroker::strokeCloseEnough\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20SkQuadConstruct*\29\20const +2912:SkPathStroker::finishContour\28bool\2c\20bool\29 +2913:SkPathRef::reset\28\29 +2914:SkPathRef::isRRect\28SkRRect*\2c\20bool*\2c\20unsigned\20int*\29\20const +2915:SkPathRef::addGenIDChangeListener\28sk_sp\29 +2916:SkPathPriv::IsRectContour\28SkPath\20const&\2c\20bool\2c\20int*\2c\20SkPoint\20const**\2c\20bool*\2c\20SkPathDirection*\2c\20SkRect*\29 +2917:SkPathEffectBase::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +2918:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\29\20const +2919:SkPathBuilder::quadTo\28SkPoint\2c\20SkPoint\29 +2920:SkPathBuilder::cubicTo\28SkPoint\2c\20SkPoint\2c\20SkPoint\29 +2921:SkPath::writeToMemory\28void*\29\20const +2922:SkPath::reversePathTo\28SkPath\20const&\29 +2923:SkPath::rQuadTo\28float\2c\20float\2c\20float\2c\20float\29 +2924:SkPath::contains\28float\2c\20float\29\20const +2925:SkPath::arcTo\28float\2c\20float\2c\20float\2c\20SkPath::ArcSize\2c\20SkPathDirection\2c\20float\2c\20float\29 +2926:SkPath::approximateBytesUsed\28\29\20const +2927:SkPath::addCircle\28float\2c\20float\2c\20float\2c\20SkPathDirection\29 +2928:SkPath::Rect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2929:SkParse::FindScalar\28char\20const*\2c\20float*\29 +2930:SkPairPathEffect::flatten\28SkWriteBuffer&\29\20const +2931:SkPaintToGrPaintWithBlend\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +2932:SkPaint::refImageFilter\28\29\20const +2933:SkPaint::refBlender\28\29\20const +2934:SkPaint::getBlendMode_or\28SkBlendMode\29\20const +2935:SkPackARGB_as_RGBA\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +2936:SkPackARGB_as_BGRA\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +2937:SkOpSpan::setOppSum\28int\29 +2938:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20SkOpSpanBase**\29 +2939:SkOpSegment::markAllDone\28\29 +2940:SkOpSegment::activeWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +2941:SkOpPtT::contains\28SkOpSegment\20const*\29\20const +2942:SkOpEdgeBuilder::closeContour\28SkPoint\20const&\2c\20SkPoint\20const&\29 +2943:SkOpCoincidence::releaseDeleted\28\29 +2944:SkOpCoincidence::markCollapsed\28SkOpPtT*\29 +2945:SkOpCoincidence::findOverlaps\28SkOpCoincidence*\29\20const +2946:SkOpCoincidence::expand\28\29 +2947:SkOpCoincidence::apply\28\29 +2948:SkOpAngle::orderable\28SkOpAngle*\29 +2949:SkOpAngle::computeSector\28\29 +2950:SkNullBlitter::~SkNullBlitter\28\29 +2951:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\2c\20sk_sp\29 +2952:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\29 +2953:SkNoDestructor>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>>::SkNoDestructor\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>&&\29 +2954:SkMessageBus::BufferFinishedMessage\2c\20GrDirectContext::DirectContextID\2c\20false>::Get\28\29 +2955:SkMemoryStream::SkMemoryStream\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +2956:SkMemoryStream::SkMemoryStream\28sk_sp\29 +2957:SkMatrix::setRotate\28float\29 +2958:SkMatrix::setPolyToPoly\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20int\29 +2959:SkMatrix::postSkew\28float\2c\20float\29 +2960:SkMatrix::invert\28SkMatrix*\29\20const +2961:SkMatrix::getMinScale\28\29\20const +2962:SkMatrix::getMinMaxScales\28float*\29\20const +2963:SkMaskBuilder::PrepareDestination\28int\2c\20int\2c\20SkMask\20const&\29 +2964:SkMakeBitmapShaderForPaint\28SkPaint\20const&\2c\20SkBitmap\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20SkCopyPixelsMode\29 +2965:SkLineClipper::ClipLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\2c\20bool\29 +2966:SkJpegCodec::ReadHeader\28SkStream*\2c\20SkCodec**\2c\20JpegDecoderMgr**\2c\20std::__2::unique_ptr>\29 +2967:SkJSONWriter::separator\28bool\29 +2968:SkIntersections::intersectRay\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +2969:SkIntersections::intersectRay\28SkDLine\20const&\2c\20SkDLine\20const&\29 +2970:SkIntersections::intersectRay\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +2971:SkIntersections::intersectRay\28SkDConic\20const&\2c\20SkDLine\20const&\29 +2972:SkIntersections::cleanUpParallelLines\28bool\29 +2973:SkImage_Raster::SkImage_Raster\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20int\29 +2974:SkImage_Ganesh::~SkImage_Ganesh\28\29 +2975:SkImageShader::Make\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +2976:SkImageInfo::Make\28SkISize\2c\20SkColorType\2c\20SkAlphaType\29 +2977:SkImageInfo::MakeN32Premul\28SkISize\29 +2978:SkImageGenerator::getPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +2979:SkImageGenerator::SkImageGenerator\28SkImageInfo\20const&\2c\20unsigned\20int\29 +2980:SkImageFilters::MatrixTransform\28SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20sk_sp\29 +2981:SkImageFilters::Blur\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +2982:SkImageFilter_Base::getInputBounds\28skif::Mapping\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\29\20const +2983:SkImageFilter_Base::filterImage\28skif::Context\20const&\29\20const +2984:SkImageFilter_Base::affectsTransparentBlack\28\29\20const +2985:SkImage::width\28\29\20const +2986:SkImage::readPixels\28GrDirectContext*\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +2987:SkImage::hasMipmaps\28\29\20const +2988:SkIDChangeListener::List::add\28sk_sp\29 +2989:SkGradientShader::MakeTwoPointConical\28SkPoint\20const&\2c\20float\2c\20SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2990:SkGradientShader::MakeLinear\28SkPoint\20const*\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +2991:SkGradientBaseShader::AppendInterpolatedToDstStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20bool\2c\20SkGradientShader::Interpolation\20const&\2c\20SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +2992:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkScalerContext*\29 +2993:SkGlyph::mask\28\29\20const +2994:SkFontScanner_FreeType::GetAxes\28FT_FaceRec_*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29 +2995:SkFontPriv::ApproximateTransformedTextSize\28SkFont\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\20const&\29 +2996:SkFontMgr::matchFamily\28char\20const*\29\20const +2997:SkFindCubicMaxCurvature\28SkPoint\20const*\2c\20float*\29 +2998:SkExif::parse_ifd\28SkExif::Metadata&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +2999:SkEncodedInfo::ICCProfile::Make\28sk_sp\29 +3000:SkEmptyFontMgr::onMatchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +3001:SkEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkIRect\20const*\2c\20int\29 +3002:SkDynamicMemoryWStream::padToAlign4\28\29 +3003:SkDrawable::SkDrawable\28\29 +3004:SkDrawBase::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29\20const +3005:SkDrawBase::drawDevicePoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\2c\20SkDevice*\29\20const +3006:SkDraw::drawBitmap\28SkBitmap\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29\20const +3007:SkDevice::simplifyGlyphRunRSXFormAndRedraw\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +3008:SkDevice::setDeviceCoordinateSystem\28SkM44\20const&\2c\20SkM44\20const&\2c\20SkM44\20const&\2c\20int\2c\20int\29 +3009:SkDevice::SkDevice\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +3010:SkDataTable::at\28int\2c\20unsigned\20long*\29\20const +3011:SkData::MakeZeroInitialized\28unsigned\20long\29 +3012:SkData::MakeFromStream\28SkStream*\2c\20unsigned\20long\29 +3013:SkDQuad::dxdyAtT\28double\29\20const +3014:SkDQuad::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +3015:SkDQuad::FindExtrema\28double\20const*\2c\20double*\29 +3016:SkDCubic::subDivide\28double\2c\20double\29\20const +3017:SkDCubic::searchRoots\28double*\2c\20int\2c\20double\2c\20SkDCubic::SearchAxis\2c\20double*\29\20const +3018:SkDCubic::Coefficients\28double\20const*\2c\20double*\2c\20double*\2c\20double*\2c\20double*\29 +3019:SkDConic::dxdyAtT\28double\29\20const +3020:SkDConic::FindExtrema\28double\20const*\2c\20float\2c\20double*\29 +3021:SkCopyStreamToData\28SkStream*\29 +3022:SkContourMeasure_segTo\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20float\2c\20SkPath*\29 +3023:SkContourMeasureIter::next\28\29 +3024:SkContourMeasureIter::Impl::compute_quad_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3025:SkContourMeasureIter::Impl::compute_cubic_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3026:SkContourMeasureIter::Impl::compute_conic_segs\28SkConic\20const&\2c\20float\2c\20int\2c\20SkPoint\20const&\2c\20int\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20int\29 +3027:SkContourMeasure::getPosTan\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +3028:SkConic::evalAt\28float\29\20const +3029:SkConic::TransformW\28SkPoint\20const*\2c\20float\2c\20SkMatrix\20const&\29 +3030:SkColorToPMColor4f\28unsigned\20int\2c\20GrColorInfo\20const&\29 +3031:SkColorSpace::transferFn\28skcms_TransferFunction*\29\20const +3032:SkColorSpace::toXYZD50\28skcms_Matrix3x3*\29\20const +3033:SkColorPalette::SkColorPalette\28unsigned\20int\20const*\2c\20int\29 +3034:SkColorFilters::Blend\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\2c\20SkBlendMode\29 +3035:SkColor4fPrepForDst\28SkRGBA4f<\28SkAlphaType\293>\2c\20GrColorInfo\20const&\29 +3036:SkCodec::startIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const*\29 +3037:SkChopMonoCubicAtY\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +3038:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\2c\20float\29 +3039:SkCanvas::setMatrix\28SkM44\20const&\29 +3040:SkCanvas::scale\28float\2c\20float\29 +3041:SkCanvas::private_draw_shadow_rec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +3042:SkCanvas::peekPixels\28SkPixmap*\29 +3043:SkCanvas::onResetClip\28\29 +3044:SkCanvas::onClipShader\28sk_sp\2c\20SkClipOp\29 +3045:SkCanvas::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +3046:SkCanvas::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3047:SkCanvas::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3048:SkCanvas::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3049:SkCanvas::internal_private_resetClip\28\29 +3050:SkCanvas::internalSaveLayer\28SkCanvas::SaveLayerRec\20const&\2c\20SkCanvas::SaveLayerStrategy\2c\20bool\29 +3051:SkCanvas::internalDrawDeviceWithFilter\28SkDevice*\2c\20SkDevice*\2c\20SkSpan>\2c\20SkPaint\20const&\2c\20SkCanvas::DeviceCompatibleWithFilter\2c\20SkColorInfo\20const&\2c\20float\2c\20bool\29 +3052:SkCanvas::experimental_DrawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +3053:SkCanvas::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +3054:SkCanvas::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +3055:SkCanvas::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +3056:SkCanvas::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +3057:SkCanvas::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +3058:SkCanvas::drawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +3059:SkCanvas::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +3060:SkCanvas::attemptBlurredRRectDraw\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20SkEnumBitMask\29 +3061:SkCanvas::SkCanvas\28SkIRect\20const&\29 +3062:SkCachedData::~SkCachedData\28\29 +3063:SkCTMShader::~SkCTMShader\28\29.1 +3064:SkBmpRLECodec::setPixel\28void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20char\29 +3065:SkBmpCodec::prepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +3066:SkBlitterClipper::apply\28SkBlitter*\2c\20SkRegion\20const*\2c\20SkIRect\20const*\29 +3067:SkBlitter::blitRegion\28SkRegion\20const&\29 +3068:SkBitmapDevice::BDDraw::~BDDraw\28\29 +3069:SkBitmapCacheDesc::Make\28SkImage\20const*\29 +3070:SkBitmap::writePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +3071:SkBitmap::setPixels\28void*\29 +3072:SkBitmap::pixelRefOrigin\28\29\20const +3073:SkBitmap::notifyPixelsChanged\28\29\20const +3074:SkBitmap::isImmutable\28\29\20const +3075:SkBitmap::allocPixels\28\29 +3076:SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +3077:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29.1 +3078:SkBaseShadowTessellator::handleCubic\28SkMatrix\20const&\2c\20SkPoint*\29 +3079:SkBaseShadowTessellator::handleConic\28SkMatrix\20const&\2c\20SkPoint*\2c\20float\29 +3080:SkAutoPathBoundsUpdate::SkAutoPathBoundsUpdate\28SkPath*\2c\20SkRect\20const&\29 +3081:SkAutoDescriptor::SkAutoDescriptor\28SkAutoDescriptor&&\29 +3082:SkArenaAllocWithReset::SkArenaAllocWithReset\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3083:SkAnimatedImage::decodeNextFrame\28\29 +3084:SkAnimatedImage::Frame::copyTo\28SkAnimatedImage::Frame*\29\20const +3085:SkAnalyticQuadraticEdge::updateQuadratic\28\29 +3086:SkAnalyticCubicEdge::updateCubic\28bool\29 +3087:SkAlphaRuns::reset\28int\29 +3088:SkAAClip::setRect\28SkIRect\20const&\29 +3089:Simplify\28SkPath\20const&\2c\20SkPath*\29 +3090:ReconstructRow +3091:R.1 +3092:OpAsWinding::nextEdge\28Contour&\2c\20OpAsWinding::Edge\29 +3093:OT::sbix::sanitize\28hb_sanitize_context_t*\29\20const +3094:OT::post::accelerator_t::cmp_gids\28void\20const*\2c\20void\20const*\2c\20void*\29 +3095:OT::gvar::sanitize_shallow\28hb_sanitize_context_t*\29\20const +3096:OT::fvar::sanitize\28hb_sanitize_context_t*\29\20const +3097:OT::cmap::sanitize\28hb_sanitize_context_t*\29\20const +3098:OT::cmap::accelerator_t::accelerator_t\28hb_face_t*\29 +3099:OT::cff2::accelerator_templ_t>::~accelerator_templ_t\28\29 +3100:OT::avar::sanitize\28hb_sanitize_context_t*\29\20const +3101:OT::VarRegionList::evaluate\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +3102:OT::Rule::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +3103:OT::OpenTypeFontFile::sanitize\28hb_sanitize_context_t*\29\20const +3104:OT::MVAR::sanitize\28hb_sanitize_context_t*\29\20const +3105:OT::Layout::GSUB_impl::SubstLookup::serialize_ligature\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20hb_sorted_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\29 +3106:OT::Layout::GPOS_impl::MarkArray::apply\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20OT::Layout::GPOS_impl::AnchorMatrix\20const&\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +3107:OT::GDEFVersion1_2::sanitize\28hb_sanitize_context_t*\29\20const +3108:OT::Device::get_y_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +3109:OT::Device::get_x_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +3110:OT::ClipList::get_extents\28unsigned\20int\2c\20hb_glyph_extents_t*\2c\20OT::VarStoreInstancer\20const&\29\20const +3111:OT::ChainRule::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +3112:OT::CPAL::sanitize\28hb_sanitize_context_t*\29\20const +3113:OT::COLR::sanitize\28hb_sanitize_context_t*\29\20const +3114:OT::COLR::paint_glyph\28hb_font_t*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29\20const +3115:MakeRasterCopyPriv\28SkPixmap\20const&\2c\20unsigned\20int\29 +3116:LineQuadraticIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineQuadraticIntersections::PinTPoint\29 +3117:LineQuadraticIntersections::checkCoincident\28\29 +3118:LineQuadraticIntersections::addLineNearEndPoints\28\29 +3119:LineCubicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineCubicIntersections::PinTPoint\29 +3120:LineCubicIntersections::checkCoincident\28\29 +3121:LineCubicIntersections::addLineNearEndPoints\28\29 +3122:LineConicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineConicIntersections::PinTPoint\29 +3123:LineConicIntersections::checkCoincident\28\29 +3124:LineConicIntersections::addLineNearEndPoints\28\29 +3125:GrXferProcessor::GrXferProcessor\28GrProcessor::ClassID\29 +3126:GrVertexChunkBuilder::~GrVertexChunkBuilder\28\29 +3127:GrTriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +3128:GrTriangulator::splitEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +3129:GrTriangulator::pathToPolys\28float\2c\20SkRect\20const&\2c\20bool*\29 +3130:GrTriangulator::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20GrTriangulator::VertexList*\2c\20int\29\20const +3131:GrTriangulator::emitTriangle\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20skgpu::VertexWriter\29\20const +3132:GrTriangulator::checkForIntersection\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +3133:GrTriangulator::applyFillType\28int\29\20const +3134:GrTriangulator::EdgeList::insert\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +3135:GrTriangulator::Edge::insertBelow\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +3136:GrTriangulator::Edge::insertAbove\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +3137:GrToGLStencilFunc\28GrStencilTest\29 +3138:GrThreadSafeCache::dropAllRefs\28\29 +3139:GrTextureRenderTargetProxy::callbackDesc\28\29\20const +3140:GrTexture::GrTexture\28GrGpu*\2c\20SkISize\20const&\2c\20skgpu::Protected\2c\20GrTextureType\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +3141:GrTexture::ComputeScratchKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20skgpu::ScratchKey*\29 +3142:GrSurfaceProxyView::asTextureProxyRef\28\29\20const +3143:GrSurfaceProxy::GrSurfaceProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +3144:GrSurfaceProxy::GrSurfaceProxy\28sk_sp\2c\20SkBackingFit\2c\20GrSurfaceProxy::UseAllocator\29 +3145:GrSurface::setRelease\28sk_sp\29 +3146:GrStyledShape::styledBounds\28\29\20const +3147:GrStyledShape::asLine\28SkPoint*\2c\20bool*\29\20const +3148:GrStyledShape::addGenIDChangeListener\28sk_sp\29\20const +3149:GrSimpleMeshDrawOpHelper::fixedFunctionFlags\28\29\20const +3150:GrShape::setRect\28SkRect\20const&\29 +3151:GrShape::setRRect\28SkRRect\20const&\29 +3152:GrShape::segmentMask\28\29\20const +3153:GrResourceProvider::assignUniqueKeyToResource\28skgpu::UniqueKey\20const&\2c\20GrGpuResource*\29 +3154:GrResourceCache::releaseAll\28\29 +3155:GrResourceCache::getNextTimestamp\28\29 +3156:GrRenderTask::addDependency\28GrRenderTask*\29 +3157:GrRenderTargetProxy::canUseStencil\28GrCaps\20const&\29\20const +3158:GrRecordingContextPriv::addOnFlushCallbackObject\28GrOnFlushCallbackObject*\29 +3159:GrRecordingContext::~GrRecordingContext\28\29 +3160:GrRecordingContext::abandonContext\28\29 +3161:GrQuadUtils::TessellationHelper::Vertices::moveTo\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +3162:GrQuadUtils::TessellationHelper::EdgeEquations::reset\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\29 +3163:GrQuadUtils::ResolveAAType\28GrAAType\2c\20GrQuadAAFlags\2c\20GrQuad\20const&\2c\20GrAAType*\2c\20GrQuadAAFlags*\29 +3164:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::append\28GrQuad\20const&\2c\20\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA&&\2c\20GrQuad\20const*\29 +3165:GrPixmap::GrPixmap\28GrImageInfo\2c\20void*\2c\20unsigned\20long\29 +3166:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29 +3167:GrPersistentCacheUtils::UnpackCachedShaders\28SkReadBuffer*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20int\2c\20GrPersistentCacheUtils::ShaderMetadata*\29 +3168:GrPathUtils::convertCubicToQuads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\29 +3169:GrPathTessellationShader::Make\28GrShaderCaps\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::tess::PatchAttribs\29 +3170:GrOp::chainConcat\28std::__2::unique_ptr>\29 +3171:GrOp::GenOpClassID\28\29 +3172:GrMeshDrawOp::PatternHelper::PatternHelper\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +3173:GrMemoryPool::Make\28unsigned\20long\2c\20unsigned\20long\29 +3174:GrMakeKeyFromImageID\28skgpu::UniqueKey*\2c\20unsigned\20int\2c\20SkIRect\20const&\29 +3175:GrImageInfo::GrImageInfo\28GrColorInfo\20const&\2c\20SkISize\20const&\29 +3176:GrGpuResource::removeScratchKey\28\29 +3177:GrGpuResource::registerWithCacheWrapped\28GrWrapCacheable\29 +3178:GrGpuResource::dumpMemoryStatisticsPriv\28SkTraceMemoryDump*\2c\20SkString\20const&\2c\20char\20const*\2c\20unsigned\20long\29\20const +3179:GrGpuBuffer::onGpuMemorySize\28\29\20const +3180:GrGpu::resolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +3181:GrGpu::executeFlushInfo\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +3182:GrGeometryProcessor::TextureSampler::TextureSampler\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +3183:GrGeometryProcessor::ProgramImpl::ComputeMatrixKeys\28GrShaderCaps\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\29 +3184:GrGLUniformHandler::getUniformVariable\28GrResourceHandle\29\20const +3185:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +3186:GrGLSemaphore::GrGLSemaphore\28GrGLGpu*\2c\20bool\29 +3187:GrGLSLVaryingHandler::~GrGLSLVaryingHandler\28\29 +3188:GrGLSLUniformHandler::addInputSampler\28skgpu::Swizzle\20const&\2c\20char\20const*\29 +3189:GrGLSLShaderBuilder::emitFunction\28SkSLType\2c\20char\20const*\2c\20SkSpan\2c\20char\20const*\29 +3190:GrGLSLProgramDataManager::setSkMatrix\28GrResourceHandle\2c\20SkMatrix\20const&\29\20const +3191:GrGLSLProgramBuilder::writeFPFunction\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +3192:GrGLSLProgramBuilder::invokeFP\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +3193:GrGLSLProgramBuilder::addRTFlipUniform\28char\20const*\29 +3194:GrGLSLFragmentShaderBuilder::dstColor\28\29 +3195:GrGLSLBlend::BlendKey\28SkBlendMode\29 +3196:GrGLProgramBuilder::~GrGLProgramBuilder\28\29 +3197:GrGLProgramBuilder::computeCountsAndStrides\28unsigned\20int\2c\20GrGeometryProcessor\20const&\2c\20bool\29 +3198:GrGLGpu::flushScissor\28GrScissorState\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +3199:GrGLGpu::flushClearColor\28std::__2::array\29 +3200:GrGLGpu::deleteFence\28__GLsync*\29 +3201:GrGLGpu::createTexture\28SkISize\2c\20GrGLFormat\2c\20unsigned\20int\2c\20skgpu::Renderable\2c\20GrGLTextureParameters::SamplerOverriddenState*\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +3202:GrGLGpu::copySurfaceAsDraw\28GrSurface*\2c\20bool\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +3203:GrGLGpu::SamplerObjectCache::~SamplerObjectCache\28\29 +3204:GrGLGpu::HWVertexArrayState::bindInternalVertexArray\28GrGLGpu*\2c\20GrBuffer\20const*\29 +3205:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +3206:GrGLFinishCallbacks::callAll\28bool\29 +3207:GrGLBuffer::Make\28GrGLGpu*\2c\20unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +3208:GrGLAttribArrayState::enableVertexArrays\28GrGLGpu\20const*\2c\20int\2c\20GrPrimitiveRestart\29 +3209:GrFragmentProcessors::make_effect_fp\28sk_sp\2c\20char\20const*\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkSpan\2c\20GrFPArgs\20const&\29 +3210:GrFragmentProcessors::MakeChildFP\28SkRuntimeEffect::ChildPtr\20const&\2c\20GrFPArgs\20const&\29 +3211:GrFragmentProcessors::IsSupported\28SkMaskFilter\20const*\29 +3212:GrFragmentProcessor::makeProgramImpl\28\29\20const +3213:GrFragmentProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +3214:GrFragmentProcessor::MulInputByChildAlpha\28std::__2::unique_ptr>\29 +3215:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +3216:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29 +3217:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3218:GrDynamicAtlas::makeNode\28GrDynamicAtlas::Node*\2c\20int\2c\20int\2c\20int\2c\20int\29 +3219:GrDrawingManager::setLastRenderTask\28GrSurfaceProxy\20const*\2c\20GrRenderTask*\29 +3220:GrDrawingManager::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +3221:GrDrawOpAtlas::updatePlot\28GrDeferredUploadTarget*\2c\20skgpu::AtlasLocator*\2c\20skgpu::Plot*\29 +3222:GrDirectContext::resetContext\28unsigned\20int\29 +3223:GrDirectContext::getResourceCacheLimit\28\29\20const +3224:GrDefaultGeoProcFactory::MakeForDeviceSpace\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +3225:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20sk_sp\29 +3226:GrColorSpaceXform::apply\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +3227:GrColorSpaceXform::Equals\28GrColorSpaceXform\20const*\2c\20GrColorSpaceXform\20const*\29 +3228:GrBufferAllocPool::unmap\28\29 +3229:GrBlurUtils::can_filter_mask\28SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect*\29 +3230:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29 +3231:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +3232:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20sk_sp\2c\20std::__2::basic_string_view>\29 +3233:GrBackendFormatStencilBits\28GrBackendFormat\20const&\29 +3234:GrBackendFormat::asMockCompressionType\28\29\20const +3235:GrAATriangulator::~GrAATriangulator\28\29 +3236:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrAATriangulator::EventList*\29\20const +3237:GrAAConvexTessellator::fanRing\28GrAAConvexTessellator::Ring\20const&\29 +3238:GrAAConvexTessellator::computePtAlongBisector\28int\2c\20SkPoint\20const&\2c\20int\2c\20float\2c\20SkPoint*\29\20const +3239:FT_Stream_ReadAt +3240:FT_Stream_OpenMemory +3241:FT_Set_Char_Size +3242:FT_Request_Metrics +3243:FT_Hypot +3244:FT_Get_Var_Design_Coordinates +3245:FT_Get_Paint +3246:FT_Get_MM_Var +3247:DecodeImageData +3248:Cr_z_inflate_table +3249:Cr_z_inflateReset +3250:Cr_z_deflateEnd +3251:Cr_z_copy_with_crc +3252:Compute_Point_Displacement +3253:AAT::trak::sanitize\28hb_sanitize_context_t*\29\20const +3254:AAT::ltag::sanitize\28hb_sanitize_context_t*\29\20const +3255:AAT::feat::sanitize\28hb_sanitize_context_t*\29\20const +3256:AAT::StateTable::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +3257:AAT::Lookup>\2c\20OT::IntType\2c\20false>>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3258:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3259:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3260:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +3261:zeroinfnan +3262:xyz_almost_equal\28skcms_Matrix3x3\20const&\2c\20skcms_Matrix3x3\20const&\29 +3263:wuffs_lzw__decoder__transform_io +3264:wuffs_gif__decoder__set_quirk_enabled +3265:wuffs_gif__decoder__restart_frame +3266:wuffs_gif__decoder__num_animation_loops +3267:wuffs_gif__decoder__frame_dirty_rect +3268:wuffs_gif__decoder__decode_up_to_id_part1 +3269:wuffs_gif__decoder__decode_frame +3270:write_vertex_position\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrShaderVar\20const&\2c\20SkMatrix\20const&\2c\20char\20const*\2c\20GrShaderVar*\2c\20GrResourceHandle*\29 +3271:write_passthrough_vertex_position\28GrGLSLVertexBuilder*\2c\20GrShaderVar\20const&\2c\20GrShaderVar*\29 +3272:wctomb +3273:wchar_t*\20std::__2::copy\5babi:v160004\5d\2c\20wchar_t*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20wchar_t*\29 +3274:walk_simple_edges\28SkEdge*\2c\20SkBlitter*\2c\20int\2c\20int\29 +3275:vsscanf +3276:void\20std::__2::vector>::assign\28unsigned\20long*\2c\20unsigned\20long*\29 +3277:void\20std::__2::vector>::__emplace_back_slow_path&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&>\28SkFont\20const&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\29 +3278:void\20std::__2::vector>::assign\28skia::textlayout::FontFeature*\2c\20skia::textlayout::FontFeature*\29 +3279:void\20std::__2::vector\2c\20std::__2::allocator>>::__emplace_back_slow_path>\28sk_sp&&\29 +3280:void\20std::__2::vector>::assign\28SkString*\2c\20SkString*\29 +3281:void\20std::__2::vector>::__emplace_back_slow_path\28char\20const*&\29 +3282:void\20std::__2::vector>::__push_back_slow_path\28SkSL::FunctionDebugInfo&&\29 +3283:void\20std::__2::vector>::__push_back_slow_path\28SkMeshSpecification::Varying&&\29 +3284:void\20std::__2::vector>::__push_back_slow_path\28SkMeshSpecification::Attribute&&\29 +3285:void\20std::__2::vector>::assign\28SkFontArguments::VariationPosition::Coordinate*\2c\20SkFontArguments::VariationPosition::Coordinate*\29 +3286:void\20std::__2::vector>::__emplace_back_slow_path\28SkRect&\2c\20int&\2c\20int&\29 +3287:void\20std::__2::allocator_traits>::construct\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\29 +3288:void\20std::__2::__tree_balance_after_insert\5babi:v160004\5d*>\28std::__2::__tree_node_base*\2c\20std::__2::__tree_node_base*\29 +3289:void\20std::__2::__stable_sort_move\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\29 +3290:void\20std::__2::__sift_up\5babi:v160004\5d*>>\28std::__2::__wrap_iter*>\2c\20std::__2::__wrap_iter*>\2c\20GrGeometryProcessor::ProgramImpl::emitTransformCode\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\29::$_0&\2c\20std::__2::iterator_traits*>>::difference_type\29 +3291:void\20std::__2::__optional_storage_base::__assign_from\5babi:v160004\5d\20const&>\28std::__2::__optional_copy_assign_base\20const&\29 +3292:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20char*&\2c\20char*&\29 +3293:void\20std::__2::__call_once_proxy\5babi:v160004\5d>\28void*\29 +3294:void\20sorted_merge<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +3295:void\20sorted_merge<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +3296:void\20sort_r_simple<>\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29.1 +3297:void\20skgpu::ganesh::SurfaceFillContext::clear<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\20const&\29 +3298:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +3299:void\20emscripten::internal::MemberAccess>::setWire\28sk_sp\20SkRuntimeEffect::TracedShader::*\20const&\2c\20SkRuntimeEffect::TracedShader&\2c\20sk_sp*\29 +3300:void\20emscripten::internal::MemberAccess::setWire\28SimpleFontStyle\20SimpleStrutStyle::*\20const&\2c\20SimpleStrutStyle&\2c\20SimpleFontStyle*\29 +3301:void\20\28anonymous\20namespace\29::copyFT2LCD16\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\29 +3302:void\20SkTIntroSort\28int\2c\20int*\2c\20int\2c\20DistanceLessThan\20const&\29 +3303:void\20SkTIntroSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29>\28int\2c\20float*\2c\20int\2c\20void\20SkTQSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29\20const&\29 +3304:void\20SkTIntroSort\28int\2c\20SkString*\2c\20int\2c\20bool\20\20const\28&\29\28SkString\20const&\2c\20SkString\20const&\29\29 +3305:void\20SkTIntroSort\28int\2c\20SkOpRayHit**\2c\20int\2c\20bool\20\20const\28&\29\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29\29 +3306:void\20SkTIntroSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29>\28int\2c\20SkOpContour*\2c\20int\2c\20void\20SkTQSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29\20const&\29 +3307:void\20SkTIntroSort>\2c\20SkCodec::Result*\29::Entry\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::EntryLessThan>\28int\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::Entry*\2c\20int\2c\20SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29::EntryLessThan\20const&\29 +3308:void\20SkTIntroSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29>\28int\2c\20SkClosestRecord\20const*\2c\20int\2c\20void\20SkTQSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29\20const&\29 +3309:void\20SkTIntroSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29>\28int\2c\20SkAnalyticEdge*\2c\20int\2c\20void\20SkTQSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29\20const&\29 +3310:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\20const\28&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +3311:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\28*\20const&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +3312:void\20SkTIntroSort\28int\2c\20Edge*\2c\20int\2c\20EdgeLT\20const&\29 +3313:void\20GrGeometryProcessor::ProgramImpl::collectTransforms\28GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGLSLUniformHandler*\2c\20GrShaderType\2c\20GrShaderVar\20const&\2c\20GrShaderVar\20const&\2c\20GrPipeline\20const&\29::$_0::operator\28\29<$_0>\28$_0&\2c\20GrFragmentProcessor\20const&\2c\20bool\2c\20GrFragmentProcessor\20const*\2c\20int\2c\20GrGeometryProcessor::ProgramImpl::BaseCoord\29 +3314:void\20AAT::StateTableDriver::drive::driver_context_t>\28AAT::LigatureSubtable::driver_context_t*\2c\20AAT::hb_aat_apply_context_t*\29::'lambda0'\28\29::operator\28\29\28\29\20const +3315:virtual\20thunk\20to\20GrGLTexture::onSetLabel\28\29 +3316:virtual\20thunk\20to\20GrGLTexture::backendFormat\28\29\20const +3317:vfiprintf +3318:validate_texel_levels\28SkISize\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20GrCaps\20const*\29 +3319:unsigned\20short\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3320:unsigned\20long\20long\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3321:unsigned\20int\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3322:unsigned\20int\20const*\20std::__2::lower_bound\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20unsigned\20long\20const&\29 +3323:unsigned\20int\20const&\20std::__2::__identity::operator\28\29\28unsigned\20int\20const&\29\20const +3324:ubidi_close_skia +3325:u_terminateUChars_skia +3326:u_charType_skia +3327:tt_size_run_prep +3328:tt_size_done_bytecode +3329:tt_sbit_decoder_load_image +3330:tt_face_vary_cvt +3331:tt_face_palette_set +3332:tt_face_load_cvt +3333:tt_face_get_metrics +3334:tt_done_blend +3335:tt_delta_interpolate +3336:tt_cmap4_set_range +3337:tt_cmap4_next +3338:tt_cmap4_char_map_linear +3339:tt_cmap4_char_map_binary +3340:tt_cmap14_get_def_chars +3341:tt_cmap13_next +3342:tt_cmap12_next +3343:tt_cmap12_init +3344:tt_cmap12_char_map_binary +3345:tt_apply_mvar +3346:toParagraphStyle\28SimpleParagraphStyle\20const&\29 +3347:t1_lookup_glyph_by_stdcharcode_ps +3348:t1_builder_close_contour +3349:t1_builder_check_points +3350:strtox.1 +3351:strtoull +3352:strtoll_l +3353:strspn +3354:strncpy +3355:store_int +3356:std::logic_error::~logic_error\28\29 +3357:std::logic_error::logic_error\28char\20const*\29 +3358:std::exception::exception\5babi:v160004\5d\28\29 +3359:std::__2::vector>::max_size\28\29\20const +3360:std::__2::vector>::__construct_at_end\28unsigned\20long\29 +3361:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +3362:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::locale::facet**\29 +3363:std::__2::vector>::__annotate_shrink\5babi:v160004\5d\28unsigned\20long\29\20const +3364:std::__2::vector>::__annotate_new\5babi:v160004\5d\28unsigned\20long\29\20const +3365:std::__2::vector>::__annotate_delete\5babi:v160004\5d\28\29\20const +3366:std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float&&\29 +3367:std::__2::vector>::__append\28unsigned\20long\29 +3368:std::__2::unique_ptr::operator=\5babi:v160004\5d\28std::__2::unique_ptr&&\29 +3369:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3370:std::__2::unique_ptr>\20SkSL::coalesce_vector\28std::__2::array\20const&\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +3371:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::nullptr_t\29 +3372:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda0'\28\29::operator\28\29\28\29\20const +3373:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda'\28\29::operator\28\29\28\29\20const +3374:std::__2::to_string\28unsigned\20long\29 +3375:std::__2::to_chars_result\20std::__2::__to_chars_itoa\5babi:v160004\5d\28char*\2c\20char*\2c\20unsigned\20int\2c\20std::__2::integral_constant\29 +3376:std::__2::time_put>>::~time_put\28\29 +3377:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3378:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3379:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3380:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3381:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3382:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +3383:std::__2::reverse_iterator::operator++\5babi:v160004\5d\28\29 +3384:std::__2::reverse_iterator::operator*\5babi:v160004\5d\28\29\20const +3385:std::__2::priority_queue>\2c\20GrAATriangulator::EventComparator>::push\28GrAATriangulator::Event*\20const&\29 +3386:std::__2::pair\2c\20void*>*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__emplace_unique_key_args\2c\20std::__2::tuple<>>\28GrFragmentProcessor\20const*\20const&\2c\20std::__2::piecewise_construct_t\20const&\2c\20std::__2::tuple&&\2c\20std::__2::tuple<>&&\29 +3387:std::__2::pair*>\2c\20bool>\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__emplace_unique_key_args\28int\20const&\2c\20int\20const&\29 +3388:std::__2::pair\2c\20std::__2::allocator>>>::pair\28std::__2::pair\2c\20std::__2::allocator>>>&&\29 +3389:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28wchar_t\29 +3390:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28char\29 +3391:std::__2::optional&\20std::__2::optional::operator=\5babi:v160004\5d\28SkPath\20const&\29 +3392:std::__2::numpunct::~numpunct\28\29 +3393:std::__2::numpunct::~numpunct\28\29 +3394:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +3395:std::__2::num_get>>\20const&\20std::__2::use_facet\5babi:v160004\5d>>>\28std::__2::locale\20const&\29 +3396:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +3397:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3398:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3399:std::__2::moneypunct::do_negative_sign\28\29\20const +3400:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3401:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +3402:std::__2::moneypunct::do_negative_sign\28\29\20const +3403:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20wchar_t*&\2c\20wchar_t*\29 +3404:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20char*&\2c\20char*\29 +3405:std::__2::locale::__imp::~__imp\28\29 +3406:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20std::__2::random_access_iterator_tag\29 +3407:std::__2::iterator_traits\2c\20std::__2::allocator>\20const*>::difference_type\20std::__2::distance\5babi:v160004\5d\2c\20std::__2::allocator>\20const*>\28std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +3408:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28char*\2c\20char*\29 +3409:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::random_access_iterator_tag\29 +3410:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +3411:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +3412:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +3413:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +3414:std::__2::ios_base::width\5babi:v160004\5d\28long\29 +3415:std::__2::ios_base::imbue\28std::__2::locale\20const&\29 +3416:std::__2::ios_base::__call_callbacks\28std::__2::ios_base::event\29 +3417:std::__2::hash::operator\28\29\28skia::textlayout::FontArguments\20const&\29\20const +3418:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28char&\2c\20char&\29 +3419:std::__2::enable_if<__is_cpp17_random_access_iterator::value\2c\20char*>::type\20std::__2::copy_n\5babi:v160004\5d\28char\20const*\2c\20unsigned\20long\2c\20char*\29 +3420:std::__2::enable_if<__is_cpp17_forward_iterator::value\2c\20void>::type\20std::__2::basic_string\2c\20std::__2::allocator>::__init\28wchar_t\20const*\2c\20wchar_t\20const*\29 +3421:std::__2::enable_if<__is_cpp17_forward_iterator::value\2c\20void>::type\20std::__2::basic_string\2c\20std::__2::allocator>::__init\28char*\2c\20char*\29 +3422:std::__2::deque>::__add_back_capacity\28\29 +3423:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28sktext::gpu::TextBlobRedrawCoordinator*\29\20const +3424:std::__2::default_delete::operator\28\29\5babi:v160004\5d\28sktext::GlyphRunBuilder*\29\20const +3425:std::__2::ctype::~ctype\28\29 +3426:std::__2::codecvt::~codecvt\28\29 +3427:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3428:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char32_t\20const*\2c\20char32_t\20const*\2c\20char32_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3429:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +3430:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char32_t*\2c\20char32_t*\2c\20char32_t*&\29\20const +3431:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char16_t\20const*\2c\20char16_t\20const*\2c\20char16_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +3432:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +3433:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char16_t*\2c\20char16_t*\2c\20char16_t*&\29\20const +3434:std::__2::char_traits::not_eof\28int\29 +3435:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28\29\20const +3436:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29 +3437:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20wchar_t\20const*\29 +3438:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +3439:std::__2::basic_string\2c\20std::__2::allocator>::resize\28unsigned\20long\2c\20char\29 +3440:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +3441:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20char\29 +3442:std::__2::basic_string\2c\20std::__2::allocator>::basic_string>\2c\20void>\28std::__2::basic_string_view>\20const&\29 +3443:std::__2::basic_string\2c\20std::__2::allocator>::__throw_out_of_range\5babi:v160004\5d\28\29\20const +3444:std::__2::basic_string\2c\20std::__2::allocator>::__null_terminate_at\5babi:v160004\5d\28char*\2c\20unsigned\20long\29 +3445:std::__2::basic_string\2c\20std::__2::allocator>&\20std::__2::basic_string\2c\20std::__2::allocator>::__assign_no_alias\28char\20const*\2c\20unsigned\20long\29 +3446:std::__2::basic_string\2c\20std::__2::allocator>&\20skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::emplace_back\28char\20const*&&\29 +3447:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +3448:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3449:std::__2::basic_streambuf>::sputc\5babi:v160004\5d\28char\29 +3450:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +3451:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3452:std::__2::basic_ostream>::~basic_ostream\28\29.2 +3453:std::__2::basic_ostream>::sentry::~sentry\28\29 +3454:std::__2::basic_ostream>::sentry::sentry\28std::__2::basic_ostream>&\29 +3455:std::__2::basic_ostream>::operator<<\28float\29 +3456:std::__2::basic_ostream>::flush\28\29 +3457:std::__2::basic_istream>::~basic_istream\28\29.2 +3458:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\2c\20unsigned\20long\29 +3459:std::__2::allocator::deallocate\5babi:v160004\5d\28wchar_t*\2c\20unsigned\20long\29 +3460:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3461:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3462:std::__2::__wrap_iter\20std::__2::vector>::insert\2c\200>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +3463:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +3464:std::__2::__time_put::__time_put\5babi:v160004\5d\28\29 +3465:std::__2::__time_put::__do_put\28char*\2c\20char*&\2c\20tm\20const*\2c\20char\2c\20char\29\20const +3466:std::__2::__throw_system_error\28int\2c\20char\20const*\29 +3467:std::__2::__split_buffer>::push_back\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +3468:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +3469:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +3470:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +3471:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +3472:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +3473:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20wchar_t&\2c\20wchar_t&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +3474:std::__2::__money_put::__format\28wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20unsigned\20int\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +3475:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20char&\2c\20char&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +3476:std::__2::__money_put::__format\28char*\2c\20char*&\2c\20char*&\2c\20unsigned\20int\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +3477:std::__2::__libcpp_sscanf_l\28char\20const*\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +3478:std::__2::__libcpp_mbrtowc_l\5babi:v160004\5d\28wchar_t*\2c\20char\20const*\2c\20unsigned\20long\2c\20__mbstate_t*\2c\20__locale_struct*\29 +3479:std::__2::__libcpp_mb_cur_max_l\5babi:v160004\5d\28__locale_struct*\29 +3480:std::__2::__libcpp_deallocate\5babi:v160004\5d\28void*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3481:std::__2::__libcpp_allocate\5babi:v160004\5d\28unsigned\20long\2c\20unsigned\20long\29 +3482:std::__2::__is_overaligned_for_new\5babi:v160004\5d\28unsigned\20long\29 +3483:std::__2::__function::__value_func::swap\5babi:v160004\5d\28std::__2::__function::__value_func&\29 +3484:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +3485:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +3486:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +3487:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::destroy\28\29 +3488:std::__2::__constexpr_wcslen\5babi:v160004\5d\28wchar_t\20const*\29 +3489:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::__sso_allocator&\2c\20unsigned\20long\29 +3490:start_input_pass +3491:sktext::gpu::can_use_direct\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +3492:sktext::gpu::build_distance_adjust_table\28float\29 +3493:sktext::gpu::VertexFiller::opMaskType\28\29\20const +3494:sktext::gpu::VertexFiller::isLCD\28\29\20const +3495:sktext::gpu::VertexFiller::fillVertexData\28int\2c\20int\2c\20SkSpan\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkIRect\2c\20void*\29\20const +3496:sktext::gpu::TextBlobRedrawCoordinator::internalRemove\28sktext::gpu::TextBlob*\29 +3497:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_2::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +3498:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_0::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +3499:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29 +3500:sktext::gpu::SubRunContainer::EstimateAllocSize\28sktext::GlyphRunList\20const&\29 +3501:sktext::gpu::SubRunAllocator::SubRunAllocator\28char*\2c\20int\2c\20int\29 +3502:sktext::gpu::StrikeCache::~StrikeCache\28\29 +3503:sktext::gpu::SlugImpl::Make\28SkMatrix\20const&\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\29 +3504:sktext::gpu::BagOfBytes::BagOfBytes\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29::$_1::operator\28\29\28\29\20const +3505:sktext::glyphrun_source_bounds\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkZip\2c\20SkSpan\29 +3506:sktext::SkStrikePromise::resetStrike\28\29 +3507:sktext::GlyphRunList::makeBlob\28\29\20const +3508:sktext::GlyphRunBuilder::blobToGlyphRunList\28SkTextBlob\20const&\2c\20SkPoint\29 +3509:skstd::to_string\28float\29 +3510:skpathutils::FillPathWithPaint\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkPath*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29 +3511:skjpeg_err_exit\28jpeg_common_struct*\29 +3512:skip_string +3513:skip_procedure +3514:skif::\28anonymous\20namespace\29::decompose_transform\28SkMatrix\20const&\2c\20SkPoint\2c\20SkMatrix*\2c\20SkMatrix*\29 +3515:skif::Mapping::adjustLayerSpace\28SkMatrix\20const&\29 +3516:skif::FilterResult::imageAndOffset\28skif::Context\20const&\29\20const +3517:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20SkBlender\20const*\29\20const +3518:skif::FilterResult::drawAnalyzedImage\28skif::Context\20const&\2c\20SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\2c\20SkBlender\20const*\29\20const +3519:skif::FilterResult::MakeFromImage\28skif::Context\20const&\2c\20sk_sp\2c\20SkRect\2c\20skif::ParameterSpace\2c\20SkSamplingOptions\20const&\29 +3520:skif::FilterResult::FilterResult\28sk_sp\2c\20skif::LayerSpace\20const&\29 +3521:skif::FilterResult::FilterResult\28\29 +3522:skif::Context::withNewSource\28skif::FilterResult\20const&\29\20const +3523:skia_private::THashTable::Traits>::set\28unsigned\20long\20long\29 +3524:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3525:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +3526:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeIfExists\28unsigned\20int\20const&\29 +3527:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair&&\29 +3528:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair&&\29 +3529:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair&&\29 +3530:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3531:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\29 +3532:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::find\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +3533:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +3534:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +3535:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::resize\28int\29 +3536:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28skgpu::ganesh::SmallPathShapeData*&&\29 +3537:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +3538:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::uncheckedSet\28sk_sp&&\29 +3539:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::resize\28int\29 +3540:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::uncheckedSet\28\28anonymous\20namespace\29::CacheImpl::Value*&&\29 +3541:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::resize\28int\29 +3542:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +3543:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +3544:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +3545:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +3546:skia_private::THashTable::uncheckedSet\28SkResourceCache::Rec*&&\29 +3547:skia_private::THashTable::resize\28int\29 +3548:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::set\28SkLRUCache::Entry*\29 +3549:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::resize\28int\29 +3550:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::removeIfExists\28unsigned\20int\20const&\29 +3551:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::resize\28int\29 +3552:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::uncheckedSet\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*&&\29 +3553:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::resize\28int\29 +3554:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrGpuResource*&&\29 +3555:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +3556:skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::set\28unsigned\20int\2c\20sk_sp\20\28*\29\28SkReadBuffer&\29\29 +3557:skia_private::THashMap::set\28int\2c\20int\29 +3558:skia_private::THashMap>\2c\20SkGoodHash>::remove\28SkImageFilter\20const*\20const&\29 +3559:skia_private::TArray::push_back_raw\28int\29 +3560:skia_private::TArray::resize_back\28int\29 +3561:skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::checkRealloc\28int\2c\20double\29 +3562:skia_private::TArray::~TArray\28\29 +3563:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3564:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3565:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3566:skia_private::TArray::BufferFinishedMessage\2c\20false>::operator=\28skia_private::TArray::BufferFinishedMessage\2c\20false>&&\29 +3567:skia_private::TArray::BufferFinishedMessage\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +3568:skia_private::TArray::Plane\2c\20false>::move\28void*\29 +3569:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3570:skia_private::TArray\29::ReorderedArgument\2c\20false>::push_back\28SkSL::optimize_constructor_swizzle\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ConstructorCompound\20const&\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29::ReorderedArgument&&\29 +3571:skia_private::TArray::TArray\28skia_private::TArray&&\29 +3572:skia_private::TArray::swap\28skia_private::TArray&\29 +3573:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +3574:skia_private::TArray::push_back_raw\28int\29 +3575:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +3576:skia_private::TArray::push_back_raw\28int\29 +3577:skia_private::TArray::push_back_raw\28int\29 +3578:skia_private::TArray::move_back_n\28int\2c\20GrTextureProxy**\29 +3579:skia_private::TArray::operator=\28skia_private::TArray&&\29 +3580:skia_private::TArray::push_back_n\28int\2c\20EllipticalRRectOp::RRect\20const*\29 +3581:skia_png_zfree +3582:skia_png_write_zTXt +3583:skia_png_write_tIME +3584:skia_png_write_tEXt +3585:skia_png_write_iTXt +3586:skia_png_set_write_fn +3587:skia_png_set_strip_16 +3588:skia_png_set_read_user_transform_fn +3589:skia_png_set_read_user_chunk_fn +3590:skia_png_set_option +3591:skia_png_set_mem_fn +3592:skia_png_set_expand_gray_1_2_4_to_8 +3593:skia_png_set_error_fn +3594:skia_png_set_compression_level +3595:skia_png_set_IHDR +3596:skia_png_read_filter_row +3597:skia_png_process_IDAT_data +3598:skia_png_icc_set_sRGB +3599:skia_png_icc_check_tag_table +3600:skia_png_icc_check_header +3601:skia_png_get_uint_31 +3602:skia_png_get_sBIT +3603:skia_png_get_rowbytes +3604:skia_png_get_error_ptr +3605:skia_png_get_IHDR +3606:skia_png_do_swap +3607:skia_png_do_read_transformations +3608:skia_png_do_read_interlace +3609:skia_png_do_packswap +3610:skia_png_do_invert +3611:skia_png_do_gray_to_rgb +3612:skia_png_do_expand +3613:skia_png_do_check_palette_indexes +3614:skia_png_do_bgr +3615:skia_png_destroy_png_struct +3616:skia_png_destroy_gamma_table +3617:skia_png_create_png_struct +3618:skia_png_create_info_struct +3619:skia_png_crc_read +3620:skia_png_colorspace_sync_info +3621:skia_png_check_IHDR +3622:skia::textlayout::TypefaceFontStyleSet::matchStyle\28SkFontStyle\20const&\29 +3623:skia::textlayout::TextStyle::matchOneAttribute\28skia::textlayout::StyleType\2c\20skia::textlayout::TextStyle\20const&\29\20const +3624:skia::textlayout::TextStyle::equals\28skia::textlayout::TextStyle\20const&\29\20const +3625:skia::textlayout::TextShadow::operator!=\28skia::textlayout::TextShadow\20const&\29\20const +3626:skia::textlayout::TextLine::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +3627:skia::textlayout::TextLine::iterateThroughClustersInGlyphsOrder\28bool\2c\20bool\2c\20std::__2::function\20const&\29\20const::$_0::operator\28\29\28unsigned\20long\20const&\29\20const +3628:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkRect\29::operator\28\29\28SkRect\29\20const +3629:skia::textlayout::TextLine::getMetrics\28\29\20const +3630:skia::textlayout::TextLine::ensureTextBlobCachePopulated\28\29 +3631:skia::textlayout::TextLine::buildTextBlob\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +3632:skia::textlayout::TextLine::TextLine\28skia::textlayout::ParagraphImpl*\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20skia::textlayout::InternalLineMetrics\29 +3633:skia::textlayout::TextLine&\20skia_private::TArray::emplace_back&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&>\28skia::textlayout::ParagraphImpl*&&\2c\20SkPoint&\2c\20SkPoint&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&\29 +3634:skia::textlayout::Run::shift\28skia::textlayout::Cluster\20const*\2c\20float\29 +3635:skia::textlayout::Run::newRunBuffer\28\29 +3636:skia::textlayout::Run::findLimitingGlyphClusters\28skia::textlayout::SkRange\29\20const +3637:skia::textlayout::Run::addSpacesAtTheEnd\28float\2c\20skia::textlayout::Cluster*\29 +3638:skia::textlayout::ParagraphStyle::effective_align\28\29\20const +3639:skia::textlayout::ParagraphStyle::ParagraphStyle\28\29 +3640:skia::textlayout::ParagraphPainter::DecorationStyle::DecorationStyle\28unsigned\20int\2c\20float\2c\20std::__2::optional\29 +3641:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29 +3642:skia::textlayout::ParagraphImpl::text\28skia::textlayout::SkRange\29 +3643:skia::textlayout::ParagraphImpl::resolveStrut\28\29 +3644:skia::textlayout::ParagraphImpl::getGlyphInfoAtUTF16Offset\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +3645:skia::textlayout::ParagraphImpl::getGlyphClusterAt\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +3646:skia::textlayout::ParagraphImpl::findPreviousGraphemeBoundary\28unsigned\20long\29\20const +3647:skia::textlayout::ParagraphImpl::computeEmptyMetrics\28\29 +3648:skia::textlayout::ParagraphImpl::clusters\28skia::textlayout::SkRange\29 +3649:skia::textlayout::ParagraphImpl::block\28unsigned\20long\29 +3650:skia::textlayout::ParagraphCacheValue::~ParagraphCacheValue\28\29 +3651:skia::textlayout::ParagraphCacheKey::ParagraphCacheKey\28skia::textlayout::ParagraphImpl\20const*\29 +3652:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29 +3653:skia::textlayout::ParagraphBuilderImpl::make\28skia::textlayout::ParagraphStyle\20const&\2c\20sk_sp\2c\20sk_sp\29 +3654:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\2c\20bool\29 +3655:skia::textlayout::ParagraphBuilderImpl::ParagraphBuilderImpl\28skia::textlayout::ParagraphStyle\20const&\2c\20sk_sp\2c\20sk_sp\29 +3656:skia::textlayout::Paragraph::~Paragraph\28\29 +3657:skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29 +3658:skia::textlayout::FontCollection::~FontCollection\28\29 +3659:skia::textlayout::FontCollection::matchTypeface\28SkString\20const&\2c\20SkFontStyle\29 +3660:skia::textlayout::FontCollection::defaultFallback\28int\2c\20SkFontStyle\2c\20SkString\20const&\29 +3661:skia::textlayout::FontCollection::FamilyKey::Hasher::operator\28\29\28skia::textlayout::FontCollection::FamilyKey\20const&\29\20const +3662:skgpu::tess::\28anonymous\20namespace\29::write_curve_index_buffer_base_index\28skgpu::VertexWriter\2c\20unsigned\20long\2c\20unsigned\20short\29 +3663:skgpu::tess::StrokeIterator::next\28\29 +3664:skgpu::tess::StrokeIterator::finishOpenContour\28\29 +3665:skgpu::tess::PreChopPathCurves\28float\2c\20SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +3666:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29 +3667:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::SmallPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20GrUserStencilSettings\20const*\29 +3668:skgpu::ganesh::\28anonymous\20namespace\29::ChopPathIfNecessary\28SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkStrokeRec\20const&\2c\20SkPath*\29 +3669:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::recordDraw\28GrMeshDrawTarget*\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20int\2c\20unsigned\20short*\29 +3670:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::AAFlatteningConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20float\2c\20SkStrokeRec::Style\2c\20SkPaint::Join\2c\20float\2c\20GrUserStencilSettings\20const*\29 +3671:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::AAConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrUserStencilSettings\20const*\29 +3672:skgpu::ganesh::TextureOp::Make\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20SkBlendMode\2c\20GrAAType\2c\20DrawQuad*\2c\20SkRect\20const*\29 +3673:skgpu::ganesh::TessellationPathRenderer::IsSupported\28GrCaps\20const&\29 +3674:skgpu::ganesh::SurfaceFillContext::fillRectToRectWithFP\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +3675:skgpu::ganesh::SurfaceFillContext::blitTexture\28GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\29 +3676:skgpu::ganesh::SurfaceFillContext::addOp\28std::__2::unique_ptr>\29 +3677:skgpu::ganesh::SurfaceFillContext::addDrawOp\28std::__2::unique_ptr>\29 +3678:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29.1 +3679:skgpu::ganesh::SurfaceDrawContext::drawVertices\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20sk_sp\2c\20GrPrimitiveType*\2c\20bool\29 +3680:skgpu::ganesh::SurfaceDrawContext::drawTexturedQuad\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkBlendMode\2c\20DrawQuad*\2c\20SkRect\20const*\29 +3681:skgpu::ganesh::SurfaceDrawContext::drawTexture\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkBlendMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +3682:skgpu::ganesh::SurfaceDrawContext::drawStrokedLine\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPoint\20const*\2c\20SkStrokeRec\20const&\29 +3683:skgpu::ganesh::SurfaceDrawContext::drawRegion\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrStyle\20const&\2c\20GrUserStencilSettings\20const*\29 +3684:skgpu::ganesh::SurfaceDrawContext::drawOval\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\29 +3685:skgpu::ganesh::SurfaceDrawContext::SurfaceDrawContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +3686:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29 +3687:skgpu::ganesh::SurfaceContext::writePixels\28GrDirectContext*\2c\20GrCPixmap\2c\20SkIPoint\29 +3688:skgpu::ganesh::SurfaceContext::copy\28sk_sp\2c\20SkIRect\2c\20SkIPoint\29 +3689:skgpu::ganesh::SurfaceContext::copyScaled\28sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20SkFilterMode\29 +3690:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +3691:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::FinishContext::~FinishContext\28\29 +3692:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +3693:skgpu::ganesh::SurfaceContext::SurfaceContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +3694:skgpu::ganesh::StrokeTessellator::draw\28GrOpFlushState*\29\20const +3695:skgpu::ganesh::StrokeTessellateOp::prePrepareTessellator\28GrTessellationShader::ProgramArgs&&\2c\20GrAppliedClip&&\29 +3696:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::NonAAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrSimpleMeshDrawOpHelper::InputFlags\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\2c\20GrAAType\29 +3697:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::AAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::RectInfo\20const&\2c\20bool\29 +3698:skgpu::ganesh::StencilMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkRegion::Op\2c\20GrAA\29 +3699:skgpu::ganesh::SoftwarePathRenderer::DrawAroundInvPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29 +3700:skgpu::ganesh::SmallPathAtlasMgr::findOrCreate\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +3701:skgpu::ganesh::SmallPathAtlasMgr::deleteCacheEntry\28skgpu::ganesh::SmallPathShapeData*\29 +3702:skgpu::ganesh::ShadowRRectOp::Make\28GrRecordingContext*\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20float\2c\20float\29 +3703:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::RegionOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +3704:skgpu::ganesh::RasterAsView\28GrRecordingContext*\2c\20SkImage_Raster\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +3705:skgpu::ganesh::QuadPerEdgeAA::Tessellator::append\28GrQuad*\2c\20GrQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\29 +3706:skgpu::ganesh::QuadPerEdgeAA::Tessellator::Tessellator\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29 +3707:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::initializeAttrs\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29 +3708:skgpu::ganesh::QuadPerEdgeAA::IssueDraw\28GrCaps\20const&\2c\20GrOpsRenderPass*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3709:skgpu::ganesh::QuadPerEdgeAA::GetIndexBuffer\28GrMeshDrawTarget*\2c\20skgpu::ganesh::QuadPerEdgeAA::IndexBufferOption\29 +3710:skgpu::ganesh::PathTessellateOp::usesMSAA\28\29\20const +3711:skgpu::ganesh::PathTessellateOp::prepareTessellator\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +3712:skgpu::ganesh::PathTessellateOp::PathTessellateOp\28SkArenaAlloc*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\2c\20SkRect\20const&\29 +3713:skgpu::ganesh::PathStencilCoverOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +3714:skgpu::ganesh::PathRenderer::getStencilSupport\28GrStyledShape\20const&\29\20const +3715:skgpu::ganesh::PathInnerTriangulateOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +3716:skgpu::ganesh::PathCurveTessellator::~PathCurveTessellator\28\29 +3717:skgpu::ganesh::PathCurveTessellator::prepareWithTriangles\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20GrTriangulator::BreadcrumbTriangleList*\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +3718:skgpu::ganesh::OpsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +3719:skgpu::ganesh::OpsTask::onExecute\28GrOpFlushState*\29 +3720:skgpu::ganesh::OpsTask::addOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +3721:skgpu::ganesh::OpsTask::addDrawOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +3722:skgpu::ganesh::OpsTask::OpsTask\28GrDrawingManager*\2c\20GrSurfaceProxyView\2c\20GrAuditTrail*\2c\20sk_sp\29 +3723:skgpu::ganesh::OpsTask::OpChain::tryConcat\28skgpu::ganesh::OpsTask::OpChain::List*\2c\20GrProcessorSet::Analysis\2c\20GrDstProxyView\20const&\2c\20GrAppliedClip\20const*\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrAuditTrail*\29 +3724:skgpu::ganesh::MakeFragmentProcessorFromView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +3725:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29 +3726:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29 +3727:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::NonAALatticeOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20std::__2::unique_ptr>\2c\20SkRect\20const&\29 +3728:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20GrAA\29 +3729:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::FillRRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29 +3730:skgpu::ganesh::DrawAtlasPathOp::prepareProgram\28GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +3731:skgpu::ganesh::Device::replaceBackingProxy\28SkSurface::ContentChangeMode\2c\20sk_sp\2c\20GrColorType\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +3732:skgpu::ganesh::Device::makeSpecial\28SkBitmap\20const&\29 +3733:skgpu::ganesh::Device::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +3734:skgpu::ganesh::Device::drawEdgeAAImage\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20SkTileMode\29 +3735:skgpu::ganesh::Device::discard\28\29 +3736:skgpu::ganesh::Device::android_utils_clipAsRgn\28SkRegion*\29\20const +3737:skgpu::ganesh::DefaultPathRenderer::internalDrawPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20bool\29 +3738:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +3739:skgpu::ganesh::CopyView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\2c\20std::__2::basic_string_view>\29 +3740:skgpu::ganesh::ClipStack::clipPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrAA\2c\20SkClipOp\29 +3741:skgpu::ganesh::ClipStack::SaveRecord::replaceWithElement\28skgpu::ganesh::ClipStack::RawElement&&\2c\20SkTBlockList*\29 +3742:skgpu::ganesh::ClipStack::SaveRecord::addElement\28skgpu::ganesh::ClipStack::RawElement&&\2c\20SkTBlockList*\29 +3743:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::Draw\20const&\29\20const +3744:skgpu::ganesh::AtlasTextOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +3745:skgpu::ganesh::AtlasTextOp::AtlasTextOp\28skgpu::ganesh::AtlasTextOp::MaskType\2c\20bool\2c\20int\2c\20SkRect\2c\20skgpu::ganesh::AtlasTextOp::Geometry*\2c\20GrColorInfo\20const&\2c\20GrPaint&&\29 +3746:skgpu::ganesh::AtlasRenderTask::stencilAtlasRect\28GrRecordingContext*\2c\20SkRect\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrUserStencilSettings\20const*\29 +3747:skgpu::ganesh::AtlasRenderTask::addPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIPoint\2c\20int\2c\20int\2c\20bool\2c\20SkIPoint16*\29 +3748:skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +3749:skgpu::ganesh::AtlasPathRenderer::addPathToAtlas\28GrRecordingContext*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRect\20const&\2c\20SkIRect*\2c\20SkIPoint16*\2c\20bool*\2c\20std::__2::function\20const&\29 +3750:skgpu::ganesh::AsFragmentProcessor\28GrRecordingContext*\2c\20SkImage\20const*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +3751:skgpu::TiledTextureUtils::OptimizeSampleArea\28SkISize\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkRect*\2c\20SkRect*\2c\20SkMatrix*\29 +3752:skgpu::TClientMappedBufferManager::process\28\29 +3753:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29 +3754:skgpu::RectanizerSkyline::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +3755:skgpu::Plot::Plot\28int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20SkColorType\2c\20unsigned\20long\29 +3756:skgpu::GetReducedBlendModeInfo\28SkBlendMode\29 +3757:skgpu::CreateIntegralTable\28int\29 +3758:skgpu::BlendFuncName\28SkBlendMode\29 +3759:skcms_private::baseline::exec_stages\28skcms_private::Op\20const*\2c\20void\20const**\2c\20char\20const*\2c\20char*\2c\20int\29 +3760:skcms_private::baseline::clut\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\2c\20float\20vector\5b4\5d*\29 +3761:skcms_ApproximatelyEqualProfiles +3762:sk_sp\20sk_make_sp\2c\20SkSurfaceProps\20const*&>\28SkImageInfo\20const&\2c\20sk_sp&&\2c\20SkSurfaceProps\20const*&\29 +3763:sk_sp*\20emscripten::internal::MemberAccess>::getWire\28sk_sp\20SkRuntimeEffect::TracedShader::*\20const&\2c\20SkRuntimeEffect::TracedShader\20const&\29 +3764:sk_fopen\28char\20const*\2c\20SkFILE_Flags\29 +3765:sk_fgetsize\28_IO_FILE*\29 +3766:sk_fclose\28_IO_FILE*\29 +3767:sk_error_fn\28png_struct_def*\2c\20char\20const*\29 +3768:setup_masks_arabic_plan\28arabic_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_script_t\29 +3769:set_khr_debug_label\28GrGLGpu*\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +3770:setThrew +3771:serialize_image\28SkImage\20const*\2c\20SkSerialProcs\29 +3772:send_tree +3773:sect_with_vertical\28SkPoint\20const*\2c\20float\29 +3774:sect_with_horizontal\28SkPoint\20const*\2c\20float\29 +3775:scanexp +3776:scalbnl +3777:rewind_if_necessary\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +3778:resolveImplicitLevels\28UBiDi*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +3779:reset_and_decode_image_config\28wuffs_gif__decoder__struct*\2c\20wuffs_base__image_config__struct*\2c\20wuffs_base__io_buffer__struct*\2c\20SkStream*\29 +3780:renderbuffer_storage_msaa\28GrGLGpu*\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +3781:recursive_edge_intersect\28GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20SkPoint*\2c\20double*\2c\20double*\29 +3782:reclassify_vertex\28TriangulationVertex*\2c\20SkPoint\20const*\2c\20int\2c\20ReflexHash*\2c\20SkTInternalLList*\29 +3783:quad_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +3784:quad_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +3785:quad_in_line\28SkPoint\20const*\29 +3786:psh_hint_table_init +3787:psh_hint_table_find_strong_points +3788:psh_hint_table_activate_mask +3789:psh_hint_align +3790:psh_glyph_interpolate_strong_points +3791:psh_glyph_interpolate_other_points +3792:psh_glyph_interpolate_normal_points +3793:psh_blues_set_zones +3794:ps_parser_load_field +3795:ps_dimension_end +3796:ps_dimension_done +3797:ps_builder_start_point +3798:printf_core +3799:premultiply_argb_as_rgba\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3800:premultiply_argb_as_bgra\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3801:position_cluster\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29 +3802:portable::uniform_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3803:portable::set_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3804:portable::memset64\28unsigned\20long\20long*\2c\20unsigned\20long\20long\2c\20int\29 +3805:portable::copy_from_indirect_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3806:portable::copy_2_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3807:portable::check_decal_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3808:pop_arg +3809:pntz +3810:png_inflate +3811:png_deflate_claim +3812:png_decompress_chunk +3813:png_cache_unknown_chunk +3814:operator==\28SkPaint\20const&\2c\20SkPaint\20const&\29 +3815:open_face +3816:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +3817:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +3818:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +3819:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +3820:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::glyphs\28\29\20const +3821:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +3822:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +3823:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +3824:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::size\28\29\20const +3825:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +3826:nearly_equal\28double\2c\20double\29 +3827:mbsrtowcs +3828:map_quad_general\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20SkMatrix\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +3829:make_tiled_gradient\28GrFPArgs\20const&\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +3830:make_premul_effect\28std::__2::unique_ptr>\29 +3831:make_dual_interval_colorizer\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20float\29 +3832:make_clamped_gradient\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20bool\29 +3833:make_bmp_proxy\28GrProxyProvider*\2c\20SkBitmap\20const&\2c\20GrColorType\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +3834:longest_match +3835:long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3836:long\20long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +3837:long\20double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +3838:load_post_names +3839:line_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +3840:line_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +3841:legalfunc$_embind_register_bigint +3842:jpeg_open_backing_store +3843:jpeg_destroy +3844:jpeg_alloc_huff_table +3845:jinit_upsampler +3846:initial_reordering_consonant_syllable\28hb_ot_shape_plan_t\20const*\2c\20hb_face_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +3847:init_error_limit +3848:init_block +3849:image_filter_color_type\28SkColorInfo\20const&\29 +3850:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +3851:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +3852:hb_utf8_t::next\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20int*\2c\20unsigned\20int\29 +3853:hb_unicode_script +3854:hb_unicode_mirroring_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +3855:hb_unicode_funcs_t::is_default_ignorable\28unsigned\20int\29 +3856:hb_shape_plan_key_t::init\28bool\2c\20hb_face_t*\2c\20hb_segment_properties_t\20const*\2c\20hb_feature_t\20const*\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20char\20const*\20const*\29 +3857:hb_shape_plan_create2 +3858:hb_serialize_context_t::fini\28\29 +3859:hb_sanitize_context_t::return_t\20AAT::ChainSubtable::dispatch\28hb_sanitize_context_t*\29\20const +3860:hb_sanitize_context_t::return_t\20AAT::ChainSubtable::dispatch\28hb_sanitize_context_t*\29\20const +3861:hb_paint_extents_paint_linear_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +3862:hb_paint_extents_get_funcs\28\29 +3863:hb_paint_extents_context_t::hb_paint_extents_context_t\28\29 +3864:hb_ot_map_t::fini\28\29 +3865:hb_ot_layout_table_select_script +3866:hb_ot_layout_table_get_lookup_count +3867:hb_ot_layout_table_find_feature_variations +3868:hb_ot_layout_table_find_feature\28hb_face_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +3869:hb_ot_layout_script_select_language +3870:hb_ot_layout_language_get_required_feature +3871:hb_ot_layout_language_find_feature +3872:hb_ot_layout_has_substitution +3873:hb_ot_layout_feature_with_variations_get_lookups +3874:hb_ot_layout_collect_features_map +3875:hb_ot_font_set_funcs +3876:hb_lazy_loader_t\2c\20hb_face_t\2c\2038u\2c\20OT::sbix_accelerator_t>::create\28hb_face_t*\29 +3877:hb_lazy_loader_t\2c\20hb_face_t\2c\207u\2c\20OT::post_accelerator_t>::get\28\29\20const +3878:hb_lazy_loader_t\2c\20hb_face_t\2c\2019u\2c\20hb_blob_t>::get\28\29\20const +3879:hb_lazy_loader_t\2c\20hb_face_t\2c\2035u\2c\20hb_blob_t>::get\28\29\20const +3880:hb_lazy_loader_t\2c\20hb_face_t\2c\2037u\2c\20OT::CBDT_accelerator_t>::get\28\29\20const +3881:hb_lazy_loader_t\2c\20hb_face_t\2c\2032u\2c\20hb_blob_t>::get\28\29\20const +3882:hb_lazy_loader_t\2c\20hb_face_t\2c\2028u\2c\20hb_blob_t>::get\28\29\20const +3883:hb_lazy_loader_t\2c\20hb_face_t\2c\2029u\2c\20hb_blob_t>::get\28\29\20const +3884:hb_language_matches +3885:hb_indic_get_categories\28unsigned\20int\29 +3886:hb_hashmap_t::fetch_item\28hb_serialize_context_t::object_t\20const*\20const&\2c\20unsigned\20int\29\20const +3887:hb_hashmap_t::alloc\28unsigned\20int\29 +3888:hb_font_t::get_glyph_v_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +3889:hb_font_set_variations +3890:hb_font_set_funcs +3891:hb_font_get_variation_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +3892:hb_font_get_glyph_h_advance +3893:hb_font_get_glyph_extents +3894:hb_font_get_font_h_extents_nil\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +3895:hb_font_funcs_set_variation_glyph_func +3896:hb_font_funcs_set_nominal_glyphs_func +3897:hb_font_funcs_set_nominal_glyph_func +3898:hb_font_funcs_set_glyph_h_advances_func +3899:hb_font_funcs_set_glyph_extents_func +3900:hb_font_funcs_create +3901:hb_draw_move_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +3902:hb_draw_funcs_set_quadratic_to_func +3903:hb_draw_funcs_set_move_to_func +3904:hb_draw_funcs_set_line_to_func +3905:hb_draw_funcs_set_cubic_to_func +3906:hb_draw_funcs_destroy +3907:hb_draw_funcs_create +3908:hb_draw_extents_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +3909:hb_buffer_t::sort\28unsigned\20int\2c\20unsigned\20int\2c\20int\20\28*\29\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29\29 +3910:hb_buffer_t::safe_to_insert_tatweel\28unsigned\20int\2c\20unsigned\20int\29 +3911:hb_buffer_t::output_info\28hb_glyph_info_t\20const&\29 +3912:hb_buffer_t::message_impl\28hb_font_t*\2c\20char\20const*\2c\20void*\29 +3913:hb_buffer_t::leave\28\29 +3914:hb_buffer_t::delete_glyphs_inplace\28bool\20\28*\29\28hb_glyph_info_t\20const*\29\29 +3915:hb_buffer_t::clear_positions\28\29 +3916:hb_buffer_set_length +3917:hb_buffer_get_glyph_positions +3918:hb_buffer_diff +3919:hb_buffer_create +3920:hb_buffer_clear_contents +3921:hb_buffer_add_utf8 +3922:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3923:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3924:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3925:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3926:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3927:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +3928:hb_aat_layout_remove_deleted_glyphs\28hb_buffer_t*\29 +3929:hair_cubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +3930:getint +3931:get_win_string +3932:get_dst_swizzle_and_store\28GrColorType\2c\20SkRasterPipelineOp*\2c\20LumMode*\2c\20bool*\2c\20bool*\29 +3933:get_driver_and_version\28GrGLStandard\2c\20GrGLVendor\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +3934:gen_key\28skgpu::KeyBuilder*\2c\20GrProgramInfo\20const&\2c\20GrCaps\20const&\29 +3935:gen_fp_key\28GrFragmentProcessor\20const&\2c\20GrCaps\20const&\2c\20skgpu::KeyBuilder*\29 +3936:gather_uniforms_and_check_for_main\28SkSL::Program\20const&\2c\20std::__2::vector>*\2c\20std::__2::vector>*\2c\20SkRuntimeEffect::Uniform::Flags\2c\20unsigned\20long*\29 +3937:fwrite +3938:ft_var_to_normalized +3939:ft_var_load_item_variation_store +3940:ft_var_load_hvvar +3941:ft_var_load_avar +3942:ft_var_get_value_pointer +3943:ft_var_apply_tuple +3944:ft_validator_init +3945:ft_mem_strcpyn +3946:ft_hash_num_lookup +3947:ft_glyphslot_set_bitmap +3948:ft_glyphslot_preset_bitmap +3949:ft_corner_orientation +3950:ft_corner_is_flat +3951:frexp +3952:fread +3953:fp_force_eval +3954:fp_barrier.1 +3955:fopen +3956:fold_opacity_layer_color_to_paint\28SkPaint\20const*\2c\20bool\2c\20SkPaint*\29 +3957:fmodl +3958:float\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +3959:fill_shadow_rec\28SkPath\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkDrawShadowRec*\29 +3960:fill_inverse_cmap +3961:fileno +3962:examine_app0 +3963:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29\2c\20SkCanvas*\2c\20SkPath*\2c\20SkClipOp\2c\20bool\29 +3964:emscripten::internal::Invoker\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +3965:emscripten::internal::Invoker\2c\20SkBlendMode\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29\2c\20SkBlendMode\2c\20sk_sp*\2c\20sk_sp*\29 +3966:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\29 +3967:emscripten::internal::Invoker\2c\20SkBlendMode>::invoke\28sk_sp\20\28*\29\28SkBlendMode\29\2c\20SkBlendMode\29 +3968:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3969:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\29 +3970:emscripten::internal::FunctionInvoker\29\2c\20void\2c\20SkPaint&\2c\20unsigned\20long\2c\20sk_sp>::invoke\28void\20\28**\29\28SkPaint&\2c\20unsigned\20long\2c\20sk_sp\29\2c\20SkPaint*\2c\20unsigned\20long\2c\20sk_sp*\29 +3971:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29\2c\20SkCanvas*\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +3972:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +3973:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +3974:emscripten::internal::FunctionInvoker\20\28*\29\28SkCanvas&\2c\20SimpleImageInfo\29\2c\20sk_sp\2c\20SkCanvas&\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28**\29\28SkCanvas&\2c\20SimpleImageInfo\29\2c\20SkCanvas*\2c\20SimpleImageInfo*\29 +3975:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\29\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28**\29\28sk_sp\29\2c\20sk_sp*\29 +3976:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20SkPath\20const&\2c\20SkPathOp\29\2c\20SkPath*\2c\20SkPath*\2c\20SkPathOp\29 +3977:embind_init_builtin\28\29 +3978:embind_init_Skia\28\29 +3979:embind_init_Paragraph\28\29::$_0::__invoke\28SimpleParagraphStyle\2c\20sk_sp\29 +3980:embind_init_Paragraph\28\29 +3981:embind_init_ParagraphGen\28\29 +3982:edge_line_needs_recursion\28SkPoint\20const&\2c\20SkPoint\20const&\29 +3983:draw_nine\28SkMask\20const&\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\2c\20bool\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3984:dquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3985:dquad_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3986:double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +3987:dline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3988:dline_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3989:deserialize_image\28sk_sp\2c\20SkDeserialProcs\2c\20std::__2::optional\29 +3990:deflate_stored +3991:decompose_current_character\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\29 +3992:decltype\28std::__2::__unwrap_iter_impl\2c\20true>::__unwrap\28std::declval>\28\29\29\29\20std::__2::__unwrap_iter\5babi:v160004\5d\2c\20std::__2::__unwrap_iter_impl\2c\20true>\2c\200>\28std::__2::__wrap_iter\29 +3993:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::Make\28SkArenaAlloc*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3994:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&\2c\20skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathCurveTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3995:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3996:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker\2c\20int&>\28int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3997:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkShaderBase\20const&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTransformShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3998:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3999:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29>\28GrThreadSafeCache::Entry&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4000:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29 +4001:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrRRectShadowGeoProc::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4002:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28GrQuadEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4003:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrPipeline::InitArgs&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29::'lambda'\28void*\29>\28GrPipeline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4004:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldA8TextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20float\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4005:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29 +4006:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29 +4007:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28CircleGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4008:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +4009:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>>::__generic_construct\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__ctor\2c\20std::__2::unique_ptr>>>&\2c\20std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&>\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&\29 +4010:dcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4011:dcubic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4012:dconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +4013:dconic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +4014:data_destroy_arabic\28void*\29 +4015:data_create_arabic\28hb_ot_shape_plan_t\20const*\29 +4016:cycle +4017:cubic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4018:cubic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4019:create_colorindex +4020:copysignl +4021:copy_bitmap_subset\28SkBitmap\20const&\2c\20SkIRect\20const&\29 +4022:conic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4023:conic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +4024:compute_pos_tan\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +4025:compute_intersection\28OffsetSegment\20const&\2c\20OffsetSegment\20const&\2c\20SkPoint*\2c\20float*\2c\20float*\29 +4026:compress_block +4027:compose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +4028:clipHandlesSprite\28SkRasterClip\20const&\2c\20int\2c\20int\2c\20SkPixmap\20const&\29 +4029:clamp\28SkPoint\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Comparator\20const&\29 +4030:checkint +4031:check_inverse_on_empty_return\28SkRegion*\2c\20SkPath\20const&\2c\20SkRegion\20const&\29 +4032:char*\20std::__2::copy\5babi:v160004\5d\2c\20char*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20char*\29 +4033:char*\20std::__2::copy\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29 +4034:cff_vstore_done +4035:cff_subfont_load +4036:cff_subfont_done +4037:cff_size_select +4038:cff_parser_run +4039:cff_make_private_dict +4040:cff_load_private_dict +4041:cff_index_get_name +4042:cff_get_kerning +4043:cff_blend_build_vector +4044:cf2_getSeacComponent +4045:cf2_computeDarkening +4046:cf2_arrstack_push +4047:cbrt +4048:byn$mgfn-shared$void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +4049:byn$mgfn-shared$void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +4050:byn$mgfn-shared$virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +4051:byn$mgfn-shared$ubidi_getClass_skia +4052:byn$mgfn-shared$t1_hints_open +4053:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +4054:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +4055:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +4056:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +4057:byn$mgfn-shared$std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +4058:byn$mgfn-shared$std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +4059:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +4060:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +4061:byn$mgfn-shared$std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +4062:byn$mgfn-shared$std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +4063:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4064:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4065:byn$mgfn-shared$skia_private::TArray::push_back_raw\28int\29 +4066:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +4067:byn$mgfn-shared$skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4068:byn$mgfn-shared$skgpu::ScratchKey::GenerateResourceType\28\29 +4069:byn$mgfn-shared$skcms_TransferFunction_isPQish +4070:byn$mgfn-shared$setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +4071:byn$mgfn-shared$portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4072:byn$mgfn-shared$portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4073:byn$mgfn-shared$portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4074:byn$mgfn-shared$portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +4075:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4076:byn$mgfn-shared$non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4077:byn$mgfn-shared$make_unpremul_effect\28std::__2::unique_ptr>\29 +4078:byn$mgfn-shared$hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +4079:byn$mgfn-shared$hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +4080:byn$mgfn-shared$embind_init_Skia\28\29::$_75::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +4081:byn$mgfn-shared$embind_init_Skia\28\29::$_72::__invoke\28float\2c\20float\2c\20sk_sp\29 +4082:byn$mgfn-shared$embind_init_Skia\28\29::$_11::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +4083:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +4084:byn$mgfn-shared$decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +4085:byn$mgfn-shared$cf2_stack_pushInt +4086:byn$mgfn-shared$__cxx_global_array_dtor.1 +4087:byn$mgfn-shared$\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +4088:byn$mgfn-shared$\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4089:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4090:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4091:byn$mgfn-shared$\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4092:byn$mgfn-shared$SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +4093:byn$mgfn-shared$SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +4094:byn$mgfn-shared$SkSL::RP::LValue::~LValue\28\29.1 +4095:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +4096:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +4097:byn$mgfn-shared$SkSL::FunctionReference::clone\28SkSL::Position\29\20const +4098:byn$mgfn-shared$SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +4099:byn$mgfn-shared$SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +4100:byn$mgfn-shared$SkSL::ChildCall::clone\28SkSL::Position\29\20const +4101:byn$mgfn-shared$SkRuntimeBlender::~SkRuntimeBlender\28\29.1 +4102:byn$mgfn-shared$SkRuntimeBlender::~SkRuntimeBlender\28\29 +4103:byn$mgfn-shared$SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +4104:byn$mgfn-shared$SkRecorder::onDrawPaint\28SkPaint\20const&\29 +4105:byn$mgfn-shared$SkRecorder::didScale\28float\2c\20float\29 +4106:byn$mgfn-shared$SkRecorder::didConcat44\28SkM44\20const&\29 +4107:byn$mgfn-shared$SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +4108:byn$mgfn-shared$SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +4109:byn$mgfn-shared$SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +4110:byn$mgfn-shared$SkPictureRecord::didConcat44\28SkM44\20const&\29 +4111:byn$mgfn-shared$SkPairPathEffect::~SkPairPathEffect\28\29.1 +4112:byn$mgfn-shared$SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +4113:byn$mgfn-shared$SkJSONWriter::endArray\28\29 +4114:byn$mgfn-shared$SkComposePathEffect::~SkComposePathEffect\28\29 +4115:byn$mgfn-shared$SkColorSpace::MakeSRGB\28\29 +4116:byn$mgfn-shared$SkChopMonoCubicAtY\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +4117:byn$mgfn-shared$OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +4118:byn$mgfn-shared$GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +4119:byn$mgfn-shared$GrPathTessellationShader::Impl::~Impl\28\29 +4120:byn$mgfn-shared$GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +4121:byn$mgfn-shared$GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +4122:byn$mgfn-shared$GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +4123:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +4124:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +4125:byn$mgfn-shared$GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +4126:byn$mgfn-shared$GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +4127:byn$mgfn-shared$GrBicubicEffect::onMakeProgramImpl\28\29\20const +4128:byn$mgfn-shared$Cr_z_inflate_table +4129:byn$mgfn-shared$BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +4130:byn$mgfn-shared$AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +4131:build_ycc_rgb_table +4132:bracketProcessChar\28BracketData*\2c\20int\29 +4133:bracketInit\28UBiDi*\2c\20BracketData*\29 +4134:bool\20std::__2::operator==\5babi:v160004\5d\28std::__2::unique_ptr\20const&\2c\20std::nullptr_t\29 +4135:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::variant\20const&\2c\20std::__2::variant\20const&\29 +4136:bool\20std::__2::__insertion_sort_incomplete\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +4137:bool\20std::__2::__insertion_sort_incomplete<\28anonymous\20namespace\29::EntryComparator&\2c\20\28anonymous\20namespace\29::Entry*>\28\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::Entry*\2c\20\28anonymous\20namespace\29::EntryComparator&\29 +4138:bool\20std::__2::__insertion_sort_incomplete\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +4139:bool\20std::__2::__insertion_sort_incomplete\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +4140:bool\20is_parallel\28SkDLine\20const&\2c\20SkTCurve\20const&\29 +4141:bool\20hb_hashmap_t::set_with_hash\28hb_serialize_context_t::object_t*&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool\29 +4142:bool\20apply_string\28OT::hb_ot_apply_context_t*\2c\20GSUBProxy::Lookup\20const&\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\29 +4143:bool\20OT::hb_accelerate_subtables_context_t::cache_func_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\2c\20bool\29 +4144:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4145:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4146:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4147:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4148:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4149:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4150:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4151:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4152:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4153:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4154:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4155:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4156:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4157:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4158:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4159:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4160:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4161:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +4162:bool\20OT::OffsetTo\2c\20true>::serialize_serialize\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&>\28hb_serialize_context_t*\2c\20hb_map_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&\29 +4163:bool\20GrTTopoSort_Visit\28GrRenderTask*\2c\20unsigned\20int*\29 +4164:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +4165:blend_line\28SkColorType\2c\20void*\2c\20SkColorType\2c\20void\20const*\2c\20SkAlphaType\2c\20bool\2c\20int\29 +4166:bits_to_runs\28SkBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\2c\20long\2c\20unsigned\20char\29 +4167:barycentric_coords\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +4168:auto\20std::__2::__unwrap_range\5babi:v160004\5d\2c\20std::__2::__wrap_iter>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +4169:atanf +4170:apply_forward\28OT::hb_ot_apply_context_t*\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\2c\20unsigned\20int\29 +4171:apply_alpha_and_colorfilter\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20SkPaint\20const&\29 +4172:append_multitexture_lookup\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20int\2c\20GrGLSLVarying\20const&\2c\20char\20const*\2c\20char\20const*\29 +4173:append_color_output\28PorterDuffXferProcessor\20const&\2c\20GrGLSLXPFragmentBuilder*\2c\20skgpu::BlendFormula::OutputType\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +4174:af_loader_compute_darkening +4175:af_latin_metrics_scale_dim +4176:af_latin_hints_detect_features +4177:af_latin_hint_edges +4178:af_hint_normal_stem +4179:af_cjk_metrics_scale_dim +4180:af_cjk_metrics_scale +4181:af_cjk_metrics_init_widths +4182:af_cjk_metrics_check_digits +4183:af_cjk_hints_init +4184:af_cjk_hints_detect_features +4185:af_cjk_hints_compute_blue_edges +4186:af_cjk_hints_apply +4187:af_cjk_hint_edges +4188:af_cjk_get_standard_widths +4189:af_axis_hints_new_edge +4190:adler32 +4191:a_ctz_32 +4192:_iup_worker_interpolate +4193:_hb_preprocess_text_vowel_constraints\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +4194:_hb_ot_shape +4195:_hb_options_init\28\29 +4196:_hb_grapheme_group_func\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29 +4197:_hb_font_create\28hb_face_t*\29 +4198:_hb_fallback_shape +4199:_glyf_get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29 +4200:__vfprintf_internal +4201:__trunctfsf2 +4202:__tan +4203:__rem_pio2_large +4204:__overflow +4205:__newlocale +4206:__math_xflowf +4207:__math_invalidf +4208:__loc_is_allocated +4209:__isxdigit_l +4210:__getf2 +4211:__get_locale +4212:__ftello_unlocked +4213:__fseeko_unlocked +4214:__floatscan +4215:__expo2 +4216:__dynamic_cast +4217:__divtf3 +4218:__cxxabiv1::__base_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +4219:\28anonymous\20namespace\29::write_text_tag\28char\20const*\29 +4220:\28anonymous\20namespace\29::write_mAB_or_mBA_tag\28unsigned\20int\2c\20skcms_Curve\20const*\2c\20skcms_Curve\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20skcms_Curve\20const*\2c\20skcms_Matrix3x4\20const*\29 +4221:\28anonymous\20namespace\29::set_uv_quad\28SkPoint\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +4222:\28anonymous\20namespace\29::safe_to_ignore_subset_rect\28GrAAType\2c\20SkFilterMode\2c\20DrawQuad\20const&\2c\20SkRect\20const&\29 +4223:\28anonymous\20namespace\29::prepare_for_direct_mask_drawing\28SkStrike*\2c\20SkMatrix\20const&\2c\20SkZip\2c\20SkZip\2c\20SkZip\29 +4224:\28anonymous\20namespace\29::morphology_pass\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20\28anonymous\20namespace\29::MorphType\2c\20\28anonymous\20namespace\29::MorphDirection\2c\20int\29 +4225:\28anonymous\20namespace\29::make_non_convex_fill_op\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20skgpu::ganesh::FillPathFlags\2c\20GrAAType\2c\20SkRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\29 +4226:\28anonymous\20namespace\29::is_newer_better\28SkData*\2c\20SkData*\29 +4227:\28anonymous\20namespace\29::get_glyph_run_intercepts\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20float\20const*\2c\20float*\2c\20int*\29 +4228:\28anonymous\20namespace\29::get_cicp_trfn\28skcms_TransferFunction\20const&\29 +4229:\28anonymous\20namespace\29::get_cicp_primaries\28skcms_Matrix3x3\20const&\29 +4230:\28anonymous\20namespace\29::draw_to_sw_mask\28GrSWMaskHelper*\2c\20skgpu::ganesh::ClipStack::Element\20const&\2c\20bool\29 +4231:\28anonymous\20namespace\29::determine_clipped_src_rect\28SkIRect\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkISize\20const&\2c\20SkRect\20const*\29 +4232:\28anonymous\20namespace\29::create_hb_face\28SkTypeface\20const&\29::$_0::__invoke\28void*\29 +4233:\28anonymous\20namespace\29::cpu_blur\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20sk_sp\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_0::operator\28\29\28double\29\20const +4234:\28anonymous\20namespace\29::copyFTBitmap\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\29 +4235:\28anonymous\20namespace\29::colrv1_start_glyph\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20unsigned\20short\2c\20FT_Color_Root_Transform_\2c\20skia_private::THashSet*\29 +4236:\28anonymous\20namespace\29::colrv1_draw_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\29 +4237:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29 +4238:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29 +4239:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29 +4240:\28anonymous\20namespace\29::TriangulatingPathOp::TriangulatingPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +4241:\28anonymous\20namespace\29::TriangulatingPathOp::Triangulate\28GrEagerVertexAllocator*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool*\29 +4242:\28anonymous\20namespace\29::TriangulatingPathOp::CreateKey\28skgpu::UniqueKey*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\29 +4243:\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4244:\28anonymous\20namespace\29::TextureOpImpl::propagateCoverageAAThroughoutChain\28\29 +4245:\28anonymous\20namespace\29::TextureOpImpl::characterize\28\28anonymous\20namespace\29::TextureOpImpl::Desc*\29\20const +4246:\28anonymous\20namespace\29::TextureOpImpl::appendQuad\28DrawQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\29 +4247:\28anonymous\20namespace\29::TextureOpImpl::Make\28GrRecordingContext*\2c\20GrTextureSetEntry*\2c\20int\2c\20int\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20GrAAType\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +4248:\28anonymous\20namespace\29::TextureOpImpl::FillInVertices\28GrCaps\20const&\2c\20\28anonymous\20namespace\29::TextureOpImpl*\2c\20\28anonymous\20namespace\29::TextureOpImpl::Desc*\2c\20char*\29 +4249:\28anonymous\20namespace\29::SpotVerticesFactory::makeVertices\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint*\29\20const +4250:\28anonymous\20namespace\29::SkImageImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +4251:\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4252:\28anonymous\20namespace\29::RunIteratorQueue::advanceRuns\28\29 +4253:\28anonymous\20namespace\29::Pass::blur\28int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +4254:\28anonymous\20namespace\29::MipLevelHelper::allocAndInit\28SkArenaAlloc*\2c\20SkSamplingOptions\20const&\2c\20SkTileMode\2c\20SkTileMode\29 +4255:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29 +4256:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20sk_sp\2c\20GrPrimitiveType\20const*\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +4257:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMesh\20const&\2c\20skia_private::TArray>\2c\20true>\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +4258:\28anonymous\20namespace\29::MeshOp::Mesh::Mesh\28SkMesh\20const&\29 +4259:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29 +4260:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29 +4261:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineStruct\28char\20const*\29 +4262:\28anonymous\20namespace\29::FillRectOpImpl::tessellate\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29\20const +4263:\28anonymous\20namespace\29::FillRectOpImpl::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +4264:\28anonymous\20namespace\29::FillRectOpImpl::FillRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +4265:\28anonymous\20namespace\29::EllipticalRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\29 +4266:\28anonymous\20namespace\29::DrawAtlasOpImpl::DrawAtlasOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrAAType\2c\20int\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\29 +4267:\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29.1 +4268:\28anonymous\20namespace\29::DirectMaskSubRun::~DirectMaskSubRun\28\29 +4269:\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +4270:\28anonymous\20namespace\29::DirectMaskSubRun::glyphCount\28\29\20const +4271:\28anonymous\20namespace\29::DefaultPathOp::programInfo\28\29 +4272:\28anonymous\20namespace\29::DefaultPathOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +4273:\28anonymous\20namespace\29::DefaultPathOp::DefaultPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +4274:\28anonymous\20namespace\29::ClipGeometry\20\28anonymous\20namespace\29::get_clip_geometry\28skgpu::ganesh::ClipStack::SaveRecord\20const&\2c\20skgpu::ganesh::ClipStack::Draw\20const&\29 +4275:\28anonymous\20namespace\29::CircularRRectEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +4276:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29 +4277:\28anonymous\20namespace\29::CachedTessellations::CachedTessellations\28\29 +4278:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29 +4279:\28anonymous\20namespace\29::AAHairlineOp::AAHairlineOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIRect\2c\20float\2c\20GrUserStencilSettings\20const*\29 +4280:WebPResetDecParams +4281:WebPRescalerGetScaledDimensions +4282:WebPMultRows +4283:WebPMultARGBRows +4284:WebPIoInitFromOptions +4285:WebPInitUpsamplers +4286:WebPFlipBuffer +4287:WebPDemuxGetChunk +4288:WebPCopyDecBufferPixels +4289:WebPAllocateDecBuffer +4290:VP8RemapBitReader +4291:VP8LHuffmanTablesAllocate +4292:VP8LDspInit +4293:VP8LConvertFromBGRA +4294:VP8LColorCacheInit +4295:VP8LColorCacheCopy +4296:VP8LBuildHuffmanTable +4297:VP8LBitReaderSetBuffer +4298:VP8InitScanline +4299:VP8GetInfo +4300:VP8BitReaderSetBuffer +4301:Update_Max +4302:TransformOne_C +4303:TT_Set_Named_Instance +4304:TT_Hint_Glyph +4305:StoreFrame +4306:SortContourList\28SkOpContourHead**\2c\20bool\2c\20bool\29 +4307:SkYUVAPixmapInfo::isSupported\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\29\20const +4308:SkWuffsCodec::seekFrame\28int\29 +4309:SkWuffsCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +4310:SkWuffsCodec::onIncrementalDecodeTwoPass\28\29 +4311:SkWuffsCodec::decodeFrameConfig\28\29 +4312:SkWriter32::writeString\28char\20const*\2c\20unsigned\20long\29 +4313:SkWriteICCProfile\28skcms_ICCProfile\20const*\2c\20char\20const*\29 +4314:SkWebpDecoder::IsWebp\28void\20const*\2c\20unsigned\20long\29 +4315:SkWebpCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4316:SkWbmpDecoder::IsWbmp\28void\20const*\2c\20unsigned\20long\29 +4317:SkWbmpCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4318:SkWStream::SizeOfPackedUInt\28unsigned\20long\29 +4319:SkWBuffer::padToAlign4\28\29 +4320:SkVertices::Builder::indices\28\29 +4321:SkUnicode::convertUtf16ToUtf8\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4322:SkUTF::UTF16ToUTF8\28char*\2c\20int\2c\20unsigned\20short\20const*\2c\20unsigned\20long\29 +4323:SkTypeface_FreeType::FaceRec::Make\28SkTypeface_FreeType\20const*\29 +4324:SkTypeface_Custom::onGetFamilyName\28SkString*\29\20const +4325:SkTypeface::textToGlyphs\28void\20const*\2c\20unsigned\20long\2c\20SkTextEncoding\2c\20unsigned\20short*\2c\20int\29\20const +4326:SkTypeface::serialize\28SkWStream*\2c\20SkTypeface::SerializeBehavior\29\20const +4327:SkTypeface::openStream\28int*\29\20const +4328:SkTypeface::getFamilyName\28SkString*\29\20const +4329:SkTransformShader::update\28SkMatrix\20const&\29 +4330:SkTransformShader::SkTransformShader\28SkShaderBase\20const&\2c\20bool\29 +4331:SkTiff::ImageFileDirectory::getEntryRawData\28unsigned\20short\2c\20unsigned\20short*\2c\20unsigned\20short*\2c\20unsigned\20int*\2c\20unsigned\20char\20const**\2c\20unsigned\20long*\29\20const +4332:SkTextBlobBuilder::allocRunPos\28SkFont\20const&\2c\20int\2c\20SkRect\20const*\29 +4333:SkTextBlob::getIntercepts\28float\20const*\2c\20float*\2c\20SkPaint\20const*\29\20const +4334:SkTextBlob::RunRecord::StorageSize\28unsigned\20int\2c\20unsigned\20int\2c\20SkTextBlob::GlyphPositioning\2c\20SkSafeMath*\29 +4335:SkTextBlob::MakeFromText\28void\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20SkTextEncoding\29 +4336:SkTextBlob::MakeFromRSXform\28void\20const*\2c\20unsigned\20long\2c\20SkRSXform\20const*\2c\20SkFont\20const&\2c\20SkTextEncoding\29 +4337:SkTextBlob::Iter::experimentalNext\28SkTextBlob::Iter::ExperimentalRun*\29 +4338:SkTextBlob::Iter::Iter\28SkTextBlob\20const&\29 +4339:SkTaskGroup::wait\28\29 +4340:SkTaskGroup::add\28std::__2::function\29 +4341:SkTSpan::onlyEndPointsInCommon\28SkTSpan\20const*\2c\20bool*\2c\20bool*\2c\20bool*\29 +4342:SkTSpan::linearIntersects\28SkTCurve\20const&\29\20const +4343:SkTSect::removeAllBut\28SkTSpan\20const*\2c\20SkTSpan*\2c\20SkTSect*\29 +4344:SkTSect::intersects\28SkTSpan*\2c\20SkTSect*\2c\20SkTSpan*\2c\20int*\29 +4345:SkTSect::deleteEmptySpans\28\29 +4346:SkTSect::addSplitAt\28SkTSpan*\2c\20double\29 +4347:SkTSect::addForPerp\28SkTSpan*\2c\20double\29 +4348:SkTSect::EndsEqual\28SkTSect\20const*\2c\20SkTSect\20const*\2c\20SkIntersections*\29 +4349:SkTMultiMap::~SkTMultiMap\28\29 +4350:SkTMaskGamma<3\2c\203\2c\203>::SkTMaskGamma\28float\2c\20float\29 +4351:SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::find\28SkImageFilterCacheKey\20const&\29\20const +4352:SkTDStorage::calculateSizeOrDie\28int\29::$_1::operator\28\29\28\29\20const +4353:SkTDStorage::SkTDStorage\28SkTDStorage&&\29 +4354:SkTCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +4355:SkTConic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +4356:SkTConic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +4357:SkTConic::controlsInside\28\29\20const +4358:SkTConic::collapsed\28\29\20const +4359:SkTBlockList::reset\28\29 +4360:SkTBlockList::reset\28\29 +4361:SkTBlockList::push_back\28GrGLProgramDataManager::GLUniformInfo\20const&\29 +4362:SkSwizzler::MakeSimple\28int\2c\20SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +4363:SkSurfaces::WrapPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +4364:SkSurface_Base::outstandingImageSnapshot\28\29\20const +4365:SkSurface_Base::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +4366:SkSurface_Base::onCapabilities\28\29 +4367:SkStrokeRec::setHairlineStyle\28\29 +4368:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20SkPaint::Style\2c\20float\29 +4369:SkStrokeRec::GetInflationRadius\28SkPaint::Join\2c\20float\2c\20SkPaint::Cap\2c\20float\29 +4370:SkString::insertHex\28unsigned\20long\2c\20unsigned\20int\2c\20int\29 +4371:SkString::appendVAList\28char\20const*\2c\20void*\29 +4372:SkString::SkString\28std::__2::basic_string_view>\29 +4373:SkStrikeSpec::SkStrikeSpec\28SkStrikeSpec\20const&\29 +4374:SkStrikeSpec::ShouldDrawAsPath\28SkPaint\20const&\2c\20SkFont\20const&\2c\20SkMatrix\20const&\29 +4375:SkStrSplit\28char\20const*\2c\20char\20const*\2c\20SkStrSplitMode\2c\20skia_private::TArray*\29 +4376:SkStrAppendS32\28char*\2c\20int\29 +4377:SkSpriteBlitter_Memcpy::~SkSpriteBlitter_Memcpy\28\29 +4378:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4379:SkSpecialImages::AsBitmap\28SkSpecialImage\20const*\2c\20SkBitmap*\29 +4380:SkSharedMutex::releaseShared\28\29 +4381:SkShapers::unicode::BidiRunIterator\28sk_sp\2c\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20char\29 +4382:SkShapers::HB::ScriptRunIterator\28char\20const*\2c\20unsigned\20long\29 +4383:SkShaper::MakeStdLanguageRunIterator\28char\20const*\2c\20unsigned\20long\29 +4384:SkShaders::MatrixRec::concat\28SkMatrix\20const&\29\20const +4385:SkShaders::Blend\28sk_sp\2c\20sk_sp\2c\20sk_sp\29 +4386:SkShaderUtils::VisitLineByLine\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::function\20const&\29 +4387:SkShaderUtils::PrettyPrint\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4388:SkShaderUtils::GLSLPrettyPrint::parseUntil\28char\20const*\29 +4389:SkShaderUtils::GLSLPrettyPrint::hasToken\28char\20const*\29 +4390:SkShaderBlurAlgorithm::renderBlur\28SkRuntimeShaderBuilder*\2c\20SkFilterMode\2c\20SkISize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +4391:SkShaderBlurAlgorithm::evalBlur1D\28float\2c\20int\2c\20SkV2\2c\20sk_sp\2c\20SkIRect\2c\20SkTileMode\2c\20SkIRect\29\20const +4392:SkShaderBlurAlgorithm::Compute2DBlurOffsets\28SkISize\2c\20std::__2::array&\29 +4393:SkShaderBlurAlgorithm::Compute2DBlurKernel\28SkSize\2c\20SkISize\2c\20std::__2::array&\29 +4394:SkShaderBlurAlgorithm::Compute1DBlurLinearKernel\28float\2c\20int\2c\20std::__2::array&\29 +4395:SkShaderBase::getFlattenableType\28\29\20const +4396:SkShaderBase::asLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +4397:SkShader::makeWithColorFilter\28sk_sp\29\20const +4398:SkScan::PathRequiresTiling\28SkIRect\20const&\29 +4399:SkScan::HairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +4400:SkScan::AntiFrameRect\28SkRect\20const&\2c\20SkPoint\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4401:SkScan::AntiFillXRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4402:SkScan::AntiFillRect\28SkRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +4403:SkScan::AAAFillPath\28SkPath\20const&\2c\20SkBlitter*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +4404:SkScalerContext_FreeType::updateGlyphBoundsIfSubpixel\28SkGlyph\20const&\2c\20SkRect*\2c\20bool\29 +4405:SkScalerContext_FreeType::shouldSubpixelBitmap\28SkGlyph\20const&\2c\20SkMatrix\20const&\29 +4406:SkScalerContextRec::getSingleMatrix\28SkMatrix*\29\20const +4407:SkScalerContextFTUtils::drawCOLRv1Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +4408:SkScalerContextFTUtils::drawCOLRv0Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +4409:SkScalerContext::internalMakeGlyph\28SkPackedGlyphID\2c\20SkMask::Format\2c\20SkArenaAlloc*\29 +4410:SkScalerContext::internalGetPath\28SkGlyph&\2c\20SkArenaAlloc*\29 +4411:SkScalerContext::getFontMetrics\28SkFontMetrics*\29 +4412:SkScalerContext::SkScalerContext\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +4413:SkScalerContext::PreprocessRec\28SkTypeface\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const&\29 +4414:SkScalerContext::MakeRecAndEffects\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\2c\20SkScalerContextRec*\2c\20SkScalerContextEffects*\29 +4415:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +4416:SkScalerContext::GetMaskPreBlend\28SkScalerContextRec\20const&\29 +4417:SkScalerContext::AutoDescriptorGivenRecAndEffects\28SkScalerContextRec\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkAutoDescriptor*\29 +4418:SkSampledCodec::sampledDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +4419:SkSampledCodec::accountForNativeScaling\28int*\2c\20int*\29\20const +4420:SkSampledCodec::SkSampledCodec\28SkCodec*\29 +4421:SkSL::zero_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\29 +4422:SkSL::type_to_sksltype\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSLType*\29 +4423:SkSL::stoi\28std::__2::basic_string_view>\2c\20long\20long*\29 +4424:SkSL::splat_scalar\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4425:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_2::operator\28\29\28int\29\20const +4426:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_1::operator\28\29\28int\29\20const +4427:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +4428:SkSL::negate_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4429:SkSL::make_reciprocal_expression\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29 +4430:SkSL::index_out_of_range\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20long\20long\2c\20SkSL::Expression\20const&\29 +4431:SkSL::get_struct_definitions_from_module\28SkSL::Program&\2c\20SkSL::Module\20const&\2c\20std::__2::vector>*\29 +4432:SkSL::find_existing_declaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20SkSL::IntrinsicKind\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray>\2c\20true>&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration**\29::$_0::operator\28\29\28\29\20const +4433:SkSL::extract_matrix\28SkSL::Expression\20const*\2c\20float*\29 +4434:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +4435:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_4::operator\28\29\28int\29\20const +4436:SkSL::\28anonymous\20namespace\29::check_valid_uniform_type\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Context\20const&\2c\20bool\29::$_0::operator\28\29\28\29\20const +4437:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +4438:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +4439:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +4440:SkSL::VariableReference::setRefKind\28SkSL::VariableRefKind\29 +4441:SkSL::Variable::setVarDeclaration\28SkSL::VarDeclaration*\29 +4442:SkSL::Variable::setGlobalVarDeclaration\28SkSL::GlobalVarDeclaration*\29 +4443:SkSL::Variable::globalVarDeclaration\28\29\20const +4444:SkSL::Variable::Make\28SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20std::__2::basic_string_view>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20bool\2c\20SkSL::VariableStorage\29 +4445:SkSL::Variable::MakeScratchVariable\28SkSL::Context\20const&\2c\20SkSL::Mangler&\2c\20std::__2::basic_string_view>\2c\20SkSL::Type\20const*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>\29 +4446:SkSL::VarDeclaration::Make\28SkSL::Context\20const&\2c\20SkSL::Variable*\2c\20SkSL::Type\20const*\2c\20int\2c\20std::__2::unique_ptr>\29 +4447:SkSL::VarDeclaration::ErrorCheck\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Type\20const*\2c\20SkSL::VariableStorage\29 +4448:SkSL::TypeReference::description\28SkSL::OperatorPrecedence\29\20const +4449:SkSL::TypeReference::VerifyType\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Position\29 +4450:SkSL::TypeReference::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\29 +4451:SkSL::Type::MakeStructType\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20bool\29 +4452:SkSL::Type::MakeLiteralType\28char\20const*\2c\20SkSL::Type\20const&\2c\20signed\20char\29 +4453:SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::addDeclaringElement\28SkSL::ProgramElement\20const*\29 +4454:SkSL::ToGLSL\28SkSL::Program&\2c\20SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\29 +4455:SkSL::TernaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +4456:SkSL::SymbolTable::insertNewParent\28\29 +4457:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Symbol*\29 +4458:SkSL::Swizzle::MaskString\28skia_private::FixedArray<4\2c\20signed\20char>\20const&\29 +4459:SkSL::SwitchStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +4460:SkSL::SwitchCase::Make\28SkSL::Position\2c\20long\20long\2c\20std::__2::unique_ptr>\29 +4461:SkSL::SwitchCase::MakeDefault\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +4462:SkSL::StructType::StructType\28SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20int\2c\20bool\2c\20bool\29 +4463:SkSL::String::vappendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20void*\29 +4464:SkSL::SingleArgumentConstructor::argumentSpan\28\29 +4465:SkSL::RP::stack_usage\28SkSL::RP::Instruction\20const&\29 +4466:SkSL::RP::UnownedLValueSlice::isWritable\28\29\20const +4467:SkSL::RP::UnownedLValueSlice::dynamicSlotRange\28\29 +4468:SkSL::RP::ScratchLValue::~ScratchLValue\28\29 +4469:SkSL::RP::Program::~Program\28\29 +4470:SkSL::RP::LValue::swizzle\28\29 +4471:SkSL::RP::Generator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\29 +4472:SkSL::RP::Generator::writeFunction\28SkSL::IRNode\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSpan>\20const>\29 +4473:SkSL::RP::Generator::storeImmutableValueToSlots\28skia_private::TArray\20const&\2c\20SkSL::RP::SlotRange\29 +4474:SkSL::RP::Generator::pushVariableReferencePartial\28SkSL::VariableReference\20const&\2c\20SkSL::RP::SlotRange\29 +4475:SkSL::RP::Generator::pushPrefixExpression\28SkSL::Operator\2c\20SkSL::Expression\20const&\29 +4476:SkSL::RP::Generator::pushIntrinsic\28SkSL::IntrinsicKind\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +4477:SkSL::RP::Generator::pushImmutableData\28SkSL::Expression\20const&\29 +4478:SkSL::RP::Generator::pushAbsFloatIntrinsic\28int\29 +4479:SkSL::RP::Generator::getImmutableValueForExpression\28SkSL::Expression\20const&\2c\20skia_private::TArray*\29 +4480:SkSL::RP::Generator::foldWithMultiOp\28SkSL::RP::BuilderOp\2c\20int\29 +4481:SkSL::RP::Generator::findPreexistingImmutableData\28skia_private::TArray\20const&\29 +4482:SkSL::RP::Builder::push_slots_or_immutable_indirect\28SkSL::RP::SlotRange\2c\20int\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +4483:SkSL::RP::Builder::push_condition_mask\28\29 +4484:SkSL::RP::Builder::pad_stack\28int\29 +4485:SkSL::RP::Builder::copy_stack_to_slots\28SkSL::RP::SlotRange\2c\20int\29 +4486:SkSL::RP::Builder::branch_if_any_lanes_active\28int\29 +4487:SkSL::ProgramVisitor::visit\28SkSL::Program\20const&\29 +4488:SkSL::ProgramUsage::remove\28SkSL::Expression\20const*\29 +4489:SkSL::ProgramUsage::add\28SkSL::Statement\20const*\29 +4490:SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +4491:SkSL::Pool::attachToThread\28\29 +4492:SkSL::PipelineStage::PipelineStageCodeGenerator::functionName\28SkSL::FunctionDeclaration\20const&\29 +4493:SkSL::PipelineStage::PipelineStageCodeGenerator::functionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +4494:SkSL::Parser::~Parser\28\29 +4495:SkSL::Parser::varDeclarations\28\29 +4496:SkSL::Parser::varDeclarationsOrExpressionStatement\28\29 +4497:SkSL::Parser::switchCaseBody\28SkSL::ExpressionArray*\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>*\2c\20std::__2::unique_ptr>\29 +4498:SkSL::Parser::statementOrNop\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +4499:SkSL::Parser::shiftExpression\28\29 +4500:SkSL::Parser::relationalExpression\28\29 +4501:SkSL::Parser::parameter\28std::__2::unique_ptr>*\29 +4502:SkSL::Parser::multiplicativeExpression\28\29 +4503:SkSL::Parser::logicalXorExpression\28\29 +4504:SkSL::Parser::logicalAndExpression\28\29 +4505:SkSL::Parser::localVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +4506:SkSL::Parser::intLiteral\28long\20long*\29 +4507:SkSL::Parser::globalVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +4508:SkSL::Parser::equalityExpression\28\29 +4509:SkSL::Parser::directive\28bool\29 +4510:SkSL::Parser::declarations\28\29 +4511:SkSL::Parser::checkNext\28SkSL::Token::Kind\2c\20SkSL::Token*\29 +4512:SkSL::Parser::bitwiseXorExpression\28\29 +4513:SkSL::Parser::bitwiseOrExpression\28\29 +4514:SkSL::Parser::bitwiseAndExpression\28\29 +4515:SkSL::Parser::additiveExpression\28\29 +4516:SkSL::Parser::Parser\28SkSL::Compiler*\2c\20SkSL::ProgramSettings\20const&\2c\20SkSL::ProgramKind\2c\20std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20std::__2::default_delete\2c\20std::__2::allocator>>>\29 +4517:SkSL::MultiArgumentConstructor::argumentSpan\28\29 +4518:SkSL::ModuleLoader::~ModuleLoader\28\29 +4519:SkSL::ModuleLoader::loadVertexModule\28SkSL::Compiler*\29 +4520:SkSL::ModuleLoader::loadSharedModule\28SkSL::Compiler*\29 +4521:SkSL::ModuleLoader::loadPublicModule\28SkSL::Compiler*\29 +4522:SkSL::ModuleLoader::loadGraphiteVertexModule\28SkSL::Compiler*\29 +4523:SkSL::ModuleLoader::loadGraphiteFragmentModule\28SkSL::Compiler*\29 +4524:SkSL::ModuleLoader::loadFragmentModule\28SkSL::Compiler*\29 +4525:SkSL::ModuleLoader::Get\28\29 +4526:SkSL::MatrixType::bitWidth\28\29\20const +4527:SkSL::MakeRasterPipelineProgram\28SkSL::Program\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSL::DebugTracePriv*\2c\20bool\29 +4528:SkSL::Layout::description\28\29\20const +4529:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_length\28std::__2::array\20const&\29 +4530:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_add\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +4531:SkSL::InterfaceBlock::~InterfaceBlock\28\29 +4532:SkSL::Inliner::candidateCanBeInlined\28SkSL::InlineCandidate\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20skia_private::THashMap*\29 +4533:SkSL::IfStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +4534:SkSL::GLSLCodeGenerator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\2c\20bool\29 +4535:SkSL::GLSLCodeGenerator::writeProgramElement\28SkSL::ProgramElement\20const&\29 +4536:SkSL::GLSLCodeGenerator::writeMinAbsHack\28SkSL::Expression&\2c\20SkSL::Expression&\29 +4537:SkSL::GLSLCodeGenerator::generateCode\28\29 +4538:SkSL::FunctionDefinition::~FunctionDefinition\28\29.1 +4539:SkSL::FunctionDefinition::~FunctionDefinition\28\29 +4540:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::visitStatementPtr\28std::__2::unique_ptr>&\29 +4541:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::addLocalVariable\28SkSL::Variable\20const*\2c\20SkSL::Position\29 +4542:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29.1 +4543:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29 +4544:SkSL::FunctionDeclaration::mangledName\28\29\20const +4545:SkSL::FunctionDeclaration::determineFinalTypes\28SkSL::ExpressionArray\20const&\2c\20skia_private::STArray<8\2c\20SkSL::Type\20const*\2c\20true>*\2c\20SkSL::Type\20const**\29\20const +4546:SkSL::FunctionDeclaration::FunctionDeclaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20SkSL::Type\20const*\2c\20SkSL::IntrinsicKind\29 +4547:SkSL::FunctionCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +4548:SkSL::FunctionCall::FindBestFunctionForCall\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const*\2c\20SkSL::ExpressionArray\20const&\29 +4549:SkSL::FunctionCall::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +4550:SkSL::ForStatement::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +4551:SkSL::FindIntrinsicKind\28std::__2::basic_string_view>\29 +4552:SkSL::FieldAccess::~FieldAccess\28\29.1 +4553:SkSL::FieldAccess::~FieldAccess\28\29 +4554:SkSL::ExpressionStatement::Convert\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +4555:SkSL::DoStatement::~DoStatement\28\29.1 +4556:SkSL::DoStatement::~DoStatement\28\29 +4557:SkSL::DebugTracePriv::setSource\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4558:SkSL::ConstructorScalarCast::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +4559:SkSL::ConstructorMatrixResize::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +4560:SkSL::Constructor::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +4561:SkSL::ConstantFolder::Simplify\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +4562:SkSL::Compiler::writeErrorCount\28\29 +4563:SkSL::Compiler::initializeContext\28SkSL::Module\20const*\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\2c\20std::__2::basic_string_view>\2c\20bool\29 +4564:SkSL::Compiler::cleanupContext\28\29 +4565:SkSL::ChildCall::~ChildCall\28\29.1 +4566:SkSL::ChildCall::~ChildCall\28\29 +4567:SkSL::ChildCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Variable\20const&\2c\20SkSL::ExpressionArray\29 +4568:SkSL::BinaryExpression::isAssignmentIntoVariable\28\29 +4569:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\2c\20SkSL::Type\20const*\29 +4570:SkSL::Analysis::\28anonymous\20namespace\29::LoopControlFlowVisitor::visitStatement\28SkSL::Statement\20const&\29 +4571:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29 +4572:SkSL::Analysis::IsConstantExpression\28SkSL::Expression\20const&\29 +4573:SkSL::Analysis::IsAssignable\28SkSL::Expression&\2c\20SkSL::Analysis::AssignmentInfo*\2c\20SkSL::ErrorReporter*\29 +4574:SkSL::Analysis::GetLoopUnrollInfo\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\20const&\2c\20SkSL::Statement\20const*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Expression\20const*\2c\20SkSL::Statement\20const*\2c\20SkSL::ErrorReporter*\29 +4575:SkSL::Analysis::GetLoopControlFlowInfo\28SkSL::Statement\20const&\29 +4576:SkSL::AliasType::numberKind\28\29\20const +4577:SkSL::AliasType::isAllowedInES2\28\29\20const +4578:SkRuntimeShader::~SkRuntimeShader\28\29 +4579:SkRuntimeEffectPriv::WriteChildEffects\28SkWriteBuffer&\2c\20SkSpan\29 +4580:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpaceXformSteps\20const&\29 +4581:SkRuntimeEffect::~SkRuntimeEffect\28\29 +4582:SkRuntimeEffect::makeShader\28sk_sp\2c\20sk_sp*\2c\20unsigned\20long\2c\20SkMatrix\20const*\29\20const +4583:SkRuntimeEffect::makeColorFilter\28sk_sp\2c\20SkSpan\29\20const +4584:SkRuntimeEffect::TracedShader*\20emscripten::internal::raw_constructor\28\29 +4585:SkRuntimeEffect::MakeInternal\28std::__2::unique_ptr>\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +4586:SkRuntimeEffect::ChildPtr&\20skia_private::TArray::emplace_back&>\28sk_sp&\29 +4587:SkRuntimeBlender::flatten\28SkWriteBuffer&\29\20const +4588:SkRgnBuilder::~SkRgnBuilder\28\29 +4589:SkResourceCache::PostPurgeSharedID\28unsigned\20long\20long\29 +4590:SkResourceCache::GetDiscardableFactory\28\29 +4591:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +4592:SkRegion::Spanerator::Spanerator\28SkRegion\20const&\2c\20int\2c\20int\2c\20int\29 +4593:SkRegion::Oper\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\2c\20SkRegion*\29 +4594:SkRefCntSet::~SkRefCntSet\28\29 +4595:SkRefCntBase::internal_dispose\28\29\20const +4596:SkReduceOrder::reduce\28SkDQuad\20const&\29 +4597:SkReduceOrder::Conic\28SkConic\20const&\2c\20SkPoint*\29 +4598:SkRectClipBlitter::requestRowsPreserved\28\29\20const +4599:SkRectClipBlitter::allocBlitMemory\28unsigned\20long\29 +4600:SkRect::intersect\28SkRect\20const&\2c\20SkRect\20const&\29 +4601:SkRecords::TypedMatrix::TypedMatrix\28SkMatrix\20const&\29 +4602:SkRecords::FillBounds::popSaveBlock\28\29 +4603:SkRecordOptimize\28SkRecord*\29 +4604:SkRecordFillBounds\28SkRect\20const&\2c\20SkRecord\20const&\2c\20SkRect*\2c\20SkBBoxHierarchy::Metadata*\29 +4605:SkRecord::bytesUsed\28\29\20const +4606:SkReadPixelsRec::trim\28int\2c\20int\29 +4607:SkReadBuffer::readString\28unsigned\20long*\29 +4608:SkReadBuffer::readRegion\28SkRegion*\29 +4609:SkReadBuffer::readRect\28\29 +4610:SkReadBuffer::readPoint3\28SkPoint3*\29 +4611:SkReadBuffer::readPad32\28void*\2c\20unsigned\20long\29 +4612:SkRasterPipeline_<256ul>::SkRasterPipeline_\28\29 +4613:SkRasterPipeline::tailPointer\28\29 +4614:SkRasterPipeline::appendSetRGB\28SkArenaAlloc*\2c\20float\20const*\29 +4615:SkRasterPipeline::addMemoryContext\28SkRasterPipeline_MemoryCtx*\2c\20int\2c\20bool\2c\20bool\29 +4616:SkRasterClipStack::SkRasterClipStack\28int\2c\20int\29 +4617:SkRTreeFactory::operator\28\29\28\29\20const +4618:SkRTree::search\28SkRTree::Node*\2c\20SkRect\20const&\2c\20std::__2::vector>*\29\20const +4619:SkRTree::bulkLoad\28std::__2::vector>*\2c\20int\29 +4620:SkRTree::allocateNodeAtLevel\28unsigned\20short\29 +4621:SkRSXform::toQuad\28float\2c\20float\2c\20SkPoint*\29\20const +4622:SkRRect::isValid\28\29\20const +4623:SkRRect::computeType\28\29 +4624:SkRGBA4f<\28SkAlphaType\292>\20skgpu::Swizzle::applyTo<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\29\20const +4625:SkRBuffer::skipToAlign4\28\29 +4626:SkQuads::EvalAt\28double\2c\20double\2c\20double\2c\20double\29 +4627:SkQuadraticEdge::setQuadraticWithoutUpdate\28SkPoint\20const*\2c\20int\29 +4628:SkPtrSet::reset\28\29 +4629:SkPtrSet::copyToArray\28void**\29\20const +4630:SkPtrSet::add\28void*\29 +4631:SkPoint::Normalize\28SkPoint*\29 +4632:SkPngEncoder::Make\28SkWStream*\2c\20SkPixmap\20const&\2c\20SkPngEncoder::Options\20const&\29 +4633:SkPngEncoder::Encode\28GrDirectContext*\2c\20SkImage\20const*\2c\20SkPngEncoder::Options\20const&\29 +4634:SkPngCodec::initializeXforms\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +4635:SkPngCodec::initializeSwizzler\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20bool\29 +4636:SkPngCodec::allocateStorage\28SkImageInfo\20const&\29 +4637:SkPixmapUtils::Orient\28SkPixmap\20const&\2c\20SkPixmap\20const&\2c\20SkEncodedOrigin\29 +4638:SkPixmap::erase\28unsigned\20int\2c\20SkIRect\20const&\29\20const +4639:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const +4640:SkPixelRef::getGenerationID\28\29\20const +4641:SkPixelRef::addGenIDChangeListener\28sk_sp\29 +4642:SkPixelRef::SkPixelRef\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +4643:SkPictureShader::CachedImageInfo::makeImage\28sk_sp\2c\20SkPicture\20const*\29\20const +4644:SkPictureShader::CachedImageInfo::Make\28SkRect\20const&\2c\20SkMatrix\20const&\2c\20SkColorType\2c\20SkColorSpace*\2c\20int\2c\20SkSurfaceProps\20const&\29 +4645:SkPictureRecord::endRecording\28\29 +4646:SkPictureRecord::beginRecording\28\29 +4647:SkPicturePriv::Flatten\28sk_sp\2c\20SkWriteBuffer&\29 +4648:SkPicturePlayback::draw\28SkCanvas*\2c\20SkPicture::AbortCallback*\2c\20SkReadBuffer*\29 +4649:SkPictureData::parseBufferTag\28SkReadBuffer&\2c\20unsigned\20int\2c\20unsigned\20int\29 +4650:SkPictureData::getPicture\28SkReadBuffer*\29\20const +4651:SkPictureData::getDrawable\28SkReadBuffer*\29\20const +4652:SkPictureData::flatten\28SkWriteBuffer&\29\20const +4653:SkPictureData::flattenToBuffer\28SkWriteBuffer&\2c\20bool\29\20const +4654:SkPictureData::SkPictureData\28SkPictureRecord\20const&\2c\20SkPictInfo\20const&\29 +4655:SkPicture::backport\28\29\20const +4656:SkPicture::SkPicture\28\29 +4657:SkPicture::MakeFromStreamPriv\28SkStream*\2c\20SkDeserialProcs\20const*\2c\20SkTypefacePlayback*\2c\20int\29 +4658:SkPerlinNoiseShader::getPaintingData\28\29\20const +4659:SkPathWriter::assemble\28\29 +4660:SkPathWriter::SkPathWriter\28SkPath&\29 +4661:SkPathRef::resetToSize\28int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +4662:SkPathRef::SkPathRef\28SkSpan\2c\20SkSpan\2c\20SkSpan\2c\20unsigned\20int\29 +4663:SkPathPriv::IsNestedFillRects\28SkPath\20const&\2c\20SkRect*\2c\20SkPathDirection*\29 +4664:SkPathPriv::CreateDrawArcPath\28SkPath*\2c\20SkArc\20const&\2c\20bool\29 +4665:SkPathEffectBase::PointData::~PointData\28\29 +4666:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +4667:SkPathBuilder::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +4668:SkPath::writeToMemoryAsRRect\28void*\29\20const +4669:SkPath::setLastPt\28float\2c\20float\29 +4670:SkPath::reverseAddPath\28SkPath\20const&\29 +4671:SkPath::readFromMemory\28void\20const*\2c\20unsigned\20long\29 +4672:SkPath::offset\28float\2c\20float\2c\20SkPath*\29\20const +4673:SkPath::isZeroLengthSincePoint\28int\29\20const +4674:SkPath::isRRect\28SkRRect*\29\20const +4675:SkPath::isOval\28SkRect*\29\20const +4676:SkPath::conservativelyContainsRect\28SkRect\20const&\29\20const +4677:SkPath::computeConvexity\28\29\20const +4678:SkPath::addPath\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath::AddPathMode\29 +4679:SkPath::Polygon\28SkPoint\20const*\2c\20int\2c\20bool\2c\20SkPathFillType\2c\20bool\29 +4680:SkPath2DPathEffect::Make\28SkMatrix\20const&\2c\20SkPath\20const&\29 +4681:SkParsePath::ToSVGString\28SkPath\20const&\2c\20SkParsePath::PathEncoding\29::$_0::operator\28\29\28char\2c\20SkPoint\20const*\2c\20unsigned\20long\29\20const +4682:SkParseEncodedOrigin\28void\20const*\2c\20unsigned\20long\2c\20SkEncodedOrigin*\29 +4683:SkPaintPriv::ShouldDither\28SkPaint\20const&\2c\20SkColorType\29 +4684:SkPaintPriv::Overwrites\28SkPaint\20const*\2c\20SkPaintPriv::ShaderOverrideOpacity\29 +4685:SkPaint::setStroke\28bool\29 +4686:SkPaint::reset\28\29 +4687:SkPaint::refColorFilter\28\29\20const +4688:SkOpSpanBase::merge\28SkOpSpan*\29 +4689:SkOpSpanBase::globalState\28\29\20const +4690:SkOpSpan::sortableTop\28SkOpContour*\29 +4691:SkOpSpan::release\28SkOpPtT\20const*\29 +4692:SkOpSpan::insertCoincidence\28SkOpSegment\20const*\2c\20bool\2c\20bool\29 +4693:SkOpSpan::init\28SkOpSegment*\2c\20SkOpSpan*\2c\20double\2c\20SkPoint\20const&\29 +4694:SkOpSegment::updateWindingReverse\28SkOpAngle\20const*\29 +4695:SkOpSegment::oppXor\28\29\20const +4696:SkOpSegment::moveMultiples\28\29 +4697:SkOpSegment::isXor\28\29\20const +4698:SkOpSegment::findNextWinding\28SkTDArray*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +4699:SkOpSegment::findNextOp\28SkTDArray*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\2c\20bool*\2c\20SkPathOp\2c\20int\2c\20int\29 +4700:SkOpSegment::computeSum\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpAngle::IncludeType\29 +4701:SkOpSegment::collapsed\28double\2c\20double\29\20const +4702:SkOpSegment::addExpanded\28double\2c\20SkOpSpanBase\20const*\2c\20bool*\29 +4703:SkOpSegment::activeAngle\28SkOpSpanBase*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +4704:SkOpSegment::UseInnerWinding\28int\2c\20int\29 +4705:SkOpPtT::ptAlreadySeen\28SkOpPtT\20const*\29\20const +4706:SkOpPtT::contains\28SkOpSegment\20const*\2c\20double\29\20const +4707:SkOpGlobalState::SkOpGlobalState\28SkOpContourHead*\2c\20SkArenaAlloc*\29 +4708:SkOpEdgeBuilder::preFetch\28\29 +4709:SkOpEdgeBuilder::init\28\29 +4710:SkOpEdgeBuilder::finish\28\29 +4711:SkOpContourBuilder::addConic\28SkPoint*\2c\20float\29 +4712:SkOpContour::addQuad\28SkPoint*\29 +4713:SkOpContour::addCubic\28SkPoint*\29 +4714:SkOpContour::addConic\28SkPoint*\2c\20float\29 +4715:SkOpCoincidence::release\28SkOpSegment\20const*\29 +4716:SkOpCoincidence::mark\28\29 +4717:SkOpCoincidence::markCollapsed\28SkCoincidentSpans*\2c\20SkOpPtT*\29 +4718:SkOpCoincidence::fixUp\28SkCoincidentSpans*\2c\20SkOpPtT*\2c\20SkOpPtT\20const*\29 +4719:SkOpCoincidence::contains\28SkCoincidentSpans\20const*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\29\20const +4720:SkOpCoincidence::checkOverlap\28SkCoincidentSpans*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20SkTDArray*\29\20const +4721:SkOpCoincidence::addOrOverlap\28SkOpSegment*\2c\20SkOpSegment*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20bool*\29 +4722:SkOpAngle::tangentsDiverge\28SkOpAngle\20const*\2c\20double\29 +4723:SkOpAngle::setSpans\28\29 +4724:SkOpAngle::setSector\28\29 +4725:SkOpAngle::previous\28\29\20const +4726:SkOpAngle::midToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +4727:SkOpAngle::loopCount\28\29\20const +4728:SkOpAngle::loopContains\28SkOpAngle\20const*\29\20const +4729:SkOpAngle::lastMarked\28\29\20const +4730:SkOpAngle::endToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +4731:SkOpAngle::alignmentSameSide\28SkOpAngle\20const*\2c\20int*\29\20const +4732:SkOpAngle::after\28SkOpAngle*\29 +4733:SkOffsetSimplePolygon\28SkPoint\20const*\2c\20int\2c\20SkRect\20const&\2c\20float\2c\20SkTDArray*\2c\20SkTDArray*\29 +4734:SkNoDrawCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +4735:SkNoDrawCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +4736:SkMipmapBuilder::countLevels\28\29\20const +4737:SkMipmap::countLevels\28\29\20const +4738:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +4739:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +4740:SkMeshPriv::CpuBuffer::size\28\29\20const +4741:SkMeshPriv::CpuBuffer::peek\28\29\20const +4742:SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +4743:SkMatrix::setRotate\28float\2c\20float\2c\20float\29 +4744:SkMatrix::mapRectScaleTranslate\28SkRect*\2c\20SkRect\20const&\29\20const +4745:SkMatrix::isFinite\28\29\20const +4746:SkMatrix::RotTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +4747:SkMaskSwizzler::swizzle\28void*\2c\20unsigned\20char\20const*\29 +4748:SkMaskFilterBase::NinePatch::~NinePatch\28\29 +4749:SkMask::computeTotalImageSize\28\29\20const +4750:SkMakeResourceCacheSharedIDForBitmap\28unsigned\20int\29 +4751:SkMD5::finish\28\29 +4752:SkMD5::SkMD5\28\29 +4753:SkMD5::Digest::toHexString\28\29\20const +4754:SkM44::preTranslate\28float\2c\20float\2c\20float\29 +4755:SkM44::postTranslate\28float\2c\20float\2c\20float\29 +4756:SkLocalMatrixShader::type\28\29\20const +4757:SkLinearColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +4758:SkLineParameters::cubicEndPoints\28SkDCubic\20const&\29 +4759:SkLatticeIter::SkLatticeIter\28SkCanvas::Lattice\20const&\2c\20SkRect\20const&\29 +4760:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::~SkLRUCache\28\29 +4761:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::reset\28\29 +4762:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::insert\28GrProgramDesc\20const&\2c\20std::__2::unique_ptr>\29 +4763:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_matrix_conv_effect\28SkKnownRuntimeEffects::\28anonymous\20namespace\29::MatrixConvolutionImpl\2c\20SkRuntimeEffect::Options\20const&\29::$_0::operator\28\29\28int\2c\20SkRuntimeEffect::Options\20const&\29\20const +4764:SkJpegMetadataDecoderImpl::SkJpegMetadataDecoderImpl\28std::__2::vector>\29 +4765:SkJpegDecoder::IsJpeg\28void\20const*\2c\20unsigned\20long\29 +4766:SkJpegCodec::readRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20SkCodec::Options\20const&\29 +4767:SkJpegCodec::initializeSwizzler\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\2c\20bool\29 +4768:SkIsSimplePolygon\28SkPoint\20const*\2c\20int\29 +4769:SkIsConvexPolygon\28SkPoint\20const*\2c\20int\29 +4770:SkInvert4x4Matrix\28float\20const*\2c\20float*\29 +4771:SkInvert3x3Matrix\28float\20const*\2c\20float*\29 +4772:SkInvert2x2Matrix\28float\20const*\2c\20float*\29 +4773:SkIntersections::vertical\28SkDQuad\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4774:SkIntersections::vertical\28SkDLine\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4775:SkIntersections::vertical\28SkDCubic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4776:SkIntersections::vertical\28SkDConic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4777:SkIntersections::mostOutside\28double\2c\20double\2c\20SkDPoint\20const&\29\20const +4778:SkIntersections::intersect\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +4779:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDQuad\20const&\29 +4780:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +4781:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDConic\20const&\29 +4782:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDQuad\20const&\29 +4783:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDLine\20const&\29 +4784:SkIntersections::insertCoincident\28double\2c\20double\2c\20SkDPoint\20const&\29 +4785:SkIntersections::horizontal\28SkDQuad\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4786:SkIntersections::horizontal\28SkDLine\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4787:SkIntersections::horizontal\28SkDCubic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4788:SkIntersections::horizontal\28SkDConic\20const&\2c\20double\2c\20double\2c\20double\2c\20bool\29 +4789:SkImages::RasterFromPixmap\28SkPixmap\20const&\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +4790:SkImages::RasterFromData\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\29 +4791:SkImages::DeferredFromGenerator\28std::__2::unique_ptr>\29 +4792:SkImage_Raster::onPeekBitmap\28\29\20const +4793:SkImage_Lazy::~SkImage_Lazy\28\29.1 +4794:SkImage_Lazy::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +4795:SkImage_GaneshBase::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +4796:SkImage_Base::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +4797:SkImage_Base::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +4798:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_1::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +4799:SkImageInfo::validRowBytes\28unsigned\20long\29\20const +4800:SkImageInfo::MakeN32Premul\28int\2c\20int\29 +4801:SkImageGenerator::~SkImageGenerator\28\29.1 +4802:SkImageFilters::ColorFilter\28sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +4803:SkImageFilter_Base::getCTMCapability\28\29\20const +4804:SkImageFilterCache::Get\28SkImageFilterCache::CreateIfNecessary\29 +4805:SkImageFilter::computeFastBounds\28SkRect\20const&\29\20const +4806:SkImage::withMipmaps\28sk_sp\29\20const +4807:SkImage::peekPixels\28SkPixmap*\29\20const +4808:SkImage::height\28\29\20const +4809:SkIcoDecoder::IsIco\28void\20const*\2c\20unsigned\20long\29 +4810:SkIcoCodec::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::Result*\29 +4811:SkGradientBaseShader::~SkGradientBaseShader\28\29 +4812:SkGradientBaseShader::AppendGradientFillStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const*\2c\20float\20const*\2c\20int\29 +4813:SkGlyphRunListPainterCPU::SkGlyphRunListPainterCPU\28SkSurfaceProps\20const&\2c\20SkColorType\2c\20SkColorSpace*\29 +4814:SkGlyph::setImage\28SkArenaAlloc*\2c\20SkScalerContext*\29 +4815:SkGlyph::setDrawable\28SkArenaAlloc*\2c\20SkScalerContext*\29 +4816:SkGlyph::pathIsHairline\28\29\20const +4817:SkGlyph::mask\28SkPoint\29\20const +4818:SkGlyph::SkGlyph\28SkGlyph&&\29 +4819:SkGifDecoder::MakeFromStream\28std::__2::unique_ptr>\2c\20SkCodec::SelectionPolicy\2c\20SkCodec::Result*\29 +4820:SkGifDecoder::IsGif\28void\20const*\2c\20unsigned\20long\29 +4821:SkGenerateDistanceFieldFromA8Image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20unsigned\20long\29 +4822:SkGaussFilter::SkGaussFilter\28double\29 +4823:SkFrameHolder::setAlphaAndRequiredFrame\28SkFrame*\29 +4824:SkFrame::fillIn\28SkCodec::FrameInfo*\2c\20bool\29\20const +4825:SkFontStyleSet_Custom::appendTypeface\28sk_sp\29 +4826:SkFontStyleSet_Custom::SkFontStyleSet_Custom\28SkString\29 +4827:SkFontScanner_FreeType::scanInstance\28SkStreamAsset*\2c\20int\2c\20int\2c\20SkString*\2c\20SkFontStyle*\2c\20bool*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29\20const +4828:SkFontScanner_FreeType::computeAxisValues\28skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>\2c\20SkFontArguments::VariationPosition\2c\20int*\2c\20SkString\20const&\2c\20SkFontStyle*\2c\20SkFontArguments::VariationPosition::Coordinate\20const*\29 +4829:SkFontScanner_FreeType::SkFontScanner_FreeType\28\29 +4830:SkFontPriv::GetFontBounds\28SkFont\20const&\29 +4831:SkFontMgr::matchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +4832:SkFontMgr::makeFromStream\28std::__2::unique_ptr>\2c\20int\29\20const +4833:SkFontMgr::makeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +4834:SkFontMgr::legacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +4835:SkFontDescriptor::SkFontStyleWidthForWidthAxisValue\28float\29 +4836:SkFontDescriptor::SkFontDescriptor\28\29 +4837:SkFont::setupForAsPaths\28SkPaint*\29 +4838:SkFont::setSkewX\28float\29 +4839:SkFont::setLinearMetrics\28bool\29 +4840:SkFont::setEmbolden\28bool\29 +4841:SkFont::operator==\28SkFont\20const&\29\20const +4842:SkFont::getPaths\28unsigned\20short\20const*\2c\20int\2c\20void\20\28*\29\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29\2c\20void*\29\20const +4843:SkFlattenable::RegisterFlattenablesIfNeeded\28\29 +4844:SkFlattenable::PrivateInitializer::InitEffects\28\29 +4845:SkFlattenable::NameToFactory\28char\20const*\29 +4846:SkFlattenable::FactoryToName\28sk_sp\20\28*\29\28SkReadBuffer&\29\29 +4847:SkFindQuadExtrema\28float\2c\20float\2c\20float\2c\20float*\29 +4848:SkFindCubicExtrema\28float\2c\20float\2c\20float\2c\20float\2c\20float*\29 +4849:SkFactorySet::~SkFactorySet\28\29 +4850:SkEncoder::encodeRows\28int\29 +4851:SkEdgeClipper::clipQuad\28SkPoint\20const*\2c\20SkRect\20const&\29 +4852:SkEdgeClipper::ClipPath\28SkPath\20const&\2c\20SkRect\20const&\2c\20bool\2c\20void\20\28*\29\28SkEdgeClipper*\2c\20bool\2c\20void*\29\2c\20void*\29 +4853:SkEdgeBuilder::buildEdges\28SkPath\20const&\2c\20SkIRect\20const*\29 +4854:SkDynamicMemoryWStream::bytesWritten\28\29\20const +4855:SkDrawableList::newDrawableSnapshot\28\29 +4856:SkDrawTreatAAStrokeAsHairline\28float\2c\20SkMatrix\20const&\2c\20float*\29 +4857:SkDrawShadowMetrics::GetSpotShadowTransform\28SkPoint3\20const&\2c\20float\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkRect\20const&\2c\20bool\2c\20SkMatrix*\2c\20float*\29 +4858:SkDrawShadowMetrics::GetLocalBounds\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect*\29 +4859:SkDrawBase::drawPaint\28SkPaint\20const&\29\20const +4860:SkDrawBase::DrawToMask\28SkPath\20const&\2c\20SkIRect\20const&\2c\20SkMaskFilter\20const*\2c\20SkMatrix\20const*\2c\20SkMaskBuilder*\2c\20SkMaskBuilder::CreateMode\2c\20SkStrokeRec::InitStyle\29 +4861:SkDraw::drawSprite\28SkBitmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29\20const +4862:SkDiscretePathEffectImpl::flatten\28SkWriteBuffer&\29\20const +4863:SkDiscretePathEffect::Make\28float\2c\20float\2c\20unsigned\20int\29 +4864:SkDevice::getRelativeTransform\28SkDevice\20const&\29\20const +4865:SkDevice::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +4866:SkDevice::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +4867:SkDevice::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +4868:SkDevice::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +4869:SkDescriptor::addEntry\28unsigned\20int\2c\20unsigned\20long\2c\20void\20const*\29 +4870:SkDeque::Iter::next\28\29 +4871:SkDeque::Iter::Iter\28SkDeque\20const&\2c\20SkDeque::Iter::IterStart\29 +4872:SkData::MakeSubset\28SkData\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +4873:SkDashPath::InternalFilter\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20float\20const*\2c\20int\2c\20float\2c\20int\2c\20float\2c\20float\2c\20SkDashPath::StrokeRecApplication\29 +4874:SkDashPath::CalcDashParameters\28float\2c\20float\20const*\2c\20int\2c\20float*\2c\20int*\2c\20float*\2c\20float*\29 +4875:SkDRect::setBounds\28SkDQuad\20const&\2c\20SkDQuad\20const&\2c\20double\2c\20double\29 +4876:SkDRect::setBounds\28SkDCubic\20const&\2c\20SkDCubic\20const&\2c\20double\2c\20double\29 +4877:SkDRect::setBounds\28SkDConic\20const&\2c\20SkDConic\20const&\2c\20double\2c\20double\29 +4878:SkDQuad::subDivide\28double\2c\20double\29\20const +4879:SkDQuad::monotonicInY\28\29\20const +4880:SkDQuad::isLinear\28int\2c\20int\29\20const +4881:SkDQuad::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +4882:SkDPoint::approximatelyDEqual\28SkDPoint\20const&\29\20const +4883:SkDCurveSweep::setCurveHullSweep\28SkPath::Verb\29 +4884:SkDCurve::nearPoint\28SkPath::Verb\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29\20const +4885:SkDCubic::monotonicInX\28\29\20const +4886:SkDCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +4887:SkDCubic::hullIntersects\28SkDPoint\20const*\2c\20int\2c\20bool*\29\20const +4888:SkDConic::subDivide\28double\2c\20double\29\20const +4889:SkCubics::RootsReal\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +4890:SkCubicEdge::setCubicWithoutUpdate\28SkPoint\20const*\2c\20int\2c\20bool\29 +4891:SkCubicClipper::ChopMonoAtY\28SkPoint\20const*\2c\20float\2c\20float*\29 +4892:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20SkArenaAlloc*\2c\20sk_sp\29 +4893:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkArenaAlloc*\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4894:SkContourMeasureIter::~SkContourMeasureIter\28\29 +4895:SkContourMeasureIter::SkContourMeasureIter\28SkPath\20const&\2c\20bool\2c\20float\29 +4896:SkContourMeasure::length\28\29\20const +4897:SkContourMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29\20const +4898:SkConic::BuildUnitArc\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkRotationDirection\2c\20SkMatrix\20const*\2c\20SkConic*\29 +4899:SkComputeRadialSteps\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float*\2c\20float*\2c\20int*\29 +4900:SkCompressedDataSize\28SkTextureCompressionType\2c\20SkISize\2c\20skia_private::TArray*\2c\20bool\29 +4901:SkColorTypeValidateAlphaType\28SkColorType\2c\20SkAlphaType\2c\20SkAlphaType*\29 +4902:SkColorSpaceSingletonFactory::Make\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +4903:SkColorSpaceLuminance::Fetch\28float\29 +4904:SkColorSpace::toProfile\28skcms_ICCProfile*\29\20const +4905:SkColorSpace::makeLinearGamma\28\29\20const +4906:SkColorSpace::isSRGB\28\29\20const +4907:SkColorMatrix_RGB2YUV\28SkYUVColorSpace\2c\20float*\29 +4908:SkColorInfo::makeColorSpace\28sk_sp\29\20const +4909:SkColorFilterShader::SkColorFilterShader\28sk_sp\2c\20float\2c\20sk_sp\29 +4910:SkColor4fXformer::SkColor4fXformer\28SkGradientBaseShader\20const*\2c\20SkColorSpace*\2c\20bool\29 +4911:SkCoincidentSpans::extend\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\29 +4912:SkCodecs::get_decoders_for_editing\28\29 +4913:SkCodec::outputScanline\28int\29\20const +4914:SkCodec::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +4915:SkCodec::initializeColorXform\28SkImageInfo\20const&\2c\20SkEncodedInfo::Alpha\2c\20bool\29 +4916:SkChopQuadAtMaxCurvature\28SkPoint\20const*\2c\20SkPoint*\29 +4917:SkChopQuadAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +4918:SkChopMonoCubicAtX\28SkPoint\20const*\2c\20float\2c\20SkPoint*\29 +4919:SkChopCubicAtInflections\28SkPoint\20const*\2c\20SkPoint*\29 +4920:SkCharToGlyphCache::findGlyphIndex\28int\29\20const +4921:SkCanvasPriv::WriteLattice\28void*\2c\20SkCanvas::Lattice\20const&\29 +4922:SkCanvasPriv::ReadLattice\28SkReadBuffer&\2c\20SkCanvas::Lattice*\29 +4923:SkCanvasPriv::GetDstClipAndMatrixCounts\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20int*\2c\20int*\29 +4924:SkCanvas::~SkCanvas\28\29 +4925:SkCanvas::skew\28float\2c\20float\29 +4926:SkCanvas::only_axis_aligned_saveBehind\28SkRect\20const*\29 +4927:SkCanvas::getDeviceClipBounds\28\29\20const +4928:SkCanvas::experimental_DrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +4929:SkCanvas::drawVertices\28sk_sp\20const&\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +4930:SkCanvas::drawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +4931:SkCanvas::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +4932:SkCanvas::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +4933:SkCanvas::drawImageNine\28SkImage\20const*\2c\20SkIRect\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +4934:SkCanvas::drawClippedToSaveBehind\28SkPaint\20const&\29 +4935:SkCanvas::drawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +4936:SkCanvas::didTranslate\28float\2c\20float\29 +4937:SkCanvas::clipShader\28sk_sp\2c\20SkClipOp\29 +4938:SkCanvas::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +4939:SkCanvas::SkCanvas\28sk_sp\29 +4940:SkCanvas::ImageSetEntry::ImageSetEntry\28\29 +4941:SkCachedData::SkCachedData\28void*\2c\20unsigned\20long\29 +4942:SkCachedData::SkCachedData\28unsigned\20long\2c\20SkDiscardableMemory*\29 +4943:SkCTMShader::isOpaque\28\29\20const +4944:SkBulkGlyphMetricsAndPaths::glyphs\28SkSpan\29 +4945:SkBmpStandardCodec::decodeIcoMask\28SkStream*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +4946:SkBmpMaskCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +4947:SkBmpDecoder::IsBmp\28void\20const*\2c\20unsigned\20long\29 +4948:SkBmpCodec::SkBmpCodec\28SkEncodedInfo&&\2c\20std::__2::unique_ptr>\2c\20unsigned\20short\2c\20SkCodec::SkScanlineOrder\29 +4949:SkBmpBaseCodec::SkBmpBaseCodec\28SkEncodedInfo&&\2c\20std::__2::unique_ptr>\2c\20unsigned\20short\2c\20SkCodec::SkScanlineOrder\29 +4950:SkBlurMask::ConvertRadiusToSigma\28float\29 +4951:SkBlurMask::ComputeBlurredScanline\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20unsigned\20int\2c\20float\29 +4952:SkBlurMask::BlurRect\28float\2c\20SkMaskBuilder*\2c\20SkRect\20const&\2c\20SkBlurStyle\2c\20SkIPoint*\2c\20SkMaskBuilder::CreateMode\29 +4953:SkBlockMemoryStream::getPosition\28\29\20const +4954:SkBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +4955:SkBlitter::Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +4956:SkBlitter::ChooseSprite\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkArenaAlloc*\2c\20sk_sp\29 +4957:SkBlenderBase::affectsTransparentBlack\28\29\20const +4958:SkBlendShader::~SkBlendShader\28\29.1 +4959:SkBlendShader::~SkBlendShader\28\29 +4960:SkBitmapImageGetPixelRef\28SkImage\20const*\29 +4961:SkBitmapDevice::SkBitmapDevice\28SkBitmap\20const&\2c\20SkSurfaceProps\20const&\2c\20void*\29 +4962:SkBitmapDevice::Create\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\2c\20SkRasterHandleAllocator*\29 +4963:SkBitmapCache::Rec::install\28SkBitmap*\29 +4964:SkBitmapCache::Rec::diagnostic_only_getDiscardable\28\29\20const +4965:SkBitmapCache::Find\28SkBitmapCacheDesc\20const&\2c\20SkBitmap*\29 +4966:SkBitmapCache::Alloc\28SkBitmapCacheDesc\20const&\2c\20SkImageInfo\20const&\2c\20SkPixmap*\29 +4967:SkBitmapCache::Add\28std::__2::unique_ptr\2c\20SkBitmap*\29 +4968:SkBitmap::setPixelRef\28sk_sp\2c\20int\2c\20int\29 +4969:SkBitmap::setAlphaType\28SkAlphaType\29 +4970:SkBitmap::reset\28\29 +4971:SkBitmap::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +4972:SkBitmap::getAddr\28int\2c\20int\29\20const +4973:SkBitmap::allocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29::$_0::operator\28\29\28\29\20const +4974:SkBitmap::HeapAllocator::allocPixelRef\28SkBitmap*\29 +4975:SkBinaryWriteBuffer::writeFlattenable\28SkFlattenable\20const*\29 +4976:SkBinaryWriteBuffer::writeColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +4977:SkBigPicture::SkBigPicture\28SkRect\20const&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20sk_sp\2c\20unsigned\20long\29 +4978:SkBezierQuad::IntersectWithHorizontalLine\28SkSpan\2c\20float\2c\20float*\29 +4979:SkBezierCubic::IntersectWithHorizontalLine\28SkSpan\2c\20float\2c\20float*\29 +4980:SkBasicEdgeBuilder::~SkBasicEdgeBuilder\28\29 +4981:SkBaseShadowTessellator::finishPathPolygon\28\29 +4982:SkBaseShadowTessellator::computeConvexShadow\28float\2c\20float\2c\20bool\29 +4983:SkBaseShadowTessellator::computeConcaveShadow\28float\2c\20float\29 +4984:SkBaseShadowTessellator::clipUmbraPoint\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint*\29 +4985:SkBaseShadowTessellator::addInnerPoint\28SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20int*\29 +4986:SkBaseShadowTessellator::addEdge\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20bool\2c\20bool\29 +4987:SkBaseShadowTessellator::addArc\28SkPoint\20const&\2c\20float\2c\20bool\29 +4988:SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint\28\29 +4989:SkAutoCanvasMatrixPaint::SkAutoCanvasMatrixPaint\28SkCanvas*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\2c\20SkRect\20const&\29 +4990:SkAndroidCodecAdapter::~SkAndroidCodecAdapter\28\29 +4991:SkAndroidCodecAdapter::SkAndroidCodecAdapter\28SkCodec*\29 +4992:SkAndroidCodec::~SkAndroidCodec\28\29 +4993:SkAndroidCodec::getAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const*\29 +4994:SkAndroidCodec::SkAndroidCodec\28SkCodec*\29 +4995:SkAnalyticEdge::update\28int\2c\20bool\29 +4996:SkAnalyticEdge::updateLine\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +4997:SkAnalyticEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\29 +4998:SkAAClip::operator=\28SkAAClip\20const&\29 +4999:SkAAClip::op\28SkIRect\20const&\2c\20SkClipOp\29 +5000:SkAAClip::Builder::flushRow\28bool\29 +5001:SkAAClip::Builder::finish\28SkAAClip*\29 +5002:SkAAClip::Builder::Blitter::~Blitter\28\29 +5003:SkAAClip::Builder::Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +5004:Sk2DPathEffect::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +5005:SimpleImageInfo*\20emscripten::internal::raw_constructor\28\29 +5006:SimpleFontStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleFontStyle\20SimpleStrutStyle::*\20const&\2c\20SimpleStrutStyle\20const&\29 +5007:SharedGenerator::isTextureGenerator\28\29 +5008:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29.1 +5009:RgnOper::addSpan\28int\2c\20int\20const*\2c\20int\20const*\29 +5010:PorterDuffXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +5011:PathSegment::init\28\29 +5012:PathAddVerbsPointsWeights\28SkPath&\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +5013:ParseSingleImage +5014:ParseHeadersInternal +5015:PS_Conv_ASCIIHexDecode +5016:Op\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\2c\20SkPath*\29 +5017:OpAsWinding::markReverse\28Contour*\2c\20Contour*\29 +5018:OpAsWinding::getDirection\28Contour&\29 +5019:OpAsWinding::checkContainerChildren\28Contour*\2c\20Contour*\29 +5020:OffsetEdge::computeCrossingDistance\28OffsetEdge\20const*\29 +5021:OT::sbix::accelerator_t::get_png_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +5022:OT::sbix::accelerator_t::choose_strike\28hb_font_t*\29\20const +5023:OT::hmtxvmtx::accelerator_t::accelerator_t\28hb_face_t*\29 +5024:OT::hmtxvmtx::accelerator_t::get_advance_with_var_unscaled\28unsigned\20int\2c\20hb_font_t*\2c\20float*\29\20const +5025:OT::hmtxvmtx::accelerator_t::accelerator_t\28hb_face_t*\29 +5026:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GPOS_impl::PosLookup\20const&\29 +5027:OT::hb_kern_machine_t::kern\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20bool\29\20const +5028:OT::hb_accelerate_subtables_context_t::return_t\20OT::Context::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +5029:OT::hb_accelerate_subtables_context_t::return_t\20OT::ChainContext::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +5030:OT::glyf_accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\29\20const +5031:OT::glyf_accelerator_t::get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29\20const +5032:OT::cmap::accelerator_t::get_variation_glyph\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_cache_t<21u\2c\2016u\2c\208u\2c\20true>*\29\20const +5033:OT::cff2::accelerator_templ_t>::accelerator_templ_t\28hb_face_t*\29 +5034:OT::cff2::accelerator_templ_t>::_fini\28\29 +5035:OT::cff1::lookup_expert_subset_charset_for_sid\28unsigned\20int\29 +5036:OT::cff1::lookup_expert_charset_for_sid\28unsigned\20int\29 +5037:OT::cff1::accelerator_templ_t>::~accelerator_templ_t\28\29 +5038:OT::cff1::accelerator_templ_t>::_fini\28\29 +5039:OT::TupleVariationData::unpack_points\28OT::IntType\20const*&\2c\20hb_vector_t&\2c\20OT::IntType\20const*\29 +5040:OT::SBIXStrike::get_glyph_blob\28unsigned\20int\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +5041:OT::RuleSet::sanitize\28hb_sanitize_context_t*\29\20const +5042:OT::RuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +5043:OT::RecordListOf::sanitize\28hb_sanitize_context_t*\29\20const +5044:OT::RecordListOf::sanitize\28hb_sanitize_context_t*\29\20const +5045:OT::PaintTranslate::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5046:OT::PaintSolid::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5047:OT::PaintSkewAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5048:OT::PaintSkew::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5049:OT::PaintScaleUniformAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5050:OT::PaintScaleUniform::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5051:OT::PaintScaleAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5052:OT::PaintScale::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5053:OT::PaintRotateAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5054:OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +5055:OT::PaintLinearGradient::sanitize\28hb_sanitize_context_t*\29\20const +5056:OT::Lookup::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +5057:OT::Layout::propagate_attachment_offsets\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +5058:OT::Layout::GSUB_impl::MultipleSubstFormat1_2::sanitize\28hb_sanitize_context_t*\29\20const +5059:OT::Layout::GSUB_impl::Ligature::apply\28OT::hb_ot_apply_context_t*\29\20const +5060:OT::Layout::GPOS_impl::reverse_cursive_minor_offset\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +5061:OT::Layout::GPOS_impl::MarkRecord::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5062:OT::Layout::GPOS_impl::MarkBasePosFormat1_2::sanitize\28hb_sanitize_context_t*\29\20const +5063:OT::Layout::GPOS_impl::AnchorMatrix::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5064:OT::IndexSubtableRecord::get_image_data\28unsigned\20int\2c\20void\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +5065:OT::FeatureVariationRecord::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5066:OT::FeatureParams::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5067:OT::ContextFormat3::sanitize\28hb_sanitize_context_t*\29\20const +5068:OT::ContextFormat2_5::sanitize\28hb_sanitize_context_t*\29\20const +5069:OT::ContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +5070:OT::ContextFormat1_4::sanitize\28hb_sanitize_context_t*\29\20const +5071:OT::ColorStop::get_color_stop\28OT::hb_paint_context_t*\2c\20hb_color_stop_t*\2c\20unsigned\20int\2c\20OT::VarStoreInstancer\20const&\29\20const +5072:OT::ColorLine::static_get_extend\28hb_color_line_t*\2c\20void*\2c\20void*\29 +5073:OT::ChainRuleSet::would_apply\28OT::hb_would_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +5074:OT::ChainRuleSet::sanitize\28hb_sanitize_context_t*\29\20const +5075:OT::ChainRuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +5076:OT::ChainContextFormat3::sanitize\28hb_sanitize_context_t*\29\20const +5077:OT::ChainContextFormat2_5::sanitize\28hb_sanitize_context_t*\29\20const +5078:OT::ChainContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +5079:OT::ChainContextFormat1_4::sanitize\28hb_sanitize_context_t*\29\20const +5080:OT::CBDT::accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +5081:OT::Affine2x3::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +5082:MakeOnScreenGLSurface\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29 +5083:Load_SBit_Png +5084:LineCubicIntersections::intersectRay\28double*\29 +5085:LineCubicIntersections::VerticalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +5086:LineCubicIntersections::HorizontalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +5087:Launch +5088:JpegDecoderMgr::returnFalse\28char\20const*\29 +5089:JpegDecoderMgr::getEncodedColor\28SkEncodedInfo::Color*\29 +5090:JSObjectFromLineMetrics\28skia::textlayout::LineMetrics&\29 +5091:JSObjectFromGlyphInfo\28skia::textlayout::Paragraph::GlyphInfo&\29 +5092:Ins_DELTAP +5093:HandleCoincidence\28SkOpContourHead*\2c\20SkOpCoincidence*\29 +5094:GrWritePixelsTask::~GrWritePixelsTask\28\29 +5095:GrWaitRenderTask::~GrWaitRenderTask\28\29 +5096:GrVertexBufferAllocPool::makeSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +5097:GrVertexBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +5098:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20SkPathFillType\2c\20skgpu::VertexWriter\29\20const +5099:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20GrEagerVertexAllocator*\29\20const +5100:GrTriangulator::mergeEdgesBelow\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +5101:GrTriangulator::mergeEdgesAbove\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +5102:GrTriangulator::makeSortedVertex\28SkPoint\20const&\2c\20unsigned\20char\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29\20const +5103:GrTriangulator::makeEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\29 +5104:GrTriangulator::computeBisector\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\29\20const +5105:GrTriangulator::appendQuadraticToContour\28SkPoint\20const*\2c\20float\2c\20GrTriangulator::VertexList*\29\20const +5106:GrTriangulator::SortMesh\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +5107:GrTriangulator::FindEnclosingEdges\28GrTriangulator::Vertex\20const&\2c\20GrTriangulator::EdgeList\20const&\2c\20GrTriangulator::Edge**\2c\20GrTriangulator::Edge**\29 +5108:GrTriangulator::Edge::intersect\28GrTriangulator::Edge\20const&\2c\20SkPoint*\2c\20unsigned\20char*\29\20const +5109:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29 +5110:GrThreadSafeCache::~GrThreadSafeCache\28\29 +5111:GrThreadSafeCache::findVertsWithData\28skgpu::UniqueKey\20const&\29 +5112:GrThreadSafeCache::addVertsWithData\28skgpu::UniqueKey\20const&\2c\20sk_sp\2c\20bool\20\28*\29\28SkData*\2c\20SkData*\29\29 +5113:GrThreadSafeCache::Entry::set\28skgpu::UniqueKey\20const&\2c\20sk_sp\29 +5114:GrThreadSafeCache::CreateLazyView\28GrDirectContext*\2c\20GrColorType\2c\20SkISize\2c\20GrSurfaceOrigin\2c\20SkBackingFit\29 +5115:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29 +5116:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29 +5117:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28GrCaps\20const&\2c\20std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\2c\20std::__2::basic_string_view>\29 +5118:GrTextureProxyPriv::setDeferredUploader\28std::__2::unique_ptr>\29 +5119:GrTextureProxy::setUniqueKey\28GrProxyProvider*\2c\20skgpu::UniqueKey\20const&\29 +5120:GrTextureProxy::clearUniqueKey\28\29 +5121:GrTextureProxy::ProxiesAreCompatibleAsDynamicState\28GrSurfaceProxy\20const*\2c\20GrSurfaceProxy\20const*\29 +5122:GrTextureProxy::GrTextureProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29.1 +5123:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::$_1::operator\28\29\28int\2c\20GrSamplerState::WrapMode\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20float\29\20const +5124:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_2::operator\28\29\28GrTextureEffect::ShaderMode\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +5125:GrTexture::markMipmapsDirty\28\29 +5126:GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +5127:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29 +5128:GrSurfaceProxyPriv::exactify\28\29 +5129:GrSurfaceProxy::GrSurfaceProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +5130:GrStyledShape::setInheritedKey\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +5131:GrStyledShape::asRRect\28SkRRect*\2c\20bool*\29\20const +5132:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20SkPaint\20const&\2c\20GrStyledShape::DoSimplify\29 +5133:GrStyle::~GrStyle\28\29 +5134:GrStyle::applyToPath\28SkPath*\2c\20SkStrokeRec::InitStyle*\2c\20SkPath\20const&\2c\20float\29\20const +5135:GrStyle::applyPathEffect\28SkPath*\2c\20SkStrokeRec*\2c\20SkPath\20const&\29\20const +5136:GrStencilSettings::SetClipBitSettings\28bool\29 +5137:GrStagingBufferManager::detachBuffers\28\29 +5138:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineStruct\28char\20const*\29 +5139:GrShape::simplify\28unsigned\20int\29 +5140:GrShape::conservativeContains\28SkRect\20const&\29\20const +5141:GrShape::closed\28\29\20const +5142:GrSWMaskHelper::toTextureView\28GrRecordingContext*\2c\20SkBackingFit\29 +5143:GrSWMaskHelper::drawShape\28GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +5144:GrSWMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +5145:GrResourceProvider::writePixels\28sk_sp\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\29\20const +5146:GrResourceProvider::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +5147:GrResourceProvider::prepareLevels\28GrBackendFormat\20const&\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\2c\20skia_private::AutoSTArray<14\2c\20GrMipLevel>*\2c\20skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>*\29\20const +5148:GrResourceProvider::getExactScratch\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5149:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5150:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20GrColorType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMipLevel\20const*\2c\20std::__2::basic_string_view>\29 +5151:GrResourceProvider::createApproxTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5152:GrResourceCache::~GrResourceCache\28\29 +5153:GrResourceCache::removeResource\28GrGpuResource*\29 +5154:GrResourceCache::processFreedGpuResources\28\29 +5155:GrResourceCache::insertResource\28GrGpuResource*\29 +5156:GrResourceCache::didChangeBudgetStatus\28GrGpuResource*\29 +5157:GrResourceAllocator::~GrResourceAllocator\28\29 +5158:GrResourceAllocator::planAssignment\28\29 +5159:GrResourceAllocator::expire\28unsigned\20int\29 +5160:GrRenderTask::makeSkippable\28\29 +5161:GrRenderTask::isInstantiated\28\29\20const +5162:GrRenderTarget::GrRenderTarget\28GrGpu*\2c\20SkISize\20const&\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20sk_sp\29 +5163:GrRecordingContext::init\28\29 +5164:GrRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\2c\20GrShaderCaps\20const&\29 +5165:GrQuadUtils::TessellationHelper::reset\28GrQuad\20const&\2c\20GrQuad\20const*\29 +5166:GrQuadUtils::TessellationHelper::outset\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad*\2c\20GrQuad*\29 +5167:GrQuadUtils::TessellationHelper::adjustDegenerateVertices\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuadUtils::TessellationHelper::Vertices*\29 +5168:GrQuadUtils::TessellationHelper::OutsetRequest::reset\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20GrQuad::Type\2c\20skvx::Vec<4\2c\20float>\20const&\29 +5169:GrQuadUtils::TessellationHelper::EdgeVectors::reset\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad::Type\29 +5170:GrQuadUtils::ClipToW0\28DrawQuad*\2c\20DrawQuad*\29 +5171:GrQuad::bounds\28\29\20const +5172:GrProxyProvider::~GrProxyProvider\28\29 +5173:GrProxyProvider::wrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\2c\20sk_sp\29 +5174:GrProxyProvider::removeUniqueKeyFromProxy\28GrTextureProxy*\29 +5175:GrProxyProvider::processInvalidUniqueKeyImpl\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\2c\20GrProxyProvider::RemoveTableEntry\29 +5176:GrProxyProvider::createLazyProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20GrInternalSurfaceFlags\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +5177:GrProxyProvider::contextID\28\29\20const +5178:GrProxyProvider::adoptUniqueKeyFromSurface\28GrTextureProxy*\2c\20GrSurface\20const*\29 +5179:GrPixmapBase::clip\28SkISize\2c\20SkIPoint*\29 +5180:GrPixmap::GrPixmap\28GrImageInfo\2c\20sk_sp\2c\20unsigned\20long\29 +5181:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20sk_sp\2c\20GrAppliedHardClip\20const&\29 +5182:GrPersistentCacheUtils::GetType\28SkReadBuffer*\29 +5183:GrPathUtils::QuadUVMatrix::set\28SkPoint\20const*\29 +5184:GrPathTessellationShader::MakeStencilOnlyPipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedHardClip\20const&\2c\20GrPipeline::InputFlags\29 +5185:GrPaint::setCoverageSetOpXPFactory\28SkRegion::Op\2c\20bool\29 +5186:GrOvalOpFactory::MakeOvalOp\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\2c\20GrShaderCaps\20const*\29 +5187:GrOpsRenderPass::drawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +5188:GrOpsRenderPass::drawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5189:GrOpsRenderPass::drawIndexPattern\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +5190:GrOpFlushState::reset\28\29 +5191:GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp\28GrOp\20const*\2c\20SkRect\20const&\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +5192:GrOpFlushState::addASAPUpload\28std::__2::function&\29>&&\29 +5193:GrOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +5194:GrOp::combineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +5195:GrOnFlushResourceProvider::instantiateProxy\28GrSurfaceProxy*\29 +5196:GrMeshDrawTarget::allocMesh\28\29 +5197:GrMeshDrawOp::PatternHelper::init\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +5198:GrMeshDrawOp::CombinedQuadCountWillOverflow\28GrAAType\2c\20bool\2c\20int\29 +5199:GrMemoryPool::allocate\28unsigned\20long\29 +5200:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::changed\28\29 +5201:GrIndexBufferAllocPool::makeSpace\28int\2c\20sk_sp*\2c\20int*\29 +5202:GrIndexBufferAllocPool::makeSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +5203:GrImageInfo::refColorSpace\28\29\20const +5204:GrImageInfo::minRowBytes\28\29\20const +5205:GrImageInfo::makeDimensions\28SkISize\29\20const +5206:GrImageInfo::bpp\28\29\20const +5207:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20int\2c\20int\29 +5208:GrImageContext::abandonContext\28\29 +5209:GrGpuResource::makeBudgeted\28\29 +5210:GrGpuResource::getResourceName\28\29\20const +5211:GrGpuResource::abandon\28\29 +5212:GrGpuResource::CreateUniqueID\28\29 +5213:GrGpu::~GrGpu\28\29 +5214:GrGpu::regenerateMipMapLevels\28GrTexture*\29 +5215:GrGpu::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5216:GrGpu::createTextureCommon\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +5217:GrGeometryProcessor::AttributeSet::addToKey\28skgpu::KeyBuilder*\29\20const +5218:GrGLVertexArray::invalidateCachedState\28\29 +5219:GrGLTextureParameters::invalidate\28\29 +5220:GrGLTexture::MakeWrapped\28GrGLGpu*\2c\20GrMipmapStatus\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrWrapCacheable\2c\20GrIOType\2c\20std::__2::basic_string_view>\29 +5221:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20skgpu::Budgeted\2c\20GrGLTexture::Desc\20const&\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +5222:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +5223:GrGLSLVaryingHandler::getFragDecls\28SkString*\2c\20SkString*\29\20const +5224:GrGLSLVaryingHandler::addAttribute\28GrShaderVar\20const&\29 +5225:GrGLSLUniformHandler::liftUniformToVertexShader\28GrProcessor\20const&\2c\20SkString\29 +5226:GrGLSLShaderBuilder::finalize\28unsigned\20int\29 +5227:GrGLSLShaderBuilder::emitFunction\28char\20const*\2c\20char\20const*\29 +5228:GrGLSLShaderBuilder::emitFunctionPrototype\28char\20const*\29 +5229:GrGLSLShaderBuilder::appendTextureLookupAndBlend\28char\20const*\2c\20SkBlendMode\2c\20GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +5230:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29::$_0::operator\28\29\28char\20const*\2c\20GrResourceHandle\2c\20skcms_TFType\29\20const +5231:GrGLSLShaderBuilder::addLayoutQualifier\28char\20const*\2c\20GrGLSLShaderBuilder::InterfaceQualifier\29 +5232:GrGLSLShaderBuilder::GrGLSLShaderBuilder\28GrGLSLProgramBuilder*\29 +5233:GrGLSLProgramDataManager::setRuntimeEffectUniforms\28SkSpan\2c\20SkSpan\20const>\2c\20SkSpan\2c\20void\20const*\29\20const +5234:GrGLSLProgramBuilder::~GrGLSLProgramBuilder\28\29 +5235:GrGLSLBlend::SetBlendModeUniformData\28GrGLSLProgramDataManager\20const&\2c\20GrResourceHandle\2c\20SkBlendMode\29 +5236:GrGLSLBlend::BlendExpression\28GrProcessor\20const*\2c\20GrGLSLUniformHandler*\2c\20GrResourceHandle*\2c\20char\20const*\2c\20char\20const*\2c\20SkBlendMode\29 +5237:GrGLRenderTarget::GrGLRenderTarget\28GrGLGpu*\2c\20SkISize\20const&\2c\20GrGLFormat\2c\20int\2c\20GrGLRenderTarget::IDs\20const&\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +5238:GrGLProgramDataManager::set4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +5239:GrGLProgramDataManager::set2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +5240:GrGLProgramBuilder::uniformHandler\28\29 +5241:GrGLProgramBuilder::PrecompileProgram\28GrDirectContext*\2c\20GrGLPrecompiledProgram*\2c\20SkData\20const&\29::$_0::operator\28\29\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\29\20const +5242:GrGLProgramBuilder::CreateProgram\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrGLPrecompiledProgram\20const*\29 +5243:GrGLProgram::~GrGLProgram\28\29 +5244:GrGLMakeAssembledWebGLInterface\28void*\2c\20void\20\28*\20\28*\29\28void*\2c\20char\20const*\29\29\28\29\29 +5245:GrGLGpu::~GrGLGpu\28\29 +5246:GrGLGpu::uploadTexData\28SkISize\2c\20unsigned\20int\2c\20SkIRect\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20long\2c\20GrMipLevel\20const*\2c\20int\29 +5247:GrGLGpu::uploadCompressedTexData\28SkTextureCompressionType\2c\20GrGLFormat\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20unsigned\20int\2c\20void\20const*\2c\20unsigned\20long\29 +5248:GrGLGpu::uploadColorToTex\28GrGLFormat\2c\20SkISize\2c\20unsigned\20int\2c\20std::__2::array\2c\20unsigned\20int\29 +5249:GrGLGpu::readOrTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20int\29 +5250:GrGLGpu::getCompatibleStencilIndex\28GrGLFormat\29 +5251:GrGLGpu::deleteSync\28__GLsync*\29 +5252:GrGLGpu::createRenderTargetObjects\28GrGLTexture::Desc\20const&\2c\20int\2c\20GrGLRenderTarget::IDs*\29 +5253:GrGLGpu::createCompressedTexture2D\28SkISize\2c\20SkTextureCompressionType\2c\20GrGLFormat\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrGLTextureParameters::SamplerOverriddenState*\29 +5254:GrGLGpu::bindFramebuffer\28unsigned\20int\2c\20unsigned\20int\29 +5255:GrGLGpu::ProgramCache::reset\28\29 +5256:GrGLGpu::ProgramCache::findOrCreateProgramImpl\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrThreadSafePipelineBuilder::Stats::ProgramCacheResult*\29 +5257:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29 +5258:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\29 +5259:GrGLFormatIsCompressed\28GrGLFormat\29 +5260:GrGLFinishCallbacks::check\28\29 +5261:GrGLContext::~GrGLContext\28\29.1 +5262:GrGLContext::~GrGLContext\28\29 +5263:GrGLCaps::~GrGLCaps\28\29 +5264:GrGLCaps::getTexSubImageExternalFormatAndType\28GrGLFormat\2c\20GrColorType\2c\20GrColorType\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +5265:GrGLCaps::getTexSubImageDefaultFormatTypeAndColorType\28GrGLFormat\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20GrColorType*\29\20const +5266:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrGLFormat\29\20const +5267:GrGLCaps::formatSupportsTexStorage\28GrGLFormat\29\20const +5268:GrGLCaps::canCopyAsDraw\28GrGLFormat\2c\20bool\2c\20bool\29\20const +5269:GrGLCaps::canCopyAsBlit\28GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20SkRect\20const&\2c\20bool\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29\20const +5270:GrFragmentProcessor::~GrFragmentProcessor\28\29 +5271:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +5272:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +5273:GrFragmentProcessor::ProgramImpl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +5274:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::Make\28std::__2::unique_ptr>\29 +5275:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +5276:GrFragmentProcessor::ClampOutput\28std::__2::unique_ptr>\29 +5277:GrFixedClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +5278:GrFixedClip::getConservativeBounds\28\29\20const +5279:GrFixedClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +5280:GrEagerDynamicVertexAllocator::unlock\28int\29 +5281:GrDynamicAtlas::readView\28GrCaps\20const&\29\20const +5282:GrDynamicAtlas::instantiate\28GrOnFlushResourceProvider*\2c\20sk_sp\29 +5283:GrDriverBugWorkarounds::GrDriverBugWorkarounds\28\29 +5284:GrDrawingManager::getLastRenderTask\28GrSurfaceProxy\20const*\29\20const +5285:GrDrawingManager::flush\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +5286:GrDrawOpAtlasConfig::atlasDimensions\28skgpu::MaskFormat\29\20const +5287:GrDrawOpAtlasConfig::GrDrawOpAtlasConfig\28int\2c\20unsigned\20long\29 +5288:GrDrawOpAtlas::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +5289:GrDrawOpAtlas::Make\28GrProxyProvider*\2c\20GrBackendFormat\20const&\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20int\2c\20int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20GrDrawOpAtlas::AllowMultitexturing\2c\20skgpu::PlotEvictionCallback*\2c\20std::__2::basic_string_view>\29 +5290:GrDistanceFieldA8TextGeoProc::onTextureSampler\28int\29\20const +5291:GrDistanceFieldA8TextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +5292:GrDisableColorXPFactory::MakeXferProcessor\28\29 +5293:GrDirectContextPriv::validPMUPMConversionExists\28\29 +5294:GrDirectContext::~GrDirectContext\28\29 +5295:GrDirectContext::onGetSmallPathAtlasMgr\28\29 +5296:GrDirectContext::getResourceCacheLimits\28int*\2c\20unsigned\20long*\29\20const +5297:GrCopyRenderTask::~GrCopyRenderTask\28\29 +5298:GrCopyRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +5299:GrCopyBaseMipMapToView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Budgeted\29 +5300:GrContext_Base::threadSafeProxy\28\29 +5301:GrContext_Base::maxSurfaceSampleCountForColorType\28SkColorType\29\20const +5302:GrContext_Base::backend\28\29\20const +5303:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29 +5304:GrColorInfo::makeColorType\28GrColorType\29\20const +5305:GrColorInfo::isLinearlyBlended\28\29\20const +5306:GrColorFragmentProcessorAnalysis::GrColorFragmentProcessorAnalysis\28GrProcessorAnalysisColor\20const&\2c\20std::__2::unique_ptr>\20const*\2c\20int\29 +5307:GrClip::IsPixelAligned\28SkRect\20const&\29 +5308:GrCaps::surfaceSupportsWritePixels\28GrSurface\20const*\29\20const +5309:GrCaps::getDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\2c\20bool\29\20const +5310:GrCPixmap::GrCPixmap\28GrPixmap\20const&\29 +5311:GrBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\2c\20unsigned\20long*\29 +5312:GrBufferAllocPool::createBlock\28unsigned\20long\29 +5313:GrBufferAllocPool::CpuBufferCache::makeBuffer\28unsigned\20long\2c\20bool\29 +5314:GrBlurUtils::draw_shape_with_mask_filter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\29 +5315:GrBlurUtils::draw_mask\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrPaint&&\2c\20GrSurfaceProxyView\29 +5316:GrBlurUtils::convolve_gaussian\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20SkIRect\2c\20SkIRect\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkBackingFit\29 +5317:GrBlurUtils::\28anonymous\20namespace\29::make_texture_effect\28GrCaps\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20GrSamplerState\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkISize\20const&\29 +5318:GrBitmapTextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +5319:GrBicubicEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +5320:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +5321:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20std::__2::basic_string_view>\29 +5322:GrBackendTexture::operator=\28GrBackendTexture\20const&\29 +5323:GrBackendRenderTargets::MakeGL\28int\2c\20int\2c\20int\2c\20int\2c\20GrGLFramebufferInfo\20const&\29 +5324:GrBackendRenderTargets::GetGLFramebufferInfo\28GrBackendRenderTarget\20const&\2c\20GrGLFramebufferInfo*\29 +5325:GrBackendRenderTarget::~GrBackendRenderTarget\28\29 +5326:GrBackendRenderTarget::isProtected\28\29\20const +5327:GrBackendFormatBytesPerBlock\28GrBackendFormat\20const&\29 +5328:GrBackendFormat::makeTexture2D\28\29\20const +5329:GrBackendFormat::isMockStencilFormat\28\29\20const +5330:GrBackendFormat::MakeMock\28GrColorType\2c\20SkTextureCompressionType\2c\20bool\29 +5331:GrAuditTrail::opsCombined\28GrOp\20const*\2c\20GrOp\20const*\29 +5332:GrAttachment::ComputeSharedAttachmentUniqueKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\2c\20skgpu::UniqueKey*\29 +5333:GrAtlasManager::~GrAtlasManager\28\29 +5334:GrAtlasManager::getViews\28skgpu::MaskFormat\2c\20unsigned\20int*\29 +5335:GrAtlasManager::freeAll\28\29 +5336:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::EventList*\2c\20GrTriangulator::Comparator\20const&\29\20const +5337:GrAATriangulator::collapseOverlapRegions\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\2c\20GrAATriangulator::EventComparator\29 +5338:GrAAConvexTessellator::quadTo\28SkPoint\20const*\29 +5339:GetVariationDesignPosition\28AutoFTAccess&\2c\20SkFontArguments::VariationPosition::Coordinate*\2c\20int\29 +5340:GetShapedLines\28skia::textlayout::Paragraph&\29 +5341:GetLargeValue +5342:FontMgrRunIterator::endOfCurrentRun\28\29\20const +5343:FontMgrRunIterator::atEnd\28\29\20const +5344:FinishRow +5345:FindUndone\28SkOpContourHead*\29 +5346:FT_Stream_Close +5347:FT_Sfnt_Table_Info +5348:FT_Render_Glyph_Internal +5349:FT_Remove_Module +5350:FT_Outline_Get_Orientation +5351:FT_Outline_EmboldenXY +5352:FT_New_Library +5353:FT_New_GlyphSlot +5354:FT_List_Iterate +5355:FT_List_Find +5356:FT_List_Finalize +5357:FT_GlyphLoader_CheckSubGlyphs +5358:FT_Get_Postscript_Name +5359:FT_Get_Paint_Layers +5360:FT_Get_PS_Font_Info +5361:FT_Get_Kerning +5362:FT_Get_Glyph_Name +5363:FT_Get_FSType_Flags +5364:FT_Get_Colorline_Stops +5365:FT_Get_Color_Glyph_ClipBox +5366:FT_Bitmap_Convert +5367:FT_Add_Default_Modules +5368:EllipticalRRectOp::~EllipticalRRectOp\28\29.1 +5369:EllipticalRRectOp::~EllipticalRRectOp\28\29 +5370:EllipticalRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +5371:EllipticalRRectOp::RRect&\20skia_private::TArray::emplace_back\28EllipticalRRectOp::RRect&&\29 +5372:EllipticalRRectOp::EllipticalRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20SkPoint\2c\20bool\29 +5373:EllipseOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\29 +5374:EllipseOp::EllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20EllipseOp::DeviceSpaceParams\20const&\2c\20SkStrokeRec\20const&\29 +5375:EllipseGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +5376:DIEllipseOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\29 +5377:DIEllipseOp::DIEllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20DIEllipseOp::DeviceSpaceParams\20const&\2c\20SkMatrix\20const&\29 +5378:CustomXP::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +5379:CustomXP::makeProgramImpl\28\29\20const::Impl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +5380:Cr_z_deflateReset +5381:Cr_z_deflate +5382:Cr_z_crc32_z +5383:CoverageSetOpXP::onIsEqual\28GrXferProcessor\20const&\29\20const +5384:CircularRRectOp::~CircularRRectOp\28\29.1 +5385:CircularRRectOp::~CircularRRectOp\28\29 +5386:CircularRRectOp::CircularRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +5387:CircleOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +5388:CircleOp::CircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +5389:CircleGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +5390:CheckDecBuffer +5391:CFF::path_procs_t::rlineto\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\29 +5392:CFF::dict_interpreter_t\2c\20CFF::interp_env_t>::interpret\28CFF::cff1_private_dict_values_base_t&\29 +5393:CFF::cff2_cs_opset_t::process_blend\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\29 +5394:CFF::FDSelect3_4\2c\20OT::IntType>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +5395:CFF::Charset::get_sid\28unsigned\20int\2c\20unsigned\20int\2c\20CFF::code_pair_t*\29\20const +5396:CFF::CFFIndex>::get_size\28\29\20const +5397:CFF::CFF2FDSelect::get_fd\28unsigned\20int\29\20const +5398:ButtCapDashedCircleOp::ButtCapDashedCircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5399:BuildHuffmanTable +5400:AutoLayerForImageFilter::addMaskFilterLayer\28SkRect\20const*\29 +5401:AsWinding\28SkPath\20const&\2c\20SkPath*\29 +5402:AngleWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\2c\20bool*\29 +5403:AddIntersectTs\28SkOpContour*\2c\20SkOpContour*\2c\20SkOpCoincidence*\29 +5404:ActiveEdgeList::replace\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +5405:ActiveEdgeList::remove\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +5406:ActiveEdgeList::insert\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +5407:AAT::hb_aat_apply_context_t::return_t\20AAT::ChainSubtable::dispatch\28AAT::hb_aat_apply_context_t*\29\20const +5408:AAT::hb_aat_apply_context_t::return_t\20AAT::ChainSubtable::dispatch\28AAT::hb_aat_apply_context_t*\29\20const +5409:AAT::TrackData::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5410:AAT::TrackData::get_tracking\28void\20const*\2c\20float\29\20const +5411:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5412:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5413:AAT::StateTable::EntryData>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +5414:AAT::RearrangementSubtable::driver_context_t::transition\28AAT::StateTableDriver*\2c\20AAT::Entry\20const&\29 +5415:AAT::NoncontextualSubtable::apply\28AAT::hb_aat_apply_context_t*\29\20const +5416:AAT::Lookup>::sanitize\28hb_sanitize_context_t*\29\20const +5417:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +5418:AAT::InsertionSubtable::driver_context_t::transition\28AAT::StateTableDriver::EntryData>*\2c\20AAT::Entry::EntryData>\20const&\29 +5419:ycck_cmyk_convert +5420:ycc_rgb_convert +5421:ycc_rgb565_convert +5422:ycc_rgb565D_convert +5423:xyzd50_to_lab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5424:xyzd50_to_hcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5425:wuffs_gif__decoder__tell_me_more +5426:wuffs_gif__decoder__set_report_metadata +5427:wuffs_gif__decoder__num_decoded_frame_configs +5428:wuffs_base__pixel_swizzler__xxxxxxxx__index_binary_alpha__src_over +5429:wuffs_base__pixel_swizzler__xxxxxxxx__index__src +5430:wuffs_base__pixel_swizzler__xxxx__index_binary_alpha__src_over +5431:wuffs_base__pixel_swizzler__xxxx__index__src +5432:wuffs_base__pixel_swizzler__xxx__index_binary_alpha__src_over +5433:wuffs_base__pixel_swizzler__xxx__index__src +5434:wuffs_base__pixel_swizzler__transparent_black_src_over +5435:wuffs_base__pixel_swizzler__transparent_black_src +5436:wuffs_base__pixel_swizzler__copy_1_1 +5437:wuffs_base__pixel_swizzler__bgr_565__index_binary_alpha__src_over +5438:wuffs_base__pixel_swizzler__bgr_565__index__src +5439:webgl_get_gl_proc\28void*\2c\20char\20const*\29 +5440:void\20std::__2::vector>::__emplace_back_slow_path\28char\20const*&\2c\20int&&\29 +5441:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +5442:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +5443:void\20emscripten::internal::raw_destructor>\28sk_sp*\29 +5444:void\20emscripten::internal::raw_destructor\28SkVertices::Builder*\29 +5445:void\20emscripten::internal::raw_destructor\28SkRuntimeEffect::TracedShader*\29 +5446:void\20emscripten::internal::raw_destructor\28SkPictureRecorder*\29 +5447:void\20emscripten::internal::raw_destructor\28SkPath*\29 +5448:void\20emscripten::internal::raw_destructor\28SkPaint*\29 +5449:void\20emscripten::internal::raw_destructor\28SkContourMeasureIter*\29 +5450:void\20emscripten::internal::raw_destructor\28SimpleImageInfo*\29 +5451:void\20emscripten::internal::MemberAccess::setWire\28SimpleTextStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle&\2c\20SimpleTextStyle*\29 +5452:void\20emscripten::internal::MemberAccess::setWire\28SimpleStrutStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle&\2c\20SimpleStrutStyle*\29 +5453:void\20emscripten::internal::MemberAccess>::setWire\28sk_sp\20SimpleImageInfo::*\20const&\2c\20SimpleImageInfo&\2c\20sk_sp*\29 +5454:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::TypefaceFontProvider*\29 +5455:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::ParagraphBuilderImpl*\29 +5456:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::Paragraph*\29 +5457:void\20const*\20emscripten::internal::getActualType\28skia::textlayout::FontCollection*\29 +5458:void\20const*\20emscripten::internal::getActualType\28SkVertices*\29 +5459:void\20const*\20emscripten::internal::getActualType\28SkVertices::Builder*\29 +5460:void\20const*\20emscripten::internal::getActualType\28SkTypeface*\29 +5461:void\20const*\20emscripten::internal::getActualType\28SkTextBlob*\29 +5462:void\20const*\20emscripten::internal::getActualType\28SkSurface*\29 +5463:void\20const*\20emscripten::internal::getActualType\28SkShader*\29 +5464:void\20const*\20emscripten::internal::getActualType\28SkSL::DebugTrace*\29 +5465:void\20const*\20emscripten::internal::getActualType\28SkRuntimeEffect*\29 +5466:void\20const*\20emscripten::internal::getActualType\28SkPictureRecorder*\29 +5467:void\20const*\20emscripten::internal::getActualType\28SkPicture*\29 +5468:void\20const*\20emscripten::internal::getActualType\28SkPathEffect*\29 +5469:void\20const*\20emscripten::internal::getActualType\28SkPath*\29 +5470:void\20const*\20emscripten::internal::getActualType\28SkPaint*\29 +5471:void\20const*\20emscripten::internal::getActualType\28SkMaskFilter*\29 +5472:void\20const*\20emscripten::internal::getActualType\28SkImageFilter*\29 +5473:void\20const*\20emscripten::internal::getActualType\28SkImage*\29 +5474:void\20const*\20emscripten::internal::getActualType\28SkFontMgr*\29 +5475:void\20const*\20emscripten::internal::getActualType\28SkFont*\29 +5476:void\20const*\20emscripten::internal::getActualType\28SkContourMeasureIter*\29 +5477:void\20const*\20emscripten::internal::getActualType\28SkContourMeasure*\29 +5478:void\20const*\20emscripten::internal::getActualType\28SkColorSpace*\29 +5479:void\20const*\20emscripten::internal::getActualType\28SkColorFilter*\29 +5480:void\20const*\20emscripten::internal::getActualType\28SkCanvas*\29 +5481:void\20const*\20emscripten::internal::getActualType\28SkBlender*\29 +5482:void\20const*\20emscripten::internal::getActualType\28SkAnimatedImage*\29 +5483:void\20const*\20emscripten::internal::getActualType\28GrDirectContext*\29 +5484:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5485:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5486:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5487:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5488:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5489:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5490:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5491:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5492:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5493:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5494:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5495:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5496:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5497:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5498:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5499:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5500:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5501:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5502:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5503:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5504:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5505:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5506:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5507:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5508:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5509:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5510:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5511:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5512:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5513:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5514:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5515:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5516:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5517:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5518:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5519:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5520:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5521:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5522:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5523:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5524:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5525:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5526:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5527:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5528:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5529:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5530:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5531:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5532:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5533:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5534:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5535:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5536:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5537:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5538:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5539:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5540:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5541:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5542:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5543:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5544:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5545:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5546:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5547:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5548:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5549:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5550:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5551:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5552:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5553:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5554:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5555:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5556:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5557:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5558:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5559:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5560:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5561:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5562:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5563:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5564:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5565:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5566:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5567:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5568:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5569:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5570:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5571:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5572:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5573:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5574:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5575:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5576:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5577:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5578:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5579:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +5580:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5581:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5582:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5583:void\20SkSwizzler::SkipLeadingGrayAlphaZerosThen<&fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5584:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5585:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5586:void\20SkSwizzler::SkipLeading8888ZerosThen<&swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5587:void\20SkSwizzler::SkipLeading8888ZerosThen<&sample4\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5588:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5589:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5590:void\20SkSwizzler::SkipLeading8888ZerosThen<&fast_swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5591:void\20SkSwizzler::SkipLeading8888ZerosThen<©\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29>\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5592:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +5593:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +5594:virtual\20thunk\20to\20std::__2::basic_ostream>::~basic_ostream\28\29.1 +5595:virtual\20thunk\20to\20std::__2::basic_ostream>::~basic_ostream\28\29 +5596:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29.1 +5597:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29 +5598:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +5599:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +5600:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +5601:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +5602:virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +5603:virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +5604:virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +5605:virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +5606:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29.1 +5607:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29 +5608:virtual\20thunk\20to\20GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +5609:virtual\20thunk\20to\20GrTextureProxy::instantiate\28GrResourceProvider*\29 +5610:virtual\20thunk\20to\20GrTextureProxy::getUniqueKey\28\29\20const +5611:virtual\20thunk\20to\20GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +5612:virtual\20thunk\20to\20GrTextureProxy::callbackDesc\28\29\20const +5613:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29\20const +5614:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29 +5615:virtual\20thunk\20to\20GrTexture::onGpuMemorySize\28\29\20const +5616:virtual\20thunk\20to\20GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +5617:virtual\20thunk\20to\20GrTexture::asTexture\28\29\20const +5618:virtual\20thunk\20to\20GrTexture::asTexture\28\29 +5619:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +5620:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +5621:virtual\20thunk\20to\20GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +5622:virtual\20thunk\20to\20GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +5623:virtual\20thunk\20to\20GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +5624:virtual\20thunk\20to\20GrRenderTargetProxy::callbackDesc\28\29\20const +5625:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29\20const +5626:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29 +5627:virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +5628:virtual\20thunk\20to\20GrRenderTarget::onAbandon\28\29 +5629:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29\20const +5630:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29 +5631:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +5632:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +5633:virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +5634:virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +5635:virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +5636:virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +5637:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29.1 +5638:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29 +5639:virtual\20thunk\20to\20GrGLTexture::onRelease\28\29 +5640:virtual\20thunk\20to\20GrGLTexture::onAbandon\28\29 +5641:virtual\20thunk\20to\20GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +5642:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +5643:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +5644:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::onFinalize\28\29 +5645:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +5646:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29 +5647:virtual\20thunk\20to\20GrGLRenderTarget::onRelease\28\29 +5648:virtual\20thunk\20to\20GrGLRenderTarget::onGpuMemorySize\28\29\20const +5649:virtual\20thunk\20to\20GrGLRenderTarget::onAbandon\28\29 +5650:virtual\20thunk\20to\20GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +5651:virtual\20thunk\20to\20GrGLRenderTarget::backendFormat\28\29\20const +5652:tt_vadvance_adjust +5653:tt_slot_init +5654:tt_size_select +5655:tt_size_reset_iterator +5656:tt_size_request +5657:tt_size_init +5658:tt_size_done +5659:tt_sbit_decoder_load_png +5660:tt_sbit_decoder_load_compound +5661:tt_sbit_decoder_load_byte_aligned +5662:tt_sbit_decoder_load_bit_aligned +5663:tt_property_set +5664:tt_property_get +5665:tt_name_ascii_from_utf16 +5666:tt_name_ascii_from_other +5667:tt_hadvance_adjust +5668:tt_glyph_load +5669:tt_get_var_blend +5670:tt_get_interface +5671:tt_get_glyph_name +5672:tt_get_cmap_info +5673:tt_get_advances +5674:tt_face_set_sbit_strike +5675:tt_face_load_strike_metrics +5676:tt_face_load_sbit_image +5677:tt_face_load_sbit +5678:tt_face_load_post +5679:tt_face_load_pclt +5680:tt_face_load_os2 +5681:tt_face_load_name +5682:tt_face_load_maxp +5683:tt_face_load_kern +5684:tt_face_load_hmtx +5685:tt_face_load_hhea +5686:tt_face_load_head +5687:tt_face_load_gasp +5688:tt_face_load_font_dir +5689:tt_face_load_cpal +5690:tt_face_load_colr +5691:tt_face_load_cmap +5692:tt_face_load_bhed +5693:tt_face_load_any +5694:tt_face_init +5695:tt_face_goto_table +5696:tt_face_get_paint_layers +5697:tt_face_get_paint +5698:tt_face_get_kerning +5699:tt_face_get_colr_layer +5700:tt_face_get_colr_glyph_paint +5701:tt_face_get_colorline_stops +5702:tt_face_get_color_glyph_clipbox +5703:tt_face_free_sbit +5704:tt_face_free_ps_names +5705:tt_face_free_name +5706:tt_face_free_cpal +5707:tt_face_free_colr +5708:tt_face_done +5709:tt_face_colr_blend_layer +5710:tt_driver_init +5711:tt_cvt_ready_iterator +5712:tt_cmap_unicode_init +5713:tt_cmap_unicode_char_next +5714:tt_cmap_unicode_char_index +5715:tt_cmap_init +5716:tt_cmap8_validate +5717:tt_cmap8_get_info +5718:tt_cmap8_char_next +5719:tt_cmap8_char_index +5720:tt_cmap6_validate +5721:tt_cmap6_get_info +5722:tt_cmap6_char_next +5723:tt_cmap6_char_index +5724:tt_cmap4_validate +5725:tt_cmap4_init +5726:tt_cmap4_get_info +5727:tt_cmap4_char_next +5728:tt_cmap4_char_index +5729:tt_cmap2_validate +5730:tt_cmap2_get_info +5731:tt_cmap2_char_next +5732:tt_cmap2_char_index +5733:tt_cmap14_variants +5734:tt_cmap14_variant_chars +5735:tt_cmap14_validate +5736:tt_cmap14_init +5737:tt_cmap14_get_info +5738:tt_cmap14_done +5739:tt_cmap14_char_variants +5740:tt_cmap14_char_var_isdefault +5741:tt_cmap14_char_var_index +5742:tt_cmap14_char_next +5743:tt_cmap13_validate +5744:tt_cmap13_get_info +5745:tt_cmap13_char_next +5746:tt_cmap13_char_index +5747:tt_cmap12_validate +5748:tt_cmap12_get_info +5749:tt_cmap12_char_next +5750:tt_cmap12_char_index +5751:tt_cmap10_validate +5752:tt_cmap10_get_info +5753:tt_cmap10_char_next +5754:tt_cmap10_char_index +5755:tt_cmap0_validate +5756:tt_cmap0_get_info +5757:tt_cmap0_char_next +5758:tt_cmap0_char_index +5759:transform_scanline_rgbA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5760:transform_scanline_memcpy\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5761:transform_scanline_bgra_1010102_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5762:transform_scanline_bgra_1010102\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5763:transform_scanline_bgra_10101010_xr\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5764:transform_scanline_bgr_101010x_xr\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5765:transform_scanline_bgr_101010x\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5766:transform_scanline_bgrA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5767:transform_scanline_RGBX\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5768:transform_scanline_F32_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5769:transform_scanline_F32\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5770:transform_scanline_F16_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5771:transform_scanline_F16\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5772:transform_scanline_BGRX\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5773:transform_scanline_BGRA\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5774:transform_scanline_A8_to_GrayAlpha\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5775:transform_scanline_565\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5776:transform_scanline_444\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5777:transform_scanline_4444\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5778:transform_scanline_101010x\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5779:transform_scanline_1010102_premul\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5780:transform_scanline_1010102\28char*\2c\20char\20const*\2c\20int\2c\20int\29 +5781:t2_hints_stems +5782:t2_hints_open +5783:t1_make_subfont +5784:t1_hints_stem +5785:t1_hints_open +5786:t1_decrypt +5787:t1_decoder_parse_metrics +5788:t1_decoder_init +5789:t1_decoder_done +5790:t1_cmap_unicode_init +5791:t1_cmap_unicode_char_next +5792:t1_cmap_unicode_char_index +5793:t1_cmap_std_done +5794:t1_cmap_std_char_next +5795:t1_cmap_std_char_index +5796:t1_cmap_standard_init +5797:t1_cmap_expert_init +5798:t1_cmap_custom_init +5799:t1_cmap_custom_done +5800:t1_cmap_custom_char_next +5801:t1_cmap_custom_char_index +5802:t1_builder_start_point +5803:t1_builder_init +5804:t1_builder_add_point1 +5805:t1_builder_add_point +5806:t1_builder_add_contour +5807:swizzle_small_index_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5808:swizzle_small_index_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5809:swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5810:swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5811:swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5812:swizzle_rgba16_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5813:swizzle_rgba16_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5814:swizzle_rgba16_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5815:swizzle_rgba16_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5816:swizzle_rgb_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5817:swizzle_rgb_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5818:swizzle_rgb_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5819:swizzle_rgb16_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5820:swizzle_rgb16_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5821:swizzle_rgb16_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5822:swizzle_mask32_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5823:swizzle_mask32_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5824:swizzle_mask32_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5825:swizzle_mask32_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5826:swizzle_mask32_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5827:swizzle_mask32_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5828:swizzle_mask32_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5829:swizzle_mask24_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5830:swizzle_mask24_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5831:swizzle_mask24_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5832:swizzle_mask24_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5833:swizzle_mask24_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5834:swizzle_mask24_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5835:swizzle_mask24_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5836:swizzle_mask16_to_rgba_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5837:swizzle_mask16_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5838:swizzle_mask16_to_rgba_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5839:swizzle_mask16_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5840:swizzle_mask16_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5841:swizzle_mask16_to_bgra_opaque\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5842:swizzle_mask16_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20SkMasks*\2c\20unsigned\20int\2c\20unsigned\20int\29 +5843:swizzle_index_to_n32_skipZ\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5844:swizzle_index_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5845:swizzle_index_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5846:swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5847:swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5848:swizzle_grayalpha_to_a8\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5849:swizzle_gray_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5850:swizzle_gray_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5851:swizzle_cmyk_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5852:swizzle_cmyk_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5853:swizzle_cmyk_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5854:swizzle_bit_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5855:swizzle_bit_to_grayscale\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5856:swizzle_bit_to_f16\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5857:swizzle_bit_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5858:swizzle_bgr_to_565\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +5859:string_read +5860:std::exception::what\28\29\20const +5861:std::bad_variant_access::what\28\29\20const +5862:std::bad_optional_access::what\28\29\20const +5863:std::bad_array_new_length::what\28\29\20const +5864:std::bad_alloc::what\28\29\20const +5865:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +5866:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +5867:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20tm\20const*\2c\20char\2c\20char\29\20const +5868:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20tm\20const*\2c\20char\2c\20char\29\20const +5869:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5870:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5871:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5872:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5873:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5874:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +5875:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5876:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5877:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5878:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5879:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +5880:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +5881:std::__2::numpunct::~numpunct\28\29.1 +5882:std::__2::numpunct::do_truename\28\29\20const +5883:std::__2::numpunct::do_grouping\28\29\20const +5884:std::__2::numpunct::do_falsename\28\29\20const +5885:std::__2::numpunct::~numpunct\28\29.1 +5886:std::__2::numpunct::do_truename\28\29\20const +5887:std::__2::numpunct::do_thousands_sep\28\29\20const +5888:std::__2::numpunct::do_grouping\28\29\20const +5889:std::__2::numpunct::do_falsename\28\29\20const +5890:std::__2::numpunct::do_decimal_point\28\29\20const +5891:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20void\20const*\29\20const +5892:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\29\20const +5893:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\20long\29\20const +5894:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +5895:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +5896:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +5897:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20double\29\20const +5898:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20bool\29\20const +5899:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20void\20const*\29\20const +5900:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\29\20const +5901:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\20long\29\20const +5902:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +5903:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +5904:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +5905:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20double\29\20const +5906:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20bool\29\20const +5907:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +5908:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +5909:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +5910:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +5911:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +5912:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +5913:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +5914:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +5915:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +5916:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +5917:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +5918:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +5919:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +5920:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +5921:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +5922:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +5923:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +5924:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +5925:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +5926:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +5927:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +5928:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +5929:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +5930:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +5931:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +5932:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +5933:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +5934:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +5935:std::__2::locale::id::__init\28\29 +5936:std::__2::locale::__imp::~__imp\28\29.1 +5937:std::__2::ios_base::~ios_base\28\29.1 +5938:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +5939:std::__2::ctype::do_toupper\28wchar_t\29\20const +5940:std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +5941:std::__2::ctype::do_tolower\28wchar_t\29\20const +5942:std::__2::ctype::do_tolower\28wchar_t*\2c\20wchar_t\20const*\29\20const +5943:std::__2::ctype::do_scan_not\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +5944:std::__2::ctype::do_scan_is\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +5945:std::__2::ctype::do_narrow\28wchar_t\2c\20char\29\20const +5946:std::__2::ctype::do_narrow\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20char\2c\20char*\29\20const +5947:std::__2::ctype::do_is\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20unsigned\20long*\29\20const +5948:std::__2::ctype::do_is\28unsigned\20long\2c\20wchar_t\29\20const +5949:std::__2::ctype::~ctype\28\29.1 +5950:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +5951:std::__2::ctype::do_toupper\28char\29\20const +5952:std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +5953:std::__2::ctype::do_tolower\28char\29\20const +5954:std::__2::ctype::do_tolower\28char*\2c\20char\20const*\29\20const +5955:std::__2::ctype::do_narrow\28char\2c\20char\29\20const +5956:std::__2::ctype::do_narrow\28char\20const*\2c\20char\20const*\2c\20char\2c\20char*\29\20const +5957:std::__2::collate::do_transform\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +5958:std::__2::collate::do_hash\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +5959:std::__2::collate::do_compare\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +5960:std::__2::collate::do_transform\28char\20const*\2c\20char\20const*\29\20const +5961:std::__2::collate::do_hash\28char\20const*\2c\20char\20const*\29\20const +5962:std::__2::collate::do_compare\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +5963:std::__2::codecvt::~codecvt\28\29.1 +5964:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +5965:std::__2::codecvt::do_out\28__mbstate_t&\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +5966:std::__2::codecvt::do_max_length\28\29\20const +5967:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +5968:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20wchar_t*\2c\20wchar_t*\2c\20wchar_t*&\29\20const +5969:std::__2::codecvt::do_encoding\28\29\20const +5970:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +5971:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29.1 +5972:std::__2::basic_stringbuf\2c\20std::__2::allocator>::underflow\28\29 +5973:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +5974:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +5975:std::__2::basic_stringbuf\2c\20std::__2::allocator>::pbackfail\28int\29 +5976:std::__2::basic_stringbuf\2c\20std::__2::allocator>::overflow\28int\29 +5977:std::__2::basic_streambuf>::~basic_streambuf\28\29.1 +5978:std::__2::basic_streambuf>::xsputn\28char\20const*\2c\20long\29 +5979:std::__2::basic_streambuf>::xsgetn\28char*\2c\20long\29 +5980:std::__2::basic_streambuf>::uflow\28\29 +5981:std::__2::basic_streambuf>::setbuf\28char*\2c\20long\29 +5982:std::__2::basic_streambuf>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +5983:std::__2::basic_streambuf>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +5984:std::__2::bad_function_call::what\28\29\20const +5985:std::__2::__time_get_c_storage::__x\28\29\20const +5986:std::__2::__time_get_c_storage::__weeks\28\29\20const +5987:std::__2::__time_get_c_storage::__r\28\29\20const +5988:std::__2::__time_get_c_storage::__months\28\29\20const +5989:std::__2::__time_get_c_storage::__c\28\29\20const +5990:std::__2::__time_get_c_storage::__am_pm\28\29\20const +5991:std::__2::__time_get_c_storage::__X\28\29\20const +5992:std::__2::__time_get_c_storage::__x\28\29\20const +5993:std::__2::__time_get_c_storage::__weeks\28\29\20const +5994:std::__2::__time_get_c_storage::__r\28\29\20const +5995:std::__2::__time_get_c_storage::__months\28\29\20const +5996:std::__2::__time_get_c_storage::__c\28\29\20const +5997:std::__2::__time_get_c_storage::__am_pm\28\29\20const +5998:std::__2::__time_get_c_storage::__X\28\29\20const +5999:std::__2::__shared_ptr_pointer<_IO_FILE*\2c\20void\20\28*\29\28_IO_FILE*\29\2c\20std::__2::allocator<_IO_FILE>>::__on_zero_shared\28\29 +6000:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6001:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6002:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6003:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6004:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6005:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6006:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6007:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6008:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +6009:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29.1 +6010:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +6011:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6012:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6013:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6014:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6015:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6016:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6017:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6018:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6019:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6020:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6021:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6022:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6023:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6024:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6025:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6026:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6027:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6028:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6029:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +6030:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6031:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +6032:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +6033:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6034:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +6035:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6036:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6037:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6038:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6039:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6040:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6041:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6042:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6043:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6044:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6045:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6046:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6047:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6048:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6049:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6050:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6051:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6052:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6053:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6054:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6055:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6056:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6057:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6058:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6059:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6060:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6061:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6062:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6063:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6064:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6065:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6066:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6067:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6068:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +6069:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +6070:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +6071:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +6072:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +6073:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +6074:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20float&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20SkPoint&&\2c\20SkPoint&&\2c\20skia::textlayout::InternalLineMetrics&&\2c\20bool&&\29 +6075:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>*\29\20const +6076:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28\29\20const +6077:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::operator\28\29\28skia::textlayout::Cluster*&&\29 +6078:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28std::__2::__function::__base*\29\20const +6079:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28\29\20const +6080:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6081:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28\29\20const +6082:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20SkSpan&&\2c\20float&\2c\20unsigned\20long&&\2c\20unsigned\20char&&\29 +6083:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28std::__2::__function::__base\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>*\29\20const +6084:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +6085:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::operator\28\29\28skia::textlayout::Block&&\2c\20skia_private::TArray&&\29 +6086:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6087:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28\29\20const +6088:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::operator\28\29\28sk_sp&&\29 +6089:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6090:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28\29\20const +6091:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::operator\28\29\28skia::textlayout::SkRange&&\29 +6092:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28std::__2::__function::__base\29>*\29\20const +6093:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28\29\20const +6094:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +6095:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +6096:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +6097:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29.1 +6098:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29 +6099:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::operator\28\29\28void*&&\2c\20void\20const*&&\29 +6100:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy_deallocate\28\29 +6101:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy\28\29 +6102:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6103:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28\29\20const +6104:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6105:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6106:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6107:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6108:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6109:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6110:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6111:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6112:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6113:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6114:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6115:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6116:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +6117:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6118:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6119:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +6120:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +6121:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +6122:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::operator\28\29\28sktext::gpu::GlyphVector*&&\2c\20int&&\2c\20int&&\2c\20skgpu::MaskFormat&&\2c\20int&&\29 +6123:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28std::__2::__function::__base\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>*\29\20const +6124:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28\29\20const +6125:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::operator\28\29\28GrSurfaceProxy\20const*&&\29 +6126:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6127:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28\29\20const +6128:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +6129:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6130:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +6131:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6132:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6133:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +6134:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +6135:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +6136:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6137:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6138:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::operator\28\29\28\29 +6139:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6140:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28\29\20const +6141:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6142:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6143:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6144:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6145:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6146:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6147:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6148:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6149:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6150:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6151:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6152:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6153:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6154:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6155:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6156:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6157:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6158:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6159:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6160:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29.1 +6161:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29 +6162:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +6163:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy_deallocate\28\29 +6164:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy\28\29 +6165:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6166:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +6167:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +6168:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6169:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +6170:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::operator\28\29\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\29 +6171:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6172:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +6173:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6174:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +6175:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::operator\28\29\28SkVertices\20const*&&\2c\20SkBlendMode&&\2c\20SkPaint\20const&\2c\20float&&\2c\20float&&\2c\20bool&&\29 +6176:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +6177:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28\29\20const +6178:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::operator\28\29\28SkIRect\20const&\29 +6179:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6180:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +6181:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::operator\28\29\28SkImageInfo\20const&\2c\20void*&&\2c\20unsigned\20long&&\2c\20SkCodec::Options\20const&\2c\20int&&\29 +6182:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::__clone\28std::__2::__function::__base*\29\20const +6183:std::__2::__function::__func\2c\20SkCodec::Result\20\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int\29>::__clone\28\29\20const +6184:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6185:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6186:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6187:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6188:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6189:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6190:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6191:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6192:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6193:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6194:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6195:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6196:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6197:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6198:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +6199:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +6200:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6201:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +6202:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +6203:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6204:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6205:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::operator\28\29\28GrTextureProxy*&&\2c\20SkIRect&&\2c\20GrColorType&&\2c\20void\20const*&&\2c\20unsigned\20long&&\29 +6206:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +6207:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28\29\20const +6208:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::operator\28\29\28GrBackendTexture&&\29 +6209:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28std::__2::__function::__base*\29\20const +6210:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28\29\20const +6211:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6212:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6213:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6214:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +6215:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +6216:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +6217:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6218:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6219:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6220:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +6221:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +6222:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +6223:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +6224:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6225:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +6226:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +6227:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +6228:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +6229:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +6230:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +6231:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6232:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6233:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +6234:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +6235:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6236:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6237:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +6238:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +6239:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +6240:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::operator\28\29\28int&&\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*&&\29 +6241:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +6242:std::__2::__function::__func\2c\20void\20\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29>::__clone\28\29\20const +6243:start_pass_upsample +6244:start_pass_phuff_decoder +6245:start_pass_merged_upsample +6246:start_pass_main +6247:start_pass_huff_decoder +6248:start_pass_dpost +6249:start_pass_2_quant +6250:start_pass_1_quant +6251:start_pass +6252:start_output_pass +6253:start_input_pass.1 +6254:stackSave +6255:stackRestore +6256:srgb_to_hwb\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +6257:srgb_to_hsl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +6258:srcover_p\28unsigned\20char\2c\20unsigned\20char\29 +6259:sn_write +6260:sktext::gpu::post_purge_blob_message\28unsigned\20int\2c\20unsigned\20int\29 +6261:sktext::gpu::TextBlob::~TextBlob\28\29.1 +6262:sktext::gpu::TextBlob::~TextBlob\28\29 +6263:sktext::gpu::SubRun::~SubRun\28\29 +6264:sktext::gpu::SlugImpl::~SlugImpl\28\29.1 +6265:sktext::gpu::SlugImpl::~SlugImpl\28\29 +6266:sktext::gpu::SlugImpl::sourceBounds\28\29\20const +6267:sktext::gpu::SlugImpl::sourceBoundsWithOrigin\28\29\20const +6268:sktext::gpu::SlugImpl::doFlatten\28SkWriteBuffer&\29\20const +6269:sktext::gpu::SDFMaskFilterImpl::getTypeName\28\29\20const +6270:sktext::gpu::SDFMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +6271:sktext::gpu::SDFMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +6272:skip_variable +6273:skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +6274:skif::\28anonymous\20namespace\29::RasterBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +6275:skif::\28anonymous\20namespace\29::RasterBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +6276:skif::\28anonymous\20namespace\29::RasterBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +6277:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +6278:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +6279:skif::\28anonymous\20namespace\29::GaneshBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +6280:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +6281:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +6282:skif::\28anonymous\20namespace\29::GaneshBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +6283:skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +6284:skia_png_zalloc +6285:skia_png_write_rows +6286:skia_png_write_info +6287:skia_png_write_end +6288:skia_png_user_version_check +6289:skia_png_set_text +6290:skia_png_set_sRGB +6291:skia_png_set_keep_unknown_chunks +6292:skia_png_set_iCCP +6293:skia_png_set_gray_to_rgb +6294:skia_png_set_filter +6295:skia_png_set_filler +6296:skia_png_read_update_info +6297:skia_png_read_info +6298:skia_png_read_image +6299:skia_png_read_end +6300:skia_png_push_fill_buffer +6301:skia_png_process_data +6302:skia_png_default_write_data +6303:skia_png_default_read_data +6304:skia_png_default_flush +6305:skia_png_create_read_struct +6306:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29.1 +6307:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29 +6308:skia::textlayout::TypefaceFontStyleSet::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +6309:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29.1 +6310:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29 +6311:skia::textlayout::TypefaceFontProvider::onMatchFamily\28char\20const*\29\20const +6312:skia::textlayout::TypefaceFontProvider::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +6313:skia::textlayout::TypefaceFontProvider::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +6314:skia::textlayout::TypefaceFontProvider::onGetFamilyName\28int\2c\20SkString*\29\20const +6315:skia::textlayout::TypefaceFontProvider::onCreateStyleSet\28int\29\20const +6316:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29.1 +6317:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29 +6318:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6319:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6320:skia::textlayout::PositionWithAffinity*\20emscripten::internal::raw_constructor\28\29 +6321:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29.1 +6322:skia::textlayout::ParagraphImpl::visit\28std::__2::function\20const&\29 +6323:skia::textlayout::ParagraphImpl::updateTextAlign\28skia::textlayout::TextAlign\29 +6324:skia::textlayout::ParagraphImpl::updateForegroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +6325:skia::textlayout::ParagraphImpl::updateFontSize\28unsigned\20long\2c\20unsigned\20long\2c\20float\29 +6326:skia::textlayout::ParagraphImpl::updateBackgroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +6327:skia::textlayout::ParagraphImpl::unresolvedGlyphs\28\29 +6328:skia::textlayout::ParagraphImpl::unresolvedCodepoints\28\29 +6329:skia::textlayout::ParagraphImpl::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +6330:skia::textlayout::ParagraphImpl::paint\28SkCanvas*\2c\20float\2c\20float\29 +6331:skia::textlayout::ParagraphImpl::markDirty\28\29 +6332:skia::textlayout::ParagraphImpl::lineNumber\28\29 +6333:skia::textlayout::ParagraphImpl::layout\28float\29 +6334:skia::textlayout::ParagraphImpl::getWordBoundary\28unsigned\20int\29 +6335:skia::textlayout::ParagraphImpl::getRectsForRange\28unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +6336:skia::textlayout::ParagraphImpl::getRectsForPlaceholders\28\29 +6337:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +6338:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29 +6339:skia::textlayout::ParagraphImpl::getLineNumberAt\28unsigned\20long\29\20const +6340:skia::textlayout::ParagraphImpl::getLineNumberAtUTF16Offset\28unsigned\20long\29 +6341:skia::textlayout::ParagraphImpl::getLineMetrics\28std::__2::vector>&\29 +6342:skia::textlayout::ParagraphImpl::getLineMetricsAt\28int\2c\20skia::textlayout::LineMetrics*\29\20const +6343:skia::textlayout::ParagraphImpl::getGlyphPositionAtCoordinate\28float\2c\20float\29 +6344:skia::textlayout::ParagraphImpl::getFonts\28\29\20const +6345:skia::textlayout::ParagraphImpl::getFontAt\28unsigned\20long\29\20const +6346:skia::textlayout::ParagraphImpl::getFontAtUTF16Offset\28unsigned\20long\29 +6347:skia::textlayout::ParagraphImpl::getClosestUTF16GlyphInfoAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +6348:skia::textlayout::ParagraphImpl::getClosestGlyphClusterAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +6349:skia::textlayout::ParagraphImpl::getActualTextRange\28int\2c\20bool\29\20const +6350:skia::textlayout::ParagraphImpl::extendedVisit\28std::__2::function\20const&\29 +6351:skia::textlayout::ParagraphImpl::containsEmoji\28SkTextBlob*\29 +6352:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29::$_0::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +6353:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29 +6354:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29.1 +6355:skia::textlayout::ParagraphBuilderImpl::setWordsUtf8\28std::__2::vector>\29 +6356:skia::textlayout::ParagraphBuilderImpl::setWordsUtf16\28std::__2::vector>\29 +6357:skia::textlayout::ParagraphBuilderImpl::setLineBreaksUtf8\28std::__2::vector>\29 +6358:skia::textlayout::ParagraphBuilderImpl::setLineBreaksUtf16\28std::__2::vector>\29 +6359:skia::textlayout::ParagraphBuilderImpl::setGraphemeBreaksUtf8\28std::__2::vector>\29 +6360:skia::textlayout::ParagraphBuilderImpl::setGraphemeBreaksUtf16\28std::__2::vector>\29 +6361:skia::textlayout::ParagraphBuilderImpl::pushStyle\28skia::textlayout::TextStyle\20const&\29 +6362:skia::textlayout::ParagraphBuilderImpl::pop\28\29 +6363:skia::textlayout::ParagraphBuilderImpl::peekStyle\28\29 +6364:skia::textlayout::ParagraphBuilderImpl::getText\28\29 +6365:skia::textlayout::ParagraphBuilderImpl::getParagraphStyle\28\29\20const +6366:skia::textlayout::ParagraphBuilderImpl::getClientICUData\28\29\20const +6367:skia::textlayout::ParagraphBuilderImpl::addText\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +6368:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\2c\20unsigned\20long\29 +6369:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\29 +6370:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\29 +6371:skia::textlayout::ParagraphBuilderImpl::SetUnicode\28sk_sp\29 +6372:skia::textlayout::ParagraphBuilderImpl::Reset\28\29 +6373:skia::textlayout::ParagraphBuilderImpl::RequiresClientICU\28\29 +6374:skia::textlayout::ParagraphBuilderImpl::Build\28\29 +6375:skia::textlayout::Paragraph::getMinIntrinsicWidth\28\29 +6376:skia::textlayout::Paragraph::getMaxWidth\28\29 +6377:skia::textlayout::Paragraph::getMaxIntrinsicWidth\28\29 +6378:skia::textlayout::Paragraph::getLongestLine\28\29 +6379:skia::textlayout::Paragraph::getIdeographicBaseline\28\29 +6380:skia::textlayout::Paragraph::getHeight\28\29 +6381:skia::textlayout::Paragraph::getAlphabeticBaseline\28\29 +6382:skia::textlayout::Paragraph::didExceedMaxLines\28\29 +6383:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29.1 +6384:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29 +6385:skia::textlayout::OneLineShaper::~OneLineShaper\28\29.1 +6386:skia::textlayout::OneLineShaper::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6387:skia::textlayout::OneLineShaper::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +6388:skia::textlayout::LangIterator::~LangIterator\28\29.1 +6389:skia::textlayout::LangIterator::~LangIterator\28\29 +6390:skia::textlayout::LangIterator::endOfCurrentRun\28\29\20const +6391:skia::textlayout::LangIterator::currentLanguage\28\29\20const +6392:skia::textlayout::LangIterator::consume\28\29 +6393:skia::textlayout::LangIterator::atEnd\28\29\20const +6394:skia::textlayout::FontCollection::~FontCollection\28\29.1 +6395:skia::textlayout::CanvasParagraphPainter::translate\28float\2c\20float\29 +6396:skia::textlayout::CanvasParagraphPainter::save\28\29 +6397:skia::textlayout::CanvasParagraphPainter::restore\28\29 +6398:skia::textlayout::CanvasParagraphPainter::drawTextShadow\28sk_sp\20const&\2c\20float\2c\20float\2c\20unsigned\20int\2c\20float\29 +6399:skia::textlayout::CanvasParagraphPainter::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20std::__2::variant\20const&\29 +6400:skia::textlayout::CanvasParagraphPainter::drawRect\28SkRect\20const&\2c\20std::__2::variant\20const&\29 +6401:skia::textlayout::CanvasParagraphPainter::drawPath\28SkPath\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +6402:skia::textlayout::CanvasParagraphPainter::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +6403:skia::textlayout::CanvasParagraphPainter::drawFilledRect\28SkRect\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +6404:skia::textlayout::CanvasParagraphPainter::clipRect\28SkRect\20const&\29 +6405:skgpu::tess::FixedCountWedges::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +6406:skgpu::tess::FixedCountWedges::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +6407:skgpu::tess::FixedCountStrokes::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +6408:skgpu::tess::FixedCountCurves::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +6409:skgpu::tess::FixedCountCurves::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +6410:skgpu::ganesh::texture_proxy_view_from_planes\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20skgpu::Budgeted\29::$_0::__invoke\28void*\2c\20void*\29 +6411:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29.1 +6412:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::visitProxies\28std::__2::function\20const&\29\20const +6413:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6414:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6415:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6416:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::name\28\29\20const +6417:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::fixedFunctionFlags\28\29\20const +6418:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6419:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::name\28\29\20const +6420:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +6421:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6422:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6423:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +6424:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29.1 +6425:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29 +6426:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::name\28\29\20const +6427:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6428:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6429:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29.1 +6430:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29 +6431:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +6432:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6433:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6434:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6435:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6436:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::name\28\29\20const +6437:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::fixedFunctionFlags\28\29\20const +6438:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6439:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29.1 +6440:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29 +6441:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +6442:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6443:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6444:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6445:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6446:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::name\28\29\20const +6447:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6448:skgpu::ganesh::TriangulatingPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6449:skgpu::ganesh::TriangulatingPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6450:skgpu::ganesh::TriangulatingPathRenderer::name\28\29\20const +6451:skgpu::ganesh::TessellationPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +6452:skgpu::ganesh::TessellationPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +6453:skgpu::ganesh::TessellationPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6454:skgpu::ganesh::TessellationPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6455:skgpu::ganesh::TessellationPathRenderer::name\28\29\20const +6456:skgpu::ganesh::SurfaceDrawContext::willReplaceOpsTask\28skgpu::ganesh::OpsTask*\2c\20skgpu::ganesh::OpsTask*\29 +6457:skgpu::ganesh::SurfaceDrawContext::canDiscardPreviousOpsOnFullClear\28\29\20const +6458:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29.1 +6459:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +6460:skgpu::ganesh::SurfaceContext::asyncReadPixels\28GrDirectContext*\2c\20SkIRect\20const&\2c\20SkColorType\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +6461:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29.1 +6462:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29 +6463:skgpu::ganesh::StrokeTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +6464:skgpu::ganesh::StrokeTessellateOp::usesStencil\28\29\20const +6465:skgpu::ganesh::StrokeTessellateOp::onPrepare\28GrOpFlushState*\29 +6466:skgpu::ganesh::StrokeTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6467:skgpu::ganesh::StrokeTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6468:skgpu::ganesh::StrokeTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6469:skgpu::ganesh::StrokeTessellateOp::name\28\29\20const +6470:skgpu::ganesh::StrokeTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6471:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29.1 +6472:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29 +6473:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +6474:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::programInfo\28\29 +6475:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6476:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6477:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6478:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::name\28\29\20const +6479:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6480:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29.1 +6481:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29 +6482:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +6483:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::programInfo\28\29 +6484:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6485:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6486:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6487:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6488:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::name\28\29\20const +6489:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6490:skgpu::ganesh::StencilClip::~StencilClip\28\29.1 +6491:skgpu::ganesh::StencilClip::~StencilClip\28\29 +6492:skgpu::ganesh::StencilClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +6493:skgpu::ganesh::StencilClip::getConservativeBounds\28\29\20const +6494:skgpu::ganesh::StencilClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +6495:skgpu::ganesh::SoftwarePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6496:skgpu::ganesh::SoftwarePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6497:skgpu::ganesh::SoftwarePathRenderer::name\28\29\20const +6498:skgpu::ganesh::SmallPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6499:skgpu::ganesh::SmallPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6500:skgpu::ganesh::SmallPathRenderer::name\28\29\20const +6501:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +6502:skgpu::ganesh::SmallPathAtlasMgr::preFlush\28GrOnFlushResourceProvider*\29 +6503:skgpu::ganesh::SmallPathAtlasMgr::postFlush\28skgpu::AtlasToken\29 +6504:skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +6505:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29.1 +6506:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29 +6507:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::visitProxies\28std::__2::function\20const&\29\20const +6508:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::programInfo\28\29 +6509:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +6510:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6511:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6512:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6513:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::name\28\29\20const +6514:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6515:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_quad_generic\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6516:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6517:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6518:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6519:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6520:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6521:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6522:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +6523:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29.1 +6524:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29 +6525:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::onTextureSampler\28int\29\20const +6526:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::name\28\29\20const +6527:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +6528:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6529:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6530:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +6531:skgpu::ganesh::PathWedgeTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +6532:skgpu::ganesh::PathTessellator::~PathTessellator\28\29 +6533:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29.1 +6534:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29 +6535:skgpu::ganesh::PathTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +6536:skgpu::ganesh::PathTessellateOp::usesStencil\28\29\20const +6537:skgpu::ganesh::PathTessellateOp::onPrepare\28GrOpFlushState*\29 +6538:skgpu::ganesh::PathTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6539:skgpu::ganesh::PathTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6540:skgpu::ganesh::PathTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6541:skgpu::ganesh::PathTessellateOp::name\28\29\20const +6542:skgpu::ganesh::PathTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6543:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29.1 +6544:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29 +6545:skgpu::ganesh::PathStencilCoverOp::visitProxies\28std::__2::function\20const&\29\20const +6546:skgpu::ganesh::PathStencilCoverOp::onPrepare\28GrOpFlushState*\29 +6547:skgpu::ganesh::PathStencilCoverOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6548:skgpu::ganesh::PathStencilCoverOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6549:skgpu::ganesh::PathStencilCoverOp::name\28\29\20const +6550:skgpu::ganesh::PathStencilCoverOp::fixedFunctionFlags\28\29\20const +6551:skgpu::ganesh::PathStencilCoverOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6552:skgpu::ganesh::PathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +6553:skgpu::ganesh::PathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +6554:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29.1 +6555:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29 +6556:skgpu::ganesh::PathInnerTriangulateOp::visitProxies\28std::__2::function\20const&\29\20const +6557:skgpu::ganesh::PathInnerTriangulateOp::onPrepare\28GrOpFlushState*\29 +6558:skgpu::ganesh::PathInnerTriangulateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6559:skgpu::ganesh::PathInnerTriangulateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6560:skgpu::ganesh::PathInnerTriangulateOp::name\28\29\20const +6561:skgpu::ganesh::PathInnerTriangulateOp::fixedFunctionFlags\28\29\20const +6562:skgpu::ganesh::PathInnerTriangulateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6563:skgpu::ganesh::PathCurveTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +6564:skgpu::ganesh::OpsTask::~OpsTask\28\29.1 +6565:skgpu::ganesh::OpsTask::onPrepare\28GrOpFlushState*\29 +6566:skgpu::ganesh::OpsTask::onPrePrepare\28GrRecordingContext*\29 +6567:skgpu::ganesh::OpsTask::onMakeSkippable\28\29 +6568:skgpu::ganesh::OpsTask::onIsUsed\28GrSurfaceProxy*\29\20const +6569:skgpu::ganesh::OpsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +6570:skgpu::ganesh::OpsTask::endFlush\28GrDrawingManager*\29 +6571:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29.1 +6572:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::visitProxies\28std::__2::function\20const&\29\20const +6573:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6574:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6575:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6576:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6577:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::name\28\29\20const +6578:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6579:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29.1 +6580:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29 +6581:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::onTextureSampler\28int\29\20const +6582:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::name\28\29\20const +6583:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +6584:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6585:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6586:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +6587:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29.1 +6588:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29 +6589:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +6590:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::programInfo\28\29 +6591:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +6592:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6593:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6594:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6595:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::name\28\29\20const +6596:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6597:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::clipToShape\28skgpu::ganesh::SurfaceDrawContext*\2c\20SkClipOp\2c\20SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\29 +6598:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29.1 +6599:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29 +6600:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::name\28\29\20const +6601:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6602:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +6603:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6604:skgpu::ganesh::DrawableOp::~DrawableOp\28\29.1 +6605:skgpu::ganesh::DrawableOp::~DrawableOp\28\29 +6606:skgpu::ganesh::DrawableOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6607:skgpu::ganesh::DrawableOp::name\28\29\20const +6608:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29.1 +6609:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29 +6610:skgpu::ganesh::DrawAtlasPathOp::visitProxies\28std::__2::function\20const&\29\20const +6611:skgpu::ganesh::DrawAtlasPathOp::onPrepare\28GrOpFlushState*\29 +6612:skgpu::ganesh::DrawAtlasPathOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6613:skgpu::ganesh::DrawAtlasPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6614:skgpu::ganesh::DrawAtlasPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6615:skgpu::ganesh::DrawAtlasPathOp::name\28\29\20const +6616:skgpu::ganesh::DrawAtlasPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6617:skgpu::ganesh::Device::~Device\28\29.1 +6618:skgpu::ganesh::Device::~Device\28\29 +6619:skgpu::ganesh::Device::strikeDeviceInfo\28\29\20const +6620:skgpu::ganesh::Device::snapSpecial\28SkIRect\20const&\2c\20bool\29 +6621:skgpu::ganesh::Device::snapSpecialScaled\28SkIRect\20const&\2c\20SkISize\20const&\29 +6622:skgpu::ganesh::Device::replaceClip\28SkIRect\20const&\29 +6623:skgpu::ganesh::Device::recordingContext\28\29\20const +6624:skgpu::ganesh::Device::pushClipStack\28\29 +6625:skgpu::ganesh::Device::popClipStack\28\29 +6626:skgpu::ganesh::Device::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +6627:skgpu::ganesh::Device::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +6628:skgpu::ganesh::Device::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +6629:skgpu::ganesh::Device::onClipShader\28sk_sp\29 +6630:skgpu::ganesh::Device::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +6631:skgpu::ganesh::Device::makeSpecial\28SkImage\20const*\29 +6632:skgpu::ganesh::Device::isClipWideOpen\28\29\20const +6633:skgpu::ganesh::Device::isClipRect\28\29\20const +6634:skgpu::ganesh::Device::isClipEmpty\28\29\20const +6635:skgpu::ganesh::Device::isClipAntiAliased\28\29\20const +6636:skgpu::ganesh::Device::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +6637:skgpu::ganesh::Device::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +6638:skgpu::ganesh::Device::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +6639:skgpu::ganesh::Device::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +6640:skgpu::ganesh::Device::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +6641:skgpu::ganesh::Device::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +6642:skgpu::ganesh::Device::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +6643:skgpu::ganesh::Device::drawPaint\28SkPaint\20const&\29 +6644:skgpu::ganesh::Device::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +6645:skgpu::ganesh::Device::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +6646:skgpu::ganesh::Device::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +6647:skgpu::ganesh::Device::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +6648:skgpu::ganesh::Device::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +6649:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +6650:skgpu::ganesh::Device::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +6651:skgpu::ganesh::Device::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +6652:skgpu::ganesh::Device::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +6653:skgpu::ganesh::Device::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +6654:skgpu::ganesh::Device::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +6655:skgpu::ganesh::Device::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +6656:skgpu::ganesh::Device::devClipBounds\28\29\20const +6657:skgpu::ganesh::Device::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +6658:skgpu::ganesh::Device::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +6659:skgpu::ganesh::Device::convertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +6660:skgpu::ganesh::Device::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +6661:skgpu::ganesh::Device::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +6662:skgpu::ganesh::Device::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +6663:skgpu::ganesh::Device::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +6664:skgpu::ganesh::Device::android_utils_clipWithStencil\28\29 +6665:skgpu::ganesh::DefaultPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +6666:skgpu::ganesh::DefaultPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +6667:skgpu::ganesh::DefaultPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6668:skgpu::ganesh::DefaultPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6669:skgpu::ganesh::DefaultPathRenderer::name\28\29\20const +6670:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::name\28\29\20const +6671:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6672:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +6673:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6674:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::name\28\29\20const +6675:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +6676:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +6677:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +6678:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29.1 +6679:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29 +6680:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::visitProxies\28std::__2::function\20const&\29\20const +6681:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::programInfo\28\29 +6682:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +6683:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6684:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +6685:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6686:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::name\28\29\20const +6687:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::fixedFunctionFlags\28\29\20const +6688:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6689:skgpu::ganesh::DashLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6690:skgpu::ganesh::DashLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6691:skgpu::ganesh::DashLinePathRenderer::name\28\29\20const +6692:skgpu::ganesh::ClipStack::~ClipStack\28\29.1 +6693:skgpu::ganesh::ClipStack::preApply\28SkRect\20const&\2c\20GrAA\29\20const +6694:skgpu::ganesh::ClipStack::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +6695:skgpu::ganesh::ClearOp::~ClearOp\28\29 +6696:skgpu::ganesh::ClearOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6697:skgpu::ganesh::ClearOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6698:skgpu::ganesh::ClearOp::name\28\29\20const +6699:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29.1 +6700:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29 +6701:skgpu::ganesh::AtlasTextOp::visitProxies\28std::__2::function\20const&\29\20const +6702:skgpu::ganesh::AtlasTextOp::onPrepareDraws\28GrMeshDrawTarget*\29 +6703:skgpu::ganesh::AtlasTextOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +6704:skgpu::ganesh::AtlasTextOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +6705:skgpu::ganesh::AtlasTextOp::name\28\29\20const +6706:skgpu::ganesh::AtlasTextOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +6707:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29.1 +6708:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29 +6709:skgpu::ganesh::AtlasRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +6710:skgpu::ganesh::AtlasRenderTask::onExecute\28GrOpFlushState*\29 +6711:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +6712:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +6713:skgpu::ganesh::AtlasPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6714:skgpu::ganesh::AtlasPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6715:skgpu::ganesh::AtlasPathRenderer::name\28\29\20const +6716:skgpu::ganesh::AALinearizingConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6717:skgpu::ganesh::AALinearizingConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6718:skgpu::ganesh::AALinearizingConvexPathRenderer::name\28\29\20const +6719:skgpu::ganesh::AAHairLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6720:skgpu::ganesh::AAHairLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6721:skgpu::ganesh::AAHairLinePathRenderer::name\28\29\20const +6722:skgpu::ganesh::AAConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +6723:skgpu::ganesh::AAConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +6724:skgpu::ganesh::AAConvexPathRenderer::name\28\29\20const +6725:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29.1 +6726:skgpu::TAsyncReadResult::rowBytes\28int\29\20const +6727:skgpu::TAsyncReadResult::data\28int\29\20const +6728:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29.1 +6729:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29 +6730:skgpu::StringKeyBuilder::appendComment\28char\20const*\29 +6731:skgpu::StringKeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +6732:skgpu::ShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\2c\20bool\29 +6733:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29.1 +6734:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29 +6735:skgpu::RectanizerSkyline::reset\28\29 +6736:skgpu::RectanizerSkyline::percentFull\28\29\20const +6737:skgpu::RectanizerPow2::reset\28\29 +6738:skgpu::RectanizerPow2::percentFull\28\29\20const +6739:skgpu::RectanizerPow2::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +6740:skgpu::Plot::~Plot\28\29.1 +6741:skgpu::Plot::~Plot\28\29 +6742:skgpu::KeyBuilder::~KeyBuilder\28\29 +6743:skgpu::KeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +6744:skgpu::DefaultShaderErrorHandler\28\29::DefaultShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\29 +6745:sk_write_fn\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20long\29 +6746:sk_sp*\20emscripten::internal::MemberAccess>::getWire\28sk_sp\20SimpleImageInfo::*\20const&\2c\20SimpleImageInfo\20const&\29 +6747:sk_read_user_chunk\28png_struct_def*\2c\20png_unknown_chunk_t*\29 +6748:sk_mmap_releaseproc\28void\20const*\2c\20void*\29 +6749:sk_ft_stream_io\28FT_StreamRec_*\2c\20unsigned\20long\2c\20unsigned\20char*\2c\20unsigned\20long\29 +6750:sk_ft_realloc\28FT_MemoryRec_*\2c\20long\2c\20long\2c\20void*\29 +6751:sk_ft_free\28FT_MemoryRec_*\2c\20void*\29 +6752:sk_ft_alloc\28FT_MemoryRec_*\2c\20long\29 +6753:sk_dataref_releaseproc\28void\20const*\2c\20void*\29 +6754:sfnt_table_info +6755:sfnt_stream_close +6756:sfnt_load_face +6757:sfnt_is_postscript +6758:sfnt_is_alphanumeric +6759:sfnt_init_face +6760:sfnt_get_ps_name +6761:sfnt_get_name_index +6762:sfnt_get_name_id +6763:sfnt_get_interface +6764:sfnt_get_glyph_name +6765:sfnt_get_charset_id +6766:sfnt_done_face +6767:setup_syllables_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6768:setup_syllables_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6769:setup_syllables_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6770:setup_syllables_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6771:setup_masks_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6772:setup_masks_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6773:setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6774:setup_masks_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6775:setup_masks_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6776:setup_masks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6777:sep_upsample +6778:self_destruct +6779:save_marker +6780:sample8\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6781:sample6\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6782:sample4\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6783:sample2\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6784:sample1\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +6785:rgb_rgb_convert +6786:rgb_rgb565_convert +6787:rgb_rgb565D_convert +6788:rgb_gray_convert +6789:reverse_hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +6790:reverse_hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +6791:reset_marker_reader +6792:reset_input_controller +6793:reset_error_mgr +6794:request_virt_sarray +6795:request_virt_barray +6796:reorder_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6797:reorder_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6798:reorder_marks_hebrew\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6799:reorder_marks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +6800:reorder_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6801:release_data\28void*\2c\20void*\29 +6802:record_stch\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6803:record_rphf_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6804:record_pref_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +6805:realize_virt_arrays +6806:read_restart_marker +6807:read_markers +6808:read_data_from_FT_Stream +6809:quantize_ord_dither +6810:quantize_fs_dither +6811:quantize3_ord_dither +6812:psnames_get_service +6813:pshinter_get_t2_funcs +6814:pshinter_get_t1_funcs +6815:pshinter_get_globals_funcs +6816:psh_globals_new +6817:psh_globals_destroy +6818:psaux_get_glyph_name +6819:ps_table_release +6820:ps_table_new +6821:ps_table_done +6822:ps_table_add +6823:ps_property_set +6824:ps_property_get +6825:ps_parser_to_token_array +6826:ps_parser_to_int +6827:ps_parser_to_fixed_array +6828:ps_parser_to_fixed +6829:ps_parser_to_coord_array +6830:ps_parser_to_bytes +6831:ps_parser_skip_spaces +6832:ps_parser_load_field_table +6833:ps_parser_init +6834:ps_hints_t2mask +6835:ps_hints_t2counter +6836:ps_hints_t1stem3 +6837:ps_hints_t1reset +6838:ps_hints_close +6839:ps_hints_apply +6840:ps_hinter_init +6841:ps_hinter_done +6842:ps_get_standard_strings +6843:ps_get_macintosh_name +6844:ps_decoder_init +6845:ps_builder_init +6846:progress_monitor\28jpeg_common_struct*\29 +6847:process_data_simple_main +6848:process_data_crank_post +6849:process_data_context_main +6850:prescan_quantize +6851:preprocess_text_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6852:preprocess_text_thai\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6853:preprocess_text_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6854:preprocess_text_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6855:prepare_for_output_pass +6856:premultiply_data +6857:premul_rgb\28SkRGBA4f<\28SkAlphaType\292>\29 +6858:premul_polar\28SkRGBA4f<\28SkAlphaType\292>\29 +6859:postprocess_glyphs_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +6860:post_process_prepass +6861:post_process_2pass +6862:post_process_1pass +6863:portable::xy_to_unit_angle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6864:portable::xy_to_radius\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6865:portable::xy_to_2pt_conical_well_behaved\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6866:portable::xy_to_2pt_conical_strip\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6867:portable::xy_to_2pt_conical_smaller\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6868:portable::xy_to_2pt_conical_greater\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6869:portable::xy_to_2pt_conical_focal_on_circle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6870:portable::xor_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6871:portable::white_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6872:portable::unpremul_polar\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6873:portable::unpremul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6874:portable::uniform_color_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6875:portable::trace_var\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6876:portable::trace_scope\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6877:portable::trace_line\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6878:portable::trace_exit\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6879:portable::trace_enter\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6880:portable::tan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6881:portable::swizzle_copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6882:portable::swizzle_copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6883:portable::swizzle_copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6884:portable::swizzle_copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6885:portable::swizzle_copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6886:portable::swizzle_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6887:portable::swizzle_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6888:portable::swizzle_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6889:portable::swizzle_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6890:portable::swizzle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6891:portable::swap_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6892:portable::swap_rb_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6893:portable::swap_rb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6894:portable::sub_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6895:portable::sub_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6896:portable::sub_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6897:portable::sub_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6898:portable::sub_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6899:portable::sub_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6900:portable::sub_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6901:portable::sub_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6902:portable::sub_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6903:portable::sub_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6904:portable::store_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6905:portable::store_src_a\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6906:portable::store_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6907:portable::store_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6908:portable::store_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6909:portable::store_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6910:portable::store_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6911:portable::store_r8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6912:portable::store_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6913:portable::store_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6914:portable::store_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6915:portable::store_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6916:portable::store_device_xy01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6917:portable::store_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6918:portable::store_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6919:portable::store_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6920:portable::store_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6921:portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6922:portable::store_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6923:portable::store_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6924:portable::store_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6925:portable::store_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6926:portable::store_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6927:portable::store_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6928:portable::store_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6929:portable::start_pipeline\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkRasterPipelineStage*\2c\20SkSpan\2c\20unsigned\20char*\29 +6930:portable::stack_rewind\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6931:portable::stack_checkpoint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6932:portable::srcover_rgba_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6933:portable::srcover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6934:portable::srcout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6935:portable::srcin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6936:portable::srcatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6937:portable::sqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6938:portable::splat_4_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6939:portable::splat_3_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6940:portable::splat_2_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6941:portable::softlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6942:portable::smoothstep_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6943:portable::sin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6944:portable::shuffle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6945:portable::set_base_pointer\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6946:portable::seed_shader\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6947:portable::screen\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6948:portable::scale_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6949:portable::scale_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6950:portable::scale_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6951:portable::scale_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6952:portable::saturation\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6953:portable::rgb_to_hsl\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6954:portable::repeat_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6955:portable::repeat_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6956:portable::repeat_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6957:portable::refract_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6958:portable::reenable_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6959:portable::rect_memset64\28unsigned\20long\20long*\2c\20unsigned\20long\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +6960:portable::rect_memset32\28unsigned\20int*\2c\20unsigned\20int\2c\20int\2c\20unsigned\20long\2c\20int\29 +6961:portable::rect_memset16\28unsigned\20short*\2c\20unsigned\20short\2c\20int\2c\20unsigned\20long\2c\20int\29 +6962:portable::premul_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6963:portable::premul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6964:portable::pow_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6965:portable::plus_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6966:portable::perlin_noise\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6967:portable::parametric\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6968:portable::overlay\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6969:portable::negate_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6970:portable::multiply\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6971:portable::mul_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6972:portable::mul_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6973:portable::mul_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6974:portable::mul_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6975:portable::mul_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6976:portable::mul_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6977:portable::mul_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6978:portable::mul_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6979:portable::mul_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6980:portable::mul_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6981:portable::mul_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6982:portable::mul_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6983:portable::move_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6984:portable::move_dst_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6985:portable::modulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6986:portable::mod_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6987:portable::mod_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6988:portable::mod_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6989:portable::mod_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6990:portable::mod_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6991:portable::mix_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6992:portable::mix_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6993:portable::mix_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6994:portable::mix_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6995:portable::mix_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6996:portable::mix_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6997:portable::mix_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6998:portable::mix_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +6999:portable::mix_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7000:portable::mix_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7001:portable::mirror_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7002:portable::mirror_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7003:portable::mirror_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7004:portable::mipmap_linear_update\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7005:portable::mipmap_linear_init\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7006:portable::mipmap_linear_finish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7007:portable::min_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7008:portable::min_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7009:portable::min_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7010:portable::min_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7011:portable::min_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7012:portable::min_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7013:portable::min_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7014:portable::min_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7015:portable::min_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7016:portable::min_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7017:portable::min_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7018:portable::min_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7019:portable::min_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7020:portable::min_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7021:portable::min_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7022:portable::min_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7023:portable::merge_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7024:portable::merge_inv_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7025:portable::merge_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7026:portable::memset32\28unsigned\20int*\2c\20unsigned\20int\2c\20int\29 +7027:portable::memset16\28unsigned\20short*\2c\20unsigned\20short\2c\20int\29 +7028:portable::max_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7029:portable::max_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7030:portable::max_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7031:portable::max_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7032:portable::max_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7033:portable::max_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7034:portable::max_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7035:portable::max_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7036:portable::max_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7037:portable::max_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7038:portable::max_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7039:portable::max_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7040:portable::max_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7041:portable::max_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7042:portable::max_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7043:portable::max_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7044:portable::matrix_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7045:portable::matrix_scale_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7046:portable::matrix_perspective\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7047:portable::matrix_multiply_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7048:portable::matrix_multiply_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7049:portable::matrix_multiply_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7050:portable::matrix_4x5\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7051:portable::matrix_4x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7052:portable::matrix_3x4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7053:portable::matrix_3x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7054:portable::matrix_2x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7055:portable::mask_off_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7056:portable::mask_off_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7057:portable::mask_2pt_conical_nan\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7058:portable::mask_2pt_conical_degenerates\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7059:portable::luminosity\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7060:portable::log_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7061:portable::log2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7062:portable::load_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7063:portable::load_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7064:portable::load_rgf16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7065:portable::load_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7066:portable::load_rg88_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7067:portable::load_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7068:portable::load_rg1616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7069:portable::load_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7070:portable::load_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7071:portable::load_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7072:portable::load_f32_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7073:portable::load_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7074:portable::load_f16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7075:portable::load_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7076:portable::load_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7077:portable::load_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7078:portable::load_af16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7079:portable::load_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7080:portable::load_a8_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7081:portable::load_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7082:portable::load_a16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7083:portable::load_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7084:portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7085:portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7086:portable::load_565_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7087:portable::load_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7088:portable::load_4444_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7089:portable::load_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7090:portable::load_16161616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7091:portable::load_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7092:portable::load_10x6_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7093:portable::load_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7094:portable::load_1010102_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7095:portable::load_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7096:portable::load_1010102_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7097:portable::load_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7098:portable::load_10101010_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7099:portable::load_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7100:portable::lighten\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7101:portable::lerp_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7102:portable::lerp_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7103:portable::lerp_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7104:portable::lerp_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7105:portable::just_return\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7106:portable::jump\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7107:portable::invsqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7108:portable::invsqrt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7109:portable::invsqrt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7110:portable::invsqrt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7111:portable::inverted_CMYK_to_RGB1\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7112:portable::inverted_CMYK_to_BGR1\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7113:portable::inverse_mat4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7114:portable::inverse_mat3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7115:portable::inverse_mat2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7116:portable::init_lane_masks\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7117:portable::hue\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7118:portable::hsl_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7119:portable::hardlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7120:portable::gray_to_RGB1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7121:portable::grayA_to_rgbA\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7122:portable::grayA_to_RGBA\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7123:portable::gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7124:portable::gauss_a_to_rgba\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7125:portable::gather_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7126:portable::gather_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7127:portable::gather_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7128:portable::gather_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7129:portable::gather_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7130:portable::gather_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7131:portable::gather_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7132:portable::gather_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7133:portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7134:portable::gather_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7135:portable::gather_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7136:portable::gather_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7137:portable::gather_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7138:portable::gather_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7139:portable::gather_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7140:portable::gather_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7141:portable::gamma_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7142:portable::force_opaque_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7143:portable::force_opaque\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7144:portable::floor_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7145:portable::floor_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7146:portable::floor_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7147:portable::floor_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7148:portable::exp_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7149:portable::exp2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7150:portable::exclusion\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7151:portable::exchange_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7152:portable::evenly_spaced_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7153:portable::evenly_spaced_2_stop_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7154:portable::emboss\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7155:portable::dstover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7156:portable::dstout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7157:portable::dstin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7158:portable::dstatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7159:portable::dot_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7160:portable::dot_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7161:portable::dot_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7162:portable::div_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7163:portable::div_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7164:portable::div_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7165:portable::div_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7166:portable::div_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7167:portable::div_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7168:portable::div_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7169:portable::div_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7170:portable::div_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7171:portable::div_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7172:portable::div_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7173:portable::div_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7174:portable::div_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7175:portable::div_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7176:portable::div_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7177:portable::dither\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7178:portable::difference\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7179:portable::decal_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7180:portable::decal_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7181:portable::decal_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7182:portable::darken\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7183:portable::css_oklab_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7184:portable::css_oklab_gamut_map_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7185:portable::css_lab_to_xyz\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7186:portable::css_hwb_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7187:portable::css_hsl_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7188:portable::css_hcl_to_lab\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7189:portable::cos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7190:portable::copy_uniform\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7191:portable::copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7192:portable::copy_slot_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7193:portable::copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7194:portable::copy_immutable_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7195:portable::copy_constant\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7196:portable::copy_4_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7197:portable::copy_4_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7198:portable::copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7199:portable::copy_4_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7200:portable::copy_3_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7201:portable::copy_3_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7202:portable::copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7203:portable::copy_3_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7204:portable::copy_2_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7205:portable::copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7206:portable::continue_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7207:portable::colordodge\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7208:portable::colorburn\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7209:portable::color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7210:portable::cmpne_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7211:portable::cmpne_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7212:portable::cmpne_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7213:portable::cmpne_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7214:portable::cmpne_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7215:portable::cmpne_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7216:portable::cmpne_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7217:portable::cmpne_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7218:portable::cmpne_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7219:portable::cmpne_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7220:portable::cmpne_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7221:portable::cmpne_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7222:portable::cmplt_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7223:portable::cmplt_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7224:portable::cmplt_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7225:portable::cmplt_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7226:portable::cmplt_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7227:portable::cmplt_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7228:portable::cmplt_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7229:portable::cmplt_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7230:portable::cmplt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7231:portable::cmplt_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7232:portable::cmplt_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7233:portable::cmplt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7234:portable::cmplt_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7235:portable::cmplt_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7236:portable::cmplt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7237:portable::cmplt_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7238:portable::cmplt_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7239:portable::cmplt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7240:portable::cmple_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7241:portable::cmple_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7242:portable::cmple_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7243:portable::cmple_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7244:portable::cmple_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7245:portable::cmple_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7246:portable::cmple_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7247:portable::cmple_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7248:portable::cmple_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7249:portable::cmple_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7250:portable::cmple_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7251:portable::cmple_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7252:portable::cmple_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7253:portable::cmple_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7254:portable::cmple_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7255:portable::cmple_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7256:portable::cmple_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7257:portable::cmple_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7258:portable::cmpeq_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7259:portable::cmpeq_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7260:portable::cmpeq_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7261:portable::cmpeq_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7262:portable::cmpeq_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7263:portable::cmpeq_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7264:portable::cmpeq_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7265:portable::cmpeq_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7266:portable::cmpeq_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7267:portable::cmpeq_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7268:portable::cmpeq_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7269:portable::cmpeq_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7270:portable::clear\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7271:portable::clamp_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7272:portable::clamp_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7273:portable::clamp_gamut\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7274:portable::clamp_01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7275:portable::ceil_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7276:portable::ceil_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7277:portable::ceil_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7278:portable::ceil_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7279:portable::cast_to_uint_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7280:portable::cast_to_uint_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7281:portable::cast_to_uint_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7282:portable::cast_to_uint_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7283:portable::cast_to_int_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7284:portable::cast_to_int_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7285:portable::cast_to_int_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7286:portable::cast_to_int_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7287:portable::cast_to_float_from_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7288:portable::cast_to_float_from_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7289:portable::cast_to_float_from_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7290:portable::cast_to_float_from_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7291:portable::cast_to_float_from_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7292:portable::cast_to_float_from_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7293:portable::cast_to_float_from_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7294:portable::cast_to_float_from_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7295:portable::case_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7296:portable::callback\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7297:portable::byte_tables\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7298:portable::bt709_luminance_or_luma_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7299:portable::bt709_luminance_or_luma_to_alpha\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7300:portable::branch_if_no_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7301:portable::branch_if_no_active_lanes_eq\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7302:portable::branch_if_any_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7303:portable::branch_if_all_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7304:portable::blit_row_s32a_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +7305:portable::black_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7306:portable::bitwise_xor_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7307:portable::bitwise_xor_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7308:portable::bitwise_xor_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7309:portable::bitwise_xor_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7310:portable::bitwise_xor_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7311:portable::bitwise_xor_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7312:portable::bitwise_or_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7313:portable::bitwise_or_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7314:portable::bitwise_or_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7315:portable::bitwise_or_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7316:portable::bitwise_or_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7317:portable::bitwise_and_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7318:portable::bitwise_and_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7319:portable::bitwise_and_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7320:portable::bitwise_and_imm_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7321:portable::bitwise_and_imm_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7322:portable::bitwise_and_imm_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7323:portable::bitwise_and_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7324:portable::bitwise_and_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7325:portable::bitwise_and_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7326:portable::bilinear_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7327:portable::bilinear_py\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7328:portable::bilinear_px\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7329:portable::bilinear_ny\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7330:portable::bilinear_nx\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7331:portable::bilerp_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7332:portable::bicubic_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7333:portable::bicubic_p3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7334:portable::bicubic_p3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7335:portable::bicubic_p1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7336:portable::bicubic_p1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7337:portable::bicubic_n3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7338:portable::bicubic_n3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7339:portable::bicubic_n1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7340:portable::bicubic_n1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7341:portable::bicubic_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7342:portable::atan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7343:portable::atan2_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7344:portable::asin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7345:portable::alter_2pt_conical_unswap\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7346:portable::alter_2pt_conical_compensate_focal\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7347:portable::alpha_to_red_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7348:portable::alpha_to_red\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7349:portable::alpha_to_gray_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7350:portable::alpha_to_gray\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7351:portable::add_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7352:portable::add_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7353:portable::add_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7354:portable::add_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7355:portable::add_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7356:portable::add_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7357:portable::add_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7358:portable::add_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7359:portable::add_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7360:portable::add_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7361:portable::add_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7362:portable::add_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7363:portable::acos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7364:portable::accumulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7365:portable::abs_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7366:portable::abs_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7367:portable::abs_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7368:portable::abs_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7369:portable::RGB_to_RGB1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7370:portable::RGB_to_BGR1\28unsigned\20int*\2c\20unsigned\20char\20const*\2c\20int\29 +7371:portable::RGBA_to_rgbA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7372:portable::RGBA_to_bgrA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7373:portable::RGBA_to_BGRA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +7374:portable::PQish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7375:portable::HLGish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7376:portable::HLGinvish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +7377:pop_arg_long_double +7378:png_read_filter_row_up +7379:png_read_filter_row_sub +7380:png_read_filter_row_paeth_multibyte_pixel +7381:png_read_filter_row_paeth_1byte_pixel +7382:png_read_filter_row_avg +7383:pass2_no_dither +7384:pass2_fs_dither +7385:override_features_khmer\28hb_ot_shape_planner_t*\29 +7386:override_features_indic\28hb_ot_shape_planner_t*\29 +7387:override_features_hangul\28hb_ot_shape_planner_t*\29 +7388:output_message\28jpeg_common_struct*\29 +7389:output_message +7390:null_convert +7391:noop_upsample +7392:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +7393:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +7394:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +7395:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +7396:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.3 +7397:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.2 +7398:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +7399:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +7400:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +7401:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +7402:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +7403:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +7404:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +7405:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +7406:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +7407:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +7408:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +7409:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +7410:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +7411:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +7412:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +7413:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +7414:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +7415:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +7416:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +7417:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +7418:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +7419:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +7420:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +7421:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +7422:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +7423:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +7424:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +7425:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +7426:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +7427:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +7428:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +7429:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +7430:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29.1 +7431:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29 +7432:non-virtual\20thunk\20to\20GrOpFlushState::writeView\28\29\20const +7433:non-virtual\20thunk\20to\20GrOpFlushState::usesMSAASurface\28\29\20const +7434:non-virtual\20thunk\20to\20GrOpFlushState::threadSafeCache\28\29\20const +7435:non-virtual\20thunk\20to\20GrOpFlushState::strikeCache\28\29\20const +7436:non-virtual\20thunk\20to\20GrOpFlushState::smallPathAtlasManager\28\29\20const +7437:non-virtual\20thunk\20to\20GrOpFlushState::sampledProxyArray\28\29 +7438:non-virtual\20thunk\20to\20GrOpFlushState::rtProxy\28\29\20const +7439:non-virtual\20thunk\20to\20GrOpFlushState::resourceProvider\28\29\20const +7440:non-virtual\20thunk\20to\20GrOpFlushState::renderPassBarriers\28\29\20const +7441:non-virtual\20thunk\20to\20GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +7442:non-virtual\20thunk\20to\20GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +7443:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndirectDraws\28int\29 +7444:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndices\28int\29 +7445:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +7446:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +7447:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +7448:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +7449:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +7450:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +7451:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +7452:non-virtual\20thunk\20to\20GrOpFlushState::dstProxyView\28\29\20const +7453:non-virtual\20thunk\20to\20GrOpFlushState::detachAppliedClip\28\29 +7454:non-virtual\20thunk\20to\20GrOpFlushState::deferredUploadTarget\28\29 +7455:non-virtual\20thunk\20to\20GrOpFlushState::colorLoadOp\28\29\20const +7456:non-virtual\20thunk\20to\20GrOpFlushState::caps\28\29\20const +7457:non-virtual\20thunk\20to\20GrOpFlushState::atlasManager\28\29\20const +7458:non-virtual\20thunk\20to\20GrOpFlushState::appliedClip\28\29\20const +7459:non-virtual\20thunk\20to\20GrGpuBuffer::~GrGpuBuffer\28\29 +7460:non-virtual\20thunk\20to\20GrGpuBuffer::unref\28\29\20const +7461:non-virtual\20thunk\20to\20GrGpuBuffer::ref\28\29\20const +7462:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +7463:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +7464:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onSetLabel\28\29 +7465:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +7466:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +7467:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +7468:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +7469:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::backendFormat\28\29\20const +7470:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +7471:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +7472:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +7473:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +7474:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::dstColor\28\29 +7475:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29.1 +7476:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29 +7477:new_color_map_2_quant +7478:new_color_map_1_quant +7479:merged_2v_upsample +7480:merged_1v_upsample +7481:lin_srgb_to_oklab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +7482:lin_srgb_to_okhcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +7483:legalstub$dynCall_vijiii +7484:legalstub$dynCall_viji +7485:legalstub$dynCall_vij +7486:legalstub$dynCall_viijii +7487:legalstub$dynCall_viij +7488:legalstub$dynCall_viiij +7489:legalstub$dynCall_viiiiij +7490:legalstub$dynCall_jiji +7491:legalstub$dynCall_jiiiiji +7492:legalstub$dynCall_jiiiiii +7493:legalstub$dynCall_jii +7494:legalstub$dynCall_ji +7495:legalstub$dynCall_iijj +7496:legalstub$dynCall_iiij +7497:legalstub$dynCall_iiiij +7498:legalstub$dynCall_iiiiijj +7499:legalstub$dynCall_iiiiij +7500:legalstub$dynCall_iiiiiijj +7501:legalfunc$glWaitSync +7502:legalfunc$glClientWaitSync +7503:lcd_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +7504:jpeg_start_decompress +7505:jpeg_skip_scanlines +7506:jpeg_save_markers +7507:jpeg_resync_to_restart +7508:jpeg_read_scanlines +7509:jpeg_read_raw_data +7510:jpeg_read_header +7511:jpeg_idct_islow +7512:jpeg_idct_ifast +7513:jpeg_idct_float +7514:jpeg_idct_9x9 +7515:jpeg_idct_7x7 +7516:jpeg_idct_6x6 +7517:jpeg_idct_5x5 +7518:jpeg_idct_4x4 +7519:jpeg_idct_3x3 +7520:jpeg_idct_2x2 +7521:jpeg_idct_1x1 +7522:jpeg_idct_16x16 +7523:jpeg_idct_15x15 +7524:jpeg_idct_14x14 +7525:jpeg_idct_13x13 +7526:jpeg_idct_12x12 +7527:jpeg_idct_11x11 +7528:jpeg_idct_10x10 +7529:jpeg_crop_scanline +7530:is_deleted_glyph\28hb_glyph_info_t\20const*\29 +7531:internal_memalign +7532:int_upsample +7533:initial_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7534:hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +7535:hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +7536:hb_unicode_script_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7537:hb_unicode_general_category_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7538:hb_ucd_script\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7539:hb_ucd_mirroring\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7540:hb_ucd_general_category\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7541:hb_ucd_decompose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20void*\29 +7542:hb_ucd_compose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7543:hb_ucd_combining_class\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +7544:hb_syllabic_clear_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7545:hb_paint_sweep_gradient_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7546:hb_paint_push_transform_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7547:hb_paint_push_clip_rectangle_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7548:hb_paint_image_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +7549:hb_paint_extents_push_transform\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7550:hb_paint_extents_push_group\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +7551:hb_paint_extents_push_clip_rectangle\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7552:hb_paint_extents_push_clip_glyph\28hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_font_t*\2c\20void*\29 +7553:hb_paint_extents_pop_transform\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +7554:hb_paint_extents_pop_group\28hb_paint_funcs_t*\2c\20void*\2c\20hb_paint_composite_mode_t\2c\20void*\29 +7555:hb_paint_extents_pop_clip\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +7556:hb_paint_extents_paint_sweep_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7557:hb_paint_extents_paint_image\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +7558:hb_paint_extents_paint_color\28hb_paint_funcs_t*\2c\20void*\2c\20int\2c\20unsigned\20int\2c\20void*\29 +7559:hb_outline_recording_pen_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7560:hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +7561:hb_outline_recording_pen_line_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +7562:hb_outline_recording_pen_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7563:hb_outline_recording_pen_close_path\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +7564:hb_ot_paint_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +7565:hb_ot_map_t::lookup_map_t::cmp\28void\20const*\2c\20void\20const*\29 +7566:hb_ot_map_t::feature_map_t::cmp\28void\20const*\2c\20void\20const*\29 +7567:hb_ot_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +7568:hb_ot_get_variation_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7569:hb_ot_get_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +7570:hb_ot_get_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7571:hb_ot_get_glyph_v_origin\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7572:hb_ot_get_glyph_v_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +7573:hb_ot_get_glyph_name\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +7574:hb_ot_get_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +7575:hb_ot_get_glyph_from_name\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +7576:hb_ot_get_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +7577:hb_ot_get_font_v_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +7578:hb_ot_get_font_h_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +7579:hb_ot_draw_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +7580:hb_font_paint_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +7581:hb_font_get_variation_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7582:hb_font_get_nominal_glyphs_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +7583:hb_font_get_nominal_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7584:hb_font_get_nominal_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +7585:hb_font_get_glyph_v_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7586:hb_font_get_glyph_v_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7587:hb_font_get_glyph_v_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +7588:hb_font_get_glyph_v_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +7589:hb_font_get_glyph_v_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +7590:hb_font_get_glyph_v_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +7591:hb_font_get_glyph_name_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +7592:hb_font_get_glyph_name_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +7593:hb_font_get_glyph_h_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7594:hb_font_get_glyph_h_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7595:hb_font_get_glyph_h_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +7596:hb_font_get_glyph_h_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +7597:hb_font_get_glyph_h_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +7598:hb_font_get_glyph_h_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +7599:hb_font_get_glyph_from_name_default\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +7600:hb_font_get_glyph_extents_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +7601:hb_font_get_glyph_extents_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +7602:hb_font_get_glyph_contour_point_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7603:hb_font_get_glyph_contour_point_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +7604:hb_font_get_font_v_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +7605:hb_font_get_font_h_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +7606:hb_font_draw_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +7607:hb_draw_quadratic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7608:hb_draw_quadratic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7609:hb_draw_move_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +7610:hb_draw_line_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +7611:hb_draw_extents_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7612:hb_draw_extents_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7613:hb_draw_cubic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +7614:hb_draw_close_path_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +7615:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +7616:hb_aat_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +7617:hb_aat_map_builder_t::feature_event_t::cmp\28void\20const*\2c\20void\20const*\29 +7618:h2v2_upsample +7619:h2v2_merged_upsample_565D +7620:h2v2_merged_upsample_565 +7621:h2v2_merged_upsample +7622:h2v2_fancy_upsample +7623:h2v1_upsample +7624:h2v1_merged_upsample_565D +7625:h2v1_merged_upsample_565 +7626:h2v1_merged_upsample +7627:h2v1_fancy_upsample +7628:grayscale_convert +7629:gray_rgb_convert +7630:gray_rgb565_convert +7631:gray_rgb565D_convert +7632:gray_raster_render +7633:gray_raster_new +7634:gray_raster_done +7635:gray_move_to +7636:gray_line_to +7637:gray_cubic_to +7638:gray_conic_to +7639:get_sk_marker_list\28jpeg_decompress_struct*\29 +7640:get_sfnt_table +7641:get_interesting_appn +7642:fullsize_upsample +7643:ft_smooth_transform +7644:ft_smooth_set_mode +7645:ft_smooth_render +7646:ft_smooth_overlap_spans +7647:ft_smooth_lcd_spans +7648:ft_smooth_init +7649:ft_smooth_get_cbox +7650:ft_gzip_free +7651:ft_gzip_alloc +7652:ft_ansi_stream_io +7653:ft_ansi_stream_close +7654:fquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +7655:format_message +7656:fmt_fp +7657:fline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +7658:first_axis_intersection\28double\20const*\2c\20bool\2c\20double\2c\20double*\29 +7659:finish_pass1 +7660:finish_output_pass +7661:finish_input_pass +7662:final_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +7663:fcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +7664:fconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +7665:fast_swizzle_rgba_to_rgba_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7666:fast_swizzle_rgba_to_bgra_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7667:fast_swizzle_rgba_to_bgra_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7668:fast_swizzle_rgb_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7669:fast_swizzle_rgb_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7670:fast_swizzle_grayalpha_to_n32_unpremul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7671:fast_swizzle_grayalpha_to_n32_premul\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7672:fast_swizzle_gray_to_n32\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7673:fast_swizzle_cmyk_to_rgba\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7674:fast_swizzle_cmyk_to_bgra\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +7675:error_exit +7676:error_callback +7677:emscripten::internal::MethodInvoker\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20void\2c\20SkCanvas*\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&>::invoke\28void\20\28SkCanvas::*\20const&\29\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkPaint*\29 +7678:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +7679:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +7680:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\2c\20float\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\29 +7681:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28float\2c\20float\29\2c\20SkCanvas*\2c\20float\2c\20float\29 +7682:emscripten::internal::MethodInvoker::invoke\28void\20\28SkCanvas::*\20const&\29\28SkPath\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20SkPath*\2c\20SkPaint*\29 +7683:emscripten::internal::MethodInvoker\20\28skia::textlayout::Paragraph::*\29\28unsigned\20int\29\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int>::invoke\28skia::textlayout::SkRange\20\28skia::textlayout::Paragraph::*\20const&\29\28unsigned\20int\29\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int\29 +7684:emscripten::internal::MethodInvoker::invoke\28skia::textlayout::PositionWithAffinity\20\28skia::textlayout::Paragraph::*\20const&\29\28float\2c\20float\29\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +7685:emscripten::internal::MethodInvoker::invoke\28int\20\28skia::textlayout::Paragraph::*\20const&\29\28unsigned\20long\29\20const\2c\20skia::textlayout::Paragraph\20const*\2c\20unsigned\20long\29 +7686:emscripten::internal::MethodInvoker::invoke\28bool\20\28SkPath::*\20const&\29\28float\2c\20float\29\20const\2c\20SkPath\20const*\2c\20float\2c\20float\29 +7687:emscripten::internal::MethodInvoker::invoke\28SkPath&\20\28SkPath::*\20const&\29\28bool\29\2c\20SkPath*\2c\20bool\29 +7688:emscripten::internal::Invoker::invoke\28void\20\28*\29\28unsigned\20long\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20unsigned\20long\29 +7689:emscripten::internal::Invoker::invoke\28void\20\28*\29\28emscripten::val\29\2c\20emscripten::_EM_VAL*\29 +7690:emscripten::internal::Invoker::invoke\28unsigned\20long\20\28*\29\28unsigned\20long\29\2c\20unsigned\20long\29 +7691:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont*\29 +7692:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\2c\20sk_sp*\2c\20int\2c\20int\29 +7693:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\29\2c\20sk_sp*\2c\20int\2c\20int\2c\20sk_sp*\29 +7694:emscripten::internal::Invoker\2c\20sk_sp\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\29 +7695:emscripten::internal::Invoker\2c\20sk_sp\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20SimpleImageInfo\29\2c\20sk_sp*\2c\20SimpleImageInfo*\29 +7696:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\29 +7697:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +7698:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20sk_sp*\29 +7699:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +7700:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +7701:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29\2c\20float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +7702:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp*\29 +7703:emscripten::internal::Invoker\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val>::invoke\28sk_sp\20\28*\29\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\2c\20emscripten::_EM_VAL*\29 +7704:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20int\2c\20float>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20int\2c\20float\29\2c\20unsigned\20long\2c\20int\2c\20float\29 +7705:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkPath>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkPath\29\2c\20unsigned\20long\2c\20SkPath*\29 +7706:emscripten::internal::Invoker\2c\20float\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28float\2c\20unsigned\20long\29\2c\20float\2c\20unsigned\20long\29 +7707:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20unsigned\20int>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20unsigned\20int\29\2c\20float\2c\20float\2c\20unsigned\20int\29 +7708:emscripten::internal::Invoker\2c\20float>::invoke\28sk_sp\20\28*\29\28float\29\2c\20float\29 +7709:emscripten::internal::Invoker\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style>::invoke\28sk_sp\20\28*\29\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29\2c\20SkPath*\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29 +7710:emscripten::internal::Invoker\2c\20SkBlurStyle\2c\20float\2c\20bool>::invoke\28sk_sp\20\28*\29\28SkBlurStyle\2c\20float\2c\20bool\29\2c\20SkBlurStyle\2c\20float\2c\20bool\29 +7711:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20float\2c\20float\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20float\2c\20float\2c\20sk_sp\29\2c\20unsigned\20long\2c\20float\2c\20float\2c\20sk_sp*\29 +7712:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp\29\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp*\29 +7713:emscripten::internal::Invoker\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\29\2c\20sk_sp*\29 +7714:emscripten::internal::Invoker\2c\20sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29 +7715:emscripten::internal::Invoker\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +7716:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20sk_sp\29\2c\20float\2c\20float\2c\20sk_sp*\29 +7717:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29\2c\20float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp*\29 +7718:emscripten::internal::Invoker\2c\20float\2c\20float\2c\20SkTileMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\29\2c\20float\2c\20float\2c\20SkTileMode\2c\20sk_sp*\29 +7719:emscripten::internal::Invoker\2c\20SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp\29\2c\20SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp*\2c\20sk_sp*\29 +7720:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29 +7721:emscripten::internal::Invoker\2c\20SimpleImageInfo\2c\20emscripten::val>::invoke\28sk_sp\20\28*\29\28SimpleImageInfo\2c\20emscripten::val\29\2c\20SimpleImageInfo*\2c\20emscripten::_EM_VAL*\29 +7722:emscripten::internal::Invoker\2c\20unsigned\20long\2c\20SkBlendMode\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28unsigned\20long\2c\20SkBlendMode\2c\20sk_sp\29\2c\20unsigned\20long\2c\20SkBlendMode\2c\20sk_sp*\29 +7723:emscripten::internal::Invoker\2c\20sk_sp\20const&\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28sk_sp\20const&\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +7724:emscripten::internal::Invoker\2c\20float\2c\20sk_sp\2c\20sk_sp>::invoke\28sk_sp\20\28*\29\28float\2c\20sk_sp\2c\20sk_sp\29\2c\20float\2c\20sk_sp*\2c\20sk_sp*\29 +7725:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20int\29 +7726:emscripten::internal::Invoker\2c\20std::__2::allocator>>::invoke\28emscripten::val\20\28*\29\28std::__2::basic_string\2c\20std::__2::allocator>\29\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\29 +7727:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28emscripten::val\2c\20emscripten::val\2c\20float\29\2c\20emscripten::_EM_VAL*\2c\20emscripten::_EM_VAL*\2c\20float\29 +7728:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\2c\20float\29\2c\20SkPath*\2c\20SkPath*\2c\20float\29 +7729:emscripten::internal::Invoker::invoke\28emscripten::val\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\29\2c\20SkPath*\2c\20SkPath*\2c\20SkPathOp\29 +7730:emscripten::internal::Invoker::invoke\28bool\20\28*\29\28unsigned\20long\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29\2c\20unsigned\20long\2c\20SkPath*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29 +7731:emscripten::internal::Invoker\2c\20sk_sp>::invoke\28bool\20\28*\29\28sk_sp\2c\20sk_sp\29\2c\20sk_sp*\2c\20sk_sp*\29 +7732:emscripten::internal::Invoker::invoke\28bool\20\28*\29\28SkPath\20const&\2c\20SkPath\20const&\29\2c\20SkPath*\2c\20SkPath*\29 +7733:emscripten::internal::Invoker::invoke\28SkVertices::Builder*\20\28*\29\28SkVertices::VertexMode&&\2c\20int&&\2c\20int&&\2c\20unsigned\20int&&\29\2c\20SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +7734:emscripten::internal::Invoker\2c\20int\2c\20int>::invoke\28SkRuntimeEffect::TracedShader\20\28*\29\28sk_sp\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20int\2c\20int\29 +7735:emscripten::internal::Invoker::invoke\28SkPath\20\28*\29\28unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +7736:emscripten::internal::Invoker&&\2c\20float&&\2c\20float&&\2c\20float&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\2c\20float&&\2c\20float&&\2c\20float&&\29\2c\20sk_sp*\2c\20float\2c\20float\2c\20float\29 +7737:emscripten::internal::Invoker&&\2c\20float&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\2c\20float&&\29\2c\20sk_sp*\2c\20float\29 +7738:emscripten::internal::Invoker&&>::invoke\28SkFont*\20\28*\29\28sk_sp&&\29\2c\20sk_sp*\29 +7739:emscripten::internal::Invoker::invoke\28SkContourMeasureIter*\20\28*\29\28SkPath\20const&\2c\20bool&&\2c\20float&&\29\2c\20SkPath*\2c\20bool\2c\20float\29 +7740:emscripten::internal::Invoker::invoke\28SkCanvas*\20\28*\29\28float&&\2c\20float&&\29\2c\20float\2c\20float\29 +7741:emscripten::internal::FunctionInvoker\2c\20unsigned\20long\29\2c\20void\2c\20skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long>::invoke\28void\20\28**\29\28skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long\29\2c\20skia::textlayout::TypefaceFontProvider*\2c\20sk_sp*\2c\20unsigned\20long\29 +7742:emscripten::internal::FunctionInvoker\2c\20std::__2::allocator>\29\2c\20void\2c\20skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>>::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\29 +7743:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29 +7744:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\2c\20SkPaint\2c\20SkPaint\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20SimpleTextStyle*\2c\20SkPaint*\2c\20SkPaint*\29 +7745:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\29\2c\20skia::textlayout::ParagraphBuilderImpl*\2c\20SimpleTextStyle*\29 +7746:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +7747:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +7748:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +7749:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +7750:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +7751:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkPath&\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20SkPath*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +7752:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkContourMeasure&\2c\20float\2c\20unsigned\20long\29\2c\20SkContourMeasure*\2c\20float\2c\20unsigned\20long\29 +7753:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont*\2c\20SkPaint*\29 +7754:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint*\29 +7755:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7756:emscripten::internal::FunctionInvoker\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7757:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7758:emscripten::internal::FunctionInvoker\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20void\2c\20SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*>::invoke\28void\20\28**\29\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29\2c\20SkCanvas*\2c\20sk_sp*\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +7759:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont*\2c\20SkPaint*\29 +7760:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29\2c\20SkCanvas*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint*\29 +7761:emscripten::internal::FunctionInvoker::invoke\28void\20\28**\29\28SkCanvas&\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29\2c\20SkCanvas*\2c\20SkPath*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29 +7762:emscripten::internal::FunctionInvoker\2c\20std::__2::allocator>\20\28*\29\28SkSL::DebugTrace&\29\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::DebugTrace&>::invoke\28std::__2::basic_string\2c\20std::__2::allocator>\20\28**\29\28SkSL::DebugTrace&\29\2c\20SkSL::DebugTrace*\29 +7763:emscripten::internal::FunctionInvoker\20\28*\29\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29\2c\20sk_sp\2c\20SkFontMgr&\2c\20unsigned\20long\2c\20int>::invoke\28sk_sp\20\28**\29\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29\2c\20SkFontMgr*\2c\20unsigned\20long\2c\20int\29 +7764:emscripten::internal::FunctionInvoker\20\28*\29\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20sk_sp\2c\20SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val>::invoke\28sk_sp\20\28**\29\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29\2c\20SkFontMgr*\2c\20emscripten::internal::BindingType\2c\20std::__2::allocator>\2c\20void>::'unnamed'*\2c\20emscripten::_EM_VAL*\29 +7765:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29\2c\20sk_sp\2c\20sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29 +7766:emscripten::internal::FunctionInvoker\20\28*\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29\2c\20sk_sp\2c\20sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29\2c\20sk_sp*\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29 +7767:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +7768:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29 +7769:emscripten::internal::FunctionInvoker\20\28*\29\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29\2c\20SkPicture*\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +7770:emscripten::internal::FunctionInvoker\20\28*\29\28SkPictureRecorder&\29\2c\20sk_sp\2c\20SkPictureRecorder&>::invoke\28sk_sp\20\28**\29\28SkPictureRecorder&\29\2c\20SkPictureRecorder*\29 +7771:emscripten::internal::FunctionInvoker\20\28*\29\28SkSurface&\2c\20unsigned\20long\29\2c\20sk_sp\2c\20SkSurface&\2c\20unsigned\20long>::invoke\28sk_sp\20\28**\29\28SkSurface&\2c\20unsigned\20long\29\2c\20SkSurface*\2c\20unsigned\20long\29 +7772:emscripten::internal::FunctionInvoker\20\28*\29\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29\2c\20sk_sp\2c\20SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo>::invoke\28sk_sp\20\28**\29\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29\2c\20SkSurface*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo*\29 +7773:emscripten::internal::FunctionInvoker\20\28*\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29\2c\20sk_sp\2c\20SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool>::invoke\28sk_sp\20\28**\29\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29\2c\20SkRuntimeEffect*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +7774:emscripten::internal::FunctionInvoker::invoke\28int\20\28**\29\28SkCanvas&\2c\20SkPaint\29\2c\20SkCanvas*\2c\20SkPaint*\29 +7775:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28skia::textlayout::Paragraph&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29\2c\20skia::textlayout::Paragraph*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +7776:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28skia::textlayout::Paragraph&\2c\20float\2c\20float\29\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +7777:emscripten::internal::FunctionInvoker\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29\2c\20emscripten::val\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*>::invoke\28emscripten::val\20\28**\29\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29\2c\20sk_sp*\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29 +7778:emscripten::internal::FunctionInvoker\2c\20SkEncodedImageFormat\2c\20int\29\2c\20emscripten::val\2c\20sk_sp\2c\20SkEncodedImageFormat\2c\20int>::invoke\28emscripten::val\20\28**\29\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\29\2c\20sk_sp*\2c\20SkEncodedImageFormat\2c\20int\29 +7779:emscripten::internal::FunctionInvoker\29\2c\20emscripten::val\2c\20sk_sp>::invoke\28emscripten::val\20\28**\29\28sk_sp\29\2c\20sk_sp*\29 +7780:emscripten::internal::FunctionInvoker::invoke\28emscripten::val\20\28**\29\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29\2c\20SkFont*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29 +7781:emscripten::internal::FunctionInvoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29\2c\20bool\2c\20sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*>::invoke\28bool\20\28**\29\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29\2c\20sk_sp*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29 +7782:emscripten::internal::FunctionInvoker\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20bool\2c\20sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int>::invoke\28bool\20\28**\29\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20sk_sp*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +7783:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20float\29\2c\20SkPath*\2c\20float\2c\20float\2c\20float\29 +7784:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20float\2c\20float\2c\20bool\29\2c\20SkPath*\2c\20float\2c\20float\2c\20bool\29 +7785:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkPath&\2c\20StrokeOpts\29\2c\20SkPath*\2c\20StrokeOpts*\29 +7786:emscripten::internal::FunctionInvoker::invoke\28bool\20\28**\29\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29\2c\20SkCanvas*\2c\20SimpleImageInfo*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +7787:emscripten::internal::FunctionInvoker::invoke\28SkPath\20\28**\29\28SkPath\20const&\29\2c\20SkPath*\29 +7788:emscripten::internal::FunctionInvoker::invoke\28SkPath\20\28**\29\28SkContourMeasure&\2c\20float\2c\20float\2c\20bool\29\2c\20SkContourMeasure*\2c\20float\2c\20float\2c\20bool\29 +7789:emscripten::internal::FunctionInvoker::invoke\28SkPaint\20\28**\29\28SkPaint\20const&\29\2c\20SkPaint*\29 +7790:emscripten::internal::FunctionInvoker::invoke\28SimpleImageInfo\20\28**\29\28SkSurface&\29\2c\20SkSurface*\29 +7791:emscripten::internal::FunctionInvoker::invoke\28RuntimeEffectUniform\20\28**\29\28SkRuntimeEffect&\2c\20int\29\2c\20SkRuntimeEffect*\2c\20int\29 +7792:emit_message +7793:embind_init_Skia\28\29::$_9::__invoke\28SkAnimatedImage&\29 +7794:embind_init_Skia\28\29::$_99::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\29 +7795:embind_init_Skia\28\29::$_98::__invoke\28SkPath&\2c\20unsigned\20long\2c\20int\2c\20bool\29 +7796:embind_init_Skia\28\29::$_97::__invoke\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\29 +7797:embind_init_Skia\28\29::$_96::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20int\29 +7798:embind_init_Skia\28\29::$_95::__invoke\28SkPath&\2c\20unsigned\20long\2c\20float\2c\20float\29 +7799:embind_init_Skia\28\29::$_94::__invoke\28unsigned\20long\2c\20SkPath\29 +7800:embind_init_Skia\28\29::$_93::__invoke\28float\2c\20unsigned\20long\29 +7801:embind_init_Skia\28\29::$_92::__invoke\28unsigned\20long\2c\20int\2c\20float\29 +7802:embind_init_Skia\28\29::$_91::__invoke\28\29 +7803:embind_init_Skia\28\29::$_90::__invoke\28\29 +7804:embind_init_Skia\28\29::$_8::__invoke\28emscripten::val\29 +7805:embind_init_Skia\28\29::$_89::__invoke\28sk_sp\2c\20sk_sp\29 +7806:embind_init_Skia\28\29::$_88::__invoke\28SkPaint&\2c\20unsigned\20int\2c\20sk_sp\29 +7807:embind_init_Skia\28\29::$_87::__invoke\28SkPaint&\2c\20unsigned\20int\29 +7808:embind_init_Skia\28\29::$_86::__invoke\28SkPaint&\2c\20unsigned\20long\2c\20sk_sp\29 +7809:embind_init_Skia\28\29::$_85::__invoke\28SkPaint&\2c\20unsigned\20long\29 +7810:embind_init_Skia\28\29::$_84::__invoke\28SkPaint\20const&\29 +7811:embind_init_Skia\28\29::$_83::__invoke\28SkBlurStyle\2c\20float\2c\20bool\29 +7812:embind_init_Skia\28\29::$_82::__invoke\28float\2c\20float\2c\20sk_sp\29 +7813:embind_init_Skia\28\29::$_81::__invoke\28unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20sk_sp\29 +7814:embind_init_Skia\28\29::$_80::__invoke\28unsigned\20long\2c\20float\2c\20float\2c\20sk_sp\29 +7815:embind_init_Skia\28\29::$_7::__invoke\28GrDirectContext&\2c\20unsigned\20long\29 +7816:embind_init_Skia\28\29::$_79::__invoke\28sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +7817:embind_init_Skia\28\29::$_78::__invoke\28sk_sp\2c\20float\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\29 +7818:embind_init_Skia\28\29::$_77::__invoke\28float\2c\20float\2c\20sk_sp\29 +7819:embind_init_Skia\28\29::$_76::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +7820:embind_init_Skia\28\29::$_75::__invoke\28float\2c\20float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20sk_sp\29 +7821:embind_init_Skia\28\29::$_74::__invoke\28sk_sp\29 +7822:embind_init_Skia\28\29::$_73::__invoke\28SkColorChannel\2c\20SkColorChannel\2c\20float\2c\20sk_sp\2c\20sk_sp\29 +7823:embind_init_Skia\28\29::$_72::__invoke\28float\2c\20float\2c\20sk_sp\29 +7824:embind_init_Skia\28\29::$_71::__invoke\28sk_sp\2c\20sk_sp\29 +7825:embind_init_Skia\28\29::$_70::__invoke\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\29 +7826:embind_init_Skia\28\29::$_6::__invoke\28GrDirectContext&\29 +7827:embind_init_Skia\28\29::$_69::__invoke\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +7828:embind_init_Skia\28\29::$_68::__invoke\28SkImageFilter\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +7829:embind_init_Skia\28\29::$_67::__invoke\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +7830:embind_init_Skia\28\29::$_66::__invoke\28sk_sp\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\2c\20GrDirectContext*\29 +7831:embind_init_Skia\28\29::$_65::__invoke\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20unsigned\20long\29 +7832:embind_init_Skia\28\29::$_64::__invoke\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20long\29 +7833:embind_init_Skia\28\29::$_63::__invoke\28sk_sp\29 +7834:embind_init_Skia\28\29::$_62::__invoke\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\2c\20GrDirectContext*\29 +7835:embind_init_Skia\28\29::$_61::__invoke\28sk_sp\2c\20SkEncodedImageFormat\2c\20int\29 +7836:embind_init_Skia\28\29::$_60::__invoke\28sk_sp\29 +7837:embind_init_Skia\28\29::$_5::__invoke\28GrDirectContext&\29 +7838:embind_init_Skia\28\29::$_59::__invoke\28sk_sp\29 +7839:embind_init_Skia\28\29::$_58::__invoke\28SkFontMgr&\2c\20unsigned\20long\2c\20int\29 +7840:embind_init_Skia\28\29::$_57::__invoke\28SkFontMgr&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +7841:embind_init_Skia\28\29::$_56::__invoke\28SkFontMgr&\2c\20int\29 +7842:embind_init_Skia\28\29::$_55::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20int\29 +7843:embind_init_Skia\28\29::$_54::__invoke\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20float\2c\20float\29 +7844:embind_init_Skia\28\29::$_53::__invoke\28SkFont&\29 +7845:embind_init_Skia\28\29::$_52::__invoke\28SkFont&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +7846:embind_init_Skia\28\29::$_51::__invoke\28SkFont&\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint*\29 +7847:embind_init_Skia\28\29::$_50::__invoke\28SkContourMeasure&\2c\20float\2c\20float\2c\20bool\29 +7848:embind_init_Skia\28\29::$_4::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +7849:embind_init_Skia\28\29::$_49::__invoke\28SkContourMeasure&\2c\20float\2c\20unsigned\20long\29 +7850:embind_init_Skia\28\29::$_48::__invoke\28unsigned\20long\29 +7851:embind_init_Skia\28\29::$_47::__invoke\28unsigned\20long\2c\20SkBlendMode\2c\20sk_sp\29 +7852:embind_init_Skia\28\29::$_46::__invoke\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +7853:embind_init_Skia\28\29::$_45::__invoke\28SkCanvas&\2c\20SkPaint\29 +7854:embind_init_Skia\28\29::$_44::__invoke\28SkCanvas&\2c\20SkPaint\20const*\2c\20unsigned\20long\2c\20SkImageFilter\20const*\2c\20unsigned\20int\29 +7855:embind_init_Skia\28\29::$_43::__invoke\28SkCanvas&\2c\20SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20int\29 +7856:embind_init_Skia\28\29::$_42::__invoke\28SkCanvas&\2c\20SimpleImageInfo\29 +7857:embind_init_Skia\28\29::$_41::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +7858:embind_init_Skia\28\29::$_40::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +7859:embind_init_Skia\28\29::$_3::__invoke\28unsigned\20long\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\29 +7860:embind_init_Skia\28\29::$_39::__invoke\28SkCanvas\20const&\2c\20unsigned\20long\29 +7861:embind_init_Skia\28\29::$_38::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29 +7862:embind_init_Skia\28\29::$_37::__invoke\28SkCanvas&\2c\20SkPath\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20int\29 +7863:embind_init_Skia\28\29::$_36::__invoke\28SkCanvas&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +7864:embind_init_Skia\28\29::$_35::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +7865:embind_init_Skia\28\29::$_34::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +7866:embind_init_Skia\28\29::$_33::__invoke\28SkCanvas&\2c\20SkCanvas::PointMode\2c\20unsigned\20long\2c\20int\2c\20SkPaint&\29 +7867:embind_init_Skia\28\29::$_32::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +7868:embind_init_Skia\28\29::$_31::__invoke\28SkCanvas&\2c\20skia::textlayout::Paragraph*\2c\20float\2c\20float\29 +7869:embind_init_Skia\28\29::$_30::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +7870:embind_init_Skia\28\29::$_2::__invoke\28SimpleImageInfo\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\29 +7871:embind_init_Skia\28\29::$_29::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +7872:embind_init_Skia\28\29::$_28::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7873:embind_init_Skia\28\29::$_27::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\20const*\2c\20bool\29 +7874:embind_init_Skia\28\29::$_26::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +7875:embind_init_Skia\28\29::$_25::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +7876:embind_init_Skia\28\29::$_24::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7877:embind_init_Skia\28\29::$_23::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7878:embind_init_Skia\28\29::$_22::__invoke\28SkCanvas&\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\2c\20SkFont\20const&\2c\20SkPaint\20const&\29 +7879:embind_init_Skia\28\29::$_21::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\20const&\29 +7880:embind_init_Skia\28\29::$_20::__invoke\28SkCanvas&\2c\20unsigned\20int\2c\20SkBlendMode\29 +7881:embind_init_Skia\28\29::$_1::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +7882:embind_init_Skia\28\29::$_19::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkBlendMode\29 +7883:embind_init_Skia\28\29::$_18::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +7884:embind_init_Skia\28\29::$_17::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20float\2c\20float\2c\20SkPaint\20const*\29 +7885:embind_init_Skia\28\29::$_16::__invoke\28SkCanvas&\2c\20sk_sp\20const&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\2c\20SkBlendMode\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkPaint\20const*\29 +7886:embind_init_Skia\28\29::$_15::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +7887:embind_init_Skia\28\29::$_14::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +7888:embind_init_Skia\28\29::$_148::__invoke\28SkVertices::Builder&\29 +7889:embind_init_Skia\28\29::$_147::__invoke\28SkVertices::Builder&\29 +7890:embind_init_Skia\28\29::$_146::__invoke\28SkVertices::Builder&\29 +7891:embind_init_Skia\28\29::$_145::__invoke\28SkVertices::Builder&\29 +7892:embind_init_Skia\28\29::$_144::__invoke\28SkVertices&\2c\20unsigned\20long\29 +7893:embind_init_Skia\28\29::$_143::__invoke\28SkTypeface&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +7894:embind_init_Skia\28\29::$_142::__invoke\28unsigned\20long\2c\20int\29 +7895:embind_init_Skia\28\29::$_141::__invoke\28\29 +7896:embind_init_Skia\28\29::$_140::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +7897:embind_init_Skia\28\29::$_13::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +7898:embind_init_Skia\28\29::$_139::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +7899:embind_init_Skia\28\29::$_138::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +7900:embind_init_Skia\28\29::$_137::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkFont\20const&\29 +7901:embind_init_Skia\28\29::$_136::__invoke\28SkSurface&\29 +7902:embind_init_Skia\28\29::$_135::__invoke\28SkSurface&\29 +7903:embind_init_Skia\28\29::$_134::__invoke\28SkSurface&\29 +7904:embind_init_Skia\28\29::$_133::__invoke\28SkSurface&\2c\20SimpleImageInfo\29 +7905:embind_init_Skia\28\29::$_132::__invoke\28SkSurface&\2c\20unsigned\20long\29 +7906:embind_init_Skia\28\29::$_131::__invoke\28SkSurface&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SimpleImageInfo\29 +7907:embind_init_Skia\28\29::$_130::__invoke\28SkSurface&\29 +7908:embind_init_Skia\28\29::$_12::__invoke\28SkCanvas&\2c\20unsigned\20long\2c\20SkClipOp\2c\20bool\29 +7909:embind_init_Skia\28\29::$_129::__invoke\28SkSurface&\29 +7910:embind_init_Skia\28\29::$_128::__invoke\28SimpleImageInfo\2c\20unsigned\20long\2c\20unsigned\20long\29 +7911:embind_init_Skia\28\29::$_127::__invoke\28SkRuntimeEffect&\2c\20int\29 +7912:embind_init_Skia\28\29::$_126::__invoke\28SkRuntimeEffect&\2c\20int\29 +7913:embind_init_Skia\28\29::$_125::__invoke\28SkRuntimeEffect&\29 +7914:embind_init_Skia\28\29::$_124::__invoke\28SkRuntimeEffect&\29 +7915:embind_init_Skia\28\29::$_123::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +7916:embind_init_Skia\28\29::$_122::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +7917:embind_init_Skia\28\29::$_121::__invoke\28SkRuntimeEffect&\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\2c\20unsigned\20long\29 +7918:embind_init_Skia\28\29::$_120::__invoke\28sk_sp\2c\20int\2c\20int\29 +7919:embind_init_Skia\28\29::$_11::__invoke\28SkCanvas&\2c\20unsigned\20long\29 +7920:embind_init_Skia\28\29::$_119::__invoke\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +7921:embind_init_Skia\28\29::$_118::__invoke\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20emscripten::val\29 +7922:embind_init_Skia\28\29::$_117::__invoke\28SkSL::DebugTrace&\29 +7923:embind_init_Skia\28\29::$_116::__invoke\28unsigned\20long\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +7924:embind_init_Skia\28\29::$_115::__invoke\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +7925:embind_init_Skia\28\29::$_114::__invoke\28float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +7926:embind_init_Skia\28\29::$_113::__invoke\28float\2c\20float\2c\20float\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +7927:embind_init_Skia\28\29::$_112::__invoke\28unsigned\20long\2c\20unsigned\20long\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20unsigned\20long\2c\20sk_sp\29 +7928:embind_init_Skia\28\29::$_111::__invoke\28float\2c\20float\2c\20int\2c\20float\2c\20int\2c\20int\29 +7929:embind_init_Skia\28\29::$_110::__invoke\28unsigned\20long\2c\20sk_sp\29 +7930:embind_init_Skia\28\29::$_10::__invoke\28SkAnimatedImage&\29 +7931:embind_init_Skia\28\29::$_109::operator\28\29\28SkPicture&\29\20const::'lambda'\28SkImage*\2c\20void*\29::__invoke\28SkImage*\2c\20void*\29 +7932:embind_init_Skia\28\29::$_109::__invoke\28SkPicture&\29 +7933:embind_init_Skia\28\29::$_108::__invoke\28SkPicture&\2c\20unsigned\20long\29 +7934:embind_init_Skia\28\29::$_107::__invoke\28SkPicture&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkFilterMode\2c\20unsigned\20long\2c\20unsigned\20long\29 +7935:embind_init_Skia\28\29::$_106::__invoke\28SkPictureRecorder&\29 +7936:embind_init_Skia\28\29::$_105::__invoke\28SkPictureRecorder&\2c\20unsigned\20long\2c\20bool\29 +7937:embind_init_Skia\28\29::$_104::__invoke\28SkPath&\2c\20unsigned\20long\29 +7938:embind_init_Skia\28\29::$_103::__invoke\28SkPath&\2c\20unsigned\20long\29 +7939:embind_init_Skia\28\29::$_102::__invoke\28SkPath&\2c\20int\2c\20unsigned\20long\29 +7940:embind_init_Skia\28\29::$_101::__invoke\28SkPath&\2c\20unsigned\20long\2c\20float\2c\20float\2c\20bool\29 +7941:embind_init_Skia\28\29::$_100::__invoke\28SkPath&\2c\20unsigned\20long\2c\20bool\29 +7942:embind_init_Skia\28\29::$_0::__invoke\28unsigned\20long\2c\20unsigned\20long\29 +7943:embind_init_Paragraph\28\29::$_9::__invoke\28skia::textlayout::ParagraphBuilderImpl&\29 +7944:embind_init_Paragraph\28\29::$_8::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20float\2c\20float\2c\20skia::textlayout::PlaceholderAlignment\2c\20skia::textlayout::TextBaseline\2c\20float\29 +7945:embind_init_Paragraph\28\29::$_7::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\2c\20SkPaint\2c\20SkPaint\29 +7946:embind_init_Paragraph\28\29::$_6::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20SimpleTextStyle\29 +7947:embind_init_Paragraph\28\29::$_5::__invoke\28skia::textlayout::ParagraphBuilderImpl&\29 +7948:embind_init_Paragraph\28\29::$_4::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +7949:embind_init_Paragraph\28\29::$_3::__invoke\28emscripten::val\2c\20emscripten::val\2c\20float\29 +7950:embind_init_Paragraph\28\29::$_2::__invoke\28SimpleParagraphStyle\2c\20sk_sp\29 +7951:embind_init_Paragraph\28\29::$_19::__invoke\28skia::textlayout::FontCollection&\2c\20sk_sp\20const&\29 +7952:embind_init_Paragraph\28\29::$_18::__invoke\28\29 +7953:embind_init_Paragraph\28\29::$_17::__invoke\28skia::textlayout::TypefaceFontProvider&\2c\20sk_sp\2c\20unsigned\20long\29 +7954:embind_init_Paragraph\28\29::$_16::__invoke\28\29 +7955:embind_init_Paragraph\28\29::$_15::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7956:embind_init_Paragraph\28\29::$_14::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7957:embind_init_Paragraph\28\29::$_13::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7958:embind_init_Paragraph\28\29::$_12::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7959:embind_init_Paragraph\28\29::$_11::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7960:embind_init_Paragraph\28\29::$_10::__invoke\28skia::textlayout::ParagraphBuilderImpl&\2c\20unsigned\20long\2c\20unsigned\20long\29 +7961:dispose_external_texture\28void*\29 +7962:deleteJSTexture\28void*\29 +7963:deflate_slow +7964:deflate_fast +7965:decompress_smooth_data +7966:decompress_onepass +7967:decompress_data +7968:decompose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +7969:decompose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +7970:decompose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +7971:decode_mcu_DC_refine +7972:decode_mcu_DC_first +7973:decode_mcu_AC_refine +7974:decode_mcu_AC_first +7975:decode_mcu +7976:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::Make\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20bool\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7977:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\2c\20GrShaderCaps\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::\28anonymous\20namespace\29::HullShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7978:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7979:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7980:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&>\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathTessellator::PathDrawList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7981:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29>\28skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20sk_sp\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7982:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Make\28SkArenaAlloc*\2c\20GrAAType\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7983:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerSkyline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7984:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerPow2&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7985:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make*\20SkArenaAlloc::make>\28\29::'lambda'\28void*\29>\28sk_sp&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7986:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc>\28\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TextureOpImpl::Desc&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7987:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TentPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7988:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::SimpleTriangleShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7989:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7990:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader\2c\20bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*\2c\20GrShaderCaps\20const&>\28bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*&&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::DrawAtlasPathShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7991:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&>\28SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::BoundingBoxShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7992:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20unsigned\20char&&\29::'lambda'\28void*\29>\28Sprite_D32_S32&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7993:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTriColorShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7994:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTCubic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7995:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTConic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7996:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\29::'lambda'\28void*\29>\28SkSpriteBlitter_Memcpy&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7997:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&>\28SkPixmap\20const&\2c\20SkArenaAlloc*&\2c\20sk_sp&\29::'lambda'\28void*\29>\28SkRasterPipelineSpriteBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7998:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkArenaAlloc*&\29::'lambda'\28void*\29>\28SkRasterPipelineBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +7999:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8000:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkImage_Base\20const*&&\2c\20SkMatrix\20const&\2c\20SkMipmapMode&\29::'lambda'\28void*\29>\28SkMipmapAccessor&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8001:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::PathData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8002:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::DrawableData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8003:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkGlyph&&\29::'lambda'\28void*\29>\28SkGlyph&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8004:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\29>>::Node*\20SkArenaAlloc::make&\29>>::Node\2c\20std::__2::function&\29>>\28std::__2::function&\29>&&\29::'lambda'\28void*\29>\28SkArenaAllocList&\29>>::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8005:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8006:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node>\28\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8007:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Coverage_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8008:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28GrSimpleMesh&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8009:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8010:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPath\20const&\2c\20SkArenaAlloc*\20const&\29::'lambda'\28void*\29>\28GrInnerFanTriangulator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8011:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldLCDTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20GrDistanceFieldLCDTextGeoProc::DistanceAdjust\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8012:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8013:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrAppliedClip&&\29::'lambda'\28void*\29>\28GrAppliedClip&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8014:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28EllipseGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8015:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +8016:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8017:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +8018:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8019:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8020:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +8021:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8022:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +8023:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8024:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8025:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +8026:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +8027:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +8028:deallocate_buffer_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8029:ddquad_xy_at_t\28SkDCurve\20const&\2c\20double\29 +8030:ddquad_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +8031:ddline_xy_at_t\28SkDCurve\20const&\2c\20double\29 +8032:ddline_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +8033:ddcubic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +8034:ddcubic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +8035:ddconic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +8036:ddconic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +8037:data_destroy_use\28void*\29 +8038:data_create_use\28hb_ot_shape_plan_t\20const*\29 +8039:data_create_khmer\28hb_ot_shape_plan_t\20const*\29 +8040:data_create_indic\28hb_ot_shape_plan_t\20const*\29 +8041:data_create_hangul\28hb_ot_shape_plan_t\20const*\29 +8042:copy\28void*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\29 +8043:convert_bytes_to_data +8044:consume_markers +8045:consume_data +8046:computeTonalColors\28unsigned\20long\2c\20unsigned\20long\29 +8047:compose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8048:compose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8049:compose_hebrew\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8050:compare_ppem +8051:compare_offsets +8052:compare_myanmar_order\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +8053:compare_combining_class\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +8054:color_quantize3 +8055:color_quantize +8056:collect_features_use\28hb_ot_shape_planner_t*\29 +8057:collect_features_myanmar\28hb_ot_shape_planner_t*\29 +8058:collect_features_khmer\28hb_ot_shape_planner_t*\29 +8059:collect_features_indic\28hb_ot_shape_planner_t*\29 +8060:collect_features_hangul\28hb_ot_shape_planner_t*\29 +8061:collect_features_arabic\28hb_ot_shape_planner_t*\29 +8062:clip\28SkPath\20const&\2c\20SkHalfPlane\20const&\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +8063:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitStatement\28SkSL::Statement\20const&\29 +8064:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +8065:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitExpression\28SkSL::Expression\20const&\29 +8066:cff_slot_init +8067:cff_slot_done +8068:cff_size_request +8069:cff_size_init +8070:cff_size_done +8071:cff_sid_to_glyph_name +8072:cff_set_var_design +8073:cff_set_mm_weightvector +8074:cff_set_mm_blend +8075:cff_set_instance +8076:cff_random +8077:cff_ps_has_glyph_names +8078:cff_ps_get_font_info +8079:cff_ps_get_font_extra +8080:cff_parse_vsindex +8081:cff_parse_private_dict +8082:cff_parse_multiple_master +8083:cff_parse_maxstack +8084:cff_parse_font_matrix +8085:cff_parse_font_bbox +8086:cff_parse_cid_ros +8087:cff_parse_blend +8088:cff_metrics_adjust +8089:cff_hadvance_adjust +8090:cff_glyph_load +8091:cff_get_var_design +8092:cff_get_var_blend +8093:cff_get_standard_encoding +8094:cff_get_ros +8095:cff_get_ps_name +8096:cff_get_name_index +8097:cff_get_mm_weightvector +8098:cff_get_mm_var +8099:cff_get_mm_blend +8100:cff_get_is_cid +8101:cff_get_interface +8102:cff_get_glyph_name +8103:cff_get_glyph_data +8104:cff_get_cmap_info +8105:cff_get_cid_from_glyph_index +8106:cff_get_advances +8107:cff_free_glyph_data +8108:cff_fd_select_get +8109:cff_face_init +8110:cff_face_done +8111:cff_driver_init +8112:cff_done_blend +8113:cff_decoder_prepare +8114:cff_decoder_init +8115:cff_cmap_unicode_init +8116:cff_cmap_unicode_char_next +8117:cff_cmap_unicode_char_index +8118:cff_cmap_encoding_init +8119:cff_cmap_encoding_done +8120:cff_cmap_encoding_char_next +8121:cff_cmap_encoding_char_index +8122:cff_builder_start_point +8123:cff_builder_init +8124:cff_builder_add_point1 +8125:cff_builder_add_point +8126:cff_builder_add_contour +8127:cff_blend_check_vector +8128:cf2_free_instance +8129:cf2_decoder_parse_charstrings +8130:cf2_builder_moveTo +8131:cf2_builder_lineTo +8132:cf2_builder_cubeTo +8133:bw_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +8134:bw_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8135:bw_pt_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8136:bw_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8137:bw_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8138:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::SpotVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +8139:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::AmbientVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +8140:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +8141:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +8142:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +8143:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +8144:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8145:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8146:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8147:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8148:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +8149:blur_y_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8150:blur_y_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8151:blur_y_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8152:blur_y_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8153:blur_x_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8154:blur_x_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8155:blur_x_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8156:blur_x_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +8157:blit_row_s32a_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +8158:blit_row_s32_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +8159:blit_row_s32_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +8160:argb32_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +8161:arabic_fallback_shape\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8162:alwaysSaveTypefaceBytes\28SkTypeface*\2c\20void*\29 +8163:alloc_sarray +8164:alloc_barray +8165:afm_parser_parse +8166:afm_parser_init +8167:afm_parser_done +8168:afm_compare_kern_pairs +8169:af_property_set +8170:af_property_get +8171:af_latin_metrics_scale +8172:af_latin_metrics_init +8173:af_latin_hints_init +8174:af_latin_hints_apply +8175:af_latin_get_standard_widths +8176:af_indic_metrics_init +8177:af_indic_hints_apply +8178:af_get_interface +8179:af_face_globals_free +8180:af_dummy_hints_init +8181:af_dummy_hints_apply +8182:af_cjk_metrics_init +8183:af_autofitter_load_glyph +8184:af_autofitter_init +8185:access_virt_sarray +8186:access_virt_barray +8187:aa_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8188:aa_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8189:aa_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +8190:_hb_ot_font_destroy\28void*\29 +8191:_hb_glyph_info_is_default_ignorable\28hb_glyph_info_t\20const*\29 +8192:_hb_face_for_data_reference_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +8193:_hb_face_for_data_closure_destroy\28void*\29 +8194:_hb_clear_substitution_flags\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8195:_embind_initialize_bindings +8196:__wasm_call_ctors +8197:__stdio_write +8198:__stdio_seek +8199:__stdio_read +8200:__stdio_close +8201:__getTypeName +8202:__cxxabiv1::__vmi_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8203:__cxxabiv1::__vmi_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8204:__cxxabiv1::__vmi_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +8205:__cxxabiv1::__si_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8206:__cxxabiv1::__si_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8207:__cxxabiv1::__si_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +8208:__cxxabiv1::__class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8209:__cxxabiv1::__class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +8210:__cxxabiv1::__class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +8211:__cxxabiv1::__class_type_info::can_catch\28__cxxabiv1::__shim_type_info\20const*\2c\20void*&\29\20const +8212:__cxx_global_array_dtor.9 +8213:__cxx_global_array_dtor.87 +8214:__cxx_global_array_dtor.72 +8215:__cxx_global_array_dtor.57 +8216:__cxx_global_array_dtor.5 +8217:__cxx_global_array_dtor.44 +8218:__cxx_global_array_dtor.42 +8219:__cxx_global_array_dtor.40 +8220:__cxx_global_array_dtor.4 +8221:__cxx_global_array_dtor.38 +8222:__cxx_global_array_dtor.36 +8223:__cxx_global_array_dtor.34 +8224:__cxx_global_array_dtor.32 +8225:__cxx_global_array_dtor.2 +8226:__cxx_global_array_dtor.16 +8227:__cxx_global_array_dtor.15 +8228:__cxx_global_array_dtor.14 +8229:__cxx_global_array_dtor.138 +8230:__cxx_global_array_dtor.135 +8231:__cxx_global_array_dtor.111 +8232:__cxx_global_array_dtor.10 +8233:__cxx_global_array_dtor.1.1 +8234:__cxx_global_array_dtor.1 +8235:__cxx_global_array_dtor +8236:__cxa_pure_virtual +8237:__cxa_is_pointer_type +8238:\28anonymous\20namespace\29::skhb_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +8239:\28anonymous\20namespace\29::skhb_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8240:\28anonymous\20namespace\29::skhb_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +8241:\28anonymous\20namespace\29::skhb_glyph_h_advance\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +8242:\28anonymous\20namespace\29::skhb_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +8243:\28anonymous\20namespace\29::skhb_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +8244:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29::$_0::__invoke\28void*\29 +8245:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +8246:\28anonymous\20namespace\29::make_morphology\28\28anonymous\20namespace\29::MorphType\2c\20SkSize\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +8247:\28anonymous\20namespace\29::make_drop_shadow_graph\28SkPoint\2c\20SkSize\2c\20unsigned\20int\2c\20bool\2c\20sk_sp\2c\20std::__2::optional\20const&\29 +8248:\28anonymous\20namespace\29::extension_compare\28SkString\20const&\2c\20SkString\20const&\29 +8249:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29.1 +8250:\28anonymous\20namespace\29::YUVPlanesRec::getCategory\28\29\20const +8251:\28anonymous\20namespace\29::YUVPlanesRec::diagnostic_only_getDiscardable\28\29\20const +8252:\28anonymous\20namespace\29::YUVPlanesRec::bytesUsed\28\29\20const +8253:\28anonymous\20namespace\29::YUVPlanesRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +8254:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29.1 +8255:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29 +8256:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29.1 +8257:\28anonymous\20namespace\29::TriangulatingPathOp::visitProxies\28std::__2::function\20const&\29\20const +8258:\28anonymous\20namespace\29::TriangulatingPathOp::programInfo\28\29 +8259:\28anonymous\20namespace\29::TriangulatingPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8260:\28anonymous\20namespace\29::TriangulatingPathOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8261:\28anonymous\20namespace\29::TriangulatingPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8262:\28anonymous\20namespace\29::TriangulatingPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8263:\28anonymous\20namespace\29::TriangulatingPathOp::name\28\29\20const +8264:\28anonymous\20namespace\29::TriangulatingPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8265:\28anonymous\20namespace\29::TransformedMaskSubRun::unflattenSize\28\29\20const +8266:\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8267:\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +8268:\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8269:\28anonymous\20namespace\29::TransformedMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +8270:\28anonymous\20namespace\29::TransformedMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +8271:\28anonymous\20namespace\29::TransformedMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +8272:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29.1 +8273:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29 +8274:\28anonymous\20namespace\29::TextureOpImpl::visitProxies\28std::__2::function\20const&\29\20const +8275:\28anonymous\20namespace\29::TextureOpImpl::programInfo\28\29 +8276:\28anonymous\20namespace\29::TextureOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8277:\28anonymous\20namespace\29::TextureOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8278:\28anonymous\20namespace\29::TextureOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8279:\28anonymous\20namespace\29::TextureOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8280:\28anonymous\20namespace\29::TextureOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8281:\28anonymous\20namespace\29::TextureOpImpl::name\28\29\20const +8282:\28anonymous\20namespace\29::TextureOpImpl::fixedFunctionFlags\28\29\20const +8283:\28anonymous\20namespace\29::TextureOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8284:\28anonymous\20namespace\29::TentPass::startBlur\28\29 +8285:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +8286:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +8287:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +8288:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29.1 +8289:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29 +8290:\28anonymous\20namespace\29::StaticVertexAllocator::unlock\28int\29 +8291:\28anonymous\20namespace\29::StaticVertexAllocator::lock\28unsigned\20long\2c\20int\29 +8292:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::currentScript\28\29\20const +8293:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::consume\28\29 +8294:\28anonymous\20namespace\29::SkShaderImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8295:\28anonymous\20namespace\29::SkShaderImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8296:\28anonymous\20namespace\29::SkShaderImageFilter::getTypeName\28\29\20const +8297:\28anonymous\20namespace\29::SkShaderImageFilter::flatten\28SkWriteBuffer&\29\20const +8298:\28anonymous\20namespace\29::SkShaderImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8299:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8300:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8301:\28anonymous\20namespace\29::SkMorphologyImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8302:\28anonymous\20namespace\29::SkMorphologyImageFilter::getTypeName\28\29\20const +8303:\28anonymous\20namespace\29::SkMorphologyImageFilter::flatten\28SkWriteBuffer&\29\20const +8304:\28anonymous\20namespace\29::SkMorphologyImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8305:\28anonymous\20namespace\29::SkMergeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8306:\28anonymous\20namespace\29::SkMergeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8307:\28anonymous\20namespace\29::SkMergeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8308:\28anonymous\20namespace\29::SkMergeImageFilter::getTypeName\28\29\20const +8309:\28anonymous\20namespace\29::SkMergeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8310:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8311:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8312:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8313:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::getTypeName\28\29\20const +8314:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::flatten\28SkWriteBuffer&\29\20const +8315:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8316:\28anonymous\20namespace\29::SkImageImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8317:\28anonymous\20namespace\29::SkImageImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8318:\28anonymous\20namespace\29::SkImageImageFilter::getTypeName\28\29\20const +8319:\28anonymous\20namespace\29::SkImageImageFilter::flatten\28SkWriteBuffer&\29\20const +8320:\28anonymous\20namespace\29::SkImageImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8321:\28anonymous\20namespace\29::SkFTGeometrySink::Quad\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +8322:\28anonymous\20namespace\29::SkFTGeometrySink::Move\28FT_Vector_\20const*\2c\20void*\29 +8323:\28anonymous\20namespace\29::SkFTGeometrySink::Line\28FT_Vector_\20const*\2c\20void*\29 +8324:\28anonymous\20namespace\29::SkFTGeometrySink::Cubic\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +8325:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +8326:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFamilyName\28SkString*\29\20const +8327:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +8328:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateFamilyNameIterator\28\29\20const +8329:\28anonymous\20namespace\29::SkEmptyTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +8330:\28anonymous\20namespace\29::SkEmptyTypeface::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +8331:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8332:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8333:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8334:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::getTypeName\28\29\20const +8335:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::flatten\28SkWriteBuffer&\29\20const +8336:\28anonymous\20namespace\29::SkDisplacementMapImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8337:\28anonymous\20namespace\29::SkCropImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8338:\28anonymous\20namespace\29::SkCropImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8339:\28anonymous\20namespace\29::SkCropImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8340:\28anonymous\20namespace\29::SkCropImageFilter::onAffectsTransparentBlack\28\29\20const +8341:\28anonymous\20namespace\29::SkCropImageFilter::getTypeName\28\29\20const +8342:\28anonymous\20namespace\29::SkCropImageFilter::flatten\28SkWriteBuffer&\29\20const +8343:\28anonymous\20namespace\29::SkCropImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8344:\28anonymous\20namespace\29::SkComposeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8345:\28anonymous\20namespace\29::SkComposeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8346:\28anonymous\20namespace\29::SkComposeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8347:\28anonymous\20namespace\29::SkComposeImageFilter::getTypeName\28\29\20const +8348:\28anonymous\20namespace\29::SkComposeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8349:\28anonymous\20namespace\29::SkColorFilterImageFilter::onIsColorFilterNode\28SkColorFilter**\29\20const +8350:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8351:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8352:\28anonymous\20namespace\29::SkColorFilterImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8353:\28anonymous\20namespace\29::SkColorFilterImageFilter::onAffectsTransparentBlack\28\29\20const +8354:\28anonymous\20namespace\29::SkColorFilterImageFilter::getTypeName\28\29\20const +8355:\28anonymous\20namespace\29::SkColorFilterImageFilter::flatten\28SkWriteBuffer&\29\20const +8356:\28anonymous\20namespace\29::SkColorFilterImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8357:\28anonymous\20namespace\29::SkBlurImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8358:\28anonymous\20namespace\29::SkBlurImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8359:\28anonymous\20namespace\29::SkBlurImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8360:\28anonymous\20namespace\29::SkBlurImageFilter::getTypeName\28\29\20const +8361:\28anonymous\20namespace\29::SkBlurImageFilter::flatten\28SkWriteBuffer&\29\20const +8362:\28anonymous\20namespace\29::SkBlurImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8363:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29.1 +8364:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29 +8365:\28anonymous\20namespace\29::SkBlendImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +8366:\28anonymous\20namespace\29::SkBlendImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +8367:\28anonymous\20namespace\29::SkBlendImageFilter::onFilterImage\28skif::Context\20const&\29\20const +8368:\28anonymous\20namespace\29::SkBlendImageFilter::onAffectsTransparentBlack\28\29\20const +8369:\28anonymous\20namespace\29::SkBlendImageFilter::getTypeName\28\29\20const +8370:\28anonymous\20namespace\29::SkBlendImageFilter::flatten\28SkWriteBuffer&\29\20const +8371:\28anonymous\20namespace\29::SkBlendImageFilter::computeFastBounds\28SkRect\20const&\29\20const +8372:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29.1 +8373:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29 +8374:\28anonymous\20namespace\29::SkBidiIterator_icu::getLevelAt\28int\29 +8375:\28anonymous\20namespace\29::SkBidiIterator_icu::getLength\28\29 +8376:\28anonymous\20namespace\29::SimpleTriangleShader::name\28\29\20const +8377:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8378:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8379:\28anonymous\20namespace\29::ShaperHarfBuzz::~ShaperHarfBuzz\28\29.1 +8380:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20float\2c\20SkShaper::RunHandler*\29\20const +8381:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +8382:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20bool\2c\20float\2c\20SkShaper::RunHandler*\29\20const +8383:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::~ShapeDontWrapOrReorder\28\29 +8384:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::wrap\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::BiDiRunIterator\20const&\2c\20SkShaper::LanguageRunIterator\20const&\2c\20SkShaper::ScriptRunIterator\20const&\2c\20SkShaper::FontRunIterator\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +8385:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29.1 +8386:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29 +8387:\28anonymous\20namespace\29::ShadowInvalidator::changed\28\29 +8388:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29.1 +8389:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29 +8390:\28anonymous\20namespace\29::ShadowCircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +8391:\28anonymous\20namespace\29::ShadowCircularRRectOp::programInfo\28\29 +8392:\28anonymous\20namespace\29::ShadowCircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8393:\28anonymous\20namespace\29::ShadowCircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8394:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8395:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8396:\28anonymous\20namespace\29::ShadowCircularRRectOp::name\28\29\20const +8397:\28anonymous\20namespace\29::ShadowCircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8398:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +8399:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +8400:\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +8401:\28anonymous\20namespace\29::SDFTSubRun::vertexFiller\28\29\20const +8402:\28anonymous\20namespace\29::SDFTSubRun::unflattenSize\28\29\20const +8403:\28anonymous\20namespace\29::SDFTSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +8404:\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8405:\28anonymous\20namespace\29::SDFTSubRun::glyphs\28\29\20const +8406:\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +8407:\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8408:\28anonymous\20namespace\29::SDFTSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +8409:\28anonymous\20namespace\29::SDFTSubRun::doFlatten\28SkWriteBuffer&\29\20const +8410:\28anonymous\20namespace\29::SDFTSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +8411:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29.1 +8412:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29 +8413:\28anonymous\20namespace\29::RectsBlurRec::getCategory\28\29\20const +8414:\28anonymous\20namespace\29::RectsBlurRec::diagnostic_only_getDiscardable\28\29\20const +8415:\28anonymous\20namespace\29::RectsBlurRec::bytesUsed\28\29\20const +8416:\28anonymous\20namespace\29::RectsBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +8417:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29.1 +8418:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29 +8419:\28anonymous\20namespace\29::RRectBlurRec::getCategory\28\29\20const +8420:\28anonymous\20namespace\29::RRectBlurRec::diagnostic_only_getDiscardable\28\29\20const +8421:\28anonymous\20namespace\29::RRectBlurRec::bytesUsed\28\29\20const +8422:\28anonymous\20namespace\29::RRectBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +8423:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29.1 +8424:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29 +8425:\28anonymous\20namespace\29::PathSubRun::unflattenSize\28\29\20const +8426:\28anonymous\20namespace\29::PathSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +8427:\28anonymous\20namespace\29::PathSubRun::doFlatten\28SkWriteBuffer&\29\20const +8428:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29.1 +8429:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29 +8430:\28anonymous\20namespace\29::MipMapRec::getCategory\28\29\20const +8431:\28anonymous\20namespace\29::MipMapRec::diagnostic_only_getDiscardable\28\29\20const +8432:\28anonymous\20namespace\29::MipMapRec::bytesUsed\28\29\20const +8433:\28anonymous\20namespace\29::MipMapRec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +8434:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29.1 +8435:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29 +8436:\28anonymous\20namespace\29::MiddleOutShader::name\28\29\20const +8437:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8438:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8439:\28anonymous\20namespace\29::MiddleOutShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8440:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29.1 +8441:\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const +8442:\28anonymous\20namespace\29::MeshOp::programInfo\28\29 +8443:\28anonymous\20namespace\29::MeshOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8444:\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8445:\28anonymous\20namespace\29::MeshOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8446:\28anonymous\20namespace\29::MeshOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8447:\28anonymous\20namespace\29::MeshOp::name\28\29\20const +8448:\28anonymous\20namespace\29::MeshOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8449:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29.1 +8450:\28anonymous\20namespace\29::MeshGP::onTextureSampler\28int\29\20const +8451:\28anonymous\20namespace\29::MeshGP::name\28\29\20const +8452:\28anonymous\20namespace\29::MeshGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8453:\28anonymous\20namespace\29::MeshGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8454:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29.1 +8455:\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8456:\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8457:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +8458:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +8459:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +8460:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +8461:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMangledName\28char\20const*\29 +8462:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMainName\28\29 +8463:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +8464:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +8465:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +8466:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareFunction\28char\20const*\29 +8467:\28anonymous\20namespace\29::ImageFromPictureRec::~ImageFromPictureRec\28\29.1 +8468:\28anonymous\20namespace\29::ImageFromPictureRec::~ImageFromPictureRec\28\29 +8469:\28anonymous\20namespace\29::ImageFromPictureRec::getCategory\28\29\20const +8470:\28anonymous\20namespace\29::ImageFromPictureRec::bytesUsed\28\29\20const +8471:\28anonymous\20namespace\29::ImageFromPictureRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +8472:\28anonymous\20namespace\29::HQDownSampler::buildLevel\28SkPixmap\20const&\2c\20SkPixmap\20const&\29 +8473:\28anonymous\20namespace\29::GaussPass::startBlur\28\29 +8474:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +8475:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +8476:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +8477:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29.1 +8478:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29 +8479:\28anonymous\20namespace\29::FillRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +8480:\28anonymous\20namespace\29::FillRectOpImpl::programInfo\28\29 +8481:\28anonymous\20namespace\29::FillRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8482:\28anonymous\20namespace\29::FillRectOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8483:\28anonymous\20namespace\29::FillRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8484:\28anonymous\20namespace\29::FillRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8485:\28anonymous\20namespace\29::FillRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8486:\28anonymous\20namespace\29::FillRectOpImpl::name\28\29\20const +8487:\28anonymous\20namespace\29::FillRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8488:\28anonymous\20namespace\29::EllipticalRRectEffect::onMakeProgramImpl\28\29\20const +8489:\28anonymous\20namespace\29::EllipticalRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8490:\28anonymous\20namespace\29::EllipticalRRectEffect::name\28\29\20const +8491:\28anonymous\20namespace\29::EllipticalRRectEffect::clone\28\29\20const +8492:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +8493:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +8494:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29.1 +8495:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29 +8496:\28anonymous\20namespace\29::DrawableSubRun::unflattenSize\28\29\20const +8497:\28anonymous\20namespace\29::DrawableSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +8498:\28anonymous\20namespace\29::DrawableSubRun::doFlatten\28SkWriteBuffer&\29\20const +8499:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29.1 +8500:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29 +8501:\28anonymous\20namespace\29::DrawAtlasPathShader::onTextureSampler\28int\29\20const +8502:\28anonymous\20namespace\29::DrawAtlasPathShader::name\28\29\20const +8503:\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8504:\28anonymous\20namespace\29::DrawAtlasPathShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8505:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8506:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8507:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29.1 +8508:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29 +8509:\28anonymous\20namespace\29::DrawAtlasOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8510:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8511:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8512:\28anonymous\20namespace\29::DrawAtlasOpImpl::name\28\29\20const +8513:\28anonymous\20namespace\29::DrawAtlasOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8514:\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +8515:\28anonymous\20namespace\29::DirectMaskSubRun::unflattenSize\28\29\20const +8516:\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +8517:\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +8518:\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +8519:\28anonymous\20namespace\29::DirectMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +8520:\28anonymous\20namespace\29::DirectMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +8521:\28anonymous\20namespace\29::DirectMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +8522:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29.1 +8523:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29 +8524:\28anonymous\20namespace\29::DefaultPathOp::visitProxies\28std::__2::function\20const&\29\20const +8525:\28anonymous\20namespace\29::DefaultPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8526:\28anonymous\20namespace\29::DefaultPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8527:\28anonymous\20namespace\29::DefaultPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8528:\28anonymous\20namespace\29::DefaultPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8529:\28anonymous\20namespace\29::DefaultPathOp::name\28\29\20const +8530:\28anonymous\20namespace\29::DefaultPathOp::fixedFunctionFlags\28\29\20const +8531:\28anonymous\20namespace\29::DefaultPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8532:\28anonymous\20namespace\29::CircularRRectEffect::onMakeProgramImpl\28\29\20const +8533:\28anonymous\20namespace\29::CircularRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8534:\28anonymous\20namespace\29::CircularRRectEffect::name\28\29\20const +8535:\28anonymous\20namespace\29::CircularRRectEffect::clone\28\29\20const +8536:\28anonymous\20namespace\29::CircularRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +8537:\28anonymous\20namespace\29::CircularRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +8538:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29.1 +8539:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29 +8540:\28anonymous\20namespace\29::CachedTessellationsRec::getCategory\28\29\20const +8541:\28anonymous\20namespace\29::CachedTessellationsRec::bytesUsed\28\29\20const +8542:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29.1 +8543:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29.1 +8544:\28anonymous\20namespace\29::CacheImpl::set\28SkImageFilterCacheKey\20const&\2c\20SkImageFilter\20const*\2c\20skif::FilterResult\20const&\29 +8545:\28anonymous\20namespace\29::CacheImpl::purge\28\29 +8546:\28anonymous\20namespace\29::CacheImpl::purgeByImageFilter\28SkImageFilter\20const*\29 +8547:\28anonymous\20namespace\29::CacheImpl::get\28SkImageFilterCacheKey\20const&\2c\20skif::FilterResult*\29\20const +8548:\28anonymous\20namespace\29::BoundingBoxShader::name\28\29\20const +8549:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8550:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8551:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8552:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29.1 +8553:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29 +8554:\28anonymous\20namespace\29::AAHairlineOp::visitProxies\28std::__2::function\20const&\29\20const +8555:\28anonymous\20namespace\29::AAHairlineOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8556:\28anonymous\20namespace\29::AAHairlineOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8557:\28anonymous\20namespace\29::AAHairlineOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8558:\28anonymous\20namespace\29::AAHairlineOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8559:\28anonymous\20namespace\29::AAHairlineOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8560:\28anonymous\20namespace\29::AAHairlineOp::name\28\29\20const +8561:\28anonymous\20namespace\29::AAHairlineOp::fixedFunctionFlags\28\29\20const +8562:\28anonymous\20namespace\29::AAHairlineOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8563:YuvToRgbaRow +8564:YuvToRgba4444Row +8565:YuvToRgbRow +8566:YuvToRgb565Row +8567:YuvToBgraRow +8568:YuvToBgrRow +8569:YuvToArgbRow +8570:Write_CVT_Stretched +8571:Write_CVT +8572:WebPYuv444ToRgba_C +8573:WebPYuv444ToRgba4444_C +8574:WebPYuv444ToRgb_C +8575:WebPYuv444ToRgb565_C +8576:WebPYuv444ToBgra_C +8577:WebPYuv444ToBgr_C +8578:WebPYuv444ToArgb_C +8579:WebPRescalerImportRowShrink_C +8580:WebPRescalerImportRowExpand_C +8581:WebPRescalerExportRowShrink_C +8582:WebPRescalerExportRowExpand_C +8583:WebPMultRow_C +8584:WebPMultARGBRow_C +8585:WebPConvertRGBA32ToUV_C +8586:WebPConvertARGBToUV_C +8587:WebGLTextureImageGenerator::~WebGLTextureImageGenerator\28\29.1 +8588:WebGLTextureImageGenerator::~WebGLTextureImageGenerator\28\29 +8589:WebGLTextureImageGenerator::generateExternalTexture\28GrRecordingContext*\2c\20skgpu::Mipmapped\29 +8590:Vertish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +8591:Vertish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +8592:VerticalUnfilter_C +8593:VerticalFilter_C +8594:VertState::Triangles\28VertState*\29 +8595:VertState::TrianglesX\28VertState*\29 +8596:VertState::TriangleStrip\28VertState*\29 +8597:VertState::TriangleStripX\28VertState*\29 +8598:VertState::TriangleFan\28VertState*\29 +8599:VertState::TriangleFanX\28VertState*\29 +8600:VR4_C +8601:VP8LTransformColorInverse_C +8602:VP8LPredictor9_C +8603:VP8LPredictor8_C +8604:VP8LPredictor7_C +8605:VP8LPredictor6_C +8606:VP8LPredictor5_C +8607:VP8LPredictor4_C +8608:VP8LPredictor3_C +8609:VP8LPredictor2_C +8610:VP8LPredictor1_C +8611:VP8LPredictor13_C +8612:VP8LPredictor12_C +8613:VP8LPredictor11_C +8614:VP8LPredictor10_C +8615:VP8LPredictor0_C +8616:VP8LConvertBGRAToRGB_C +8617:VP8LConvertBGRAToRGBA_C +8618:VP8LConvertBGRAToRGBA4444_C +8619:VP8LConvertBGRAToRGB565_C +8620:VP8LConvertBGRAToBGR_C +8621:VP8LAddGreenToBlueAndRed_C +8622:VLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +8623:VLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +8624:VL4_C +8625:VFilter8i_C +8626:VFilter8_C +8627:VFilter16i_C +8628:VFilter16_C +8629:VE8uv_C +8630:VE4_C +8631:VE16_C +8632:UpsampleRgbaLinePair_C +8633:UpsampleRgba4444LinePair_C +8634:UpsampleRgbLinePair_C +8635:UpsampleRgb565LinePair_C +8636:UpsampleBgraLinePair_C +8637:UpsampleBgrLinePair_C +8638:UpsampleArgbLinePair_C +8639:UnresolvedCodepoints\28skia::textlayout::Paragraph&\29 +8640:TransformWHT_C +8641:TransformUV_C +8642:TransformTwo_C +8643:TransformDC_C +8644:TransformDCUV_C +8645:TransformAC3_C +8646:ToSVGString\28SkPath\20const&\29 +8647:ToCmds\28SkPath\20const&\29 +8648:TT_Set_MM_Blend +8649:TT_RunIns +8650:TT_Load_Simple_Glyph +8651:TT_Load_Glyph_Header +8652:TT_Load_Composite_Glyph +8653:TT_Get_Var_Design +8654:TT_Get_MM_Blend +8655:TT_Forget_Glyph_Frame +8656:TT_Access_Glyph_Frame +8657:TM8uv_C +8658:TM4_C +8659:TM16_C +8660:Sync +8661:SquareCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +8662:Sprite_D32_S32::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +8663:SkWuffsFrameHolder::onGetFrame\28int\29\20const +8664:SkWuffsCodec::~SkWuffsCodec\28\29.1 +8665:SkWuffsCodec::~SkWuffsCodec\28\29 +8666:SkWuffsCodec::onIncrementalDecode\28int*\29 +8667:SkWuffsCodec::onGetRepetitionCount\28\29 +8668:SkWuffsCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +8669:SkWuffsCodec::onGetFrameInfo\28int\2c\20SkCodec::FrameInfo*\29\20const +8670:SkWuffsCodec::onGetFrameCount\28\29 +8671:SkWuffsCodec::getFrameHolder\28\29\20const +8672:SkWuffsCodec::getEncodedData\28\29\20const +8673:SkWriteICCProfile\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +8674:SkWebpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +8675:SkWebpCodec::~SkWebpCodec\28\29.1 +8676:SkWebpCodec::~SkWebpCodec\28\29 +8677:SkWebpCodec::onGetValidSubset\28SkIRect*\29\20const +8678:SkWebpCodec::onGetRepetitionCount\28\29 +8679:SkWebpCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +8680:SkWebpCodec::onGetFrameInfo\28int\2c\20SkCodec::FrameInfo*\29\20const +8681:SkWebpCodec::onGetFrameCount\28\29 +8682:SkWebpCodec::getFrameHolder\28\29\20const +8683:SkWebpCodec::FrameHolder::~FrameHolder\28\29.1 +8684:SkWebpCodec::FrameHolder::~FrameHolder\28\29 +8685:SkWebpCodec::FrameHolder::onGetFrame\28int\29\20const +8686:SkWeakRefCnt::internal_dispose\28\29\20const +8687:SkWbmpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +8688:SkWbmpCodec::~SkWbmpCodec\28\29.1 +8689:SkWbmpCodec::~SkWbmpCodec\28\29 +8690:SkWbmpCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +8691:SkWbmpCodec::onSkipScanlines\28int\29 +8692:SkWbmpCodec::onRewind\28\29 +8693:SkWbmpCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +8694:SkWbmpCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +8695:SkWbmpCodec::getSampler\28bool\29 +8696:SkWbmpCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +8697:SkVertices::Builder*\20emscripten::internal::operator_new\28SkVertices::VertexMode&&\2c\20int&&\2c\20int&&\2c\20unsigned\20int&&\29 +8698:SkUserTypeface::~SkUserTypeface\28\29.1 +8699:SkUserTypeface::~SkUserTypeface\28\29 +8700:SkUserTypeface::onOpenStream\28int*\29\20const +8701:SkUserTypeface::onGetUPEM\28\29\20const +8702:SkUserTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +8703:SkUserTypeface::onGetFamilyName\28SkString*\29\20const +8704:SkUserTypeface::onFilterRec\28SkScalerContextRec*\29\20const +8705:SkUserTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +8706:SkUserTypeface::onCountGlyphs\28\29\20const +8707:SkUserTypeface::onComputeBounds\28SkRect*\29\20const +8708:SkUserTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +8709:SkUserTypeface::getGlyphToUnicodeMap\28int*\29\20const +8710:SkUserScalerContext::~SkUserScalerContext\28\29 +8711:SkUserScalerContext::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +8712:SkUserScalerContext::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +8713:SkUserScalerContext::generateImage\28SkGlyph\20const&\2c\20void*\29 +8714:SkUserScalerContext::generateFontMetrics\28SkFontMetrics*\29 +8715:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::~DrawableMatrixWrapper\28\29.1 +8716:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::~DrawableMatrixWrapper\28\29 +8717:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onGetBounds\28\29 +8718:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onDraw\28SkCanvas*\29 +8719:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29::DrawableMatrixWrapper::onApproximateBytesUsed\28\29 +8720:SkUserScalerContext::generateDrawable\28SkGlyph\20const&\29 +8721:SkUnicode_client::~SkUnicode_client\28\29.1 +8722:SkUnicode_client::~SkUnicode_client\28\29 +8723:SkUnicode_client::toUpper\28SkString\20const&\2c\20char\20const*\29 +8724:SkUnicode_client::toUpper\28SkString\20const&\29 +8725:SkUnicode_client::reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29 +8726:SkUnicode_client::makeBreakIterator\28char\20const*\2c\20SkUnicode::BreakType\29 +8727:SkUnicode_client::makeBreakIterator\28SkUnicode::BreakType\29 +8728:SkUnicode_client::makeBidiIterator\28unsigned\20short\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +8729:SkUnicode_client::makeBidiIterator\28char\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +8730:SkUnicode_client::getWords\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +8731:SkUnicode_client::getBidiRegions\28char\20const*\2c\20int\2c\20SkUnicode::TextDirection\2c\20std::__2::vector>*\29 +8732:SkUnicode_client::computeCodeUnitFlags\28char16_t*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +8733:SkUnicode_client::computeCodeUnitFlags\28char*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +8734:SkUnicodeHardCodedCharProperties::isWhitespace\28int\29 +8735:SkUnicodeHardCodedCharProperties::isTabulation\28int\29 +8736:SkUnicodeHardCodedCharProperties::isSpace\28int\29 +8737:SkUnicodeHardCodedCharProperties::isIdeographic\28int\29 +8738:SkUnicodeHardCodedCharProperties::isHardBreak\28int\29 +8739:SkUnicodeHardCodedCharProperties::isControl\28int\29 +8740:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29.1 +8741:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29 +8742:SkUnicodeBidiRunIterator::endOfCurrentRun\28\29\20const +8743:SkUnicodeBidiRunIterator::currentLevel\28\29\20const +8744:SkUnicodeBidiRunIterator::consume\28\29 +8745:SkUnicodeBidiRunIterator::atEnd\28\29\20const +8746:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29.1 +8747:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29 +8748:SkTypeface_FreeTypeStream::onOpenStream\28int*\29\20const +8749:SkTypeface_FreeTypeStream::onMakeFontData\28\29\20const +8750:SkTypeface_FreeTypeStream::onMakeClone\28SkFontArguments\20const&\29\20const +8751:SkTypeface_FreeTypeStream::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +8752:SkTypeface_FreeType::onGlyphMaskNeedsCurrentColor\28\29\20const +8753:SkTypeface_FreeType::onGetVariationDesignPosition\28SkFontArguments::VariationPosition::Coordinate*\2c\20int\29\20const +8754:SkTypeface_FreeType::onGetVariationDesignParameters\28SkFontParameters::Variation::Axis*\2c\20int\29\20const +8755:SkTypeface_FreeType::onGetUPEM\28\29\20const +8756:SkTypeface_FreeType::onGetTableTags\28unsigned\20int*\29\20const +8757:SkTypeface_FreeType::onGetTableData\28unsigned\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20void*\29\20const +8758:SkTypeface_FreeType::onGetPostScriptName\28SkString*\29\20const +8759:SkTypeface_FreeType::onGetKerningPairAdjustments\28unsigned\20short\20const*\2c\20int\2c\20int*\29\20const +8760:SkTypeface_FreeType::onGetAdvancedMetrics\28\29\20const +8761:SkTypeface_FreeType::onFilterRec\28SkScalerContextRec*\29\20const +8762:SkTypeface_FreeType::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +8763:SkTypeface_FreeType::onCreateFamilyNameIterator\28\29\20const +8764:SkTypeface_FreeType::onCountGlyphs\28\29\20const +8765:SkTypeface_FreeType::onCopyTableData\28unsigned\20int\29\20const +8766:SkTypeface_FreeType::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +8767:SkTypeface_FreeType::getPostScriptGlyphNames\28SkString*\29\20const +8768:SkTypeface_FreeType::getGlyphToUnicodeMap\28int*\29\20const +8769:SkTypeface_Empty::~SkTypeface_Empty\28\29 +8770:SkTypeface_Custom::~SkTypeface_Custom\28\29.1 +8771:SkTypeface_Custom::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +8772:SkTypeface::onCopyTableData\28unsigned\20int\29\20const +8773:SkTypeface::onComputeBounds\28SkRect*\29\20const +8774:SkTrimPE::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +8775:SkTrimPE::getTypeName\28\29\20const +8776:SkTriColorShader::type\28\29\20const +8777:SkTriColorShader::isOpaque\28\29\20const +8778:SkTriColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +8779:SkTransformShader::type\28\29\20const +8780:SkTransformShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +8781:SkTQuad::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +8782:SkTQuad::setBounds\28SkDRect*\29\20const +8783:SkTQuad::ptAtT\28double\29\20const +8784:SkTQuad::make\28SkArenaAlloc&\29\20const +8785:SkTQuad::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +8786:SkTQuad::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +8787:SkTQuad::dxdyAtT\28double\29\20const +8788:SkTQuad::debugInit\28\29 +8789:SkTCubic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +8790:SkTCubic::setBounds\28SkDRect*\29\20const +8791:SkTCubic::ptAtT\28double\29\20const +8792:SkTCubic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +8793:SkTCubic::make\28SkArenaAlloc&\29\20const +8794:SkTCubic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +8795:SkTCubic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +8796:SkTCubic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +8797:SkTCubic::dxdyAtT\28double\29\20const +8798:SkTCubic::debugInit\28\29 +8799:SkTCubic::controlsInside\28\29\20const +8800:SkTCubic::collapsed\28\29\20const +8801:SkTConic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +8802:SkTConic::setBounds\28SkDRect*\29\20const +8803:SkTConic::ptAtT\28double\29\20const +8804:SkTConic::make\28SkArenaAlloc&\29\20const +8805:SkTConic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +8806:SkTConic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +8807:SkTConic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +8808:SkTConic::dxdyAtT\28double\29\20const +8809:SkTConic::debugInit\28\29 +8810:SkSwizzler::onSetSampleX\28int\29 +8811:SkSwizzler::fillWidth\28\29\20const +8812:SkSweepGradient::getTypeName\28\29\20const +8813:SkSweepGradient::flatten\28SkWriteBuffer&\29\20const +8814:SkSweepGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +8815:SkSweepGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +8816:SkSurface_Raster::~SkSurface_Raster\28\29.1 +8817:SkSurface_Raster::~SkSurface_Raster\28\29 +8818:SkSurface_Raster::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +8819:SkSurface_Raster::onRestoreBackingMutability\28\29 +8820:SkSurface_Raster::onNewSurface\28SkImageInfo\20const&\29 +8821:SkSurface_Raster::onNewImageSnapshot\28SkIRect\20const*\29 +8822:SkSurface_Raster::onNewCanvas\28\29 +8823:SkSurface_Raster::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +8824:SkSurface_Raster::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +8825:SkSurface_Raster::imageInfo\28\29\20const +8826:SkSurface_Ganesh::~SkSurface_Ganesh\28\29.1 +8827:SkSurface_Ganesh::~SkSurface_Ganesh\28\29 +8828:SkSurface_Ganesh::replaceBackendTexture\28GrBackendTexture\20const&\2c\20GrSurfaceOrigin\2c\20SkSurface::ContentChangeMode\2c\20void\20\28*\29\28void*\29\2c\20void*\29 +8829:SkSurface_Ganesh::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +8830:SkSurface_Ganesh::onWait\28int\2c\20GrBackendSemaphore\20const*\2c\20bool\29 +8831:SkSurface_Ganesh::onNewSurface\28SkImageInfo\20const&\29 +8832:SkSurface_Ganesh::onNewImageSnapshot\28SkIRect\20const*\29 +8833:SkSurface_Ganesh::onNewCanvas\28\29 +8834:SkSurface_Ganesh::onIsCompatible\28GrSurfaceCharacterization\20const&\29\20const +8835:SkSurface_Ganesh::onGetRecordingContext\28\29\20const +8836:SkSurface_Ganesh::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +8837:SkSurface_Ganesh::onDiscard\28\29 +8838:SkSurface_Ganesh::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +8839:SkSurface_Ganesh::onCharacterize\28GrSurfaceCharacterization*\29\20const +8840:SkSurface_Ganesh::onCapabilities\28\29 +8841:SkSurface_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +8842:SkSurface_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +8843:SkSurface_Ganesh::imageInfo\28\29\20const +8844:SkSurface_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +8845:SkSurface::imageInfo\28\29\20const +8846:SkSurface::height\28\29\20const +8847:SkStrikeCache::~SkStrikeCache\28\29.1 +8848:SkStrikeCache::~SkStrikeCache\28\29 +8849:SkStrikeCache::findOrCreateScopedStrike\28SkStrikeSpec\20const&\29 +8850:SkStrike::~SkStrike\28\29.1 +8851:SkStrike::~SkStrike\28\29 +8852:SkStrike::strikePromise\28\29 +8853:SkStrike::roundingSpec\28\29\20const +8854:SkStrike::prepareForPath\28SkGlyph*\29 +8855:SkStrike::prepareForImage\28SkGlyph*\29 +8856:SkStrike::prepareForDrawable\28SkGlyph*\29 +8857:SkStrike::getDescriptor\28\29\20const +8858:SkSpriteBlitter_Memcpy::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +8859:SkSpriteBlitter::~SkSpriteBlitter\28\29.1 +8860:SkSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +8861:SkSpriteBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +8862:SkSpriteBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +8863:SkSpriteBlitter::blitH\28int\2c\20int\2c\20int\29 +8864:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29.1 +8865:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29 +8866:SkSpecialImage_Raster::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +8867:SkSpecialImage_Raster::getSize\28\29\20const +8868:SkSpecialImage_Raster::backingStoreDimensions\28\29\20const +8869:SkSpecialImage_Raster::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +8870:SkSpecialImage_Raster::asImage\28\29\20const +8871:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29.1 +8872:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29 +8873:SkSpecialImage_Gpu::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +8874:SkSpecialImage_Gpu::getSize\28\29\20const +8875:SkSpecialImage_Gpu::backingStoreDimensions\28\29\20const +8876:SkSpecialImage_Gpu::asImage\28\29\20const +8877:SkSpecialImage::~SkSpecialImage\28\29 +8878:SkSpecialImage::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +8879:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29.1 +8880:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29 +8881:SkShaper::TrivialLanguageRunIterator::currentLanguage\28\29\20const +8882:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29.1 +8883:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29 +8884:SkShaper::TrivialBiDiRunIterator::currentLevel\28\29\20const +8885:SkShaderBlurAlgorithm::maxSigma\28\29\20const +8886:SkShaderBlurAlgorithm::blur\28SkSize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +8887:SkScan::HairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8888:SkScan::HairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8889:SkScan::HairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8890:SkScan::AntiHairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8891:SkScan::AntiHairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8892:SkScan::AntiHairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8893:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +8894:SkScalingCodec::onGetScaledDimensions\28float\29\20const +8895:SkScalingCodec::onDimensionsSupported\28SkISize\20const&\29 +8896:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29.1 +8897:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29 +8898:SkScalerContext_FreeType::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +8899:SkScalerContext_FreeType::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +8900:SkScalerContext_FreeType::generateImage\28SkGlyph\20const&\2c\20void*\29 +8901:SkScalerContext_FreeType::generateFontMetrics\28SkFontMetrics*\29 +8902:SkScalerContext_FreeType::generateDrawable\28SkGlyph\20const&\29 +8903:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::~SkScalerContext_Empty\28\29 +8904:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +8905:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +8906:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateFontMetrics\28SkFontMetrics*\29 +8907:SkSampledCodec::onGetSampledDimensions\28int\29\20const +8908:SkSampledCodec::onGetAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +8909:SkSRGBColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +8910:SkSRGBColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +8911:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_3::__invoke\28double\2c\20double\29 +8912:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_2::__invoke\28double\2c\20double\29 +8913:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_1::__invoke\28double\2c\20double\29 +8914:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_0::__invoke\28double\2c\20double\29 +8915:SkSL::remove_break_statements\28std::__2::unique_ptr>&\29::RemoveBreaksWriter::visitStatementPtr\28std::__2::unique_ptr>&\29 +8916:SkSL::hoist_vardecl_symbols_into_outer_scope\28SkSL::Context\20const&\2c\20SkSL::Block\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::SymbolTable*\29::SymbolHoister::visitStatement\28SkSL::Statement\20const&\29 +8917:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29.1 +8918:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29 +8919:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29.1 +8920:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29 +8921:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +8922:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitExpressionPtr\28std::__2::unique_ptr>&\29 +8923:SkSL::count_returns_at_end_of_control_flow\28SkSL::FunctionDefinition\20const&\29::CountReturnsAtEndOfControlFlow::visitStatement\28SkSL::Statement\20const&\29 +8924:SkSL::\28anonymous\20namespace\29::VariableWriteVisitor::visitExpression\28SkSL::Expression\20const&\29 +8925:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +8926:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitExpression\28SkSL::Expression\20const&\29 +8927:SkSL::\28anonymous\20namespace\29::ReturnsNonOpaqueColorVisitor::visitStatement\28SkSL::Statement\20const&\29 +8928:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitStatement\28SkSL::Statement\20const&\29 +8929:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +8930:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitStatement\28SkSL::Statement\20const&\29 +8931:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitStatement\28SkSL::Statement\20const&\29 +8932:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +8933:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitExpression\28SkSL::Expression\20const&\29 +8934:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +8935:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +8936:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29.1 +8937:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29 +8938:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitExpression\28SkSL::Expression\20const&\29 +8939:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29.1 +8940:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29 +8941:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitStatement\28SkSL::Statement\20const&\29 +8942:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitExpression\28SkSL::Expression\20const&\29 +8943:SkSL::VectorType::isAllowedInUniform\28SkSL::Position*\29\20const +8944:SkSL::VectorType::isAllowedInES2\28\29\20const +8945:SkSL::VariableReference::clone\28SkSL::Position\29\20const +8946:SkSL::Variable::~Variable\28\29.1 +8947:SkSL::Variable::~Variable\28\29 +8948:SkSL::Variable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +8949:SkSL::Variable::mangledName\28\29\20const +8950:SkSL::Variable::layout\28\29\20const +8951:SkSL::Variable::description\28\29\20const +8952:SkSL::VarDeclaration::~VarDeclaration\28\29.1 +8953:SkSL::VarDeclaration::~VarDeclaration\28\29 +8954:SkSL::VarDeclaration::description\28\29\20const +8955:SkSL::TypeReference::clone\28SkSL::Position\29\20const +8956:SkSL::Type::minimumValue\28\29\20const +8957:SkSL::Type::maximumValue\28\29\20const +8958:SkSL::Type::isAllowedInUniform\28SkSL::Position*\29\20const +8959:SkSL::Type::fields\28\29\20const +8960:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29.1 +8961:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29 +8962:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::visitStatementPtr\28std::__2::unique_ptr>&\29 +8963:SkSL::Tracer::var\28int\2c\20int\29 +8964:SkSL::Tracer::scope\28int\29 +8965:SkSL::Tracer::line\28int\29 +8966:SkSL::Tracer::exit\28int\29 +8967:SkSL::Tracer::enter\28int\29 +8968:SkSL::TextureType::textureAccess\28\29\20const +8969:SkSL::TextureType::isMultisampled\28\29\20const +8970:SkSL::TextureType::isDepth\28\29\20const +8971:SkSL::TextureType::isArrayedTexture\28\29\20const +8972:SkSL::TernaryExpression::~TernaryExpression\28\29.1 +8973:SkSL::TernaryExpression::~TernaryExpression\28\29 +8974:SkSL::TernaryExpression::description\28SkSL::OperatorPrecedence\29\20const +8975:SkSL::TernaryExpression::clone\28SkSL::Position\29\20const +8976:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression&\29 +8977:SkSL::Swizzle::description\28SkSL::OperatorPrecedence\29\20const +8978:SkSL::Swizzle::clone\28SkSL::Position\29\20const +8979:SkSL::SwitchStatement::description\28\29\20const +8980:SkSL::SwitchCase::description\28\29\20const +8981:SkSL::StructType::slotType\28unsigned\20long\29\20const +8982:SkSL::StructType::isOrContainsUnsizedArray\28\29\20const +8983:SkSL::StructType::isOrContainsAtomic\28\29\20const +8984:SkSL::StructType::isOrContainsArray\28\29\20const +8985:SkSL::StructType::isInterfaceBlock\28\29\20const +8986:SkSL::StructType::isBuiltin\28\29\20const +8987:SkSL::StructType::isAllowedInUniform\28SkSL::Position*\29\20const +8988:SkSL::StructType::isAllowedInES2\28\29\20const +8989:SkSL::StructType::fields\28\29\20const +8990:SkSL::StructDefinition::description\28\29\20const +8991:SkSL::StringStream::~StringStream\28\29.1 +8992:SkSL::StringStream::~StringStream\28\29 +8993:SkSL::StringStream::write\28void\20const*\2c\20unsigned\20long\29 +8994:SkSL::StringStream::writeText\28char\20const*\29 +8995:SkSL::StringStream::write8\28unsigned\20char\29 +8996:SkSL::SingleArgumentConstructor::~SingleArgumentConstructor\28\29 +8997:SkSL::Setting::description\28SkSL::OperatorPrecedence\29\20const +8998:SkSL::Setting::clone\28SkSL::Position\29\20const +8999:SkSL::ScalarType::priority\28\29\20const +9000:SkSL::ScalarType::numberKind\28\29\20const +9001:SkSL::ScalarType::minimumValue\28\29\20const +9002:SkSL::ScalarType::maximumValue\28\29\20const +9003:SkSL::ScalarType::isAllowedInUniform\28SkSL::Position*\29\20const +9004:SkSL::ScalarType::isAllowedInES2\28\29\20const +9005:SkSL::ScalarType::bitWidth\28\29\20const +9006:SkSL::SamplerType::textureAccess\28\29\20const +9007:SkSL::SamplerType::isMultisampled\28\29\20const +9008:SkSL::SamplerType::isDepth\28\29\20const +9009:SkSL::SamplerType::isArrayedTexture\28\29\20const +9010:SkSL::SamplerType::dimensions\28\29\20const +9011:SkSL::ReturnStatement::description\28\29\20const +9012:SkSL::RP::VariableLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9013:SkSL::RP::VariableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9014:SkSL::RP::VariableLValue::isWritable\28\29\20const +9015:SkSL::RP::VariableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +9016:SkSL::RP::UnownedLValueSlice::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9017:SkSL::RP::UnownedLValueSlice::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9018:SkSL::RP::UnownedLValueSlice::fixedSlotRange\28SkSL::RP::Generator*\29 +9019:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29.1 +9020:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29 +9021:SkSL::RP::SwizzleLValue::swizzle\28\29 +9022:SkSL::RP::SwizzleLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9023:SkSL::RP::SwizzleLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9024:SkSL::RP::SwizzleLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +9025:SkSL::RP::ScratchLValue::~ScratchLValue\28\29.1 +9026:SkSL::RP::ScratchLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9027:SkSL::RP::ScratchLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +9028:SkSL::RP::LValueSlice::~LValueSlice\28\29.1 +9029:SkSL::RP::LValueSlice::~LValueSlice\28\29 +9030:SkSL::RP::LValue::~LValue\28\29.1 +9031:SkSL::RP::ImmutableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9032:SkSL::RP::ImmutableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +9033:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29.1 +9034:SkSL::RP::DynamicIndexLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9035:SkSL::RP::DynamicIndexLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +9036:SkSL::RP::DynamicIndexLValue::isWritable\28\29\20const +9037:SkSL::RP::DynamicIndexLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +9038:SkSL::ProgramVisitor::visitStatementPtr\28std::__2::unique_ptr>\20const&\29 +9039:SkSL::ProgramVisitor::visitExpressionPtr\28std::__2::unique_ptr>\20const&\29 +9040:SkSL::PrefixExpression::description\28SkSL::OperatorPrecedence\29\20const +9041:SkSL::PrefixExpression::clone\28SkSL::Position\29\20const +9042:SkSL::PostfixExpression::description\28SkSL::OperatorPrecedence\29\20const +9043:SkSL::PostfixExpression::clone\28SkSL::Position\29\20const +9044:SkSL::Poison::description\28SkSL::OperatorPrecedence\29\20const +9045:SkSL::Poison::clone\28SkSL::Position\29\20const +9046:SkSL::PipelineStage::Callbacks::getMainName\28\29 +9047:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29.1 +9048:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29 +9049:SkSL::Parser::Checkpoint::ForwardingErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +9050:SkSL::Nop::description\28\29\20const +9051:SkSL::MultiArgumentConstructor::~MultiArgumentConstructor\28\29 +9052:SkSL::ModifiersDeclaration::description\28\29\20const +9053:SkSL::MethodReference::description\28SkSL::OperatorPrecedence\29\20const +9054:SkSL::MethodReference::clone\28SkSL::Position\29\20const +9055:SkSL::MatrixType::slotCount\28\29\20const +9056:SkSL::MatrixType::rows\28\29\20const +9057:SkSL::MatrixType::isAllowedInES2\28\29\20const +9058:SkSL::LiteralType::minimumValue\28\29\20const +9059:SkSL::LiteralType::maximumValue\28\29\20const +9060:SkSL::Literal::getConstantValue\28int\29\20const +9061:SkSL::Literal::description\28SkSL::OperatorPrecedence\29\20const +9062:SkSL::Literal::compareConstant\28SkSL::Expression\20const&\29\20const +9063:SkSL::Literal::clone\28SkSL::Position\29\20const +9064:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_uintBitsToFloat\28double\2c\20double\2c\20double\29 +9065:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_trunc\28double\2c\20double\2c\20double\29 +9066:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tanh\28double\2c\20double\2c\20double\29 +9067:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tan\28double\2c\20double\2c\20double\29 +9068:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_step\28double\2c\20double\2c\20double\29 +9069:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sqrt\28double\2c\20double\2c\20double\29 +9070:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_smoothstep\28double\2c\20double\2c\20double\29 +9071:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sinh\28double\2c\20double\2c\20double\29 +9072:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sin\28double\2c\20double\2c\20double\29 +9073:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_saturate\28double\2c\20double\2c\20double\29 +9074:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_radians\28double\2c\20double\2c\20double\29 +9075:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_pow\28double\2c\20double\2c\20double\29 +9076:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mod\28double\2c\20double\2c\20double\29 +9077:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mix\28double\2c\20double\2c\20double\29 +9078:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_min\28double\2c\20double\2c\20double\29 +9079:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_max\28double\2c\20double\2c\20double\29 +9080:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_matrixCompMult\28double\2c\20double\2c\20double\29 +9081:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log\28double\2c\20double\2c\20double\29 +9082:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log2\28double\2c\20double\2c\20double\29 +9083:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_inversesqrt\28double\2c\20double\2c\20double\29 +9084:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_intBitsToFloat\28double\2c\20double\2c\20double\29 +9085:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fract\28double\2c\20double\2c\20double\29 +9086:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fma\28double\2c\20double\2c\20double\29 +9087:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floor\28double\2c\20double\2c\20double\29 +9088:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToUint\28double\2c\20double\2c\20double\29 +9089:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToInt\28double\2c\20double\2c\20double\29 +9090:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp\28double\2c\20double\2c\20double\29 +9091:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp2\28double\2c\20double\2c\20double\29 +9092:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_degrees\28double\2c\20double\2c\20double\29 +9093:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cosh\28double\2c\20double\2c\20double\29 +9094:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cos\28double\2c\20double\2c\20double\29 +9095:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_clamp\28double\2c\20double\2c\20double\29 +9096:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_ceil\28double\2c\20double\2c\20double\29 +9097:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atanh\28double\2c\20double\2c\20double\29 +9098:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan\28double\2c\20double\2c\20double\29 +9099:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan2\28double\2c\20double\2c\20double\29 +9100:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asinh\28double\2c\20double\2c\20double\29 +9101:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asin\28double\2c\20double\2c\20double\29 +9102:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acosh\28double\2c\20double\2c\20double\29 +9103:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acos\28double\2c\20double\2c\20double\29 +9104:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_abs\28double\2c\20double\2c\20double\29 +9105:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_notEqual\28double\2c\20double\29 +9106:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThan\28double\2c\20double\29 +9107:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThanEqual\28double\2c\20double\29 +9108:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThan\28double\2c\20double\29 +9109:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThanEqual\28double\2c\20double\29 +9110:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_equal\28double\2c\20double\29 +9111:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_any\28double\2c\20double\2c\20double\29 +9112:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_all\28double\2c\20double\2c\20double\29 +9113:SkSL::InterfaceBlock::~InterfaceBlock\28\29.1 +9114:SkSL::InterfaceBlock::description\28\29\20const +9115:SkSL::IndexExpression::~IndexExpression\28\29.1 +9116:SkSL::IndexExpression::~IndexExpression\28\29 +9117:SkSL::IndexExpression::description\28SkSL::OperatorPrecedence\29\20const +9118:SkSL::IndexExpression::clone\28SkSL::Position\29\20const +9119:SkSL::IfStatement::~IfStatement\28\29.1 +9120:SkSL::IfStatement::~IfStatement\28\29 +9121:SkSL::IfStatement::description\28\29\20const +9122:SkSL::GlobalVarDeclaration::description\28\29\20const +9123:SkSL::GenericType::slotType\28unsigned\20long\29\20const +9124:SkSL::GenericType::coercibleTypes\28\29\20const +9125:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29.1 +9126:SkSL::FunctionReference::description\28SkSL::OperatorPrecedence\29\20const +9127:SkSL::FunctionReference::clone\28SkSL::Position\29\20const +9128:SkSL::FunctionPrototype::description\28\29\20const +9129:SkSL::FunctionDefinition::description\28\29\20const +9130:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29.1 +9131:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29 +9132:SkSL::FunctionCall::description\28SkSL::OperatorPrecedence\29\20const +9133:SkSL::FunctionCall::clone\28SkSL::Position\29\20const +9134:SkSL::ForStatement::~ForStatement\28\29.1 +9135:SkSL::ForStatement::~ForStatement\28\29 +9136:SkSL::ForStatement::description\28\29\20const +9137:SkSL::FieldSymbol::description\28\29\20const +9138:SkSL::FieldAccess::clone\28SkSL::Position\29\20const +9139:SkSL::Extension::description\28\29\20const +9140:SkSL::ExtendedVariable::~ExtendedVariable\28\29.1 +9141:SkSL::ExtendedVariable::~ExtendedVariable\28\29 +9142:SkSL::ExtendedVariable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +9143:SkSL::ExtendedVariable::mangledName\28\29\20const +9144:SkSL::ExtendedVariable::layout\28\29\20const +9145:SkSL::ExtendedVariable::interfaceBlock\28\29\20const +9146:SkSL::ExtendedVariable::detachDeadInterfaceBlock\28\29 +9147:SkSL::ExpressionStatement::description\28\29\20const +9148:SkSL::Expression::getConstantValue\28int\29\20const +9149:SkSL::EmptyExpression::description\28SkSL::OperatorPrecedence\29\20const +9150:SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +9151:SkSL::DoStatement::description\28\29\20const +9152:SkSL::DiscardStatement::description\28\29\20const +9153:SkSL::DebugTracePriv::~DebugTracePriv\28\29.1 +9154:SkSL::DebugTracePriv::writeTrace\28SkWStream*\29\20const +9155:SkSL::DebugTracePriv::dump\28SkWStream*\29\20const +9156:SkSL::CountReturnsWithLimit::visitStatement\28SkSL::Statement\20const&\29 +9157:SkSL::ContinueStatement::description\28\29\20const +9158:SkSL::ConstructorStruct::clone\28SkSL::Position\29\20const +9159:SkSL::ConstructorSplat::getConstantValue\28int\29\20const +9160:SkSL::ConstructorSplat::clone\28SkSL::Position\29\20const +9161:SkSL::ConstructorScalarCast::clone\28SkSL::Position\29\20const +9162:SkSL::ConstructorMatrixResize::getConstantValue\28int\29\20const +9163:SkSL::ConstructorMatrixResize::clone\28SkSL::Position\29\20const +9164:SkSL::ConstructorDiagonalMatrix::getConstantValue\28int\29\20const +9165:SkSL::ConstructorDiagonalMatrix::clone\28SkSL::Position\29\20const +9166:SkSL::ConstructorCompoundCast::clone\28SkSL::Position\29\20const +9167:SkSL::ConstructorCompound::clone\28SkSL::Position\29\20const +9168:SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +9169:SkSL::ConstructorArray::clone\28SkSL::Position\29\20const +9170:SkSL::Compiler::CompilerErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +9171:SkSL::CodeGenerator::~CodeGenerator\28\29 +9172:SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +9173:SkSL::ChildCall::clone\28SkSL::Position\29\20const +9174:SkSL::BreakStatement::description\28\29\20const +9175:SkSL::Block::~Block\28\29.1 +9176:SkSL::Block::~Block\28\29 +9177:SkSL::Block::isEmpty\28\29\20const +9178:SkSL::Block::description\28\29\20const +9179:SkSL::BinaryExpression::~BinaryExpression\28\29.1 +9180:SkSL::BinaryExpression::~BinaryExpression\28\29 +9181:SkSL::BinaryExpression::description\28SkSL::OperatorPrecedence\29\20const +9182:SkSL::BinaryExpression::clone\28SkSL::Position\29\20const +9183:SkSL::ArrayType::slotType\28unsigned\20long\29\20const +9184:SkSL::ArrayType::slotCount\28\29\20const +9185:SkSL::ArrayType::isUnsizedArray\28\29\20const +9186:SkSL::ArrayType::isOrContainsUnsizedArray\28\29\20const +9187:SkSL::ArrayType::isOrContainsAtomic\28\29\20const +9188:SkSL::ArrayType::isBuiltin\28\29\20const +9189:SkSL::ArrayType::isAllowedInUniform\28SkSL::Position*\29\20const +9190:SkSL::AnyConstructor::getConstantValue\28int\29\20const +9191:SkSL::AnyConstructor::description\28SkSL::OperatorPrecedence\29\20const +9192:SkSL::AnyConstructor::compareConstant\28SkSL::Expression\20const&\29\20const +9193:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29::IsDynamicallyUniformExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +9194:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29::IsCompileTimeConstantVisitor::visitExpression\28SkSL::Expression\20const&\29 +9195:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29::HasSideEffectsVisitor::visitExpression\28SkSL::Expression\20const&\29 +9196:SkSL::Analysis::ContainsVariable\28SkSL::Expression\20const&\2c\20SkSL::Variable\20const&\29::ContainsVariableVisitor::visitExpression\28SkSL::Expression\20const&\29 +9197:SkSL::Analysis::ContainsRTAdjust\28SkSL::Expression\20const&\29::ContainsRTAdjustVisitor::visitExpression\28SkSL::Expression\20const&\29 +9198:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29.1 +9199:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29 +9200:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitStatement\28SkSL::Statement\20const&\29 +9201:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitExpression\28SkSL::Expression\20const&\29 +9202:SkSL::AliasType::textureAccess\28\29\20const +9203:SkSL::AliasType::slotType\28unsigned\20long\29\20const +9204:SkSL::AliasType::slotCount\28\29\20const +9205:SkSL::AliasType::rows\28\29\20const +9206:SkSL::AliasType::priority\28\29\20const +9207:SkSL::AliasType::isVector\28\29\20const +9208:SkSL::AliasType::isUnsizedArray\28\29\20const +9209:SkSL::AliasType::isStruct\28\29\20const +9210:SkSL::AliasType::isScalar\28\29\20const +9211:SkSL::AliasType::isMultisampled\28\29\20const +9212:SkSL::AliasType::isMatrix\28\29\20const +9213:SkSL::AliasType::isLiteral\28\29\20const +9214:SkSL::AliasType::isInterfaceBlock\28\29\20const +9215:SkSL::AliasType::isDepth\28\29\20const +9216:SkSL::AliasType::isArrayedTexture\28\29\20const +9217:SkSL::AliasType::isArray\28\29\20const +9218:SkSL::AliasType::dimensions\28\29\20const +9219:SkSL::AliasType::componentType\28\29\20const +9220:SkSL::AliasType::columns\28\29\20const +9221:SkSL::AliasType::coercibleTypes\28\29\20const +9222:SkRuntimeShader::~SkRuntimeShader\28\29.1 +9223:SkRuntimeShader::type\28\29\20const +9224:SkRuntimeShader::isOpaque\28\29\20const +9225:SkRuntimeShader::getTypeName\28\29\20const +9226:SkRuntimeShader::flatten\28SkWriteBuffer&\29\20const +9227:SkRuntimeShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9228:SkRuntimeEffect::~SkRuntimeEffect\28\29.1 +9229:SkRuntimeEffect::MakeFromSource\28SkString\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +9230:SkRuntimeColorFilter::~SkRuntimeColorFilter\28\29.1 +9231:SkRuntimeColorFilter::~SkRuntimeColorFilter\28\29 +9232:SkRuntimeColorFilter::onIsAlphaUnchanged\28\29\20const +9233:SkRuntimeColorFilter::getTypeName\28\29\20const +9234:SkRuntimeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9235:SkRuntimeBlender::~SkRuntimeBlender\28\29.1 +9236:SkRuntimeBlender::~SkRuntimeBlender\28\29 +9237:SkRuntimeBlender::onAppendStages\28SkStageRec\20const&\29\20const +9238:SkRuntimeBlender::getTypeName\28\29\20const +9239:SkRgnClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +9240:SkRgnClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9241:SkRgnClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +9242:SkRgnClipBlitter::blitH\28int\2c\20int\2c\20int\29 +9243:SkRgnClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +9244:SkRgnClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +9245:SkRgnBuilder::~SkRgnBuilder\28\29.1 +9246:SkRgnBuilder::blitH\28int\2c\20int\2c\20int\29 +9247:SkResourceCache::SetTotalByteLimit\28unsigned\20long\29 +9248:SkResourceCache::GetTotalBytesUsed\28\29 +9249:SkResourceCache::GetTotalByteLimit\28\29 +9250:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29.1 +9251:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29 +9252:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::rowBytes\28int\29\20const +9253:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::data\28int\29\20const +9254:SkRefCntSet::~SkRefCntSet\28\29.1 +9255:SkRefCntSet::incPtr\28void*\29 +9256:SkRefCntSet::decPtr\28void*\29 +9257:SkRectClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +9258:SkRectClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9259:SkRectClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +9260:SkRectClipBlitter::blitH\28int\2c\20int\2c\20int\29 +9261:SkRectClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +9262:SkRectClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +9263:SkRecorder::~SkRecorder\28\29.1 +9264:SkRecorder::~SkRecorder\28\29 +9265:SkRecorder::willSave\28\29 +9266:SkRecorder::onResetClip\28\29 +9267:SkRecorder::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9268:SkRecorder::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9269:SkRecorder::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +9270:SkRecorder::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +9271:SkRecorder::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +9272:SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +9273:SkRecorder::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +9274:SkRecorder::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +9275:SkRecorder::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +9276:SkRecorder::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +9277:SkRecorder::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9278:SkRecorder::onDrawPaint\28SkPaint\20const&\29 +9279:SkRecorder::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +9280:SkRecorder::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +9281:SkRecorder::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9282:SkRecorder::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +9283:SkRecorder::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9284:SkRecorder::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +9285:SkRecorder::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +9286:SkRecorder::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9287:SkRecorder::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +9288:SkRecorder::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +9289:SkRecorder::onDrawBehind\28SkPaint\20const&\29 +9290:SkRecorder::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +9291:SkRecorder::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +9292:SkRecorder::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +9293:SkRecorder::onDoSaveBehind\28SkRect\20const*\29 +9294:SkRecorder::onClipShader\28sk_sp\2c\20SkClipOp\29 +9295:SkRecorder::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +9296:SkRecorder::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9297:SkRecorder::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9298:SkRecorder::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9299:SkRecorder::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +9300:SkRecorder::didTranslate\28float\2c\20float\29 +9301:SkRecorder::didSetM44\28SkM44\20const&\29 +9302:SkRecorder::didScale\28float\2c\20float\29 +9303:SkRecorder::didRestore\28\29 +9304:SkRecorder::didConcat44\28SkM44\20const&\29 +9305:SkRecordedDrawable::~SkRecordedDrawable\28\29.1 +9306:SkRecordedDrawable::~SkRecordedDrawable\28\29 +9307:SkRecordedDrawable::onMakePictureSnapshot\28\29 +9308:SkRecordedDrawable::onGetBounds\28\29 +9309:SkRecordedDrawable::onDraw\28SkCanvas*\29 +9310:SkRecordedDrawable::onApproximateBytesUsed\28\29 +9311:SkRecordedDrawable::getTypeName\28\29\20const +9312:SkRecordedDrawable::flatten\28SkWriteBuffer&\29\20const +9313:SkRecord::~SkRecord\28\29.1 +9314:SkRecord::~SkRecord\28\29 +9315:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29.1 +9316:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29 +9317:SkRasterPipelineSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +9318:SkRasterPipelineSpriteBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9319:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29.1 +9320:SkRasterPipelineBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +9321:SkRasterPipelineBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9322:SkRasterPipelineBlitter::blitH\28int\2c\20int\2c\20int\29 +9323:SkRasterPipelineBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +9324:SkRasterPipelineBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +9325:SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +9326:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_3::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +9327:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_2::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +9328:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_1::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +9329:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_0::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +9330:SkRadialGradient::getTypeName\28\29\20const +9331:SkRadialGradient::flatten\28SkWriteBuffer&\29\20const +9332:SkRadialGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9333:SkRadialGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +9334:SkRTree::~SkRTree\28\29.1 +9335:SkRTree::~SkRTree\28\29 +9336:SkRTree::search\28SkRect\20const&\2c\20std::__2::vector>*\29\20const +9337:SkRTree::insert\28SkRect\20const*\2c\20int\29 +9338:SkRTree::bytesUsed\28\29\20const +9339:SkPtrSet::~SkPtrSet\28\29 +9340:SkPngNormalDecoder::~SkPngNormalDecoder\28\29 +9341:SkPngNormalDecoder::setRange\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +9342:SkPngNormalDecoder::decode\28int*\29 +9343:SkPngNormalDecoder::decodeAllRows\28void*\2c\20unsigned\20long\2c\20int*\29 +9344:SkPngNormalDecoder::RowCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +9345:SkPngNormalDecoder::AllRowsCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +9346:SkPngInterlacedDecoder::~SkPngInterlacedDecoder\28\29.1 +9347:SkPngInterlacedDecoder::~SkPngInterlacedDecoder\28\29 +9348:SkPngInterlacedDecoder::setRange\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +9349:SkPngInterlacedDecoder::decode\28int*\29 +9350:SkPngInterlacedDecoder::decodeAllRows\28void*\2c\20unsigned\20long\2c\20int*\29 +9351:SkPngInterlacedDecoder::InterlacedRowCallback\28png_struct_def*\2c\20unsigned\20char*\2c\20unsigned\20int\2c\20int\29 +9352:SkPngEncoderImpl::~SkPngEncoderImpl\28\29.1 +9353:SkPngEncoderImpl::~SkPngEncoderImpl\28\29 +9354:SkPngEncoderImpl::onEncodeRows\28int\29 +9355:SkPngDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9356:SkPngCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9357:SkPngCodec::onRewind\28\29 +9358:SkPngCodec::onIncrementalDecode\28int*\29 +9359:SkPngCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9360:SkPngCodec::getSampler\28bool\29 +9361:SkPngCodec::createColorTable\28SkImageInfo\20const&\29 +9362:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_2::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +9363:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_1::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +9364:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_0::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +9365:SkPixelRef::~SkPixelRef\28\29.1 +9366:SkPictureShader::~SkPictureShader\28\29.1 +9367:SkPictureShader::~SkPictureShader\28\29 +9368:SkPictureShader::type\28\29\20const +9369:SkPictureShader::getTypeName\28\29\20const +9370:SkPictureShader::flatten\28SkWriteBuffer&\29\20const +9371:SkPictureShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9372:SkPictureRecorder*\20emscripten::internal::operator_new\28\29 +9373:SkPictureRecord::~SkPictureRecord\28\29.1 +9374:SkPictureRecord::willSave\28\29 +9375:SkPictureRecord::willRestore\28\29 +9376:SkPictureRecord::onResetClip\28\29 +9377:SkPictureRecord::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9378:SkPictureRecord::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9379:SkPictureRecord::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +9380:SkPictureRecord::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +9381:SkPictureRecord::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +9382:SkPictureRecord::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +9383:SkPictureRecord::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +9384:SkPictureRecord::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +9385:SkPictureRecord::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +9386:SkPictureRecord::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +9387:SkPictureRecord::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9388:SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +9389:SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +9390:SkPictureRecord::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9391:SkPictureRecord::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +9392:SkPictureRecord::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9393:SkPictureRecord::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +9394:SkPictureRecord::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9395:SkPictureRecord::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +9396:SkPictureRecord::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +9397:SkPictureRecord::onDrawBehind\28SkPaint\20const&\29 +9398:SkPictureRecord::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +9399:SkPictureRecord::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +9400:SkPictureRecord::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +9401:SkPictureRecord::onDoSaveBehind\28SkRect\20const*\29 +9402:SkPictureRecord::onClipShader\28sk_sp\2c\20SkClipOp\29 +9403:SkPictureRecord::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +9404:SkPictureRecord::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9405:SkPictureRecord::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9406:SkPictureRecord::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +9407:SkPictureRecord::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +9408:SkPictureRecord::didTranslate\28float\2c\20float\29 +9409:SkPictureRecord::didSetM44\28SkM44\20const&\29 +9410:SkPictureRecord::didScale\28float\2c\20float\29 +9411:SkPictureRecord::didConcat44\28SkM44\20const&\29 +9412:SkPictureData::serialize\28SkWStream*\2c\20SkSerialProcs\20const&\2c\20SkRefCntSet*\2c\20bool\29\20const::DevNull::write\28void\20const*\2c\20unsigned\20long\29 +9413:SkPerlinNoiseShader::~SkPerlinNoiseShader\28\29.1 +9414:SkPerlinNoiseShader::~SkPerlinNoiseShader\28\29 +9415:SkPerlinNoiseShader::type\28\29\20const +9416:SkPerlinNoiseShader::getTypeName\28\29\20const +9417:SkPerlinNoiseShader::flatten\28SkWriteBuffer&\29\20const +9418:SkPerlinNoiseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9419:SkPath::setIsVolatile\28bool\29 +9420:SkPath::setFillType\28SkPathFillType\29 +9421:SkPath::isVolatile\28\29\20const +9422:SkPath::getFillType\28\29\20const +9423:SkPath2DPathEffectImpl::~SkPath2DPathEffectImpl\28\29.1 +9424:SkPath2DPathEffectImpl::~SkPath2DPathEffectImpl\28\29 +9425:SkPath2DPathEffectImpl::next\28SkPoint\20const&\2c\20int\2c\20int\2c\20SkPath*\29\20const +9426:SkPath2DPathEffectImpl::getTypeName\28\29\20const +9427:SkPath2DPathEffectImpl::getFactory\28\29\20const +9428:SkPath2DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +9429:SkPath2DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +9430:SkPath1DPathEffectImpl::~SkPath1DPathEffectImpl\28\29.1 +9431:SkPath1DPathEffectImpl::~SkPath1DPathEffectImpl\28\29 +9432:SkPath1DPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9433:SkPath1DPathEffectImpl::next\28SkPath*\2c\20float\2c\20SkPathMeasure&\29\20const +9434:SkPath1DPathEffectImpl::getTypeName\28\29\20const +9435:SkPath1DPathEffectImpl::getFactory\28\29\20const +9436:SkPath1DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +9437:SkPath1DPathEffectImpl::begin\28float\29\20const +9438:SkPath1DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +9439:SkPath1DPathEffect::Make\28SkPath\20const&\2c\20float\2c\20float\2c\20SkPath1DPathEffect::Style\29 +9440:SkPath*\20emscripten::internal::operator_new\28\29 +9441:SkPairPathEffect::~SkPairPathEffect\28\29.1 +9442:SkPaint::setDither\28bool\29 +9443:SkPaint::setAntiAlias\28bool\29 +9444:SkPaint::getStrokeMiter\28\29\20const +9445:SkPaint::getStrokeJoin\28\29\20const +9446:SkPaint::getStrokeCap\28\29\20const +9447:SkPaint*\20emscripten::internal::operator_new\28\29 +9448:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29.1 +9449:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29 +9450:SkOTUtils::LocalizedStrings_SingleName::next\28SkTypeface::LocalizedString*\29 +9451:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29.1 +9452:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29 +9453:SkOTUtils::LocalizedStrings_NameTable::next\28SkTypeface::LocalizedString*\29 +9454:SkNoPixelsDevice::~SkNoPixelsDevice\28\29.1 +9455:SkNoPixelsDevice::~SkNoPixelsDevice\28\29 +9456:SkNoPixelsDevice::replaceClip\28SkIRect\20const&\29 +9457:SkNoPixelsDevice::pushClipStack\28\29 +9458:SkNoPixelsDevice::popClipStack\28\29 +9459:SkNoPixelsDevice::onClipShader\28sk_sp\29 +9460:SkNoPixelsDevice::isClipWideOpen\28\29\20const +9461:SkNoPixelsDevice::isClipRect\28\29\20const +9462:SkNoPixelsDevice::isClipEmpty\28\29\20const +9463:SkNoPixelsDevice::isClipAntiAliased\28\29\20const +9464:SkNoPixelsDevice::devClipBounds\28\29\20const +9465:SkNoPixelsDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +9466:SkNoPixelsDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +9467:SkNoPixelsDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +9468:SkNoPixelsDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +9469:SkNoPixelsDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +9470:SkNoDrawCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9471:SkNoDrawCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +9472:SkMipmap::~SkMipmap\28\29.1 +9473:SkMipmap::~SkMipmap\28\29 +9474:SkMipmap::onDataChange\28void*\2c\20void*\29 +9475:SkMemoryStream::~SkMemoryStream\28\29.1 +9476:SkMemoryStream::~SkMemoryStream\28\29 +9477:SkMemoryStream::setMemory\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +9478:SkMemoryStream::seek\28unsigned\20long\29 +9479:SkMemoryStream::rewind\28\29 +9480:SkMemoryStream::read\28void*\2c\20unsigned\20long\29 +9481:SkMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +9482:SkMemoryStream::onFork\28\29\20const +9483:SkMemoryStream::onDuplicate\28\29\20const +9484:SkMemoryStream::move\28long\29 +9485:SkMemoryStream::isAtEnd\28\29\20const +9486:SkMemoryStream::getMemoryBase\28\29 +9487:SkMemoryStream::getLength\28\29\20const +9488:SkMemoryStream::getData\28\29\20const +9489:SkMatrixColorFilter::onIsAlphaUnchanged\28\29\20const +9490:SkMatrixColorFilter::onAsAColorMatrix\28float*\29\20const +9491:SkMatrixColorFilter::getTypeName\28\29\20const +9492:SkMatrixColorFilter::flatten\28SkWriteBuffer&\29\20const +9493:SkMatrixColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9494:SkMatrix::Trans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +9495:SkMatrix::Trans_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +9496:SkMatrix::Scale_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +9497:SkMatrix::Scale_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +9498:SkMatrix::ScaleTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +9499:SkMatrix::Poly4Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +9500:SkMatrix::Poly3Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +9501:SkMatrix::Poly2Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +9502:SkMatrix::Persp_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +9503:SkMatrix::Persp_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +9504:SkMatrix::Identity_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +9505:SkMatrix::Identity_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +9506:SkMatrix::Affine_vpts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +9507:SkMaskSwizzler::onSetSampleX\28int\29 +9508:SkMaskFilterBase::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +9509:SkMaskFilterBase::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +9510:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29.1 +9511:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29 +9512:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29.1 +9513:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29 +9514:SkLumaColorFilter::Make\28\29 +9515:SkLocalMatrixShader::~SkLocalMatrixShader\28\29.1 +9516:SkLocalMatrixShader::~SkLocalMatrixShader\28\29 +9517:SkLocalMatrixShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +9518:SkLocalMatrixShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +9519:SkLocalMatrixShader::makeAsALocalMatrixShader\28SkMatrix*\29\20const +9520:SkLocalMatrixShader::isOpaque\28\29\20const +9521:SkLocalMatrixShader::isConstant\28\29\20const +9522:SkLocalMatrixShader::getTypeName\28\29\20const +9523:SkLocalMatrixShader::flatten\28SkWriteBuffer&\29\20const +9524:SkLocalMatrixShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9525:SkLocalMatrixShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9526:SkLinearGradient::getTypeName\28\29\20const +9527:SkLinearGradient::flatten\28SkWriteBuffer&\29\20const +9528:SkLinearGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9529:SkLine2DPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9530:SkLine2DPathEffectImpl::nextSpan\28int\2c\20int\2c\20int\2c\20SkPath*\29\20const +9531:SkLine2DPathEffectImpl::getTypeName\28\29\20const +9532:SkLine2DPathEffectImpl::getFactory\28\29\20const +9533:SkLine2DPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +9534:SkLine2DPathEffectImpl::CreateProc\28SkReadBuffer&\29 +9535:SkJpegMetadataDecoderImpl::~SkJpegMetadataDecoderImpl\28\29.1 +9536:SkJpegMetadataDecoderImpl::~SkJpegMetadataDecoderImpl\28\29 +9537:SkJpegMetadataDecoderImpl::getISOGainmapMetadata\28bool\29\20const +9538:SkJpegMetadataDecoderImpl::getICCProfileData\28bool\29\20const +9539:SkJpegMetadataDecoderImpl::getExifMetadata\28bool\29\20const +9540:SkJpegMemorySourceMgr::skipInputBytes\28unsigned\20long\2c\20unsigned\20char\20const*&\2c\20unsigned\20long&\29 +9541:SkJpegMemorySourceMgr::initSource\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +9542:SkJpegDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9543:SkJpegCodec::~SkJpegCodec\28\29.1 +9544:SkJpegCodec::~SkJpegCodec\28\29 +9545:SkJpegCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9546:SkJpegCodec::onSkipScanlines\28int\29 +9547:SkJpegCodec::onRewind\28\29 +9548:SkJpegCodec::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +9549:SkJpegCodec::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +9550:SkJpegCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +9551:SkJpegCodec::onGetScaledDimensions\28float\29\20const +9552:SkJpegCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9553:SkJpegCodec::onDimensionsSupported\28SkISize\20const&\29 +9554:SkJpegCodec::getSampler\28bool\29 +9555:SkJpegCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +9556:SkJpegBufferedSourceMgr::~SkJpegBufferedSourceMgr\28\29.1 +9557:SkJpegBufferedSourceMgr::~SkJpegBufferedSourceMgr\28\29 +9558:SkJpegBufferedSourceMgr::skipInputBytes\28unsigned\20long\2c\20unsigned\20char\20const*&\2c\20unsigned\20long&\29 +9559:SkJpegBufferedSourceMgr::initSource\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +9560:SkJpegBufferedSourceMgr::fillInputBuffer\28unsigned\20char\20const*&\2c\20unsigned\20long&\29 +9561:SkImage_Raster::~SkImage_Raster\28\29.1 +9562:SkImage_Raster::~SkImage_Raster\28\29 +9563:SkImage_Raster::onReinterpretColorSpace\28sk_sp\29\20const +9564:SkImage_Raster::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +9565:SkImage_Raster::onPeekPixels\28SkPixmap*\29\20const +9566:SkImage_Raster::onPeekMips\28\29\20const +9567:SkImage_Raster::onMakeWithMipmaps\28sk_sp\29\20const +9568:SkImage_Raster::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +9569:SkImage_Raster::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +9570:SkImage_Raster::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +9571:SkImage_Raster::onHasMipmaps\28\29\20const +9572:SkImage_Raster::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +9573:SkImage_Raster::notifyAddedToRasterCache\28\29\20const +9574:SkImage_Raster::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +9575:SkImage_LazyTexture::readPixelsProxy\28GrDirectContext*\2c\20SkPixmap\20const&\29\20const +9576:SkImage_LazyTexture::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +9577:SkImage_Lazy::~SkImage_Lazy\28\29 +9578:SkImage_Lazy::onReinterpretColorSpace\28sk_sp\29\20const +9579:SkImage_Lazy::onRefEncoded\28\29\20const +9580:SkImage_Lazy::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +9581:SkImage_Lazy::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +9582:SkImage_Lazy::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +9583:SkImage_Lazy::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +9584:SkImage_Lazy::onIsProtected\28\29\20const +9585:SkImage_Lazy::isValid\28GrRecordingContext*\29\20const +9586:SkImage_Lazy::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +9587:SkImage_GaneshBase::~SkImage_GaneshBase\28\29 +9588:SkImage_GaneshBase::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +9589:SkImage_GaneshBase::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +9590:SkImage_GaneshBase::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +9591:SkImage_GaneshBase::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +9592:SkImage_GaneshBase::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +9593:SkImage_GaneshBase::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +9594:SkImage_GaneshBase::isValid\28GrRecordingContext*\29\20const +9595:SkImage_GaneshBase::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +9596:SkImage_GaneshBase::directContext\28\29\20const +9597:SkImage_Ganesh::~SkImage_Ganesh\28\29.1 +9598:SkImage_Ganesh::textureSize\28\29\20const +9599:SkImage_Ganesh::onReinterpretColorSpace\28sk_sp\29\20const +9600:SkImage_Ganesh::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +9601:SkImage_Ganesh::onIsProtected\28\29\20const +9602:SkImage_Ganesh::onHasMipmaps\28\29\20const +9603:SkImage_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +9604:SkImage_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +9605:SkImage_Ganesh::generatingSurfaceIsDeleted\28\29 +9606:SkImage_Ganesh::flush\28GrDirectContext*\2c\20GrFlushInfo\20const&\29\20const +9607:SkImage_Ganesh::asView\28GrRecordingContext*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29\20const +9608:SkImage_Ganesh::asFragmentProcessor\28GrRecordingContext*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29\20const +9609:SkImage_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +9610:SkImage_Base::notifyAddedToRasterCache\28\29\20const +9611:SkImage_Base::makeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +9612:SkImage_Base::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +9613:SkImage_Base::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +9614:SkImage_Base::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +9615:SkImage_Base::makeColorSpace\28skgpu::graphite::Recorder*\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +9616:SkImage_Base::makeColorSpace\28GrDirectContext*\2c\20sk_sp\29\20const +9617:SkImage_Base::isTextureBacked\28\29\20const +9618:SkImage_Base::isLazyGenerated\28\29\20const +9619:SkImageShader::~SkImageShader\28\29.1 +9620:SkImageShader::~SkImageShader\28\29 +9621:SkImageShader::type\28\29\20const +9622:SkImageShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +9623:SkImageShader::isOpaque\28\29\20const +9624:SkImageShader::getTypeName\28\29\20const +9625:SkImageShader::flatten\28SkWriteBuffer&\29\20const +9626:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9627:SkImageGenerator::~SkImageGenerator\28\29 +9628:SkImageFilters::Compose\28sk_sp\2c\20sk_sp\29 +9629:SkImage::~SkImage\28\29 +9630:SkIcoDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9631:SkIcoCodec::~SkIcoCodec\28\29.1 +9632:SkIcoCodec::~SkIcoCodec\28\29 +9633:SkIcoCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9634:SkIcoCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9635:SkIcoCodec::onSkipScanlines\28int\29 +9636:SkIcoCodec::onIncrementalDecode\28int*\29 +9637:SkIcoCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +9638:SkIcoCodec::onGetScanlineOrder\28\29\20const +9639:SkIcoCodec::onGetScaledDimensions\28float\29\20const +9640:SkIcoCodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9641:SkIcoCodec::onDimensionsSupported\28SkISize\20const&\29 +9642:SkIcoCodec::getSampler\28bool\29 +9643:SkIcoCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +9644:SkGradientBaseShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +9645:SkGradientBaseShader::isOpaque\28\29\20const +9646:SkGradientBaseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9647:SkGifDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9648:SkGaussianColorFilter::getTypeName\28\29\20const +9649:SkGaussianColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9650:SkGammaColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +9651:SkGammaColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +9652:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29.1 +9653:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29 +9654:SkFontStyleSet_Custom::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +9655:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29.1 +9656:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29 +9657:SkFontScanner_FreeType::scanFile\28SkStreamAsset*\2c\20int*\29\20const +9658:SkFontScanner_FreeType::scanFace\28SkStreamAsset*\2c\20int\2c\20int*\29\20const +9659:SkFontMgr_Custom::~SkFontMgr_Custom\28\29.1 +9660:SkFontMgr_Custom::~SkFontMgr_Custom\28\29 +9661:SkFontMgr_Custom::onMatchFamily\28char\20const*\29\20const +9662:SkFontMgr_Custom::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +9663:SkFontMgr_Custom::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +9664:SkFontMgr_Custom::onMakeFromStreamArgs\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +9665:SkFontMgr_Custom::onMakeFromFile\28char\20const*\2c\20int\29\20const +9666:SkFontMgr_Custom::onMakeFromData\28sk_sp\2c\20int\29\20const +9667:SkFontMgr_Custom::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +9668:SkFontMgr_Custom::onGetFamilyName\28int\2c\20SkString*\29\20const +9669:SkFont::setScaleX\28float\29 +9670:SkFont::setEmbeddedBitmaps\28bool\29 +9671:SkFont::isEmbolden\28\29\20const +9672:SkFont::getSkewX\28\29\20const +9673:SkFont::getSize\28\29\20const +9674:SkFont::getScaleX\28\29\20const +9675:SkFont*\20emscripten::internal::operator_new\2c\20float\2c\20float\2c\20float>\28sk_sp&&\2c\20float&&\2c\20float&&\2c\20float&&\29 +9676:SkFont*\20emscripten::internal::operator_new\2c\20float>\28sk_sp&&\2c\20float&&\29 +9677:SkFont*\20emscripten::internal::operator_new>\28sk_sp&&\29 +9678:SkFont*\20emscripten::internal::operator_new\28\29 +9679:SkFILEStream::~SkFILEStream\28\29.1 +9680:SkFILEStream::~SkFILEStream\28\29 +9681:SkFILEStream::seek\28unsigned\20long\29 +9682:SkFILEStream::rewind\28\29 +9683:SkFILEStream::read\28void*\2c\20unsigned\20long\29 +9684:SkFILEStream::onFork\28\29\20const +9685:SkFILEStream::onDuplicate\28\29\20const +9686:SkFILEStream::move\28long\29 +9687:SkFILEStream::isAtEnd\28\29\20const +9688:SkFILEStream::getPosition\28\29\20const +9689:SkFILEStream::getLength\28\29\20const +9690:SkEncoder::~SkEncoder\28\29 +9691:SkEmptyShader::getTypeName\28\29\20const +9692:SkEmptyPicture::~SkEmptyPicture\28\29 +9693:SkEmptyPicture::cullRect\28\29\20const +9694:SkEmptyPicture::approximateBytesUsed\28\29\20const +9695:SkEmptyFontMgr::onMatchFamily\28char\20const*\29\20const +9696:SkEdgeBuilder::~SkEdgeBuilder\28\29 +9697:SkEdgeBuilder::build\28SkPath\20const&\2c\20SkIRect\20const*\2c\20bool\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +9698:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29.1 +9699:SkDrawable::onMakePictureSnapshot\28\29 +9700:SkDrawBase::~SkDrawBase\28\29 +9701:SkDraw::paintMasks\28SkZip\2c\20SkPaint\20const&\29\20const +9702:SkDiscretePathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9703:SkDiscretePathEffectImpl::getTypeName\28\29\20const +9704:SkDiscretePathEffectImpl::getFactory\28\29\20const +9705:SkDiscretePathEffectImpl::computeFastBounds\28SkRect*\29\20const +9706:SkDiscretePathEffectImpl::CreateProc\28SkReadBuffer&\29 +9707:SkDevice::~SkDevice\28\29 +9708:SkDevice::strikeDeviceInfo\28\29\20const +9709:SkDevice::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +9710:SkDevice::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +9711:SkDevice::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20sk_sp\2c\20SkPaint\20const&\29 +9712:SkDevice::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +9713:SkDevice::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +9714:SkDevice::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +9715:SkDevice::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +9716:SkDevice::drawCoverageMask\28SkSpecialImage\20const*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +9717:SkDevice::drawBlurredRRect\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20float\29 +9718:SkDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +9719:SkDevice::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +9720:SkDevice::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +9721:SkDashImpl::~SkDashImpl\28\29.1 +9722:SkDashImpl::~SkDashImpl\28\29 +9723:SkDashImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9724:SkDashImpl::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +9725:SkDashImpl::onAsADash\28SkPathEffect::DashInfo*\29\20const +9726:SkDashImpl::getTypeName\28\29\20const +9727:SkDashImpl::flatten\28SkWriteBuffer&\29\20const +9728:SkCustomTypefaceBuilder::MakeFromStream\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29 +9729:SkCornerPathEffectImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9730:SkCornerPathEffectImpl::getTypeName\28\29\20const +9731:SkCornerPathEffectImpl::getFactory\28\29\20const +9732:SkCornerPathEffectImpl::flatten\28SkWriteBuffer&\29\20const +9733:SkCornerPathEffectImpl::CreateProc\28SkReadBuffer&\29 +9734:SkCornerPathEffect::Make\28float\29 +9735:SkContourMeasureIter*\20emscripten::internal::operator_new\28SkPath\20const&\2c\20bool&&\2c\20float&&\29 +9736:SkContourMeasure::~SkContourMeasure\28\29.1 +9737:SkContourMeasure::~SkContourMeasure\28\29 +9738:SkContourMeasure::isClosed\28\29\20const +9739:SkConicalGradient::getTypeName\28\29\20const +9740:SkConicalGradient::flatten\28SkWriteBuffer&\29\20const +9741:SkConicalGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9742:SkConicalGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +9743:SkComposePathEffect::~SkComposePathEffect\28\29 +9744:SkComposePathEffect::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +9745:SkComposePathEffect::getTypeName\28\29\20const +9746:SkComposePathEffect::computeFastBounds\28SkRect*\29\20const +9747:SkComposeColorFilter::onIsAlphaUnchanged\28\29\20const +9748:SkComposeColorFilter::getTypeName\28\29\20const +9749:SkComposeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9750:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29.1 +9751:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29 +9752:SkColorSpaceXformColorFilter::getTypeName\28\29\20const +9753:SkColorSpaceXformColorFilter::flatten\28SkWriteBuffer&\29\20const +9754:SkColorSpaceXformColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9755:SkColorShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +9756:SkColorShader::isOpaque\28\29\20const +9757:SkColorShader::getTypeName\28\29\20const +9758:SkColorShader::flatten\28SkWriteBuffer&\29\20const +9759:SkColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9760:SkColorPalette::~SkColorPalette\28\29.1 +9761:SkColorPalette::~SkColorPalette\28\29 +9762:SkColorFilters::SRGBToLinearGamma\28\29 +9763:SkColorFilters::LinearToSRGBGamma\28\29 +9764:SkColorFilters::Lerp\28float\2c\20sk_sp\2c\20sk_sp\29 +9765:SkColorFilters::Compose\28sk_sp\20const&\2c\20sk_sp\29 +9766:SkColorFilterShader::~SkColorFilterShader\28\29.1 +9767:SkColorFilterShader::~SkColorFilterShader\28\29 +9768:SkColorFilterShader::isOpaque\28\29\20const +9769:SkColorFilterShader::getTypeName\28\29\20const +9770:SkColorFilterShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9771:SkColorFilterBase::onFilterColor4f\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkColorSpace*\29\20const +9772:SkColor4Shader::~SkColor4Shader\28\29.1 +9773:SkColor4Shader::~SkColor4Shader\28\29 +9774:SkColor4Shader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +9775:SkColor4Shader::isOpaque\28\29\20const +9776:SkColor4Shader::getTypeName\28\29\20const +9777:SkColor4Shader::flatten\28SkWriteBuffer&\29\20const +9778:SkColor4Shader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9779:SkCodecImageGenerator::~SkCodecImageGenerator\28\29.1 +9780:SkCodecImageGenerator::~SkCodecImageGenerator\28\29 +9781:SkCodecImageGenerator::onRefEncodedData\28\29 +9782:SkCodecImageGenerator::onQueryYUVAInfo\28SkYUVAPixmapInfo::SupportedDataTypes\20const&\2c\20SkYUVAPixmapInfo*\29\20const +9783:SkCodecImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +9784:SkCodecImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +9785:SkCodec::onStartScanlineDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9786:SkCodec::onStartIncrementalDecode\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9787:SkCodec::onOutputScanline\28int\29\20const +9788:SkCodec::onGetScaledDimensions\28float\29\20const +9789:SkCodec::getEncodedData\28\29\20const +9790:SkCodec::conversionSupported\28SkImageInfo\20const&\2c\20bool\2c\20bool\29 +9791:SkCanvas::rotate\28float\2c\20float\2c\20float\29 +9792:SkCanvas::recordingContext\28\29\20const +9793:SkCanvas::recorder\28\29\20const +9794:SkCanvas::onPeekPixels\28SkPixmap*\29 +9795:SkCanvas::onNewSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +9796:SkCanvas::onImageInfo\28\29\20const +9797:SkCanvas::onGetProps\28SkSurfaceProps*\2c\20bool\29\20const +9798:SkCanvas::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9799:SkCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9800:SkCanvas::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +9801:SkCanvas::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +9802:SkCanvas::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +9803:SkCanvas::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +9804:SkCanvas::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +9805:SkCanvas::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +9806:SkCanvas::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +9807:SkCanvas::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +9808:SkCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +9809:SkCanvas::onDrawPaint\28SkPaint\20const&\29 +9810:SkCanvas::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +9811:SkCanvas::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +9812:SkCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9813:SkCanvas::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +9814:SkCanvas::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +9815:SkCanvas::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +9816:SkCanvas::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +9817:SkCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +9818:SkCanvas::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +9819:SkCanvas::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +9820:SkCanvas::onDrawBehind\28SkPaint\20const&\29 +9821:SkCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +9822:SkCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +9823:SkCanvas::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +9824:SkCanvas::onDiscard\28\29 +9825:SkCanvas::onConvertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +9826:SkCanvas::onAccessTopLayerPixels\28SkPixmap*\29 +9827:SkCanvas::isClipRect\28\29\20const +9828:SkCanvas::isClipEmpty\28\29\20const +9829:SkCanvas::getSaveCount\28\29\20const +9830:SkCanvas::getBaseLayerSize\28\29\20const +9831:SkCanvas::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9832:SkCanvas::drawPicture\28sk_sp\20const&\29 +9833:SkCanvas::drawCircle\28float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +9834:SkCanvas*\20emscripten::internal::operator_new\28float&&\2c\20float&&\29 +9835:SkCanvas*\20emscripten::internal::operator_new\28\29 +9836:SkCachedData::~SkCachedData\28\29.1 +9837:SkCTMShader::~SkCTMShader\28\29 +9838:SkCTMShader::isConstant\28\29\20const +9839:SkCTMShader::getTypeName\28\29\20const +9840:SkCTMShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +9841:SkCTMShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9842:SkBreakIterator_client::~SkBreakIterator_client\28\29.1 +9843:SkBreakIterator_client::~SkBreakIterator_client\28\29 +9844:SkBreakIterator_client::status\28\29 +9845:SkBreakIterator_client::setText\28char\20const*\2c\20int\29 +9846:SkBreakIterator_client::setText\28char16_t\20const*\2c\20int\29 +9847:SkBreakIterator_client::next\28\29 +9848:SkBreakIterator_client::isDone\28\29 +9849:SkBreakIterator_client::first\28\29 +9850:SkBreakIterator_client::current\28\29 +9851:SkBmpStandardCodec::~SkBmpStandardCodec\28\29.1 +9852:SkBmpStandardCodec::~SkBmpStandardCodec\28\29 +9853:SkBmpStandardCodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9854:SkBmpStandardCodec::onInIco\28\29\20const +9855:SkBmpStandardCodec::getSampler\28bool\29 +9856:SkBmpStandardCodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9857:SkBmpRLESampler::onSetSampleX\28int\29 +9858:SkBmpRLESampler::fillWidth\28\29\20const +9859:SkBmpRLECodec::~SkBmpRLECodec\28\29.1 +9860:SkBmpRLECodec::~SkBmpRLECodec\28\29 +9861:SkBmpRLECodec::skipRows\28int\29 +9862:SkBmpRLECodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9863:SkBmpRLECodec::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\2c\20int*\29 +9864:SkBmpRLECodec::getSampler\28bool\29 +9865:SkBmpRLECodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9866:SkBmpMaskCodec::~SkBmpMaskCodec\28\29.1 +9867:SkBmpMaskCodec::~SkBmpMaskCodec\28\29 +9868:SkBmpMaskCodec::onPrepareToDecode\28SkImageInfo\20const&\2c\20SkCodec::Options\20const&\29 +9869:SkBmpMaskCodec::getSampler\28bool\29 +9870:SkBmpMaskCodec::decodeRows\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkCodec::Options\20const&\29 +9871:SkBmpDecoder::Decode\28std::__2::unique_ptr>\2c\20SkCodec::Result*\2c\20void*\29 +9872:SkBmpCodec::~SkBmpCodec\28\29 +9873:SkBmpCodec::skipRows\28int\29 +9874:SkBmpCodec::onSkipScanlines\28int\29 +9875:SkBmpCodec::onRewind\28\29 +9876:SkBmpCodec::onGetScanlines\28void*\2c\20int\2c\20unsigned\20long\29 +9877:SkBmpCodec::onGetScanlineOrder\28\29\20const +9878:SkBlurMaskFilterImpl::getTypeName\28\29\20const +9879:SkBlurMaskFilterImpl::flatten\28SkWriteBuffer&\29\20const +9880:SkBlurMaskFilterImpl::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +9881:SkBlurMaskFilterImpl::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +9882:SkBlurMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +9883:SkBlurMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +9884:SkBlurMaskFilterImpl::asImageFilter\28SkMatrix\20const&\29\20const +9885:SkBlurMaskFilterImpl::asABlur\28SkMaskFilterBase::BlurRec*\29\20const +9886:SkBlockMemoryStream::~SkBlockMemoryStream\28\29.1 +9887:SkBlockMemoryStream::~SkBlockMemoryStream\28\29 +9888:SkBlockMemoryStream::seek\28unsigned\20long\29 +9889:SkBlockMemoryStream::rewind\28\29 +9890:SkBlockMemoryStream::read\28void*\2c\20unsigned\20long\29 +9891:SkBlockMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +9892:SkBlockMemoryStream::onFork\28\29\20const +9893:SkBlockMemoryStream::onDuplicate\28\29\20const +9894:SkBlockMemoryStream::move\28long\29 +9895:SkBlockMemoryStream::isAtEnd\28\29\20const +9896:SkBlockMemoryStream::getMemoryBase\28\29 +9897:SkBlockMemoryRefCnt::~SkBlockMemoryRefCnt\28\29.1 +9898:SkBlockMemoryRefCnt::~SkBlockMemoryRefCnt\28\29 +9899:SkBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +9900:SkBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +9901:SkBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +9902:SkBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +9903:SkBlitter::allocBlitMemory\28unsigned\20long\29 +9904:SkBlenderBase::asBlendMode\28\29\20const +9905:SkBlendShader::getTypeName\28\29\20const +9906:SkBlendShader::flatten\28SkWriteBuffer&\29\20const +9907:SkBlendShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +9908:SkBlendModeColorFilter::onIsAlphaUnchanged\28\29\20const +9909:SkBlendModeColorFilter::onAsAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +9910:SkBlendModeColorFilter::getTypeName\28\29\20const +9911:SkBlendModeColorFilter::flatten\28SkWriteBuffer&\29\20const +9912:SkBlendModeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +9913:SkBlendModeBlender::onAppendStages\28SkStageRec\20const&\29\20const +9914:SkBlendModeBlender::getTypeName\28\29\20const +9915:SkBlendModeBlender::flatten\28SkWriteBuffer&\29\20const +9916:SkBlendModeBlender::asBlendMode\28\29\20const +9917:SkBitmapDevice::~SkBitmapDevice\28\29.1 +9918:SkBitmapDevice::~SkBitmapDevice\28\29 +9919:SkBitmapDevice::snapSpecial\28SkIRect\20const&\2c\20bool\29 +9920:SkBitmapDevice::setImmutable\28\29 +9921:SkBitmapDevice::replaceClip\28SkIRect\20const&\29 +9922:SkBitmapDevice::pushClipStack\28\29 +9923:SkBitmapDevice::popClipStack\28\29 +9924:SkBitmapDevice::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +9925:SkBitmapDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +9926:SkBitmapDevice::onPeekPixels\28SkPixmap*\29 +9927:SkBitmapDevice::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +9928:SkBitmapDevice::onClipShader\28sk_sp\29 +9929:SkBitmapDevice::onAccessPixels\28SkPixmap*\29 +9930:SkBitmapDevice::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +9931:SkBitmapDevice::makeSpecial\28SkImage\20const*\29 +9932:SkBitmapDevice::makeSpecial\28SkBitmap\20const&\29 +9933:SkBitmapDevice::isClipWideOpen\28\29\20const +9934:SkBitmapDevice::isClipRect\28\29\20const +9935:SkBitmapDevice::isClipEmpty\28\29\20const +9936:SkBitmapDevice::isClipAntiAliased\28\29\20const +9937:SkBitmapDevice::getRasterHandle\28\29\20const +9938:SkBitmapDevice::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +9939:SkBitmapDevice::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +9940:SkBitmapDevice::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +9941:SkBitmapDevice::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +9942:SkBitmapDevice::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +9943:SkBitmapDevice::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +9944:SkBitmapDevice::drawPaint\28SkPaint\20const&\29 +9945:SkBitmapDevice::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +9946:SkBitmapDevice::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +9947:SkBitmapDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +9948:SkBitmapDevice::devClipBounds\28\29\20const +9949:SkBitmapDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +9950:SkBitmapDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +9951:SkBitmapDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +9952:SkBitmapDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +9953:SkBitmapDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +9954:SkBitmapDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +9955:SkBitmapCache::Rec::~Rec\28\29.1 +9956:SkBitmapCache::Rec::~Rec\28\29 +9957:SkBitmapCache::Rec::postAddInstall\28void*\29 +9958:SkBitmapCache::Rec::getCategory\28\29\20const +9959:SkBitmapCache::Rec::canBePurged\28\29 +9960:SkBitmapCache::Rec::bytesUsed\28\29\20const +9961:SkBitmapCache::Rec::ReleaseProc\28void*\2c\20void*\29 +9962:SkBitmapCache::Rec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +9963:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29.1 +9964:SkBinaryWriteBuffer::write\28SkM44\20const&\29 +9965:SkBinaryWriteBuffer::writeTypeface\28SkTypeface*\29 +9966:SkBinaryWriteBuffer::writeString\28std::__2::basic_string_view>\29 +9967:SkBinaryWriteBuffer::writeStream\28SkStream*\2c\20unsigned\20long\29 +9968:SkBinaryWriteBuffer::writeScalar\28float\29 +9969:SkBinaryWriteBuffer::writeSampling\28SkSamplingOptions\20const&\29 +9970:SkBinaryWriteBuffer::writeRegion\28SkRegion\20const&\29 +9971:SkBinaryWriteBuffer::writeRect\28SkRect\20const&\29 +9972:SkBinaryWriteBuffer::writePoint\28SkPoint\20const&\29 +9973:SkBinaryWriteBuffer::writePointArray\28SkPoint\20const*\2c\20unsigned\20int\29 +9974:SkBinaryWriteBuffer::writePoint3\28SkPoint3\20const&\29 +9975:SkBinaryWriteBuffer::writePath\28SkPath\20const&\29 +9976:SkBinaryWriteBuffer::writePaint\28SkPaint\20const&\29 +9977:SkBinaryWriteBuffer::writePad32\28void\20const*\2c\20unsigned\20long\29 +9978:SkBinaryWriteBuffer::writeMatrix\28SkMatrix\20const&\29 +9979:SkBinaryWriteBuffer::writeImage\28SkImage\20const*\29 +9980:SkBinaryWriteBuffer::writeColor4fArray\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20unsigned\20int\29 +9981:SkBigPicture::~SkBigPicture\28\29.1 +9982:SkBigPicture::~SkBigPicture\28\29 +9983:SkBigPicture::playback\28SkCanvas*\2c\20SkPicture::AbortCallback*\29\20const +9984:SkBigPicture::cullRect\28\29\20const +9985:SkBigPicture::approximateOpCount\28bool\29\20const +9986:SkBigPicture::approximateBytesUsed\28\29\20const +9987:SkBidiSubsetFactory::errorName\28UErrorCode\29\20const +9988:SkBidiSubsetFactory::bidi_setPara\28UBiDi*\2c\20char16_t\20const*\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20UErrorCode*\29\20const +9989:SkBidiSubsetFactory::bidi_reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29\20const +9990:SkBidiSubsetFactory::bidi_openSized\28int\2c\20int\2c\20UErrorCode*\29\20const +9991:SkBidiSubsetFactory::bidi_getLevelAt\28UBiDi\20const*\2c\20int\29\20const +9992:SkBidiSubsetFactory::bidi_getLength\28UBiDi\20const*\29\20const +9993:SkBidiSubsetFactory::bidi_getDirection\28UBiDi\20const*\29\20const +9994:SkBidiSubsetFactory::bidi_close_callback\28\29\20const +9995:SkBezierCubic::Subdivide\28double\20const*\2c\20double\2c\20double*\29 +9996:SkBasicEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +9997:SkBasicEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +9998:SkBasicEdgeBuilder::addQuad\28SkPoint\20const*\29 +9999:SkBasicEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +10000:SkBasicEdgeBuilder::addLine\28SkPoint\20const*\29 +10001:SkBasicEdgeBuilder::addCubic\28SkPoint\20const*\29 +10002:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29 +10003:SkBBoxHierarchy::insert\28SkRect\20const*\2c\20SkBBoxHierarchy::Metadata\20const*\2c\20int\29 +10004:SkArenaAlloc::SkipPod\28char*\29 +10005:SkArenaAlloc::NextBlock\28char*\29 +10006:SkAnimatedImage::~SkAnimatedImage\28\29.1 +10007:SkAnimatedImage::~SkAnimatedImage\28\29 +10008:SkAnimatedImage::reset\28\29 +10009:SkAnimatedImage::onGetBounds\28\29 +10010:SkAnimatedImage::onDraw\28SkCanvas*\29 +10011:SkAnimatedImage::getRepetitionCount\28\29\20const +10012:SkAnimatedImage::getCurrentFrame\28\29 +10013:SkAnimatedImage::currentFrameDuration\28\29 +10014:SkAndroidCodecAdapter::onGetSupportedSubset\28SkIRect*\29\20const +10015:SkAndroidCodecAdapter::onGetSampledDimensions\28int\29\20const +10016:SkAndroidCodecAdapter::onGetAndroidPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkAndroidCodec::AndroidOptions\20const&\29 +10017:SkAnalyticEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +10018:SkAnalyticEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +10019:SkAnalyticEdgeBuilder::addQuad\28SkPoint\20const*\29 +10020:SkAnalyticEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +10021:SkAnalyticEdgeBuilder::addLine\28SkPoint\20const*\29 +10022:SkAnalyticEdgeBuilder::addCubic\28SkPoint\20const*\29 +10023:SkAAClipBlitter::~SkAAClipBlitter\28\29.1 +10024:SkAAClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10025:SkAAClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10026:SkAAClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10027:SkAAClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10028:SkAAClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10029:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_1::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +10030:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_0::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +10031:SkAAClip::Builder::Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10032:SkAAClip::Builder::Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10033:SkAAClip::Builder::Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10034:SkAAClip::Builder::Blitter::blitH\28int\2c\20int\2c\20int\29 +10035:SkAAClip::Builder::Blitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10036:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29.1 +10037:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29 +10038:SkA8_Coverage_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10039:SkA8_Coverage_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10040:SkA8_Coverage_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10041:SkA8_Coverage_Blitter::blitH\28int\2c\20int\2c\20int\29 +10042:SkA8_Coverage_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10043:SkA8_Blitter::~SkA8_Blitter\28\29.1 +10044:SkA8_Blitter::~SkA8_Blitter\28\29 +10045:SkA8_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10046:SkA8_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10047:SkA8_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10048:SkA8_Blitter::blitH\28int\2c\20int\2c\20int\29 +10049:SkA8_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10050:SkA8Blitter_Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +10051:Sk2DPathEffect::nextSpan\28int\2c\20int\2c\20int\2c\20SkPath*\29\20const +10052:Sk2DPathEffect::flatten\28SkWriteBuffer&\29\20const +10053:SimpleVFilter16i_C +10054:SimpleVFilter16_C +10055:SimpleTextStyle*\20emscripten::internal::raw_constructor\28\29 +10056:SimpleTextStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleTextStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle\20const&\29 +10057:SimpleStrutStyle*\20emscripten::internal::raw_constructor\28\29 +10058:SimpleStrutStyle*\20emscripten::internal::MemberAccess::getWire\28SimpleStrutStyle\20SimpleParagraphStyle::*\20const&\2c\20SimpleParagraphStyle\20const&\29 +10059:SimpleParagraphStyle*\20emscripten::internal::raw_constructor\28\29 +10060:SimpleHFilter16i_C +10061:SimpleHFilter16_C +10062:SimpleFontStyle*\20emscripten::internal::raw_constructor\28\29 +10063:ShaderPDXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10064:ShaderPDXferProcessor::name\28\29\20const +10065:ShaderPDXferProcessor::makeProgramImpl\28\29\20const +10066:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +10067:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +10068:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10069:RuntimeEffectUniform*\20emscripten::internal::raw_constructor\28\29 +10070:RuntimeEffectRPCallbacks::toLinearSrgb\28void\20const*\29 +10071:RuntimeEffectRPCallbacks::fromLinearSrgb\28void\20const*\29 +10072:RuntimeEffectRPCallbacks::appendShader\28int\29 +10073:RuntimeEffectRPCallbacks::appendColorFilter\28int\29 +10074:RuntimeEffectRPCallbacks::appendBlender\28int\29 +10075:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29 +10076:RunBasedAdditiveBlitter::getRealBlitter\28bool\29 +10077:RunBasedAdditiveBlitter::flush_if_y_changed\28int\2c\20int\29 +10078:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +10079:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +10080:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10081:Round_Up_To_Grid +10082:Round_To_Half_Grid +10083:Round_To_Grid +10084:Round_To_Double_Grid +10085:Round_Super_45 +10086:Round_Super +10087:Round_None +10088:Round_Down_To_Grid +10089:RoundJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +10090:RoundCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +10091:Reset +10092:Read_CVT_Stretched +10093:Read_CVT +10094:RD4_C +10095:Project_y +10096:Project +10097:ProcessRows +10098:PredictorAdd9_C +10099:PredictorAdd8_C +10100:PredictorAdd7_C +10101:PredictorAdd6_C +10102:PredictorAdd5_C +10103:PredictorAdd4_C +10104:PredictorAdd3_C +10105:PredictorAdd2_C +10106:PredictorAdd1_C +10107:PredictorAdd13_C +10108:PredictorAdd12_C +10109:PredictorAdd11_C +10110:PredictorAdd10_C +10111:PredictorAdd0_C +10112:PrePostInverseBlitterProc\28SkBlitter*\2c\20int\2c\20bool\29 +10113:PorterDuffXferProcessor::onHasSecondaryOutput\28\29\20const +10114:PorterDuffXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +10115:PorterDuffXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10116:PorterDuffXferProcessor::name\28\29\20const +10117:PorterDuffXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10118:PorterDuffXferProcessor::makeProgramImpl\28\29\20const +10119:ParseVP8X +10120:PackRGB_C +10121:PDLCDXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +10122:PDLCDXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +10123:PDLCDXferProcessor::name\28\29\20const +10124:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +10125:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10126:PDLCDXferProcessor::makeProgramImpl\28\29\20const +10127:OT::match_glyph\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10128:OT::match_coverage\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10129:OT::match_class_cached\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10130:OT::match_class_cached2\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10131:OT::match_class_cached1\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10132:OT::match_class\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +10133:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GSUB_impl::SubstLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +10134:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GPOS_impl::PosLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +10135:OT::cff1::accelerator_t::gname_t::cmp\28void\20const*\2c\20void\20const*\29 +10136:OT::Layout::Common::RangeRecord::cmp_range\28void\20const*\2c\20void\20const*\29 +10137:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +10138:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +10139:OT::CmapSubtableFormat4::accelerator_t::get_glyph_func\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +10140:Move_CVT_Stretched +10141:Move_CVT +10142:MiterJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +10143:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29.1 +10144:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29 +10145:MaskAdditiveBlitter::getWidth\28\29 +10146:MaskAdditiveBlitter::getRealBlitter\28bool\29 +10147:MaskAdditiveBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10148:MaskAdditiveBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10149:MaskAdditiveBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10150:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +10151:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +10152:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10153:MapAlpha_C +10154:MapARGB_C +10155:MakeRenderTarget\28sk_sp\2c\20int\2c\20int\29 +10156:MakeRenderTarget\28sk_sp\2c\20SimpleImageInfo\29 +10157:MakePathFromVerbsPointsWeights\28unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\2c\20unsigned\20long\2c\20int\29 +10158:MakePathFromSVGString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +10159:MakePathFromOp\28SkPath\20const&\2c\20SkPath\20const&\2c\20SkPathOp\29 +10160:MakePathFromInterpolation\28SkPath\20const&\2c\20SkPath\20const&\2c\20float\29 +10161:MakePathFromCmds\28unsigned\20long\2c\20int\29 +10162:MakeOnScreenGLSurface\28sk_sp\2c\20int\2c\20int\2c\20sk_sp\29 +10163:MakeImageFromGenerator\28SimpleImageInfo\2c\20emscripten::val\29 +10164:MakeGrContext\28\29 +10165:MakeAsWinding\28SkPath\20const&\29 +10166:LD4_C +10167:JpegDecoderMgr::returnFailure\28char\20const*\2c\20SkCodec::Result\29 +10168:JpegDecoderMgr::init\28\29 +10169:JpegDecoderMgr::SourceMgr::SkipInputData\28jpeg_decompress_struct*\2c\20long\29 +10170:JpegDecoderMgr::SourceMgr::InitSource\28jpeg_decompress_struct*\29 +10171:JpegDecoderMgr::SourceMgr::FillInputBuffer\28jpeg_decompress_struct*\29 +10172:JpegDecoderMgr::JpegDecoderMgr\28SkStream*\29 +10173:IsValidSimpleFormat +10174:IsValidExtendedFormat +10175:InverseBlitter::blitH\28int\2c\20int\2c\20int\29 +10176:Init +10177:HorizontalUnfilter_C +10178:HorizontalFilter_C +10179:Horish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +10180:Horish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +10181:HasAlpha8b_C +10182:HasAlpha32b_C +10183:HU4_C +10184:HLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +10185:HLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +10186:HFilter8i_C +10187:HFilter8_C +10188:HFilter16i_C +10189:HFilter16_C +10190:HE8uv_C +10191:HE4_C +10192:HE16_C +10193:HD4_C +10194:GradientUnfilter_C +10195:GradientFilter_C +10196:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10197:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10198:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const +10199:GrYUVtoRGBEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10200:GrYUVtoRGBEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10201:GrYUVtoRGBEffect::name\28\29\20const +10202:GrYUVtoRGBEffect::clone\28\29\20const +10203:GrXferProcessor::ProgramImpl::emitWriteSwizzle\28GrGLSLXPFragmentBuilder*\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20char\20const*\29\20const +10204:GrXferProcessor::ProgramImpl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10205:GrXferProcessor::ProgramImpl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +10206:GrWritePixelsTask::~GrWritePixelsTask\28\29.1 +10207:GrWritePixelsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +10208:GrWritePixelsTask::onExecute\28GrOpFlushState*\29 +10209:GrWritePixelsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +10210:GrWaitRenderTask::~GrWaitRenderTask\28\29.1 +10211:GrWaitRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +10212:GrWaitRenderTask::onExecute\28GrOpFlushState*\29 +10213:GrWaitRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +10214:GrTriangulator::~GrTriangulator\28\29 +10215:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29.1 +10216:GrTransferFromRenderTask::onExecute\28GrOpFlushState*\29 +10217:GrTransferFromRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +10218:GrThreadSafeCache::Trampoline::~Trampoline\28\29.1 +10219:GrThreadSafeCache::Trampoline::~Trampoline\28\29 +10220:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29.1 +10221:GrTextureResolveRenderTask::onExecute\28GrOpFlushState*\29 +10222:GrTextureResolveRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +10223:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +10224:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +10225:GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +10226:GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +10227:GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +10228:GrTextureProxy::~GrTextureProxy\28\29.2 +10229:GrTextureProxy::~GrTextureProxy\28\29.1 +10230:GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +10231:GrTextureProxy::instantiate\28GrResourceProvider*\29 +10232:GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +10233:GrTextureProxy::callbackDesc\28\29\20const +10234:GrTextureEffect::~GrTextureEffect\28\29.1 +10235:GrTextureEffect::~GrTextureEffect\28\29 +10236:GrTextureEffect::onMakeProgramImpl\28\29\20const +10237:GrTextureEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10238:GrTextureEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10239:GrTextureEffect::name\28\29\20const +10240:GrTextureEffect::clone\28\29\20const +10241:GrTextureEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10242:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10243:GrTexture::onGpuMemorySize\28\29\20const +10244:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29.1 +10245:GrTDeferredProxyUploader>::freeData\28\29 +10246:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29.1 +10247:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29 +10248:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::freeData\28\29 +10249:GrSurfaceProxy::getUniqueKey\28\29\20const +10250:GrSurface::~GrSurface\28\29 +10251:GrSurface::getResourceType\28\29\20const +10252:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29.1 +10253:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29 +10254:GrStrokeTessellationShader::name\28\29\20const +10255:GrStrokeTessellationShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10256:GrStrokeTessellationShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10257:GrStrokeTessellationShader::Impl::~Impl\28\29.1 +10258:GrStrokeTessellationShader::Impl::~Impl\28\29 +10259:GrStrokeTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10260:GrStrokeTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10261:GrSkSLFP::~GrSkSLFP\28\29.1 +10262:GrSkSLFP::~GrSkSLFP\28\29 +10263:GrSkSLFP::onMakeProgramImpl\28\29\20const +10264:GrSkSLFP::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10265:GrSkSLFP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10266:GrSkSLFP::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10267:GrSkSLFP::clone\28\29\20const +10268:GrSkSLFP::Impl::~Impl\28\29.1 +10269:GrSkSLFP::Impl::~Impl\28\29 +10270:GrSkSLFP::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10271:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +10272:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10273:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10274:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10275:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::getMangledName\28char\20const*\29 +10276:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +10277:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +10278:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +10279:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareFunction\28char\20const*\29 +10280:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10281:GrSimpleMesh*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29::'lambda'\28char*\29::__invoke\28char*\29 +10282:GrRingBuffer::FinishSubmit\28void*\29 +10283:GrResourceCache::CompareTimestamp\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29 +10284:GrRenderTask::~GrRenderTask\28\29 +10285:GrRenderTask::disown\28GrDrawingManager*\29 +10286:GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +10287:GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +10288:GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +10289:GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +10290:GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +10291:GrRenderTargetProxy::callbackDesc\28\29\20const +10292:GrRecordingContext::~GrRecordingContext\28\29.1 +10293:GrRecordingContext::abandoned\28\29 +10294:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29.1 +10295:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29 +10296:GrRRectShadowGeoProc::onTextureSampler\28int\29\20const +10297:GrRRectShadowGeoProc::name\28\29\20const +10298:GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10299:GrRRectShadowGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10300:GrQuadEffect::name\28\29\20const +10301:GrQuadEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10302:GrQuadEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10303:GrQuadEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10304:GrQuadEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10305:GrPorterDuffXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10306:GrPorterDuffXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10307:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29.1 +10308:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29 +10309:GrPerlinNoise2Effect::onMakeProgramImpl\28\29\20const +10310:GrPerlinNoise2Effect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10311:GrPerlinNoise2Effect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10312:GrPerlinNoise2Effect::name\28\29\20const +10313:GrPerlinNoise2Effect::clone\28\29\20const +10314:GrPerlinNoise2Effect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10315:GrPerlinNoise2Effect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10316:GrPathTessellationShader::Impl::~Impl\28\29 +10317:GrPathTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10318:GrPathTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10319:GrOpsRenderPass::~GrOpsRenderPass\28\29 +10320:GrOpsRenderPass::onExecuteDrawable\28std::__2::unique_ptr>\29 +10321:GrOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +10322:GrOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +10323:GrOpFlushState::~GrOpFlushState\28\29.1 +10324:GrOpFlushState::~GrOpFlushState\28\29 +10325:GrOpFlushState::writeView\28\29\20const +10326:GrOpFlushState::usesMSAASurface\28\29\20const +10327:GrOpFlushState::tokenTracker\28\29 +10328:GrOpFlushState::threadSafeCache\28\29\20const +10329:GrOpFlushState::strikeCache\28\29\20const +10330:GrOpFlushState::smallPathAtlasManager\28\29\20const +10331:GrOpFlushState::sampledProxyArray\28\29 +10332:GrOpFlushState::rtProxy\28\29\20const +10333:GrOpFlushState::resourceProvider\28\29\20const +10334:GrOpFlushState::renderPassBarriers\28\29\20const +10335:GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +10336:GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +10337:GrOpFlushState::putBackIndirectDraws\28int\29 +10338:GrOpFlushState::putBackIndices\28int\29 +10339:GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +10340:GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +10341:GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +10342:GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +10343:GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +10344:GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +10345:GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +10346:GrOpFlushState::dstProxyView\28\29\20const +10347:GrOpFlushState::colorLoadOp\28\29\20const +10348:GrOpFlushState::atlasManager\28\29\20const +10349:GrOpFlushState::appliedClip\28\29\20const +10350:GrOpFlushState::addInlineUpload\28std::__2::function&\29>&&\29 +10351:GrOp::~GrOp\28\29 +10352:GrOnFlushCallbackObject::postFlush\28skgpu::AtlasToken\29 +10353:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10354:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10355:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +10356:GrModulateAtlasCoverageEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10357:GrModulateAtlasCoverageEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10358:GrModulateAtlasCoverageEffect::name\28\29\20const +10359:GrModulateAtlasCoverageEffect::clone\28\29\20const +10360:GrMeshDrawOp::onPrepare\28GrOpFlushState*\29 +10361:GrMeshDrawOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10362:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10363:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10364:GrMatrixEffect::onMakeProgramImpl\28\29\20const +10365:GrMatrixEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10366:GrMatrixEffect::name\28\29\20const +10367:GrMatrixEffect::clone\28\29\20const +10368:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +10369:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +10370:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::$_0::__invoke\28void\20const*\2c\20void*\29 +10371:GrImageContext::~GrImageContext\28\29.1 +10372:GrImageContext::~GrImageContext\28\29 +10373:GrHardClip::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +10374:GrGpuResource::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +10375:GrGpuBuffer::~GrGpuBuffer\28\29 +10376:GrGpuBuffer::unref\28\29\20const +10377:GrGpuBuffer::getResourceType\28\29\20const +10378:GrGpuBuffer::computeScratchKey\28skgpu::ScratchKey*\29\20const +10379:GrGeometryProcessor::onTextureSampler\28int\29\20const +10380:GrGeometryProcessor::ProgramImpl::~ProgramImpl\28\29 +10381:GrGLVaryingHandler::~GrGLVaryingHandler\28\29 +10382:GrGLUniformHandler::~GrGLUniformHandler\28\29.1 +10383:GrGLUniformHandler::~GrGLUniformHandler\28\29 +10384:GrGLUniformHandler::samplerVariable\28GrResourceHandle\29\20const +10385:GrGLUniformHandler::samplerSwizzle\28GrResourceHandle\29\20const +10386:GrGLUniformHandler::internalAddUniformArray\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20bool\2c\20int\2c\20char\20const**\29 +10387:GrGLUniformHandler::getUniformCStr\28GrResourceHandle\29\20const +10388:GrGLUniformHandler::appendUniformDecls\28GrShaderFlags\2c\20SkString*\29\20const +10389:GrGLUniformHandler::addSampler\28GrBackendFormat\20const&\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20GrShaderCaps\20const*\29 +10390:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +10391:GrGLTextureRenderTarget::onSetLabel\28\29 +10392:GrGLTextureRenderTarget::onRelease\28\29 +10393:GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +10394:GrGLTextureRenderTarget::onAbandon\28\29 +10395:GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +10396:GrGLTextureRenderTarget::backendFormat\28\29\20const +10397:GrGLTexture::~GrGLTexture\28\29.1 +10398:GrGLTexture::~GrGLTexture\28\29 +10399:GrGLTexture::textureParamsModified\28\29 +10400:GrGLTexture::onStealBackendTexture\28GrBackendTexture*\2c\20std::__2::function*\29 +10401:GrGLTexture::getBackendTexture\28\29\20const +10402:GrGLSemaphore::~GrGLSemaphore\28\29.1 +10403:GrGLSemaphore::~GrGLSemaphore\28\29 +10404:GrGLSemaphore::setIsOwned\28\29 +10405:GrGLSemaphore::backendSemaphore\28\29\20const +10406:GrGLSLVertexBuilder::~GrGLSLVertexBuilder\28\29 +10407:GrGLSLVertexBuilder::onFinalize\28\29 +10408:GrGLSLUniformHandler::inputSamplerSwizzle\28GrResourceHandle\29\20const +10409:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +10410:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +10411:GrGLSLFragmentShaderBuilder::onFinalize\28\29 +10412:GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +10413:GrGLSLFragmentShaderBuilder::forceHighPrecision\28\29 +10414:GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +10415:GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +10416:GrGLRenderTarget::~GrGLRenderTarget\28\29 +10417:GrGLRenderTarget::onGpuMemorySize\28\29\20const +10418:GrGLRenderTarget::getBackendRenderTarget\28\29\20const +10419:GrGLRenderTarget::completeStencilAttachment\28GrAttachment*\2c\20bool\29 +10420:GrGLRenderTarget::canAttemptStencilAttachment\28bool\29\20const +10421:GrGLRenderTarget::backendFormat\28\29\20const +10422:GrGLRenderTarget::alwaysClearStencil\28\29\20const +10423:GrGLProgramDataManager::~GrGLProgramDataManager\28\29.1 +10424:GrGLProgramDataManager::~GrGLProgramDataManager\28\29 +10425:GrGLProgramDataManager::setMatrix4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +10426:GrGLProgramDataManager::setMatrix4f\28GrResourceHandle\2c\20float\20const*\29\20const +10427:GrGLProgramDataManager::setMatrix3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +10428:GrGLProgramDataManager::setMatrix3f\28GrResourceHandle\2c\20float\20const*\29\20const +10429:GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +10430:GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +10431:GrGLProgramDataManager::set4iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +10432:GrGLProgramDataManager::set4i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\2c\20int\29\20const +10433:GrGLProgramDataManager::set4f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\2c\20float\29\20const +10434:GrGLProgramDataManager::set3iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +10435:GrGLProgramDataManager::set3i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\29\20const +10436:GrGLProgramDataManager::set3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +10437:GrGLProgramDataManager::set3f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\29\20const +10438:GrGLProgramDataManager::set2iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +10439:GrGLProgramDataManager::set2i\28GrResourceHandle\2c\20int\2c\20int\29\20const +10440:GrGLProgramDataManager::set2f\28GrResourceHandle\2c\20float\2c\20float\29\20const +10441:GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +10442:GrGLProgramDataManager::set1i\28GrResourceHandle\2c\20int\29\20const +10443:GrGLProgramDataManager::set1fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +10444:GrGLProgramDataManager::set1f\28GrResourceHandle\2c\20float\29\20const +10445:GrGLProgramBuilder::~GrGLProgramBuilder\28\29.1 +10446:GrGLProgramBuilder::varyingHandler\28\29 +10447:GrGLProgramBuilder::caps\28\29\20const +10448:GrGLProgram::~GrGLProgram\28\29.1 +10449:GrGLOpsRenderPass::~GrGLOpsRenderPass\28\29 +10450:GrGLOpsRenderPass::onSetScissorRect\28SkIRect\20const&\29 +10451:GrGLOpsRenderPass::onEnd\28\29 +10452:GrGLOpsRenderPass::onDraw\28int\2c\20int\29 +10453:GrGLOpsRenderPass::onDrawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +10454:GrGLOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +10455:GrGLOpsRenderPass::onDrawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +10456:GrGLOpsRenderPass::onDrawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +10457:GrGLOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +10458:GrGLOpsRenderPass::onClear\28GrScissorState\20const&\2c\20std::__2::array\29 +10459:GrGLOpsRenderPass::onClearStencilClip\28GrScissorState\20const&\2c\20bool\29 +10460:GrGLOpsRenderPass::onBindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +10461:GrGLOpsRenderPass::onBindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +10462:GrGLOpsRenderPass::onBindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +10463:GrGLOpsRenderPass::onBegin\28\29 +10464:GrGLOpsRenderPass::inlineUpload\28GrOpFlushState*\2c\20std::__2::function&\29>&\29 +10465:GrGLInterface::~GrGLInterface\28\29.1 +10466:GrGLInterface::~GrGLInterface\28\29 +10467:GrGLGpu::~GrGLGpu\28\29.1 +10468:GrGLGpu::xferBarrier\28GrRenderTarget*\2c\20GrXferBarrierType\29 +10469:GrGLGpu::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +10470:GrGLGpu::willExecute\28\29 +10471:GrGLGpu::waitSemaphore\28GrSemaphore*\29 +10472:GrGLGpu::submit\28GrOpsRenderPass*\29 +10473:GrGLGpu::stagingBufferManager\28\29 +10474:GrGLGpu::refPipelineBuilder\28\29 +10475:GrGLGpu::prepareTextureForCrossContextUsage\28GrTexture*\29 +10476:GrGLGpu::precompileShader\28SkData\20const&\2c\20SkData\20const&\29 +10477:GrGLGpu::pipelineBuilder\28\29 +10478:GrGLGpu::onWritePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +10479:GrGLGpu::onWrapRenderableBackendTexture\28GrBackendTexture\20const&\2c\20int\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +10480:GrGLGpu::onWrapCompressedBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +10481:GrGLGpu::onWrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\29 +10482:GrGLGpu::onWrapBackendRenderTarget\28GrBackendRenderTarget\20const&\29 +10483:GrGLGpu::onUpdateCompressedBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20void\20const*\2c\20unsigned\20long\29 +10484:GrGLGpu::onTransferPixelsTo\28GrTexture*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +10485:GrGLGpu::onTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\29 +10486:GrGLGpu::onTransferFromBufferToBuffer\28sk_sp\2c\20unsigned\20long\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +10487:GrGLGpu::onSubmitToGpu\28GrSyncCpu\29 +10488:GrGLGpu::onResolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +10489:GrGLGpu::onResetTextureBindings\28\29 +10490:GrGLGpu::onResetContext\28unsigned\20int\29 +10491:GrGLGpu::onRegenerateMipMapLevels\28GrTexture*\29 +10492:GrGLGpu::onReadPixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20unsigned\20long\29 +10493:GrGLGpu::onGetOpsRenderPass\28GrRenderTarget*\2c\20bool\2c\20GrAttachment*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const&\2c\20GrOpsRenderPass::LoadAndStoreInfo\20const&\2c\20GrOpsRenderPass::StencilLoadAndStoreInfo\20const&\2c\20skia_private::TArray\20const&\2c\20GrXferBarrierFlags\29 +10494:GrGLGpu::onDumpJSON\28SkJSONWriter*\29\20const +10495:GrGLGpu::onCreateTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +10496:GrGLGpu::onCreateCompressedTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20void\20const*\2c\20unsigned\20long\29 +10497:GrGLGpu::onCreateCompressedBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\29 +10498:GrGLGpu::onCreateBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +10499:GrGLGpu::onCreateBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +10500:GrGLGpu::onCopySurface\28GrSurface*\2c\20SkIRect\20const&\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +10501:GrGLGpu::onClearBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20std::__2::array\29 +10502:GrGLGpu::makeStencilAttachment\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\29 +10503:GrGLGpu::makeSemaphore\28bool\29 +10504:GrGLGpu::makeMSAAAttachment\28SkISize\2c\20GrBackendFormat\20const&\2c\20int\2c\20skgpu::Protected\2c\20GrMemoryless\29 +10505:GrGLGpu::insertSemaphore\28GrSemaphore*\29 +10506:GrGLGpu::getPreferredStencilFormat\28GrBackendFormat\20const&\29 +10507:GrGLGpu::finishOutstandingGpuWork\28\29 +10508:GrGLGpu::disconnect\28GrGpu::DisconnectType\29 +10509:GrGLGpu::deleteBackendTexture\28GrBackendTexture\20const&\29 +10510:GrGLGpu::compile\28GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\29 +10511:GrGLGpu::checkFinishProcs\28\29 +10512:GrGLGpu::addFinishedProc\28void\20\28*\29\28void*\29\2c\20void*\29 +10513:GrGLGpu::ProgramCache::~ProgramCache\28\29.1 +10514:GrGLGpu::ProgramCache::~ProgramCache\28\29 +10515:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20unsigned\20int\2c\20float\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29 +10516:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29 +10517:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29 +10518:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\29\29::'lambda'\28void\20const*\2c\20float\29::__invoke\28void\20const*\2c\20float\29 +10519:GrGLFunction::GrGLFunction\28void\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +10520:GrGLFunction::GrGLFunction\28void\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +10521:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +10522:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +10523:GrGLCaps::~GrGLCaps\28\29.1 +10524:GrGLCaps::surfaceSupportsReadPixels\28GrSurface\20const*\29\20const +10525:GrGLCaps::supportedWritePixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +10526:GrGLCaps::onSurfaceSupportsWritePixels\28GrSurface\20const*\29\20const +10527:GrGLCaps::onSupportsDynamicMSAA\28GrRenderTargetProxy\20const*\29\20const +10528:GrGLCaps::onSupportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +10529:GrGLCaps::onIsWindowRectanglesSupportedForRT\28GrBackendRenderTarget\20const&\29\20const +10530:GrGLCaps::onGetReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +10531:GrGLCaps::onGetDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\29\20const +10532:GrGLCaps::onGetDefaultBackendFormat\28GrColorType\29\20const +10533:GrGLCaps::onDumpJSON\28SkJSONWriter*\29\20const +10534:GrGLCaps::onCanCopySurface\28GrSurfaceProxy\20const*\2c\20SkIRect\20const&\2c\20GrSurfaceProxy\20const*\2c\20SkIRect\20const&\29\20const +10535:GrGLCaps::onAreColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +10536:GrGLCaps::onApplyOptionsOverrides\28GrContextOptions\20const&\29 +10537:GrGLCaps::maxRenderTargetSampleCount\28GrBackendFormat\20const&\29\20const +10538:GrGLCaps::makeDesc\28GrRenderTarget*\2c\20GrProgramInfo\20const&\2c\20GrCaps::ProgramDescOverrideFlags\29\20const +10539:GrGLCaps::isFormatTexturable\28GrBackendFormat\20const&\2c\20GrTextureType\29\20const +10540:GrGLCaps::isFormatSRGB\28GrBackendFormat\20const&\29\20const +10541:GrGLCaps::isFormatRenderable\28GrBackendFormat\20const&\2c\20int\29\20const +10542:GrGLCaps::isFormatCopyable\28GrBackendFormat\20const&\29\20const +10543:GrGLCaps::isFormatAsColorTypeRenderable\28GrColorType\2c\20GrBackendFormat\20const&\2c\20int\29\20const +10544:GrGLCaps::getWriteSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +10545:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrBackendFormat\20const&\29\20const +10546:GrGLCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +10547:GrGLCaps::getBackendFormatFromCompressionType\28SkTextureCompressionType\29\20const +10548:GrGLCaps::computeFormatKey\28GrBackendFormat\20const&\29\20const +10549:GrGLBuffer::~GrGLBuffer\28\29.1 +10550:GrGLBuffer::~GrGLBuffer\28\29 +10551:GrGLBuffer::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +10552:GrGLBuffer::onUpdateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +10553:GrGLBuffer::onUnmap\28GrGpuBuffer::MapType\29 +10554:GrGLBuffer::onSetLabel\28\29 +10555:GrGLBuffer::onRelease\28\29 +10556:GrGLBuffer::onMap\28GrGpuBuffer::MapType\29 +10557:GrGLBuffer::onClearToZero\28\29 +10558:GrGLBuffer::onAbandon\28\29 +10559:GrGLBackendTextureData::~GrGLBackendTextureData\28\29.1 +10560:GrGLBackendTextureData::~GrGLBackendTextureData\28\29 +10561:GrGLBackendTextureData::isSameTexture\28GrBackendTextureData\20const*\29\20const +10562:GrGLBackendTextureData::isProtected\28\29\20const +10563:GrGLBackendTextureData::getBackendFormat\28\29\20const +10564:GrGLBackendTextureData::equal\28GrBackendTextureData\20const*\29\20const +10565:GrGLBackendTextureData::copyTo\28SkAnySubclass&\29\20const +10566:GrGLBackendRenderTargetData::isProtected\28\29\20const +10567:GrGLBackendRenderTargetData::getBackendFormat\28\29\20const +10568:GrGLBackendRenderTargetData::equal\28GrBackendRenderTargetData\20const*\29\20const +10569:GrGLBackendRenderTargetData::copyTo\28SkAnySubclass&\29\20const +10570:GrGLBackendFormatData::toString\28\29\20const +10571:GrGLBackendFormatData::stencilBits\28\29\20const +10572:GrGLBackendFormatData::equal\28GrBackendFormatData\20const*\29\20const +10573:GrGLBackendFormatData::desc\28\29\20const +10574:GrGLBackendFormatData::copyTo\28SkAnySubclass&\29\20const +10575:GrGLBackendFormatData::compressionType\28\29\20const +10576:GrGLBackendFormatData::channelMask\28\29\20const +10577:GrGLBackendFormatData::bytesPerBlock\28\29\20const +10578:GrGLAttachment::~GrGLAttachment\28\29 +10579:GrGLAttachment::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +10580:GrGLAttachment::onSetLabel\28\29 +10581:GrGLAttachment::onRelease\28\29 +10582:GrGLAttachment::onAbandon\28\29 +10583:GrGLAttachment::backendFormat\28\29\20const +10584:GrFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10585:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10586:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +10587:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10588:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10589:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::name\28\29\20const +10590:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10591:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::clone\28\29\20const +10592:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10593:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const +10594:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::name\28\29\20const +10595:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::clone\28\29\20const +10596:GrFragmentProcessor::ProgramImpl::~ProgramImpl\28\29 +10597:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10598:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const +10599:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::name\28\29\20const +10600:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::clone\28\29\20const +10601:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10602:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const +10603:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::name\28\29\20const +10604:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10605:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::clone\28\29\20const +10606:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10607:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const +10608:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::name\28\29\20const +10609:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10610:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +10611:GrFixedClip::~GrFixedClip\28\29.1 +10612:GrFixedClip::~GrFixedClip\28\29 +10613:GrExternalTextureGenerator::onGenerateTexture\28GrRecordingContext*\2c\20SkImageInfo\20const&\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +10614:GrEagerDynamicVertexAllocator::lock\28unsigned\20long\2c\20int\29 +10615:GrDynamicAtlas::~GrDynamicAtlas\28\29.1 +10616:GrDynamicAtlas::~GrDynamicAtlas\28\29 +10617:GrDrawOp::usesStencil\28\29\20const +10618:GrDrawOp::usesMSAA\28\29\20const +10619:GrDrawOp::fixedFunctionFlags\28\29\20const +10620:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29.1 +10621:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29 +10622:GrDistanceFieldPathGeoProc::onTextureSampler\28int\29\20const +10623:GrDistanceFieldPathGeoProc::name\28\29\20const +10624:GrDistanceFieldPathGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10625:GrDistanceFieldPathGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10626:GrDistanceFieldPathGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10627:GrDistanceFieldPathGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10628:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29.1 +10629:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29 +10630:GrDistanceFieldLCDTextGeoProc::name\28\29\20const +10631:GrDistanceFieldLCDTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10632:GrDistanceFieldLCDTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10633:GrDistanceFieldLCDTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10634:GrDistanceFieldLCDTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10635:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +10636:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +10637:GrDistanceFieldA8TextGeoProc::name\28\29\20const +10638:GrDistanceFieldA8TextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10639:GrDistanceFieldA8TextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10640:GrDistanceFieldA8TextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10641:GrDistanceFieldA8TextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10642:GrDisableColorXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10643:GrDisableColorXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10644:GrDirectContext::~GrDirectContext\28\29.1 +10645:GrDirectContext::releaseResourcesAndAbandonContext\28\29 +10646:GrDirectContext::init\28\29 +10647:GrDirectContext::abandoned\28\29 +10648:GrDirectContext::abandonContext\28\29 +10649:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29.1 +10650:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29 +10651:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29.1 +10652:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29 +10653:GrCpuVertexAllocator::unlock\28int\29 +10654:GrCpuVertexAllocator::lock\28unsigned\20long\2c\20int\29 +10655:GrCpuBuffer::unref\28\29\20const +10656:GrCoverageSetOpXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10657:GrCoverageSetOpXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10658:GrCopyRenderTask::~GrCopyRenderTask\28\29.1 +10659:GrCopyRenderTask::onMakeSkippable\28\29 +10660:GrCopyRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +10661:GrCopyRenderTask::onExecute\28GrOpFlushState*\29 +10662:GrCopyRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +10663:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10664:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10665:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const +10666:GrConvexPolyEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10667:GrConvexPolyEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10668:GrConvexPolyEffect::name\28\29\20const +10669:GrConvexPolyEffect::clone\28\29\20const +10670:GrContext_Base::~GrContext_Base\28\29.1 +10671:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29.1 +10672:GrContextThreadSafeProxy::isValidCharacterizationForVulkan\28sk_sp\2c\20bool\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20bool\2c\20bool\29 +10673:GrConicEffect::name\28\29\20const +10674:GrConicEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10675:GrConicEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10676:GrConicEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10677:GrConicEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10678:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +10679:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +10680:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10681:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10682:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const +10683:GrColorSpaceXformEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10684:GrColorSpaceXformEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10685:GrColorSpaceXformEffect::name\28\29\20const +10686:GrColorSpaceXformEffect::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10687:GrColorSpaceXformEffect::clone\28\29\20const +10688:GrCaps::~GrCaps\28\29 +10689:GrCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +10690:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29.1 +10691:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29 +10692:GrBitmapTextGeoProc::onTextureSampler\28int\29\20const +10693:GrBitmapTextGeoProc::name\28\29\20const +10694:GrBitmapTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10695:GrBitmapTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10696:GrBitmapTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10697:GrBitmapTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10698:GrBicubicEffect::onMakeProgramImpl\28\29\20const +10699:GrBicubicEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10700:GrBicubicEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10701:GrBicubicEffect::name\28\29\20const +10702:GrBicubicEffect::clone\28\29\20const +10703:GrBicubicEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10704:GrBicubicEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10705:GrAttachment::onGpuMemorySize\28\29\20const +10706:GrAttachment::getResourceType\28\29\20const +10707:GrAttachment::computeScratchKey\28skgpu::ScratchKey*\29\20const +10708:GrAtlasManager::~GrAtlasManager\28\29.1 +10709:GrAtlasManager::preFlush\28GrOnFlushResourceProvider*\29 +10710:GrAtlasManager::postFlush\28skgpu::AtlasToken\29 +10711:GrAATriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +10712:GetRectsForRange\28skia::textlayout::Paragraph&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +10713:GetRectsForPlaceholders\28skia::textlayout::Paragraph&\29 +10714:GetLineMetrics\28skia::textlayout::Paragraph&\29 +10715:GetLineMetricsAt\28skia::textlayout::Paragraph&\2c\20unsigned\20long\29 +10716:GetGlyphInfoAt\28skia::textlayout::Paragraph&\2c\20unsigned\20long\29 +10717:GetCoeffsFast +10718:GetCoeffsAlt +10719:GetClosestGlyphInfoAtCoordinate\28skia::textlayout::Paragraph&\2c\20float\2c\20float\29 +10720:FontMgrRunIterator::~FontMgrRunIterator\28\29.1 +10721:FontMgrRunIterator::~FontMgrRunIterator\28\29 +10722:FontMgrRunIterator::currentFont\28\29\20const +10723:FontMgrRunIterator::consume\28\29 +10724:ExtractGreen_C +10725:ExtractAlpha_C +10726:ExtractAlphaRows +10727:ExternalWebGLTexture::~ExternalWebGLTexture\28\29.1 +10728:ExternalWebGLTexture::~ExternalWebGLTexture\28\29 +10729:ExternalWebGLTexture::getBackendTexture\28\29 +10730:ExternalWebGLTexture::dispose\28\29 +10731:ExportAlphaRGBA4444 +10732:ExportAlpha +10733:Equals\28SkPath\20const&\2c\20SkPath\20const&\29 +10734:End +10735:EmitYUV +10736:EmitSampledRGB +10737:EmitRescaledYUV +10738:EmitRescaledRGB +10739:EmitRescaledAlphaYUV +10740:EmitRescaledAlphaRGB +10741:EmitFancyRGB +10742:EmitAlphaYUV +10743:EmitAlphaRGBA4444 +10744:EmitAlphaRGB +10745:EllipticalRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10746:EllipticalRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10747:EllipticalRRectOp::name\28\29\20const +10748:EllipticalRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10749:EllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10750:EllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10751:EllipseOp::name\28\29\20const +10752:EllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10753:EllipseGeometryProcessor::name\28\29\20const +10754:EllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10755:EllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10756:EllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10757:Dual_Project +10758:DitherCombine8x8_C +10759:DispatchAlpha_C +10760:DispatchAlphaToGreen_C +10761:DisableColorXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +10762:DisableColorXP::name\28\29\20const +10763:DisableColorXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10764:DisableColorXP::makeProgramImpl\28\29\20const +10765:Direct_Move_Y +10766:Direct_Move_X +10767:Direct_Move_Orig_Y +10768:Direct_Move_Orig_X +10769:Direct_Move_Orig +10770:Direct_Move +10771:DefaultGeoProc::name\28\29\20const +10772:DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10773:DefaultGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10774:DefaultGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10775:DefaultGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10776:DataFontLoader::loadSystemFonts\28SkFontScanner\20const*\2c\20skia_private::TArray\2c\20true>*\29\20const +10777:DIEllipseOp::~DIEllipseOp\28\29.1 +10778:DIEllipseOp::~DIEllipseOp\28\29 +10779:DIEllipseOp::visitProxies\28std::__2::function\20const&\29\20const +10780:DIEllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10781:DIEllipseOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10782:DIEllipseOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10783:DIEllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10784:DIEllipseOp::name\28\29\20const +10785:DIEllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10786:DIEllipseGeometryProcessor::name\28\29\20const +10787:DIEllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10788:DIEllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10789:DIEllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10790:DC8uv_C +10791:DC8uvNoTop_C +10792:DC8uvNoTopLeft_C +10793:DC8uvNoLeft_C +10794:DC4_C +10795:DC16_C +10796:DC16NoTop_C +10797:DC16NoTopLeft_C +10798:DC16NoLeft_C +10799:CustomXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10800:CustomXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +10801:CustomXP::xferBarrierType\28GrCaps\20const&\29\20const +10802:CustomXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +10803:CustomXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10804:CustomXP::name\28\29\20const +10805:CustomXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10806:CustomXP::makeProgramImpl\28\29\20const +10807:CustomTeardown +10808:CustomSetup +10809:CustomPut +10810:Current_Ppem_Stretched +10811:Current_Ppem +10812:Cr_z_zcfree +10813:Cr_z_zcalloc +10814:CoverageSetOpXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +10815:CoverageSetOpXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10816:CoverageSetOpXP::name\28\29\20const +10817:CoverageSetOpXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +10818:CoverageSetOpXP::makeProgramImpl\28\29\20const +10819:CopyPath\28SkPath\20const&\29 +10820:ConvertRGB24ToY_C +10821:ConvertBGR24ToY_C +10822:ConvertARGBToY_C +10823:ColorTableEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10824:ColorTableEffect::onMakeProgramImpl\28\29\20const +10825:ColorTableEffect::name\28\29\20const +10826:ColorTableEffect::clone\28\29\20const +10827:CircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +10828:CircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10829:CircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10830:CircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10831:CircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10832:CircularRRectOp::name\28\29\20const +10833:CircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10834:CircleOp::~CircleOp\28\29.1 +10835:CircleOp::~CircleOp\28\29 +10836:CircleOp::visitProxies\28std::__2::function\20const&\29\20const +10837:CircleOp::programInfo\28\29 +10838:CircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10839:CircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10840:CircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10841:CircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10842:CircleOp::name\28\29\20const +10843:CircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10844:CircleGeometryProcessor::name\28\29\20const +10845:CircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10846:CircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10847:CircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10848:CanInterpolate\28SkPath\20const&\2c\20SkPath\20const&\29 +10849:ButtCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +10850:ButtCapDashedCircleOp::visitProxies\28std::__2::function\20const&\29\20const +10851:ButtCapDashedCircleOp::programInfo\28\29 +10852:ButtCapDashedCircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10853:ButtCapDashedCircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10854:ButtCapDashedCircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10855:ButtCapDashedCircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10856:ButtCapDashedCircleOp::name\28\29\20const +10857:ButtCapDashedCircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10858:ButtCapDashedCircleGeometryProcessor::name\28\29\20const +10859:ButtCapDashedCircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10860:ButtCapDashedCircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10861:ButtCapDashedCircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10862:BluntJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +10863:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10864:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10865:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +10866:BlendFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +10867:BlendFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10868:BlendFragmentProcessor::name\28\29\20const +10869:BlendFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +10870:BlendFragmentProcessor::clone\28\29\20const +10871:AutoCleanPng::infoCallback\28unsigned\20long\29 +10872:AutoCleanPng::decodeBounds\28\29 +10873:ApplyTrim\28SkPath&\2c\20float\2c\20float\2c\20bool\29 +10874:ApplyTransform\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10875:ApplyStroke\28SkPath&\2c\20StrokeOpts\29 +10876:ApplySimplify\28SkPath&\29 +10877:ApplyRewind\28SkPath&\29 +10878:ApplyReset\28SkPath&\29 +10879:ApplyRQuadTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29 +10880:ApplyRMoveTo\28SkPath&\2c\20float\2c\20float\29 +10881:ApplyRLineTo\28SkPath&\2c\20float\2c\20float\29 +10882:ApplyRCubicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10883:ApplyRConicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10884:ApplyRArcToArcSize\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +10885:ApplyQuadTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\29 +10886:ApplyPathOp\28SkPath&\2c\20SkPath\20const&\2c\20SkPathOp\29 +10887:ApplyMoveTo\28SkPath&\2c\20float\2c\20float\29 +10888:ApplyLineTo\28SkPath&\2c\20float\2c\20float\29 +10889:ApplyDash\28SkPath&\2c\20float\2c\20float\2c\20float\29 +10890:ApplyCubicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10891:ApplyConicTo\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10892:ApplyClose\28SkPath&\29 +10893:ApplyArcToTangent\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +10894:ApplyArcToArcSize\28SkPath&\2c\20float\2c\20float\2c\20float\2c\20bool\2c\20bool\2c\20float\2c\20float\29 +10895:ApplyAlphaMultiply_C +10896:ApplyAlphaMultiply_16b_C +10897:ApplyAddPath\28SkPath&\2c\20SkPath\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +10898:AlphaReplace_C +10899:$_3::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +10900:$_2::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 +10901:$_1::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +10902:$_0::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 diff --git a/canvaskit/chromium/canvaskit.wasm b/canvaskit/chromium/canvaskit.wasm new file mode 100644 index 0000000..6be909f Binary files /dev/null and b/canvaskit/chromium/canvaskit.wasm differ diff --git a/canvaskit/skwasm.js b/canvaskit/skwasm.js new file mode 100644 index 0000000..dafd654 --- /dev/null +++ b/canvaskit/skwasm.js @@ -0,0 +1,169 @@ + +var skwasm = (() => { + var _scriptDir = import.meta.url; + + return ( +async function(moduleArg = {}) { + +function aa(){d.buffer!=h.buffer&&l();return h}function p(){d.buffer!=h.buffer&&l();return ba}function q(){d.buffer!=h.buffer&&l();return da}function t(){d.buffer!=h.buffer&&l();return ea}function v(){d.buffer!=h.buffer&&l();return fa}function ha(){d.buffer!=h.buffer&&l();return ia}var w=moduleArg,ja,ka;w.ready=new Promise((a,b)=>{ja=a;ka=b}); +var la=Object.assign({},w),ma="./this.program",na=(a,b)=>{throw b;},oa="object"==typeof window,pa="function"==typeof importScripts,x="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,A=w.ENVIRONMENT_IS_PTHREAD||!1,C="";function qa(a){return w.locateFile?w.locateFile(a,C):C+a}var ra,sa,ta; +if(x){const {createRequire:a}=await import("module");var require=a(import.meta.url),fs=require("fs"),ua=require("path");pa?C=ua.dirname(C)+"/":C=require("url").fileURLToPath(new URL("./",import.meta.url));ra=(c,e)=>{c=c.startsWith("file://")?new URL(c):ua.normalize(c);return fs.readFileSync(c,e?void 0:"utf8")};ta=c=>{c=ra(c,!0);c.buffer||(c=new Uint8Array(c));return c};sa=(c,e,f,g=!0)=>{c=c.startsWith("file://")?new URL(c):ua.normalize(c);fs.readFile(c,g?void 0:"utf8", +(k,n)=>{k?f(k):e(g?n.buffer:n)})};!w.thisProgram&&1{process.exitCode=c;throw e;};w.inspect=()=>"[Emscripten Module object]";let b;try{b=require("worker_threads")}catch(c){throw console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?'),c;}global.Worker=b.Worker}else if(oa||pa)pa?C=self.location.href:"undefined"!=typeof document&&document.currentScript&& +(C=document.currentScript.src),_scriptDir&&(C=_scriptDir),0!==C.indexOf("blob:")?C=C.substr(0,C.replace(/[?#].*/,"").lastIndexOf("/")+1):C="",x||(ra=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},pa&&(ta=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),sa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response? +b(e.response):c()};e.onerror=c;e.send(null)});x&&"undefined"==typeof performance&&(global.performance=require("perf_hooks").performance);var va=console.log.bind(console),wa=console.error.bind(console);x&&(va=(...a)=>fs.writeSync(1,a.join(" ")+"\n"),wa=(...a)=>fs.writeSync(2,a.join(" ")+"\n"));var xa=w.print||va,D=w.printErr||wa;Object.assign(w,la);la=null;w.thisProgram&&(ma=w.thisProgram);w.quit&&(na=w.quit);var ya;w.wasmBinary&&(ya=w.wasmBinary);var noExitRuntime=w.noExitRuntime||!0; +"object"!=typeof WebAssembly&&za("no native wasm support detected");var d,F,Aa,Ba=!1,Ca,h,ba,Da,Ea,da,ea,fa,ia;function l(){var a=d.buffer;w.HEAP8=h=new Int8Array(a);w.HEAP16=Da=new Int16Array(a);w.HEAP32=da=new Int32Array(a);w.HEAPU8=ba=new Uint8Array(a);w.HEAPU16=Ea=new Uint16Array(a);w.HEAPU32=ea=new Uint32Array(a);w.HEAPF32=fa=new Float32Array(a);w.HEAPF64=ia=new Float64Array(a)}var Fa=w.INITIAL_MEMORY||16777216;65536<=Fa||za("INITIAL_MEMORY should be larger than STACK_SIZE, was "+Fa+"! (STACK_SIZE=65536)"); +if(A)d=w.wasmMemory;else if(w.wasmMemory)d=w.wasmMemory;else if(d=new WebAssembly.Memory({initial:Fa/65536,maximum:32768,shared:!0}),!(d.buffer instanceof SharedArrayBuffer))throw D("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),x&&D("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"), +Error("bad memory");l();Fa=d.buffer.byteLength;var G,Ga=[],Ha=[],Ia=[],Ja=0;function Ka(){return noExitRuntime||0{if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(()=>Qa(a));if(sa)return new Promise((b,c)=>{sa(a,e=>b(new Uint8Array(e)),c)})}return Promise.resolve().then(()=>Qa(a))}function Sa(a,b,c){return Ra(a).then(e=>WebAssembly.instantiate(e,b)).then(e=>e).then(c,e=>{D("failed to asynchronously prepare wasm: "+e);za(e)})} +function Ta(a,b){var c=I;return ya||"function"!=typeof WebAssembly.instantiateStreaming||Pa(c)||c.startsWith("file://")||x||"function"!=typeof fetch?Sa(c,a,b):fetch(c,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,a).then(b,function(f){D("wasm streaming compile failed: "+f);D("falling back to ArrayBuffer instantiation");return Sa(c,a,b)}))}function Ua(a){this.name="ExitStatus";this.message=`Program terminated with exit(${a})`;this.status=a} +function Va(a){a.terminate();a.onmessage=()=>{}}function Wa(a){(a=J.g[a])||za();J.Aa(a)}function Xa(a){var b=J.ma();if(!b)return 6;J.B.push(b);J.g[a.o]=b;b.o=a.o;var c={cmd:"run",start_routine:a.Ba,arg:a.ka,pthread_ptr:a.o};c.H=a.H;c.T=a.T;x&&b.unref();b.postMessage(c,a.Ha);return 0} +var Ya="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,Za=(a,b,c)=>{var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}, +K=(a,b)=>a?Za(p(),a,b):"";function $a(a){if(A)return L(1,1,a);Ca=a;if(!Ka()){J.Ca();if(w.onExit)w.onExit(a);Ba=!0}na(a,new Ua(a))} +var bb=a=>{Ca=a;if(A)throw ab(a),"unwind";$a(a)},J={u:[],B:[],ha:[],g:{},S:function(){A?J.ra():J.qa()},qa:function(){for(var a=1;a--;)J.X();Ga.unshift(()=>{Na();J.ta(()=>Oa())})},ra:function(){J.receiveObjectTransfer=J.za;J.threadInitTLS=J.ga;J.setExitStatus=J.fa;noExitRuntime=!1},fa:function(a){Ca=a},Oa:["$terminateWorker"],Ca:function(){for(var a of J.B)Va(a);for(a of J.u)Va(a);J.u=[];J.B=[];J.g=[]},Aa:function(a){var b=a.o;delete J.g[b];J.u.push(a);J.B.splice(J.B.indexOf(a),1);a.o=0;cb(b)},za:function(a){"undefined"!= +typeof db&&(Object.assign(M,a.T),!w.canvas&&a.H&&M[a.H]&&(w.canvas=M[a.H].I,w.canvas.id=a.H))},ga:function(){J.ha.forEach(a=>a())},ba:a=>new Promise(b=>{a.onmessage=g=>{g=g.data;var k=g.cmd;if(g.targetThread&&g.targetThread!=eb()){var n=J.g[g.Na];n?n.postMessage(g,g.transferList):D('Internal error! Worker sent a message "'+k+'" to target pthread '+g.targetThread+", but that thread no longer exists!")}else if("checkMailbox"===k)fb();else if("spawnThread"===k)Xa(g);else if("cleanupThread"===k)Wa(g.thread); +else if("killThread"===k)g=g.thread,k=J.g[g],delete J.g[g],Va(k),cb(g),J.B.splice(J.B.indexOf(k),1),k.o=0;else if("cancelThread"===k)J.g[g.thread].postMessage({cmd:"cancel"});else if("loaded"===k)a.loaded=!0,x&&!a.o&&a.unref(),b(a);else if("alert"===k)alert("Thread "+g.threadId+": "+g.text);else if("setimmediate"===g.target)a.postMessage(g);else if("callHandler"===k)w[g.handler](...g.args);else k&&D("worker sent an unknown command "+k)};a.onerror=g=>{D("worker sent an error! "+g.filename+":"+g.lineno+ +": "+g.message);throw g;};x&&(a.on("message",function(g){a.onmessage({data:g})}),a.on("error",function(g){a.onerror(g)}));var c=[],e=["onExit","onAbort","print","printErr"],f;for(f of e)w.hasOwnProperty(f)&&c.push(f);a.postMessage({cmd:"load",handlers:c,urlOrBlob:w.mainScriptUrlOrBlob,wasmMemory:d,wasmModule:Aa})}),ta:function(a){if(A)return a();Promise.all(J.u.map(J.ba)).then(a)},X:function(){if(w.locateFile){var a=qa("skwasm.worker.js");a=new Worker(a)}else a=new Worker(new URL("skwasm.worker.js", +import.meta.url));J.u.push(a)},ma:function(){0==J.u.length&&(J.X(),J.ba(J.u[0]));return J.u.pop()}};w.PThread=J;var gb=a=>{for(;0>2];a=q()[a+56>>2];hb(b,b-a);N(b)};function ab(a){if(A)return L(2,0,a);bb(a)}w.invokeEntryPoint=function(a,b){a=G.get(a)(b);Ka()?J.fa(a):ib(a)}; +function jb(a){this.G=a-24;this.ua=function(b){t()[this.G+4>>2]=b};this.sa=function(b){t()[this.G+8>>2]=b};this.S=function(b,c){this.na();this.ua(b);this.sa(c)};this.na=function(){t()[this.G+16>>2]=0}}var kb=0,lb=0;function mb(a,b,c,e){return A?L(3,1,a,b,c,e):nb(a,b,c,e)} +function nb(a,b,c,e){if("undefined"==typeof SharedArrayBuffer)return D("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var f=[],g=0,k=b?t()[b+40>>2]:0;4294967295==k?k="#canvas":k&&(k=K(k).trim());k&&(k=k.split(","));var n={},r=w.canvas?w.canvas.id:"",u;for(u in k){var y=k[u].trim();try{if("#canvas"==y){if(!w.canvas){D('pthread_create: could not find canvas with ID "'+y+'" to transfer to thread!');g=28;break}y=w.canvas.id}if(M[y]){var V=M[y];M[y]=null;w.canvas instanceof +OffscreenCanvas&&y===w.canvas.id&&(w.canvas=null)}else if(!A){var E=w.canvas&&w.canvas.id===y?w.canvas:document.querySelector(y);if(!E){D('pthread_create: could not find canvas with ID "'+y+'" to transfer to thread!');g=28;break}if(E.Y){D('pthread_create: cannot transfer canvas with ID "'+y+'" to thread, since the current thread does not have control over it!');g=63;break}if(E.transferControlToOffscreen)E.h||(E.h=ob(12),q()[E.h>>2]=E.width,q()[E.h+4>>2]=E.height,q()[E.h+8>>2]=0),V={I:E.transferControlToOffscreen(), +h:E.h,id:E.id},E.Y=!0;else return D('pthread_create: cannot transfer control of canvas "'+y+'" to pthread, because current browser does not support OffscreenCanvas!'),D("pthread_create: Build with -sOFFSCREEN_FRAMEBUFFER to enable fallback proxying of GL commands from pthread to main thread."),52}V&&(f.push(V.I),n[V.id]=V)}catch(m){return D('pthread_create: failed to transfer control of canvas "'+y+'" to OffscreenCanvas! Error: '+m),28}}if(A&&(0===f.length||g))return mb(a,b,c,e);if(g)return g;for(E of Object.values(n))q()[E.h+ +8>>2]=a;a={Ba:c,o:a,ka:e,H:r,T:n,Ha:f};return A?(a.Ja="spawnThread",postMessage(a,f),0):Xa(a)}function pb(a,b,c){return A?L(4,1,a,b,c):0}function qb(a,b){if(A)return L(5,1,a,b)}function rb(a,b,c){return A?L(6,1,a,b,c):0}function sb(a,b,c,e){if(A)return L(7,1,a,b,c,e)}var tb=a=>{if(!Ba)try{if(a(),!Ka())try{A?ib(Ca):bb(Ca)}catch(b){b instanceof Ua||"unwind"==b||na(1,b)}}catch(b){b instanceof Ua||"unwind"==b||na(1,b)}}; +function ub(a){"function"===typeof Atomics.Ia&&(Atomics.Ia(q(),a>>2,a).value.then(fb),a+=128,Atomics.store(q(),a>>2,1))}w.__emscripten_thread_mailbox_await=ub;function fb(){var a=eb();a&&(ub(a),tb(()=>vb()))}w.checkMailbox=fb; +var wb=a=>{var b=O();a=a();N(b);return a},xb=a=>{for(var b=0,c=0;c=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b},yb=(a,b,c,e)=>{if(!(0=k){var n=a.charCodeAt(++g);k=65536+((k&1023)<<10)|n&1023}if(127>=k){if(c>=e)break;b[c++]=k}else{if(2047>=k){if(c+1>=e)break;b[c++]=192|k>>6}else{if(65535>=k){if(c+2>=e)break;b[c++]=224|k>>12}else{if(c+3>=e)break; +b[c++]=240|k>>18;b[c++]=128|k>>12&63}b[c++]=128|k>>6&63}b[c++]=128|k&63}}b[c]=0;return c-f},zb=a=>{var b=xb(a)+1,c=ob(b);c&&yb(a,p(),c,b);return c};function Ab(a,b,c,e){b=b?K(b):"";wb(function(){var f=Bb(12),g=0;b&&(g=zb(b));q()[f>>2]=g;q()[f+4>>2]=c;q()[f+8>>2]=e;Cb(a,654311424,0,g,f)})} +function Db(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,e){b.vertexAttribDivisorANGLE(c,e)},a.drawArraysInstanced=function(c,e,f,g){b.drawArraysInstancedANGLE(c,e,f,g)},a.drawElementsInstanced=function(c,e,f,g,k){b.drawElementsInstancedANGLE(c,e,f,g,k)})} +function Eb(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Fb(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,e){b.drawBuffersWEBGL(c,e)})} +function Gb(a){a.Z=a.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")}function Hb(a){a.ea=a.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")}function Ib(a){a.Ma=a.getExtension("WEBGL_multi_draw")}var Jb=1,Kb=[],P=[],Lb=[],Mb=[],Q=[],R=[],Nb=[],Ob={},M={},Pb=[],Qb=[],Rb={},Sb={},Tb=4;function S(a){Ub||(Ub=a)}function Vb(a){for(var b=Jb++,c=a.length;c>2]=eb();var e={handle:c,attributes:b,version:b.da,v:a};a.canvas&&(a.canvas.K=e);Ob[c]=e;("undefined"==typeof b.aa||b.aa)&&Yb(e);return c} +function Yb(a){a||(a=T);if(!a.pa){a.pa=!0;var b=a.v;Db(b);Eb(b);Fb(b);Gb(b);Hb(b);2<=a.version&&(b.$=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.$)b.$=b.getExtension("EXT_disjoint_timer_query");Ib(b);(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}var db={},Ub,T; +function Zb(a){a=2>2]=b,q()[e.h+4>>2]=c);if(e.I||!e.Y)e.I&&(e=e.I),a=!1,e.K&&e.K.v&&(a=e.K.v.getParameter(2978),a=0===a[0]&&0===a[1]&&a[2]===e.width&&a[3]===e.height),e.width=b,e.height=c,a&&e.K.v.viewport(0,0,b,c);else return e.h?(e=q()[e.h+8>>2],Ab(e,a,b,c),1):-4;return 0} +function ac(a,b,c){return A?L(8,1,a,b,c):$b(a,b,c)}function bc(a,b,c,e,f,g,k,n){return A?L(9,1,a,b,c,e,f,g,k,n):-52}function cc(a,b,c,e,f,g,k){if(A)return L(10,1,a,b,c,e,f,g,k)}function dc(a,b){U.bindFramebuffer(a,Lb[b])}function ec(a){U.clear(a)}function fc(a,b,c,e){U.clearColor(a,b,c,e)}function gc(a){U.clearStencil(a)} +function hc(a,b,c){if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&S(1280);return;case 34814:case 36345:e=0;break;case 34466:var f=U.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>T.version){S(1282);return}e=2*(U.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>T.version){S(1280);return}e=33307==a?3:0}if(void 0===e)switch(f=U.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":S(1280);return;case "object":if(null=== +f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=0;break;default:S(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a>2]=f[a];break;case 2:v()[b+4*a>>2]=f[a];break;case 4:aa()[b+a>>0]=f[a]?1:0}return}try{e=f.name| +0}catch(g){S(1280);D("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+g+")");return}}break;default:S(1280);D("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=e;t()[b>>2]=c;t()[b+4>>2]=(c-t()[b>>2])/4294967296;break;case 0:q()[b>>2]=e;break;case 2:v()[b>>2]=e;break;case 4:aa()[b>>0]=e?1:0}}else S(1281)}function ic(a,b){hc(a,b,0)} +function jc(a){a-=5120;0==a?a=aa():1==a?a=p():2==a?(d.buffer!=h.buffer&&l(),a=Da):4==a?a=q():6==a?a=v():5==a||28922==a||28520==a||30779==a||30782==a?a=t():(d.buffer!=h.buffer&&l(),a=Ea);return a}function kc(a,b,c,e,f){a=jc(a);var g=31-Math.clz32(a.BYTES_PER_ELEMENT),k=Tb;return a.subarray(f>>g,f+e*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<>g)} +function lc(a,b,c,e,f,g,k){if(2<=T.version)if(U.R)U.readPixels(a,b,c,e,f,g,k);else{var n=jc(g);U.readPixels(a,b,c,e,f,g,n,k>>31-Math.clz32(n.BYTES_PER_ELEMENT))}else(k=kc(g,f,c,e,k))?U.readPixels(a,b,c,e,f,g,k):S(1280)}function L(a,b){var c=arguments.length-2,e=arguments;return wb(()=>{for(var f=Bb(8*c),g=f>>3,k=0;k{if(!pc){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ma||"./this.program"},b;for(b in oc)void 0===oc[b]?delete a[b]:a[b]=oc[b];var c=[];for(b in a)c.push(`${b}=${a[b]}`);pc=c}return pc},pc; +function rc(a,b){if(A)return L(11,1,a,b);var c=0;qc().forEach(function(e,f){var g=b+c;f=t()[a+4*f>>2]=g;for(g=0;g>0]=e.charCodeAt(g);aa()[f>>0]=0;c+=e.length+1});return 0}function sc(a,b){if(A)return L(12,1,a,b);var c=qc();t()[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});t()[b>>2]=e;return 0}function tc(a){return A?L(13,1,a):52}function uc(a,b,c,e,f,g){return A?L(14,1,a,b,c,e,f,g):52}function vc(a,b,c,e){return A?L(15,1,a,b,c,e):52} +function wc(a,b,c,e,f){return A?L(16,1,a,b,c,e,f):70}var xc=[null,[],[]];function yc(a,b,c,e){if(A)return L(17,1,a,b,c,e);for(var f=0,g=0;g>2],n=t()[b+4>>2];b+=8;for(var r=0;r>2]=f;return 0}function zc(a){U.bindVertexArray(Nb[a])}function Ac(a,b){for(var c=0;c>2];U.deleteVertexArray(Nb[e]);Nb[e]=null}}var Bc=[]; +function Cc(a,b,c,e){U.drawElements(a,b,c,e)}function Dc(a,b,c,e){for(var f=0;f>2]=k}}function Ec(a,b){Dc(a,b,"createVertexArray",Nb)}function Fc(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function W(a){var b=U.la;if(b){var c=b.J[a];"number"==typeof c&&(b.J[a]=c=U.getUniformLocation(b,b.ia[a]+(00===a%4&&(0!==a%100||0===a%400),Xc=[31,29,31,30,31,30,31,31,30,31,30,31],Yc=[31,28,31,30,31,30,31,31,30,31,30,31];function Zc(a){var b=Array(xb(a)+1);yb(a,b,0,b.length);return b} +var $c=(a,b)=>{aa().set(a,b)},ad=(a,b,c,e)=>{function f(m,z,B){for(m="number"==typeof m?m.toString():m||"";m.lengthOc?-1:0ca-m.getDate())z-=ca-m.getDate()+1,m.setDate(1),11>B?m.setMonth(B+1):(m.setMonth(0),m.setFullYear(m.getFullYear()+1));else{m.setDate(m.getDate()+z);break}}B=new Date(m.getFullYear()+1,0,4);z=n(new Date(m.getFullYear(), +0,4));B=n(B);return 0>=k(z,m)?0>=k(B,m)?m.getFullYear()+1:m.getFullYear():m.getFullYear()-1}var u=q()[e+40>>2];e={Fa:q()[e>>2],Ea:q()[e+4>>2],O:q()[e+8>>2],V:q()[e+12>>2],P:q()[e+16>>2],D:q()[e+20>>2],l:q()[e+24>>2],C:q()[e+28>>2],Pa:q()[e+32>>2],Da:q()[e+36>>2],Ga:u?K(u):""};c=K(c);u={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y", +"%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var y in u)c=c.replace(new RegExp(y,"g"),u[y]);var V="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),E="January February March April May June July August September October November December".split(" ");u={"%a":m=>V[m.l].substring(0,3),"%A":m=>V[m.l],"%b":m=>E[m.P].substring(0,3),"%B":m=>E[m.P],"%C":m=>g((m.D+1900)/100| +0,2),"%d":m=>g(m.V,2),"%e":m=>f(m.V,2," "),"%g":m=>r(m).toString().substring(2),"%G":m=>r(m),"%H":m=>g(m.O,2),"%I":m=>{m=m.O;0==m?m=12:12{for(var z=0,B=0;B<=m.P-1;z+=(Wc(m.D+1900)?Xc:Yc)[B++]);return g(m.V+z,3)},"%m":m=>g(m.P+1,2),"%M":m=>g(m.Ea,2),"%n":()=>"\n","%p":m=>0<=m.O&&12>m.O?"AM":"PM","%S":m=>g(m.Fa,2),"%t":()=>"\t","%u":m=>m.l||7,"%U":m=>g(Math.floor((m.C+7-m.l)/7),2),"%V":m=>{var z=Math.floor((m.C+7-(m.l+6)%7)/7);2>=(m.l+371-m.C-2)%7&&z++;if(z)53==z&& +(B=(m.l+371-m.C)%7,4==B||3==B&&Wc(m.D)||(z=1));else{z=52;var B=(m.l+7-m.C-1)%7;(4==B||5==B&&Wc(m.D%400-1))&&z++}return g(z,2)},"%w":m=>m.l,"%W":m=>g(Math.floor((m.C+7-(m.l+6)%7)/7),2),"%y":m=>(m.D+1900).toString().substring(2),"%Y":m=>m.D+1900,"%z":m=>{m=m.Da;var z=0<=m;m=Math.abs(m)/60;return(z?"+":"-")+String("0000"+(m/60*100+m%60)).slice(-4)},"%Z":m=>m.Ga,"%%":()=>"%"};c=c.replace(/%%/g,"\x00\x00");for(y in u)c.includes(y)&&(c=c.replace(new RegExp(y,"g"),u[y](e)));c=c.replace(/\0\0/g,"%");y=Zc(c); +if(y.length>b)return 0;$c(y,a);return y.length-1},bd=void 0,cd=[];J.S();for(var U,Y=0;32>Y;++Y)Bc.push(Array(Y));var dd=new Float32Array(288);for(Y=0;288>Y;++Y)X[Y]=dd.subarray(0,Y+1);var ed=new Int32Array(288);for(Y=0;288>Y;++Y)Gc[Y]=ed.subarray(0,Y+1); +(function(){const a=new Map,b=new Map;let c;Uc=function(e,f,g){J.g[e].postMessage({s:"setAssociatedObject",U:f,object:g},[g])};Pc=function(e){return b.get(e)};Vc=function(e){J.g[e].postMessage({s:"syncTimeOrigin",timeOrigin:performance.timeOrigin})};Rc=function(e){function f({data:g}){var k=g.s;if(k)switch(k){case "syncTimeOrigin":c=performance.timeOrigin-g.timeOrigin;break;case "renderPictures":fd(g.m,g.wa,g.va,g.A,performance.now()+c);break;case "onRenderComplete":gd(g.m,g.A,{imageBitmaps:g.oa, +rasterStartMilliseconds:g.ya,rasterEndMilliseconds:g.xa});break;case "setAssociatedObject":b.set(g.U,g.object);break;case "disposeAssociatedObject":g=g.U;k=b.get(g);k.close&&k.close();b.delete(g);break;case "disposeSurface":hd(g.m);break;case "rasterizeImage":jd(g.m,g.image,g.format,g.A);break;case "onRasterizeComplete":kd(g.m,g.data,g.A);break;default:console.warn(`unrecognized skwasm message: ${k}`)}}e?J.g[e].addEventListener("message",f):addEventListener("message",f)};Mc=function(e,f,g,k,n){J.g[e].postMessage({s:"renderPictures", +m:f,wa:g,va:k,A:n})};Jc=function(e,f){e=new OffscreenCanvas(e,f);f=Wb(e);a.set(f,e);return f};Sc=function(e,f,g){e=a.get(e);e.width=f;e.height=g};Hc=function(e,f,g,k){k||(k=[]);e=a.get(e);k.push(createImageBitmap(e,0,0,f,g));return k};Tc=async function(e,f,g,k){f=f?await Promise.all(f):[];postMessage({s:"onRenderComplete",m:e,A:k,oa:f,ya:g,xa:performance.now()+c},[...f])};Ic=function(e,f,g){const k=T.v,n=k.createTexture();k.bindTexture(k.TEXTURE_2D,n);k.pixelStorei(k.UNPACK_PREMULTIPLY_ALPHA_WEBGL, +!0);k.texImage2D(k.TEXTURE_2D,0,k.RGBA,f,g,0,k.RGBA,k.UNSIGNED_BYTE,e);k.pixelStorei(k.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);k.bindTexture(k.TEXTURE_2D,null);e=Vb(Q);Q[e]=n;return e};Nc=function(e,f){J.g[e].postMessage({s:"disposeAssociatedObject",U:f})};Kc=function(e,f){J.g[e].postMessage({s:"disposeSurface",m:f})};Lc=function(e,f,g,k,n){J.g[e].postMessage({s:"rasterizeImage",m:f,image:g,format:k,A:n})};Qc=function(e,f,g){postMessage({s:"onRasterizeComplete",m:e,data:f,A:g})}})(); +var ld=[null,$a,ab,mb,pb,qb,rb,sb,ac,bc,cc,rc,sc,tc,uc,vc,wc,yc],xd={__cxa_throw:function(a,b,c){(new jb(a)).S(b,c);kb=a;lb++;throw kb;},__emscripten_init_main_thread_js:function(a){md(a,!pa,1,!oa,65536,!1);J.ga()},__emscripten_thread_cleanup:function(a){A?postMessage({cmd:"cleanupThread",thread:a}):Wa(a)},__pthread_create_js:nb,__syscall_fcntl64:pb,__syscall_fstat64:qb,__syscall_ioctl:rb,__syscall_openat:sb,_emscripten_get_now_is_monotonic:()=>!0,_emscripten_notify_mailbox_postmessage:function(a, +b){a==b?setTimeout(()=>fb()):A?postMessage({targetThread:a,cmd:"checkMailbox"}):(a=J.g[a])&&a.postMessage({cmd:"checkMailbox"})},_emscripten_set_offscreencanvas_size:function(a,b,c){return Zb(a)?$b(a,b,c):ac(a,b,c)},_emscripten_thread_mailbox_await:ub,_emscripten_thread_set_strongref:function(a){x&&J.g[a].ref()},_emscripten_throw_longjmp:()=>{throw Infinity;},_mmap_js:bc,_munmap_js:cc,abort:()=>{za("")},emscripten_check_blocking_allowed:function(){},emscripten_exit_with_live_runtime:()=>{Ja+=1;throw"unwind"; +},emscripten_get_now:()=>performance.timeOrigin+performance.now(),emscripten_glBindFramebuffer:dc,emscripten_glClear:ec,emscripten_glClearColor:fc,emscripten_glClearStencil:gc,emscripten_glGetIntegerv:ic,emscripten_glReadPixels:lc,emscripten_receive_on_main_thread_js:function(a,b,c,e){J.La=b;nc.length=c;b=e>>3;for(e=0;e{var b=p().length;a>>>=0;if(a<=b||2147483648=c;c*=2){var e=b*(1+.2/c);e=Math.min(e, +a+100663296);var f=Math;e=Math.max(a,e);a:{f=f.min.call(f,2147483648,e+(65536-e%65536)%65536)-d.buffer.byteLength+65535>>>16;try{d.grow(f);l();var g=1;break a}catch(k){}g=void 0}if(g)return!0}return!1},emscripten_webgl_enable_extension:function(a,b){a=Ob[a];b=K(b);b.startsWith("GL_")&&(b=b.substr(3));"ANGLE_instanced_arrays"==b&&Db(U);"OES_vertex_array_object"==b&&Eb(U);"WEBGL_draw_buffers"==b&&Fb(U);"WEBGL_draw_instanced_base_vertex_base_instance"==b&&Gb(U);"WEBGL_multi_draw_instanced_base_vertex_base_instance"== +b&&Hb(U);"WEBGL_multi_draw"==b&&Ib(U);return!!a.v.getExtension(b)},emscripten_webgl_get_current_context:function(){return T?T.handle:0},emscripten_webgl_make_context_current:function(a){T=Ob[a];w.Ka=U=T&&T.v;return!a||U?0:-5},environ_get:rc,environ_sizes_get:sc,exit:bb,fd_close:tc,fd_pread:uc,fd_read:vc,fd_seek:wc,fd_write:yc,glActiveTexture:function(a){U.activeTexture(a)},glAttachShader:function(a,b){U.attachShader(P[a],R[b])},glBindAttribLocation:function(a,b,c){U.bindAttribLocation(P[a],b,K(c))}, +glBindBuffer:function(a,b){35051==a?U.R=b:35052==a&&(U.F=b);U.bindBuffer(a,Kb[b])},glBindFramebuffer:dc,glBindRenderbuffer:function(a,b){U.bindRenderbuffer(a,Mb[b])},glBindSampler:function(a,b){U.bindSampler(a,Pb[b])},glBindTexture:function(a,b){U.bindTexture(a,Q[b])},glBindVertexArray:zc,glBindVertexArrayOES:zc,glBlendColor:function(a,b,c,e){U.blendColor(a,b,c,e)},glBlendEquation:function(a){U.blendEquation(a)},glBlendFunc:function(a,b){U.blendFunc(a,b)},glBlitFramebuffer:function(a,b,c,e,f,g,k, +n,r,u){U.blitFramebuffer(a,b,c,e,f,g,k,n,r,u)},glBufferData:function(a,b,c,e){2<=T.version?c&&b?U.bufferData(a,p(),e,c,b):U.bufferData(a,b,e):U.bufferData(a,c?p().subarray(c,c+b):b,e)},glBufferSubData:function(a,b,c,e){2<=T.version?c&&U.bufferSubData(a,b,p(),e,c):U.bufferSubData(a,b,p().subarray(e,e+c))},glCheckFramebufferStatus:function(a){return U.checkFramebufferStatus(a)},glClear:ec,glClearColor:fc,glClearStencil:gc,glClientWaitSync:function(a,b,c,e){return U.clientWaitSync(Qb[a],b,(c>>>0)+4294967296* +e)},glColorMask:function(a,b,c,e){U.colorMask(!!a,!!b,!!c,!!e)},glCompileShader:function(a){U.compileShader(R[a])},glCompressedTexImage2D:function(a,b,c,e,f,g,k,n){2<=T.version?U.F||!k?U.compressedTexImage2D(a,b,c,e,f,g,k,n):U.compressedTexImage2D(a,b,c,e,f,g,p(),n,k):U.compressedTexImage2D(a,b,c,e,f,g,n?p().subarray(n,n+k):null)},glCompressedTexSubImage2D:function(a,b,c,e,f,g,k,n,r){2<=T.version?U.F||!n?U.compressedTexSubImage2D(a,b,c,e,f,g,k,n,r):U.compressedTexSubImage2D(a,b,c,e,f,g,k,p(),r,n): +U.compressedTexSubImage2D(a,b,c,e,f,g,k,r?p().subarray(r,r+n):null)},glCopyBufferSubData:function(a,b,c,e,f){U.copyBufferSubData(a,b,c,e,f)},glCopyTexSubImage2D:function(a,b,c,e,f,g,k,n){U.copyTexSubImage2D(a,b,c,e,f,g,k,n)},glCreateProgram:function(){var a=Vb(P),b=U.createProgram();b.name=a;b.N=b.L=b.M=0;b.W=1;P[a]=b;return a},glCreateShader:function(a){var b=Vb(R);R[b]=U.createShader(a);return b},glCullFace:function(a){U.cullFace(a)},glDeleteBuffers:function(a,b){for(var c=0;c>2],f=Kb[e];f&&(U.deleteBuffer(f),f.name=0,Kb[e]=null,e==U.R&&(U.R=0),e==U.F&&(U.F=0))}},glDeleteFramebuffers:function(a,b){for(var c=0;c>2],f=Lb[e];f&&(U.deleteFramebuffer(f),f.name=0,Lb[e]=null)}},glDeleteProgram:function(a){if(a){var b=P[a];b?(U.deleteProgram(b),b.name=0,P[a]=null):S(1281)}},glDeleteRenderbuffers:function(a,b){for(var c=0;c>2],f=Mb[e];f&&(U.deleteRenderbuffer(f),f.name=0,Mb[e]=null)}},glDeleteSamplers:function(a,b){for(var c= +0;c>2],f=Pb[e];f&&(U.deleteSampler(f),f.name=0,Pb[e]=null)}},glDeleteShader:function(a){if(a){var b=R[a];b?(U.deleteShader(b),R[a]=null):S(1281)}},glDeleteSync:function(a){if(a){var b=Qb[a];b?(U.deleteSync(b),b.name=0,Qb[a]=null):S(1281)}},glDeleteTextures:function(a,b){for(var c=0;c>2],f=Q[e];f&&(U.deleteTexture(f),f.name=0,Q[e]=null)}},glDeleteVertexArrays:Ac,glDeleteVertexArraysOES:Ac,glDepthMask:function(a){U.depthMask(!!a)},glDisable:function(a){U.disable(a)}, +glDisableVertexAttribArray:function(a){U.disableVertexAttribArray(a)},glDrawArrays:function(a,b,c){U.drawArrays(a,b,c)},glDrawArraysInstanced:function(a,b,c,e){U.drawArraysInstanced(a,b,c,e)},glDrawArraysInstancedBaseInstanceWEBGL:function(a,b,c,e,f){U.Z.drawArraysInstancedBaseInstanceWEBGL(a,b,c,e,f)},glDrawBuffers:function(a,b){for(var c=Bc[a],e=0;e>2];U.drawBuffers(c)},glDrawElements:Cc,glDrawElementsInstanced:function(a,b,c,e,f){U.drawElementsInstanced(a,b,c,e,f)},glDrawElementsInstancedBaseVertexBaseInstanceWEBGL:function(a, +b,c,e,f,g,k){U.Z.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,c,e,f,g,k)},glDrawRangeElements:function(a,b,c,e,f,g){Cc(a,e,f,g)},glEnable:function(a){U.enable(a)},glEnableVertexAttribArray:function(a){U.enableVertexAttribArray(a)},glFenceSync:function(a,b){return(a=U.fenceSync(a,b))?(b=Vb(Qb),a.name=b,Qb[b]=a,b):0},glFinish:function(){U.finish()},glFlush:function(){U.flush()},glFramebufferRenderbuffer:function(a,b,c,e){U.framebufferRenderbuffer(a,b,c,Mb[e])},glFramebufferTexture2D:function(a, +b,c,e,f){U.framebufferTexture2D(a,b,c,Q[e],f)},glFrontFace:function(a){U.frontFace(a)},glGenBuffers:function(a,b){Dc(a,b,"createBuffer",Kb)},glGenFramebuffers:function(a,b){Dc(a,b,"createFramebuffer",Lb)},glGenRenderbuffers:function(a,b){Dc(a,b,"createRenderbuffer",Mb)},glGenSamplers:function(a,b){Dc(a,b,"createSampler",Pb)},glGenTextures:function(a,b){Dc(a,b,"createTexture",Q)},glGenVertexArrays:Ec,glGenVertexArraysOES:Ec,glGenerateMipmap:function(a){U.generateMipmap(a)},glGetBufferParameteriv:function(a, +b,c){c?q()[c>>2]=U.getBufferParameter(a,b):S(1281)},glGetError:function(){var a=U.getError()||Ub;Ub=0;return a},glGetFloatv:function(a,b){hc(a,b,2)},glGetFramebufferAttachmentParameteriv:function(a,b,c,e){a=U.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;q()[e>>2]=a},glGetIntegerv:ic,glGetProgramInfoLog:function(a,b,c,e){a=U.getProgramInfoLog(P[a]);null===a&&(a="(unknown error)");var f;0>2]= +b)},glGetProgramiv:function(a,b,c){if(c)if(a>=Jb)S(1281);else if(a=P[a],35716==b)a=U.getProgramInfoLog(a),null===a&&(a="(unknown error)"),q()[c>>2]=a.length+1;else if(35719==b){if(!a.N)for(b=0;b>2]=a.N}else if(35722==b){if(!a.L)for(b=0;b>2]=a.L}else if(35381==b){if(!a.M)for(b=0;b>2]=a.M}else q()[c>>2]=U.getProgramParameter(a,b);else S(1281)},glGetRenderbufferParameteriv:function(a,b,c){c?q()[c>>2]=U.getRenderbufferParameter(a,b):S(1281)},glGetShaderInfoLog:function(a,b,c,e){a=U.getShaderInfoLog(R[a]);null===a&&(a="(unknown error)");var f;0>2]=b)},glGetShaderPrecisionFormat:function(a,b,c,e){a=U.getShaderPrecisionFormat(a,b);q()[c>>2]=a.rangeMin;q()[c+4>>2]=a.rangeMax;q()[e>> +2]=a.precision},glGetShaderiv:function(a,b,c){c?35716==b?(a=U.getShaderInfoLog(R[a]),null===a&&(a="(unknown error)"),a=a?a.length+1:0,q()[c>>2]=a):35720==b?(a=(a=U.getShaderSource(R[a]))?a.length+1:0,q()[c>>2]=a):q()[c>>2]=U.getShaderParameter(R[a],b):S(1281)},glGetString:function(a){var b=Rb[a];if(!b){switch(a){case 7939:b=U.getSupportedExtensions()||[];b=b.concat(b.map(function(e){return"GL_"+e}));b=zb(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=U.getParameter(a))||S(1280);b= +b&&zb(b);break;case 7938:b=U.getParameter(7938);b=2<=T.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=zb(b);break;case 35724:b=U.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=zb(b);break;default:S(1280)}Rb[a]=b}return b},glGetStringi:function(a,b){if(2>T.version)return S(1282),0;var c=Sb[a];if(c)return 0>b||b>=c.length?(S(1281),0):c[b];switch(a){case 7939:return c=U.getSupportedExtensions()|| +[],c=c.concat(c.map(function(e){return"GL_"+e})),c=c.map(function(e){return zb(e)}),c=Sb[a]=c,0>b||b>=c.length?(S(1281),0):c[b];default:return S(1280),0}},glGetUniformLocation:function(a,b){b=K(b);if(a=P[a]){var c=a,e=c.J,f=c.ja,g;if(!e)for(c.J=e={},c.ia={},g=0;g>> +0,f=b.slice(0,g));if((f=a.ja[f])&&e>2];U.invalidateFramebuffer(a,e)},glInvalidateSubFramebuffer:function(a,b,c,e,f,g,k){for(var n=Bc[b],r=0;r>2];U.invalidateSubFramebuffer(a,n,e,f,g,k)},glIsSync:function(a){return U.isSync(Qb[a])},glIsTexture:function(a){return(a=Q[a])?U.isTexture(a):0},glLineWidth:function(a){U.lineWidth(a)}, +glLinkProgram:function(a){a=P[a];U.linkProgram(a);a.J=0;a.ja={}},glMultiDrawArraysInstancedBaseInstanceWEBGL:function(a,b,c,e,f,g){U.ea.multiDrawArraysInstancedBaseInstanceWEBGL(a,q(),b>>2,q(),c>>2,q(),e>>2,t(),f>>2,g)},glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL:function(a,b,c,e,f,g,k,n){U.ea.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,q(),b>>2,c,q(),e>>2,q(),f>>2,q(),g>>2,t(),k>>2,n)},glPixelStorei:function(a,b){3317==a&&(Tb=b);U.pixelStorei(a,b)},glReadBuffer:function(a){U.readBuffer(a)}, +glReadPixels:lc,glRenderbufferStorage:function(a,b,c,e){U.renderbufferStorage(a,b,c,e)},glRenderbufferStorageMultisample:function(a,b,c,e,f){U.renderbufferStorageMultisample(a,b,c,e,f)},glSamplerParameterf:function(a,b,c){U.samplerParameterf(Pb[a],b,c)},glSamplerParameteri:function(a,b,c){U.samplerParameteri(Pb[a],b,c)},glSamplerParameteriv:function(a,b,c){c=q()[c>>2];U.samplerParameteri(Pb[a],b,c)},glScissor:function(a,b,c,e){U.scissor(a,b,c,e)},glShaderSource:function(a,b,c,e){for(var f="",g=0;g< +b;++g){var k=e?q()[e+4*g>>2]:-1;f+=K(q()[c+4*g>>2],0>k?void 0:k)}U.shaderSource(R[a],f)},glStencilFunc:function(a,b,c){U.stencilFunc(a,b,c)},glStencilFuncSeparate:function(a,b,c,e){U.stencilFuncSeparate(a,b,c,e)},glStencilMask:function(a){U.stencilMask(a)},glStencilMaskSeparate:function(a,b){U.stencilMaskSeparate(a,b)},glStencilOp:function(a,b,c){U.stencilOp(a,b,c)},glStencilOpSeparate:function(a,b,c,e){U.stencilOpSeparate(a,b,c,e)},glTexImage2D:function(a,b,c,e,f,g,k,n,r){if(2<=T.version)if(U.F)U.texImage2D(a, +b,c,e,f,g,k,n,r);else if(r){var u=jc(n);U.texImage2D(a,b,c,e,f,g,k,n,u,r>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else U.texImage2D(a,b,c,e,f,g,k,n,null);else U.texImage2D(a,b,c,e,f,g,k,n,r?kc(n,k,e,f,r):null)},glTexParameterf:function(a,b,c){U.texParameterf(a,b,c)},glTexParameterfv:function(a,b,c){c=v()[c>>2];U.texParameterf(a,b,c)},glTexParameteri:function(a,b,c){U.texParameteri(a,b,c)},glTexParameteriv:function(a,b,c){c=q()[c>>2];U.texParameteri(a,b,c)},glTexStorage2D:function(a,b,c,e,f){U.texStorage2D(a, +b,c,e,f)},glTexSubImage2D:function(a,b,c,e,f,g,k,n,r){if(2<=T.version)if(U.F)U.texSubImage2D(a,b,c,e,f,g,k,n,r);else if(r){var u=jc(n);U.texSubImage2D(a,b,c,e,f,g,k,n,u,r>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else U.texSubImage2D(a,b,c,e,f,g,k,n,null);else u=null,r&&(u=kc(n,k,f,g,r)),U.texSubImage2D(a,b,c,e,f,g,k,n,u)},glUniform1f:function(a,b){U.uniform1f(W(a),b)},glUniform1fv:function(a,b,c){if(2<=T.version)b&&U.uniform1fv(W(a),v(),c>>2,b);else{if(288>=b)for(var e=X[b-1],f=0;f>2];else e=v().subarray(c>>2,c+4*b>>2);U.uniform1fv(W(a),e)}},glUniform1i:function(a,b){U.uniform1i(W(a),b)},glUniform1iv:function(a,b,c){if(2<=T.version)b&&U.uniform1iv(W(a),q(),c>>2,b);else{if(288>=b)for(var e=Gc[b-1],f=0;f>2];else e=q().subarray(c>>2,c+4*b>>2);U.uniform1iv(W(a),e)}},glUniform2f:function(a,b,c){U.uniform2f(W(a),b,c)},glUniform2fv:function(a,b,c){if(2<=T.version)b&&U.uniform2fv(W(a),v(),c>>2,2*b);else{if(144>=b)for(var e=X[2*b-1],f=0;f<2*b;f+=2)e[f]=v()[c+ +4*f>>2],e[f+1]=v()[c+(4*f+4)>>2];else e=v().subarray(c>>2,c+8*b>>2);U.uniform2fv(W(a),e)}},glUniform2i:function(a,b,c){U.uniform2i(W(a),b,c)},glUniform2iv:function(a,b,c){if(2<=T.version)b&&U.uniform2iv(W(a),q(),c>>2,2*b);else{if(144>=b)for(var e=Gc[2*b-1],f=0;f<2*b;f+=2)e[f]=q()[c+4*f>>2],e[f+1]=q()[c+(4*f+4)>>2];else e=q().subarray(c>>2,c+8*b>>2);U.uniform2iv(W(a),e)}},glUniform3f:function(a,b,c,e){U.uniform3f(W(a),b,c,e)},glUniform3fv:function(a,b,c){if(2<=T.version)b&&U.uniform3fv(W(a),v(),c>> +2,3*b);else{if(96>=b)for(var e=X[3*b-1],f=0;f<3*b;f+=3)e[f]=v()[c+4*f>>2],e[f+1]=v()[c+(4*f+4)>>2],e[f+2]=v()[c+(4*f+8)>>2];else e=v().subarray(c>>2,c+12*b>>2);U.uniform3fv(W(a),e)}},glUniform3i:function(a,b,c,e){U.uniform3i(W(a),b,c,e)},glUniform3iv:function(a,b,c){if(2<=T.version)b&&U.uniform3iv(W(a),q(),c>>2,3*b);else{if(96>=b)for(var e=Gc[3*b-1],f=0;f<3*b;f+=3)e[f]=q()[c+4*f>>2],e[f+1]=q()[c+(4*f+4)>>2],e[f+2]=q()[c+(4*f+8)>>2];else e=q().subarray(c>>2,c+12*b>>2);U.uniform3iv(W(a),e)}},glUniform4f:function(a, +b,c,e,f){U.uniform4f(W(a),b,c,e,f)},glUniform4fv:function(a,b,c){if(2<=T.version)b&&U.uniform4fv(W(a),v(),c>>2,4*b);else{if(72>=b){var e=X[4*b-1],f=v();c>>=2;for(var g=0;g<4*b;g+=4){var k=c+g;e[g]=f[k];e[g+1]=f[k+1];e[g+2]=f[k+2];e[g+3]=f[k+3]}}else e=v().subarray(c>>2,c+16*b>>2);U.uniform4fv(W(a),e)}},glUniform4i:function(a,b,c,e,f){U.uniform4i(W(a),b,c,e,f)},glUniform4iv:function(a,b,c){if(2<=T.version)b&&U.uniform4iv(W(a),q(),c>>2,4*b);else{if(72>=b)for(var e=Gc[4*b-1],f=0;f<4*b;f+=4)e[f]=q()[c+ +4*f>>2],e[f+1]=q()[c+(4*f+4)>>2],e[f+2]=q()[c+(4*f+8)>>2],e[f+3]=q()[c+(4*f+12)>>2];else e=q().subarray(c>>2,c+16*b>>2);U.uniform4iv(W(a),e)}},glUniformMatrix2fv:function(a,b,c,e){if(2<=T.version)b&&U.uniformMatrix2fv(W(a),!!c,v(),e>>2,4*b);else{if(72>=b)for(var f=X[4*b-1],g=0;g<4*b;g+=4)f[g]=v()[e+4*g>>2],f[g+1]=v()[e+(4*g+4)>>2],f[g+2]=v()[e+(4*g+8)>>2],f[g+3]=v()[e+(4*g+12)>>2];else f=v().subarray(e>>2,e+16*b>>2);U.uniformMatrix2fv(W(a),!!c,f)}},glUniformMatrix3fv:function(a,b,c,e){if(2<=T.version)b&& +U.uniformMatrix3fv(W(a),!!c,v(),e>>2,9*b);else{if(32>=b)for(var f=X[9*b-1],g=0;g<9*b;g+=9)f[g]=v()[e+4*g>>2],f[g+1]=v()[e+(4*g+4)>>2],f[g+2]=v()[e+(4*g+8)>>2],f[g+3]=v()[e+(4*g+12)>>2],f[g+4]=v()[e+(4*g+16)>>2],f[g+5]=v()[e+(4*g+20)>>2],f[g+6]=v()[e+(4*g+24)>>2],f[g+7]=v()[e+(4*g+28)>>2],f[g+8]=v()[e+(4*g+32)>>2];else f=v().subarray(e>>2,e+36*b>>2);U.uniformMatrix3fv(W(a),!!c,f)}},glUniformMatrix4fv:function(a,b,c,e){if(2<=T.version)b&&U.uniformMatrix4fv(W(a),!!c,v(),e>>2,16*b);else{if(18>=b){var f= +X[16*b-1],g=v();e>>=2;for(var k=0;k<16*b;k+=16){var n=e+k;f[k]=g[n];f[k+1]=g[n+1];f[k+2]=g[n+2];f[k+3]=g[n+3];f[k+4]=g[n+4];f[k+5]=g[n+5];f[k+6]=g[n+6];f[k+7]=g[n+7];f[k+8]=g[n+8];f[k+9]=g[n+9];f[k+10]=g[n+10];f[k+11]=g[n+11];f[k+12]=g[n+12];f[k+13]=g[n+13];f[k+14]=g[n+14];f[k+15]=g[n+15]}}else f=v().subarray(e>>2,e+64*b>>2);U.uniformMatrix4fv(W(a),!!c,f)}},glUseProgram:function(a){a=P[a];U.useProgram(a);U.la=a},glVertexAttrib1f:function(a,b){U.vertexAttrib1f(a,b)},glVertexAttrib2fv:function(a,b){U.vertexAttrib2f(a, +v()[b>>2],v()[b+4>>2])},glVertexAttrib3fv:function(a,b){U.vertexAttrib3f(a,v()[b>>2],v()[b+4>>2],v()[b+8>>2])},glVertexAttrib4fv:function(a,b){U.vertexAttrib4f(a,v()[b>>2],v()[b+4>>2],v()[b+8>>2],v()[b+12>>2])},glVertexAttribDivisor:function(a,b){U.vertexAttribDivisor(a,b)},glVertexAttribIPointer:function(a,b,c,e,f){U.vertexAttribIPointer(a,b,c,e,f)},glVertexAttribPointer:function(a,b,c,e,f,g){U.vertexAttribPointer(a,b,c,!!e,f,g)},glViewport:function(a,b,c,e){U.viewport(a,b,c,e)},glWaitSync:function(a, +b,c,e){U.waitSync(Qb[a],b,(c>>>0)+4294967296*e)},invoke_ii:nd,invoke_iii:od,invoke_iiii:pd,invoke_iiiii:qd,invoke_iiiiiii:rd,invoke_vi:sd,invoke_vii:td,invoke_viii:ud,invoke_viiii:vd,invoke_viiiiiii:wd,memory:d||w.wasmMemory,skwasm_captureImageBitmap:Hc,skwasm_createGlTextureFromTextureSource:Ic,skwasm_createOffscreenCanvas:Jc,skwasm_dispatchDisposeSurface:Kc,skwasm_dispatchRasterizeImage:Lc,skwasm_dispatchRenderPictures:Mc,skwasm_disposeAssociatedObjectOnThread:Nc,skwasm_getAssociatedObject:Pc,skwasm_postRasterizeResult:Qc, +skwasm_registerMessageListener:Rc,skwasm_resizeCanvas:Sc,skwasm_resolveAndPostImages:Tc,skwasm_setAssociatedObjectOnThread:Uc,skwasm_syncTimeOriginForThread:Vc,strftime_l:(a,b,c,e)=>ad(a,b,c,e)}; +(function(){function a(c,e){F=c=c.exports;w.wasmExports=F;J.ha.push(F._emscripten_tls_init);G=F.__indirect_function_table;Ha.unshift(F.__wasm_call_ctors);Aa=e;Oa();return c}var b={env:xd,wasi_snapshot_preview1:xd};Na();if(w.instantiateWasm)try{return w.instantiateWasm(b,a)}catch(c){D("Module.instantiateWasm callback failed with error: "+c),ka(c)}Ta(b,function(c){a(c.instance,c.module)}).catch(ka);return{}})();w._canvas_saveLayer=(a,b,c,e)=>(w._canvas_saveLayer=F.canvas_saveLayer)(a,b,c,e); +w._canvas_save=a=>(w._canvas_save=F.canvas_save)(a);w._canvas_restore=a=>(w._canvas_restore=F.canvas_restore)(a);w._canvas_restoreToCount=(a,b)=>(w._canvas_restoreToCount=F.canvas_restoreToCount)(a,b);w._canvas_getSaveCount=a=>(w._canvas_getSaveCount=F.canvas_getSaveCount)(a);w._canvas_translate=(a,b,c)=>(w._canvas_translate=F.canvas_translate)(a,b,c);w._canvas_scale=(a,b,c)=>(w._canvas_scale=F.canvas_scale)(a,b,c);w._canvas_rotate=(a,b)=>(w._canvas_rotate=F.canvas_rotate)(a,b); +w._canvas_skew=(a,b,c)=>(w._canvas_skew=F.canvas_skew)(a,b,c);w._canvas_transform=(a,b)=>(w._canvas_transform=F.canvas_transform)(a,b);w._canvas_clipRect=(a,b,c,e)=>(w._canvas_clipRect=F.canvas_clipRect)(a,b,c,e);w._canvas_clipRRect=(a,b,c)=>(w._canvas_clipRRect=F.canvas_clipRRect)(a,b,c);w._canvas_clipPath=(a,b,c)=>(w._canvas_clipPath=F.canvas_clipPath)(a,b,c);w._canvas_drawColor=(a,b,c)=>(w._canvas_drawColor=F.canvas_drawColor)(a,b,c); +w._canvas_drawLine=(a,b,c,e,f,g)=>(w._canvas_drawLine=F.canvas_drawLine)(a,b,c,e,f,g);w._canvas_drawPaint=(a,b)=>(w._canvas_drawPaint=F.canvas_drawPaint)(a,b);w._canvas_drawRect=(a,b,c)=>(w._canvas_drawRect=F.canvas_drawRect)(a,b,c);w._canvas_drawRRect=(a,b,c)=>(w._canvas_drawRRect=F.canvas_drawRRect)(a,b,c);w._canvas_drawDRRect=(a,b,c,e)=>(w._canvas_drawDRRect=F.canvas_drawDRRect)(a,b,c,e);w._canvas_drawOval=(a,b,c)=>(w._canvas_drawOval=F.canvas_drawOval)(a,b,c); +w._canvas_drawCircle=(a,b,c,e,f)=>(w._canvas_drawCircle=F.canvas_drawCircle)(a,b,c,e,f);w._canvas_drawArc=(a,b,c,e,f,g)=>(w._canvas_drawArc=F.canvas_drawArc)(a,b,c,e,f,g);w._canvas_drawPath=(a,b,c)=>(w._canvas_drawPath=F.canvas_drawPath)(a,b,c);w._canvas_drawShadow=(a,b,c,e,f,g)=>(w._canvas_drawShadow=F.canvas_drawShadow)(a,b,c,e,f,g);w._canvas_drawParagraph=(a,b,c,e)=>(w._canvas_drawParagraph=F.canvas_drawParagraph)(a,b,c,e); +w._canvas_drawPicture=(a,b)=>(w._canvas_drawPicture=F.canvas_drawPicture)(a,b);w._canvas_drawImage=(a,b,c,e,f,g)=>(w._canvas_drawImage=F.canvas_drawImage)(a,b,c,e,f,g);w._canvas_drawImageRect=(a,b,c,e,f,g)=>(w._canvas_drawImageRect=F.canvas_drawImageRect)(a,b,c,e,f,g);w._canvas_drawImageNine=(a,b,c,e,f,g)=>(w._canvas_drawImageNine=F.canvas_drawImageNine)(a,b,c,e,f,g);w._canvas_drawVertices=(a,b,c,e)=>(w._canvas_drawVertices=F.canvas_drawVertices)(a,b,c,e); +w._canvas_drawPoints=(a,b,c,e,f)=>(w._canvas_drawPoints=F.canvas_drawPoints)(a,b,c,e,f);w._canvas_drawAtlas=(a,b,c,e,f,g,k,n,r)=>(w._canvas_drawAtlas=F.canvas_drawAtlas)(a,b,c,e,f,g,k,n,r);w._canvas_getTransform=(a,b)=>(w._canvas_getTransform=F.canvas_getTransform)(a,b);w._canvas_getLocalClipBounds=(a,b)=>(w._canvas_getLocalClipBounds=F.canvas_getLocalClipBounds)(a,b);w._canvas_getDeviceClipBounds=(a,b)=>(w._canvas_getDeviceClipBounds=F.canvas_getDeviceClipBounds)(a,b); +w._contourMeasureIter_create=(a,b,c)=>(w._contourMeasureIter_create=F.contourMeasureIter_create)(a,b,c);w._contourMeasureIter_next=a=>(w._contourMeasureIter_next=F.contourMeasureIter_next)(a);w._contourMeasureIter_dispose=a=>(w._contourMeasureIter_dispose=F.contourMeasureIter_dispose)(a);w._contourMeasure_dispose=a=>(w._contourMeasure_dispose=F.contourMeasure_dispose)(a);w._contourMeasure_length=a=>(w._contourMeasure_length=F.contourMeasure_length)(a); +w._contourMeasure_isClosed=a=>(w._contourMeasure_isClosed=F.contourMeasure_isClosed)(a);w._contourMeasure_getPosTan=(a,b,c,e)=>(w._contourMeasure_getPosTan=F.contourMeasure_getPosTan)(a,b,c,e);w._contourMeasure_getSegment=(a,b,c,e)=>(w._contourMeasure_getSegment=F.contourMeasure_getSegment)(a,b,c,e);w._skData_create=a=>(w._skData_create=F.skData_create)(a);w._skData_getPointer=a=>(w._skData_getPointer=F.skData_getPointer)(a);w._skData_getConstPointer=a=>(w._skData_getConstPointer=F.skData_getConstPointer)(a); +w._skData_getSize=a=>(w._skData_getSize=F.skData_getSize)(a);w._skData_dispose=a=>(w._skData_dispose=F.skData_dispose)(a);w._imageFilter_createBlur=(a,b,c)=>(w._imageFilter_createBlur=F.imageFilter_createBlur)(a,b,c);w._imageFilter_createDilate=(a,b)=>(w._imageFilter_createDilate=F.imageFilter_createDilate)(a,b);w._imageFilter_createErode=(a,b)=>(w._imageFilter_createErode=F.imageFilter_createErode)(a,b); +w._imageFilter_createMatrix=(a,b)=>(w._imageFilter_createMatrix=F.imageFilter_createMatrix)(a,b);w._imageFilter_createFromColorFilter=a=>(w._imageFilter_createFromColorFilter=F.imageFilter_createFromColorFilter)(a);w._imageFilter_compose=(a,b)=>(w._imageFilter_compose=F.imageFilter_compose)(a,b);w._imageFilter_dispose=a=>(w._imageFilter_dispose=F.imageFilter_dispose)(a);w._imageFilter_getFilterBounds=(a,b)=>(w._imageFilter_getFilterBounds=F.imageFilter_getFilterBounds)(a,b); +w._colorFilter_createMode=(a,b)=>(w._colorFilter_createMode=F.colorFilter_createMode)(a,b);w._colorFilter_createMatrix=a=>(w._colorFilter_createMatrix=F.colorFilter_createMatrix)(a);w._colorFilter_createSRGBToLinearGamma=()=>(w._colorFilter_createSRGBToLinearGamma=F.colorFilter_createSRGBToLinearGamma)();w._colorFilter_createLinearToSRGBGamma=()=>(w._colorFilter_createLinearToSRGBGamma=F.colorFilter_createLinearToSRGBGamma)(); +w._colorFilter_compose=(a,b)=>(w._colorFilter_compose=F.colorFilter_compose)(a,b);w._colorFilter_dispose=a=>(w._colorFilter_dispose=F.colorFilter_dispose)(a);w._maskFilter_createBlur=(a,b)=>(w._maskFilter_createBlur=F.maskFilter_createBlur)(a,b);w._maskFilter_dispose=a=>(w._maskFilter_dispose=F.maskFilter_dispose)(a);w._fontCollection_create=()=>(w._fontCollection_create=F.fontCollection_create)();w._fontCollection_dispose=a=>(w._fontCollection_dispose=F.fontCollection_dispose)(a); +w._typeface_create=a=>(w._typeface_create=F.typeface_create)(a);w._typeface_dispose=a=>(w._typeface_dispose=F.typeface_dispose)(a);w._typefaces_filterCoveredCodePoints=(a,b,c,e)=>(w._typefaces_filterCoveredCodePoints=F.typefaces_filterCoveredCodePoints)(a,b,c,e);w._fontCollection_registerTypeface=(a,b,c)=>(w._fontCollection_registerTypeface=F.fontCollection_registerTypeface)(a,b,c);w._fontCollection_clearCaches=a=>(w._fontCollection_clearCaches=F.fontCollection_clearCaches)(a); +w._image_createFromPicture=(a,b,c)=>(w._image_createFromPicture=F.image_createFromPicture)(a,b,c);w._image_createFromPixels=(a,b,c,e,f)=>(w._image_createFromPixels=F.image_createFromPixels)(a,b,c,e,f);w._image_createFromTextureSource=(a,b,c,e)=>(w._image_createFromTextureSource=F.image_createFromTextureSource)(a,b,c,e);w._image_ref=a=>(w._image_ref=F.image_ref)(a);w._image_dispose=a=>(w._image_dispose=F.image_dispose)(a);w._image_getWidth=a=>(w._image_getWidth=F.image_getWidth)(a); +w._image_getHeight=a=>(w._image_getHeight=F.image_getHeight)(a);w._paint_create=()=>(w._paint_create=F.paint_create)();w._paint_dispose=a=>(w._paint_dispose=F.paint_dispose)(a);w._paint_setBlendMode=(a,b)=>(w._paint_setBlendMode=F.paint_setBlendMode)(a,b);w._paint_setStyle=(a,b)=>(w._paint_setStyle=F.paint_setStyle)(a,b);w._paint_getStyle=a=>(w._paint_getStyle=F.paint_getStyle)(a);w._paint_setStrokeWidth=(a,b)=>(w._paint_setStrokeWidth=F.paint_setStrokeWidth)(a,b); +w._paint_getStrokeWidth=a=>(w._paint_getStrokeWidth=F.paint_getStrokeWidth)(a);w._paint_setStrokeCap=(a,b)=>(w._paint_setStrokeCap=F.paint_setStrokeCap)(a,b);w._paint_getStrokeCap=a=>(w._paint_getStrokeCap=F.paint_getStrokeCap)(a);w._paint_setStrokeJoin=(a,b)=>(w._paint_setStrokeJoin=F.paint_setStrokeJoin)(a,b);w._paint_getStrokeJoin=a=>(w._paint_getStrokeJoin=F.paint_getStrokeJoin)(a);w._paint_setAntiAlias=(a,b)=>(w._paint_setAntiAlias=F.paint_setAntiAlias)(a,b); +w._paint_getAntiAlias=a=>(w._paint_getAntiAlias=F.paint_getAntiAlias)(a);w._paint_setColorInt=(a,b)=>(w._paint_setColorInt=F.paint_setColorInt)(a,b);w._paint_getColorInt=a=>(w._paint_getColorInt=F.paint_getColorInt)(a);w._paint_setMiterLimit=(a,b)=>(w._paint_setMiterLimit=F.paint_setMiterLimit)(a,b);w._paint_getMiterLimit=a=>(w._paint_getMiterLimit=F.paint_getMiterLimit)(a);w._paint_setShader=(a,b)=>(w._paint_setShader=F.paint_setShader)(a,b); +w._paint_setImageFilter=(a,b)=>(w._paint_setImageFilter=F.paint_setImageFilter)(a,b);w._paint_setColorFilter=(a,b)=>(w._paint_setColorFilter=F.paint_setColorFilter)(a,b);w._paint_setMaskFilter=(a,b)=>(w._paint_setMaskFilter=F.paint_setMaskFilter)(a,b);w._path_create=()=>(w._path_create=F.path_create)();w._path_dispose=a=>(w._path_dispose=F.path_dispose)(a);w._path_copy=a=>(w._path_copy=F.path_copy)(a);w._path_setFillType=(a,b)=>(w._path_setFillType=F.path_setFillType)(a,b); +w._path_getFillType=a=>(w._path_getFillType=F.path_getFillType)(a);w._path_moveTo=(a,b,c)=>(w._path_moveTo=F.path_moveTo)(a,b,c);w._path_relativeMoveTo=(a,b,c)=>(w._path_relativeMoveTo=F.path_relativeMoveTo)(a,b,c);w._path_lineTo=(a,b,c)=>(w._path_lineTo=F.path_lineTo)(a,b,c);w._path_relativeLineTo=(a,b,c)=>(w._path_relativeLineTo=F.path_relativeLineTo)(a,b,c);w._path_quadraticBezierTo=(a,b,c,e,f)=>(w._path_quadraticBezierTo=F.path_quadraticBezierTo)(a,b,c,e,f); +w._path_relativeQuadraticBezierTo=(a,b,c,e,f)=>(w._path_relativeQuadraticBezierTo=F.path_relativeQuadraticBezierTo)(a,b,c,e,f);w._path_cubicTo=(a,b,c,e,f,g,k)=>(w._path_cubicTo=F.path_cubicTo)(a,b,c,e,f,g,k);w._path_relativeCubicTo=(a,b,c,e,f,g,k)=>(w._path_relativeCubicTo=F.path_relativeCubicTo)(a,b,c,e,f,g,k);w._path_conicTo=(a,b,c,e,f,g)=>(w._path_conicTo=F.path_conicTo)(a,b,c,e,f,g);w._path_relativeConicTo=(a,b,c,e,f,g)=>(w._path_relativeConicTo=F.path_relativeConicTo)(a,b,c,e,f,g); +w._path_arcToOval=(a,b,c,e,f)=>(w._path_arcToOval=F.path_arcToOval)(a,b,c,e,f);w._path_arcToRotated=(a,b,c,e,f,g,k,n)=>(w._path_arcToRotated=F.path_arcToRotated)(a,b,c,e,f,g,k,n);w._path_relativeArcToRotated=(a,b,c,e,f,g,k,n)=>(w._path_relativeArcToRotated=F.path_relativeArcToRotated)(a,b,c,e,f,g,k,n);w._path_addRect=(a,b)=>(w._path_addRect=F.path_addRect)(a,b);w._path_addOval=(a,b)=>(w._path_addOval=F.path_addOval)(a,b);w._path_addArc=(a,b,c,e)=>(w._path_addArc=F.path_addArc)(a,b,c,e); +w._path_addPolygon=(a,b,c,e)=>(w._path_addPolygon=F.path_addPolygon)(a,b,c,e);w._path_addRRect=(a,b)=>(w._path_addRRect=F.path_addRRect)(a,b);w._path_addPath=(a,b,c,e)=>(w._path_addPath=F.path_addPath)(a,b,c,e);w._path_close=a=>(w._path_close=F.path_close)(a);w._path_reset=a=>(w._path_reset=F.path_reset)(a);w._path_contains=(a,b,c)=>(w._path_contains=F.path_contains)(a,b,c);w._path_transform=(a,b)=>(w._path_transform=F.path_transform)(a,b); +w._path_getBounds=(a,b)=>(w._path_getBounds=F.path_getBounds)(a,b);w._path_combine=(a,b,c)=>(w._path_combine=F.path_combine)(a,b,c);w._pictureRecorder_create=()=>(w._pictureRecorder_create=F.pictureRecorder_create)();w._pictureRecorder_dispose=a=>(w._pictureRecorder_dispose=F.pictureRecorder_dispose)(a);w._pictureRecorder_beginRecording=(a,b)=>(w._pictureRecorder_beginRecording=F.pictureRecorder_beginRecording)(a,b);w._pictureRecorder_endRecording=a=>(w._pictureRecorder_endRecording=F.pictureRecorder_endRecording)(a); +w._picture_getCullRect=(a,b)=>(w._picture_getCullRect=F.picture_getCullRect)(a,b);w._picture_dispose=a=>(w._picture_dispose=F.picture_dispose)(a);w._picture_approximateBytesUsed=a=>(w._picture_approximateBytesUsed=F.picture_approximateBytesUsed)(a);w._shader_createLinearGradient=(a,b,c,e,f,g)=>(w._shader_createLinearGradient=F.shader_createLinearGradient)(a,b,c,e,f,g);w._shader_createRadialGradient=(a,b,c,e,f,g,k,n)=>(w._shader_createRadialGradient=F.shader_createRadialGradient)(a,b,c,e,f,g,k,n); +w._shader_createConicalGradient=(a,b,c,e,f,g,k,n)=>(w._shader_createConicalGradient=F.shader_createConicalGradient)(a,b,c,e,f,g,k,n);w._shader_createSweepGradient=(a,b,c,e,f,g,k,n,r)=>(w._shader_createSweepGradient=F.shader_createSweepGradient)(a,b,c,e,f,g,k,n,r);w._shader_dispose=a=>(w._shader_dispose=F.shader_dispose)(a);w._runtimeEffect_create=a=>(w._runtimeEffect_create=F.runtimeEffect_create)(a);w._runtimeEffect_dispose=a=>(w._runtimeEffect_dispose=F.runtimeEffect_dispose)(a); +w._runtimeEffect_getUniformSize=a=>(w._runtimeEffect_getUniformSize=F.runtimeEffect_getUniformSize)(a);w._shader_createRuntimeEffectShader=(a,b,c,e)=>(w._shader_createRuntimeEffectShader=F.shader_createRuntimeEffectShader)(a,b,c,e);w._shader_createFromImage=(a,b,c,e,f)=>(w._shader_createFromImage=F.shader_createFromImage)(a,b,c,e,f);w._skString_allocate=a=>(w._skString_allocate=F.skString_allocate)(a);w._skString_getData=a=>(w._skString_getData=F.skString_getData)(a); +w._skString_free=a=>(w._skString_free=F.skString_free)(a);w._skString16_allocate=a=>(w._skString16_allocate=F.skString16_allocate)(a);w._skString16_getData=a=>(w._skString16_getData=F.skString16_getData)(a);w._skString16_free=a=>(w._skString16_free=F.skString16_free)(a);w._surface_create=()=>(w._surface_create=F.surface_create)();w._surface_getThreadId=a=>(w._surface_getThreadId=F.surface_getThreadId)(a); +w._surface_setCallbackHandler=(a,b)=>(w._surface_setCallbackHandler=F.surface_setCallbackHandler)(a,b);w._surface_destroy=a=>(w._surface_destroy=F.surface_destroy)(a);var hd=w._surface_dispose=a=>(hd=w._surface_dispose=F.surface_dispose)(a);w._surface_renderPictures=(a,b,c)=>(w._surface_renderPictures=F.surface_renderPictures)(a,b,c);var fd=w._surface_renderPicturesOnWorker=(a,b,c,e,f)=>(fd=w._surface_renderPicturesOnWorker=F.surface_renderPicturesOnWorker)(a,b,c,e,f); +w._surface_rasterizeImage=(a,b,c)=>(w._surface_rasterizeImage=F.surface_rasterizeImage)(a,b,c);var jd=w._surface_rasterizeImageOnWorker=(a,b,c,e)=>(jd=w._surface_rasterizeImageOnWorker=F.surface_rasterizeImageOnWorker)(a,b,c,e),gd=w._surface_onRenderComplete=(a,b,c)=>(gd=w._surface_onRenderComplete=F.surface_onRenderComplete)(a,b,c),kd=w._surface_onRasterizeComplete=(a,b,c)=>(kd=w._surface_onRasterizeComplete=F.surface_onRasterizeComplete)(a,b,c); +w._lineMetrics_create=(a,b,c,e,f,g,k,n,r)=>(w._lineMetrics_create=F.lineMetrics_create)(a,b,c,e,f,g,k,n,r);w._lineMetrics_dispose=a=>(w._lineMetrics_dispose=F.lineMetrics_dispose)(a);w._lineMetrics_getHardBreak=a=>(w._lineMetrics_getHardBreak=F.lineMetrics_getHardBreak)(a);w._lineMetrics_getAscent=a=>(w._lineMetrics_getAscent=F.lineMetrics_getAscent)(a);w._lineMetrics_getDescent=a=>(w._lineMetrics_getDescent=F.lineMetrics_getDescent)(a); +w._lineMetrics_getUnscaledAscent=a=>(w._lineMetrics_getUnscaledAscent=F.lineMetrics_getUnscaledAscent)(a);w._lineMetrics_getHeight=a=>(w._lineMetrics_getHeight=F.lineMetrics_getHeight)(a);w._lineMetrics_getWidth=a=>(w._lineMetrics_getWidth=F.lineMetrics_getWidth)(a);w._lineMetrics_getLeft=a=>(w._lineMetrics_getLeft=F.lineMetrics_getLeft)(a);w._lineMetrics_getBaseline=a=>(w._lineMetrics_getBaseline=F.lineMetrics_getBaseline)(a);w._lineMetrics_getLineNumber=a=>(w._lineMetrics_getLineNumber=F.lineMetrics_getLineNumber)(a); +w._lineMetrics_getStartIndex=a=>(w._lineMetrics_getStartIndex=F.lineMetrics_getStartIndex)(a);w._lineMetrics_getEndIndex=a=>(w._lineMetrics_getEndIndex=F.lineMetrics_getEndIndex)(a);w._paragraph_dispose=a=>(w._paragraph_dispose=F.paragraph_dispose)(a);w._paragraph_getWidth=a=>(w._paragraph_getWidth=F.paragraph_getWidth)(a);w._paragraph_getHeight=a=>(w._paragraph_getHeight=F.paragraph_getHeight)(a);w._paragraph_getLongestLine=a=>(w._paragraph_getLongestLine=F.paragraph_getLongestLine)(a); +w._paragraph_getMinIntrinsicWidth=a=>(w._paragraph_getMinIntrinsicWidth=F.paragraph_getMinIntrinsicWidth)(a);w._paragraph_getMaxIntrinsicWidth=a=>(w._paragraph_getMaxIntrinsicWidth=F.paragraph_getMaxIntrinsicWidth)(a);w._paragraph_getAlphabeticBaseline=a=>(w._paragraph_getAlphabeticBaseline=F.paragraph_getAlphabeticBaseline)(a);w._paragraph_getIdeographicBaseline=a=>(w._paragraph_getIdeographicBaseline=F.paragraph_getIdeographicBaseline)(a); +w._paragraph_getDidExceedMaxLines=a=>(w._paragraph_getDidExceedMaxLines=F.paragraph_getDidExceedMaxLines)(a);w._paragraph_layout=(a,b)=>(w._paragraph_layout=F.paragraph_layout)(a,b);w._paragraph_getPositionForOffset=(a,b,c,e)=>(w._paragraph_getPositionForOffset=F.paragraph_getPositionForOffset)(a,b,c,e);w._paragraph_getClosestGlyphInfoAtCoordinate=(a,b,c,e,f,g)=>(w._paragraph_getClosestGlyphInfoAtCoordinate=F.paragraph_getClosestGlyphInfoAtCoordinate)(a,b,c,e,f,g); +w._paragraph_getGlyphInfoAt=(a,b,c,e,f)=>(w._paragraph_getGlyphInfoAt=F.paragraph_getGlyphInfoAt)(a,b,c,e,f);w._paragraph_getWordBoundary=(a,b,c)=>(w._paragraph_getWordBoundary=F.paragraph_getWordBoundary)(a,b,c);w._paragraph_getLineCount=a=>(w._paragraph_getLineCount=F.paragraph_getLineCount)(a);w._paragraph_getLineNumberAt=(a,b)=>(w._paragraph_getLineNumberAt=F.paragraph_getLineNumberAt)(a,b); +w._paragraph_getLineMetricsAtIndex=(a,b)=>(w._paragraph_getLineMetricsAtIndex=F.paragraph_getLineMetricsAtIndex)(a,b);w._textBoxList_dispose=a=>(w._textBoxList_dispose=F.textBoxList_dispose)(a);w._textBoxList_getLength=a=>(w._textBoxList_getLength=F.textBoxList_getLength)(a);w._textBoxList_getBoxAtIndex=(a,b,c)=>(w._textBoxList_getBoxAtIndex=F.textBoxList_getBoxAtIndex)(a,b,c);w._paragraph_getBoxesForRange=(a,b,c,e,f)=>(w._paragraph_getBoxesForRange=F.paragraph_getBoxesForRange)(a,b,c,e,f); +w._paragraph_getBoxesForPlaceholders=a=>(w._paragraph_getBoxesForPlaceholders=F.paragraph_getBoxesForPlaceholders)(a);w._paragraph_getUnresolvedCodePoints=(a,b,c)=>(w._paragraph_getUnresolvedCodePoints=F.paragraph_getUnresolvedCodePoints)(a,b,c);w._paragraphBuilder_create=(a,b)=>(w._paragraphBuilder_create=F.paragraphBuilder_create)(a,b);w._paragraphBuilder_dispose=a=>(w._paragraphBuilder_dispose=F.paragraphBuilder_dispose)(a); +w._paragraphBuilder_addPlaceholder=(a,b,c,e,f,g)=>(w._paragraphBuilder_addPlaceholder=F.paragraphBuilder_addPlaceholder)(a,b,c,e,f,g);w._paragraphBuilder_addText=(a,b)=>(w._paragraphBuilder_addText=F.paragraphBuilder_addText)(a,b);w._paragraphBuilder_getUtf8Text=(a,b)=>(w._paragraphBuilder_getUtf8Text=F.paragraphBuilder_getUtf8Text)(a,b);w._paragraphBuilder_pushStyle=(a,b)=>(w._paragraphBuilder_pushStyle=F.paragraphBuilder_pushStyle)(a,b);w._paragraphBuilder_pop=a=>(w._paragraphBuilder_pop=F.paragraphBuilder_pop)(a); +w._paragraphBuilder_build=a=>(w._paragraphBuilder_build=F.paragraphBuilder_build)(a);w._unicodePositionBuffer_create=a=>(w._unicodePositionBuffer_create=F.unicodePositionBuffer_create)(a);w._unicodePositionBuffer_getDataPointer=a=>(w._unicodePositionBuffer_getDataPointer=F.unicodePositionBuffer_getDataPointer)(a);w._unicodePositionBuffer_free=a=>(w._unicodePositionBuffer_free=F.unicodePositionBuffer_free)(a);w._lineBreakBuffer_create=a=>(w._lineBreakBuffer_create=F.lineBreakBuffer_create)(a); +w._lineBreakBuffer_getDataPointer=a=>(w._lineBreakBuffer_getDataPointer=F.lineBreakBuffer_getDataPointer)(a);w._lineBreakBuffer_free=a=>(w._lineBreakBuffer_free=F.lineBreakBuffer_free)(a);w._paragraphBuilder_setGraphemeBreaksUtf16=(a,b)=>(w._paragraphBuilder_setGraphemeBreaksUtf16=F.paragraphBuilder_setGraphemeBreaksUtf16)(a,b);w._paragraphBuilder_setWordBreaksUtf16=(a,b)=>(w._paragraphBuilder_setWordBreaksUtf16=F.paragraphBuilder_setWordBreaksUtf16)(a,b); +w._paragraphBuilder_setLineBreaksUtf16=(a,b)=>(w._paragraphBuilder_setLineBreaksUtf16=F.paragraphBuilder_setLineBreaksUtf16)(a,b);w._paragraphStyle_create=()=>(w._paragraphStyle_create=F.paragraphStyle_create)();w._paragraphStyle_dispose=a=>(w._paragraphStyle_dispose=F.paragraphStyle_dispose)(a);w._paragraphStyle_setTextAlign=(a,b)=>(w._paragraphStyle_setTextAlign=F.paragraphStyle_setTextAlign)(a,b); +w._paragraphStyle_setTextDirection=(a,b)=>(w._paragraphStyle_setTextDirection=F.paragraphStyle_setTextDirection)(a,b);w._paragraphStyle_setMaxLines=(a,b)=>(w._paragraphStyle_setMaxLines=F.paragraphStyle_setMaxLines)(a,b);w._paragraphStyle_setHeight=(a,b)=>(w._paragraphStyle_setHeight=F.paragraphStyle_setHeight)(a,b);w._paragraphStyle_setTextHeightBehavior=(a,b,c)=>(w._paragraphStyle_setTextHeightBehavior=F.paragraphStyle_setTextHeightBehavior)(a,b,c); +w._paragraphStyle_setEllipsis=(a,b)=>(w._paragraphStyle_setEllipsis=F.paragraphStyle_setEllipsis)(a,b);w._paragraphStyle_setStrutStyle=(a,b)=>(w._paragraphStyle_setStrutStyle=F.paragraphStyle_setStrutStyle)(a,b);w._paragraphStyle_setTextStyle=(a,b)=>(w._paragraphStyle_setTextStyle=F.paragraphStyle_setTextStyle)(a,b);w._paragraphStyle_setApplyRoundingHack=(a,b)=>(w._paragraphStyle_setApplyRoundingHack=F.paragraphStyle_setApplyRoundingHack)(a,b);w._strutStyle_create=()=>(w._strutStyle_create=F.strutStyle_create)(); +w._strutStyle_dispose=a=>(w._strutStyle_dispose=F.strutStyle_dispose)(a);w._strutStyle_setFontFamilies=(a,b,c)=>(w._strutStyle_setFontFamilies=F.strutStyle_setFontFamilies)(a,b,c);w._strutStyle_setFontSize=(a,b)=>(w._strutStyle_setFontSize=F.strutStyle_setFontSize)(a,b);w._strutStyle_setHeight=(a,b)=>(w._strutStyle_setHeight=F.strutStyle_setHeight)(a,b);w._strutStyle_setHalfLeading=(a,b)=>(w._strutStyle_setHalfLeading=F.strutStyle_setHalfLeading)(a,b); +w._strutStyle_setLeading=(a,b)=>(w._strutStyle_setLeading=F.strutStyle_setLeading)(a,b);w._strutStyle_setFontStyle=(a,b,c)=>(w._strutStyle_setFontStyle=F.strutStyle_setFontStyle)(a,b,c);w._strutStyle_setForceStrutHeight=(a,b)=>(w._strutStyle_setForceStrutHeight=F.strutStyle_setForceStrutHeight)(a,b);w._textStyle_create=()=>(w._textStyle_create=F.textStyle_create)();w._textStyle_copy=a=>(w._textStyle_copy=F.textStyle_copy)(a);w._textStyle_dispose=a=>(w._textStyle_dispose=F.textStyle_dispose)(a); +w._textStyle_setColor=(a,b)=>(w._textStyle_setColor=F.textStyle_setColor)(a,b);w._textStyle_setDecoration=(a,b)=>(w._textStyle_setDecoration=F.textStyle_setDecoration)(a,b);w._textStyle_setDecorationColor=(a,b)=>(w._textStyle_setDecorationColor=F.textStyle_setDecorationColor)(a,b);w._textStyle_setDecorationStyle=(a,b)=>(w._textStyle_setDecorationStyle=F.textStyle_setDecorationStyle)(a,b); +w._textStyle_setDecorationThickness=(a,b)=>(w._textStyle_setDecorationThickness=F.textStyle_setDecorationThickness)(a,b);w._textStyle_setFontStyle=(a,b,c)=>(w._textStyle_setFontStyle=F.textStyle_setFontStyle)(a,b,c);w._textStyle_setTextBaseline=(a,b)=>(w._textStyle_setTextBaseline=F.textStyle_setTextBaseline)(a,b);w._textStyle_clearFontFamilies=a=>(w._textStyle_clearFontFamilies=F.textStyle_clearFontFamilies)(a); +w._textStyle_addFontFamilies=(a,b,c)=>(w._textStyle_addFontFamilies=F.textStyle_addFontFamilies)(a,b,c);w._textStyle_setFontSize=(a,b)=>(w._textStyle_setFontSize=F.textStyle_setFontSize)(a,b);w._textStyle_setLetterSpacing=(a,b)=>(w._textStyle_setLetterSpacing=F.textStyle_setLetterSpacing)(a,b);w._textStyle_setWordSpacing=(a,b)=>(w._textStyle_setWordSpacing=F.textStyle_setWordSpacing)(a,b);w._textStyle_setHeight=(a,b)=>(w._textStyle_setHeight=F.textStyle_setHeight)(a,b); +w._textStyle_setHalfLeading=(a,b)=>(w._textStyle_setHalfLeading=F.textStyle_setHalfLeading)(a,b);w._textStyle_setLocale=(a,b)=>(w._textStyle_setLocale=F.textStyle_setLocale)(a,b);w._textStyle_setBackground=(a,b)=>(w._textStyle_setBackground=F.textStyle_setBackground)(a,b);w._textStyle_setForeground=(a,b)=>(w._textStyle_setForeground=F.textStyle_setForeground)(a,b);w._textStyle_addShadow=(a,b,c,e,f)=>(w._textStyle_addShadow=F.textStyle_addShadow)(a,b,c,e,f); +w._textStyle_addFontFeature=(a,b,c)=>(w._textStyle_addFontFeature=F.textStyle_addFontFeature)(a,b,c);w._textStyle_setFontVariations=(a,b,c,e)=>(w._textStyle_setFontVariations=F.textStyle_setFontVariations)(a,b,c,e);w._vertices_create=(a,b,c,e,f,g,k)=>(w._vertices_create=F.vertices_create)(a,b,c,e,f,g,k);w._vertices_dispose=a=>(w._vertices_dispose=F.vertices_dispose)(a);var eb=w._pthread_self=()=>(eb=w._pthread_self=F.pthread_self)(),ob=a=>(ob=F.malloc)(a); +w.__emscripten_tls_init=()=>(w.__emscripten_tls_init=F._emscripten_tls_init)();var md=w.__emscripten_thread_init=(a,b,c,e,f,g)=>(md=w.__emscripten_thread_init=F._emscripten_thread_init)(a,b,c,e,f,g);w.__emscripten_thread_crashed=()=>(w.__emscripten_thread_crashed=F._emscripten_thread_crashed)(); +var mc=(a,b,c,e)=>(mc=F._emscripten_run_in_main_runtime_thread_js)(a,b,c,e),Cb=(a,b,c,e,f)=>(Cb=F.emscripten_dispatch_to_thread_)(a,b,c,e,f),cb=a=>(cb=F._emscripten_thread_free_data)(a),ib=w.__emscripten_thread_exit=a=>(ib=w.__emscripten_thread_exit=F._emscripten_thread_exit)(a),vb=w.__emscripten_check_mailbox=()=>(vb=w.__emscripten_check_mailbox=F._emscripten_check_mailbox)(),Z=(a,b)=>(Z=F.setThrew)(a,b),hb=(a,b)=>(hb=F.emscripten_stack_set_limits)(a,b),O=()=>(O=F.stackSave)(),N=a=>(N=F.stackRestore)(a), +Bb=w.stackAlloc=a=>(Bb=w.stackAlloc=F.stackAlloc)(a);function od(a,b,c){var e=O();try{return G.get(a)(b,c)}catch(f){N(e);if(f!==f+0)throw f;Z(1,0)}}function td(a,b,c){var e=O();try{G.get(a)(b,c)}catch(f){N(e);if(f!==f+0)throw f;Z(1,0)}}function nd(a,b){var c=O();try{return G.get(a)(b)}catch(e){N(c);if(e!==e+0)throw e;Z(1,0)}}function ud(a,b,c,e){var f=O();try{G.get(a)(b,c,e)}catch(g){N(f);if(g!==g+0)throw g;Z(1,0)}} +function pd(a,b,c,e){var f=O();try{return G.get(a)(b,c,e)}catch(g){N(f);if(g!==g+0)throw g;Z(1,0)}}function vd(a,b,c,e,f){var g=O();try{G.get(a)(b,c,e,f)}catch(k){N(g);if(k!==k+0)throw k;Z(1,0)}}function wd(a,b,c,e,f,g,k,n){var r=O();try{G.get(a)(b,c,e,f,g,k,n)}catch(u){N(r);if(u!==u+0)throw u;Z(1,0)}}function sd(a,b){var c=O();try{G.get(a)(b)}catch(e){N(c);if(e!==e+0)throw e;Z(1,0)}}function rd(a,b,c,e,f,g,k){var n=O();try{return G.get(a)(b,c,e,f,g,k)}catch(r){N(n);if(r!==r+0)throw r;Z(1,0)}} +function qd(a,b,c,e,f){var g=O();try{return G.get(a)(b,c,e,f)}catch(k){N(g);if(k!==k+0)throw k;Z(1,0)}}w.keepRuntimeAlive=Ka;w.wasmMemory=d;w.wasmExports=F; +w.addFunction=function(a,b){if(!bd){bd=new WeakMap;var c=G.length;if(bd)for(var e=0;e<0+c;e++){var f=G.get(e);f&&bd.set(f,e)}}if(c=bd.get(a)||0)return c;if(cd.length)c=cd.pop();else{try{G.grow(1)}catch(n){if(!(n instanceof RangeError))throw n;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";}c=G.length-1}try{G.set(c,a)}catch(n){if(!(n instanceof TypeError))throw n;if("function"==typeof WebAssembly.Function){e=WebAssembly.Function;f={i:"i32",j:"i64",f:"f32",d:"f64",p:"i32"};for(var g={parameters:[], +results:"v"==b[0]?[]:[f[b[0]]]},k=1;kk?e.push(k):e.push(k%128|128,k>>7);for(k=0;kf?b.push(f):b.push(f%128|128,f>>7);b.push.apply(b,e);b.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);b=new WebAssembly.Module(new Uint8Array(b));b=(new WebAssembly.Instance(b, +{e:{f:a}})).exports.f}G.set(c,b)}bd.set(a,c);return c};w.ExitStatus=Ua;w.PThread=J;var yd;Ma=function zd(){yd||Ad();yd||(Ma=zd)}; +function Ad(){function a(){if(!yd&&(yd=!0,w.calledRun=!0,!Ba)){A||gb(Ha);ja(w);if(w.onRuntimeInitialized)w.onRuntimeInitialized();if(!A){if(w.postRun)for("function"==typeof w.postRun&&(w.postRun=[w.postRun]);w.postRun.length;){var b=w.postRun.shift();Ia.unshift(b)}gb(Ia)}}}if(!(0\2c\20std::__2::allocator>::~basic_string\28\29 +206:dlfree +207:sk_sp::~sk_sp\28\29 +208:operator\20new\28unsigned\20long\29 +209:GrGLSLShaderBuilder::codeAppendf\28char\20const*\2c\20...\29 +210:sk_sp::~sk_sp\28\29 +211:void\20SkSafeUnref\28GrSurfaceProxy*\29\20\28.4210\29 +212:void\20SkSafeUnref\28SkImageFilter*\29\20\28.2087\29 +213:operator\20delete\28void*\29 +214:SkRasterPipeline::uncheckedAppend\28SkRasterPipelineOp\2c\20void*\29 +215:void\20SkSafeUnref\28SkString::Rec*\29 +216:GrGLSLShaderBuilder::codeAppend\28char\20const*\29 +217:__cxa_guard_release +218:__cxa_guard_acquire +219:SkSL::ErrorReporter::error\28SkSL::Position\2c\20std::__2::basic_string_view>\29 +220:SkSL::GLSLCodeGenerator::write\28std::__2::basic_string_view>\29 +221:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\5babi:v160004\5d\2c\20std::__2::allocator>\28std::__2::basic_string\2c\20std::__2::allocator>&&\2c\20char\20const*\29 +222:hb_blob_destroy +223:SkImageGenerator::onIsProtected\28\29\20const +224:SkDebugf\28char\20const*\2c\20...\29 +225:fmaxf +226:skia_private::TArray::~TArray\28\29 +227:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\5babi:v160004\5d\2c\20std::__2::allocator>\28char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>&&\29 +228:SkSL::Type::matches\28SkSL::Type\20const&\29\20const +229:std::__2::basic_string\2c\20std::__2::allocator>::size\5babi:v160004\5d\28\29\20const +230:std::__2::__function::__value_func::~__value_func\5babi:v160004\5d\28\29 +231:hb_sanitize_context_t::check_range\28void\20const*\2c\20unsigned\20int\29\20const +232:GrShaderVar::~GrShaderVar\28\29 +233:void\20SkSafeUnref\28SkPathRef*\29 +234:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\5babi:v160004\5d\2c\20std::__2::allocator>\28std::__2::basic_string\2c\20std::__2::allocator>&&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&&\29 +235:testSetjmp +236:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::destroy\28\29 +237:hb_buffer_t::message\28hb_font_t*\2c\20char\20const*\2c\20...\29 +238:GrColorInfo::~GrColorInfo\28\29 +239:SkArenaAlloc::allocObject\28unsigned\20int\2c\20unsigned\20int\29 +240:std::__2::basic_string\2c\20std::__2::allocator>::basic_string>\2c\20void>\28std::__2::basic_string_view>\20const&\29 +241:fminf +242:SkPaint::~SkPaint\28\29 +243:SkAnySubclass::reset\28\29 +244:FT_DivFix +245:sk_sp::reset\28SkFontStyleSet*\29 +246:SkMutex::release\28\29 +247:strlen +248:skvx::Vec<4\2c\20float>\20skvx::naive_if_then_else<4\2c\20float>\28skvx::Vec<4\2c\20skvx::Mask::type>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.5821\29 +249:SkPath::SkPath\28\29 +250:std::exception::~exception\28\29 +251:skia_private::TArray>\2c\20true>::~TArray\28\29 +252:skia_png_crc_finish +253:skia_png_chunk_benign_error +254:hb_buffer_t::next_glyph\28\29 +255:SkSL::RP::Generator::pushExpression\28SkSL::Expression\20const&\2c\20bool\29 +256:SkSL::Pool::AllocMemory\28unsigned\20long\29 +257:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char\20const*\29 +258:SkSL::RP::Builder::appendInstruction\28SkSL::RP::BuilderOp\2c\20SkSL::RP::Builder::SlotList\2c\20int\2c\20int\2c\20int\2c\20int\29 +259:SkMatrix::hasPerspective\28\29\20const +260:sk_report_container_overflow_and_die\28\29 +261:SkSemaphore::wait\28\29 +262:SkBitmap::~SkBitmap\28\29 +263:skgpu::ganesh::VertexChunkPatchAllocator::append\28skgpu::tess::LinearTolerances\20const&\29 +264:SkString::appendf\28char\20const*\2c\20...\29 +265:skgpu::VertexWriter&\20skgpu::tess::operator<<<\28skgpu::tess::PatchAttribs\298\2c\20skgpu::VertexColor\2c\20false\2c\20true>\28skgpu::VertexWriter&\2c\20skgpu::tess::AttribValue<\28skgpu::tess::PatchAttribs\298\2c\20skgpu::VertexColor\2c\20false\2c\20true>\20const&\29 +266:SkWriter32::write32\28int\29 +267:SkContainerAllocator::allocate\28int\2c\20double\29 +268:\28anonymous\20namespace\29::ColorTypeFilter_F16F16::Expand\28unsigned\20int\29 +269:FT_MulDiv +270:SkString::append\28char\20const*\29 +271:SkArenaAlloc::allocObjectWithFooter\28unsigned\20int\2c\20unsigned\20int\29 +272:std::__2::basic_string\2c\20std::__2::allocator>::append\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +273:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +274:OT::VarStoreInstancer::operator\28\29\28unsigned\20int\2c\20unsigned\20short\29\20const +275:SkIRect::intersect\28SkIRect\20const&\29 +276:dlmalloc +277:ft_mem_realloc +278:skia_png_free +279:lang_matches\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20int\29 +280:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +281:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\29 +282:SkSL::Parser::expect\28SkSL::Token::Kind\2c\20char\20const*\2c\20SkSL::Token*\29 +283:SkIntersections::insert\28double\2c\20double\2c\20SkDPoint\20const&\29 +284:ft_mem_qrealloc +285:SkMatrix::invert\28SkMatrix*\29\20const +286:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +287:std::__2::basic_string\2c\20std::__2::allocator>::resize\28unsigned\20long\2c\20char\29 +288:sk_sp::~sk_sp\28\29 +289:sk_sp::~sk_sp\28\29 +290:SkIRect::isEmpty\28\29\20const +291:skia_private::TArray::push_back\28SkSL::RP::Program::Stage&&\29 +292:cf2_stack_popFixed +293:GrTextureGenerator::isTextureGenerator\28\29\20const +294:void\20SkSafeUnref\28SkColorSpace*\29\20\28.2042\29 +295:strcmp +296:SkSL::GLSLCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +297:SkBitmap::SkBitmap\28\29 +298:subtag_matches\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20int\29 +299:std::__2::vector\2c\20std::__2::allocator>>::__throw_length_error\5babi:v160004\5d\28\29\20const +300:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +301:cf2_stack_getReal +302:SkSL::Type::displayName\28\29\20const +303:sk_sp::reset\28SkImageFilter*\29 +304:dlcalloc +305:SkImageGenerator::onGetYUVAPlanes\28SkYUVAPixmaps\20const&\29 +306:GrAuditTrail::pushFrame\28char\20const*\29 +307:std::__2::locale::~locale\28\29 +308:FT_Stream_Seek +309:skif::FilterResult::~FilterResult\28\29 +310:SkPaint::SkPaint\28SkPaint\20const&\29 +311:hb_vector_t::fini\28\29 +312:SkString::SkString\28SkString&&\29 +313:GrGeometryProcessor::Attribute::asShaderVar\28\29\20const +314:strncmp +315:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrShaderCaps*\29 +316:SkBlitter::~SkBlitter\28\29.1 +317:std::__2::to_string\28int\29 +318:SkTDStorage::~SkTDStorage\28\29 +319:SkSL::Parser::peek\28\29 +320:std::__2::ios_base::getloc\28\29\20const +321:std::__2::basic_string\2c\20std::__2::allocator>::__get_pointer\5babi:v160004\5d\28\29 +322:hb_ot_map_builder_t::add_feature\28unsigned\20int\2c\20hb_ot_map_feature_flags_t\2c\20unsigned\20int\29 +323:SkWStream::writeText\28char\20const*\29 +324:GrProcessor::operator\20new\28unsigned\20long\29 +325:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28\29 +326:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float\2c\20float\2c\20void>\28float\2c\20skvx::Vec<4\2c\20float>\20const&\29 +327:SkPath::getBounds\28\29\20const +328:SkMakeRuntimeEffect\28SkRuntimeEffect::Result\20\28*\29\28SkString\2c\20SkRuntimeEffect::Options\20const&\29\2c\20char\20const*\2c\20SkRuntimeEffect::Options\29 +329:GrPixmapBase::~GrPixmapBase\28\29 +330:GrGLSLUniformHandler::addUniform\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20char\20const**\29 +331:void\20SkSafeUnref\28SkData\20const*\29\20\28.1172\29 +332:hb_face_t::get_num_glyphs\28\29\20const +333:SkString::~SkString\28\29 +334:GrSurfaceProxyView::operator=\28GrSurfaceProxyView&&\29 +335:GrPaint::~GrPaint\28\29 +336:FT_Stream_ReadUShort +337:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +338:__errno_location +339:SkIRect::contains\28SkIRect\20const&\29\20const +340:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +341:std::__2::unique_ptr>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +342:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +343:skvx::Vec<8\2c\20unsigned\20short>&\20skvx::operator+=<8\2c\20unsigned\20short>\28skvx::Vec<8\2c\20unsigned\20short>&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29 +344:sk_sp::~sk_sp\28\29 +345:SkMatrix::SkMatrix\28\29 +346:SkArenaAlloc::RunDtorsOnBlock\28char*\29 +347:skia_png_warning +348:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +349:SkString::SkString\28char\20const*\29 +350:GrGLContextInfo::hasExtension\28char\20const*\29\20const +351:skgpu::Swizzle::Swizzle\28char\20const*\29 +352:hb_sanitize_context_t::start_processing\28\29 +353:__shgetc +354:FT_Stream_GetUShort +355:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28wchar_t\20const*\29 +356:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28char\20const*\29 +357:skia_private::TArray>\2c\20true>::push_back\28std::__2::unique_ptr>&&\29 +358:hb_sanitize_context_t::~hb_sanitize_context_t\28\29 +359:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::istreambuf_iterator>\20const&\2c\20std::__2::istreambuf_iterator>\20const&\29 +360:SkSL::Expression::clone\28\29\20const +361:SkMatrix::mapRect\28SkRect*\2c\20SkRect\20const&\2c\20SkApplyPerspectiveClip\29\20const +362:std::__2::shared_ptr<_IO_FILE>::~shared_ptr\5babi:v160004\5d\28\29 +363:hb_lazy_loader_t\2c\20hb_face_t\2c\2033u\2c\20hb_blob_t>::do_destroy\28hb_blob_t*\29 +364:SkDQuad::set\28SkPoint\20const*\29 +365:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +366:skia_private::AutoSTMalloc<17ul\2c\20SkPoint\2c\20void>::~AutoSTMalloc\28\29 +367:FT_Stream_ExitFrame +368:std::__throw_bad_array_new_length\5babi:v160004\5d\28\29 +369:skvx::Vec<4\2c\20int>\20skvx::operator&<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +370:skia_png_error +371:memcmp +372:hb_face_reference_table +373:SkPixmap::SkPixmap\28\29 +374:SkPath::SkPath\28SkPath\20const&\29 +375:skif::FilterResult::FilterResult\28\29 +376:skgpu::ganesh::SurfaceDrawContext::addDrawOp\28GrClip\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::function\20const&\29 +377:hb_buffer_t::unsafe_to_break\28unsigned\20int\2c\20unsigned\20int\29 +378:\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16::Expand\28unsigned\20long\20long\29 +379:\28anonymous\20namespace\29::ColorTypeFilter_8888::Expand\28unsigned\20int\29 +380:\28anonymous\20namespace\29::ColorTypeFilter_16161616::Expand\28unsigned\20long\20long\29 +381:\28anonymous\20namespace\29::ColorTypeFilter_1010102::Expand\28unsigned\20long\20long\29 +382:SkStringPrintf\28char\20const*\2c\20...\29 +383:SkRecord::grow\28\29 +384:SkPictureRecord::addDraw\28DrawType\2c\20unsigned\20long*\29 +385:OT::Layout::Common::Coverage::get_coverage\28unsigned\20int\29\20const +386:std::__2::unique_ptr::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +387:std::__2::__cloc\28\29 +388:sscanf +389:skvx::Vec<4\2c\20int>\20skvx::operator!<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\29 +390:skia::textlayout::ParagraphImpl::getUTF16Index\28unsigned\20long\29\20const +391:__cxa_atexit +392:SkRect::intersect\28SkRect\20const&\29 +393:skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>::STArray\28skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>&&\29 +394:skia_png_chunk_error +395:hb_blob_get_data_writable +396:bool\20hb_sanitize_context_t::check_range>\28OT::IntType\20const*\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +397:__multf3 +398:SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29::operator\28\29\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29\20const +399:SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0::operator\28\29\28SkSL::FunctionDefinition\20const*\2c\20SkSL::FunctionDefinition\20const*\29\20const +400:SkSL::GLSLCodeGenerator::writeLine\28std::__2::basic_string_view>\29 +401:SkRect::outset\28float\2c\20float\29 +402:SkMatrix::mapPoints\28SkPoint*\2c\20int\29\20const +403:SkMatrix::getType\28\29\20const +404:SkChecksum::Hash32\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20int\29 +405:std::__2::unique_ptr>\20SkSL::evaluate_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +406:std::__2::basic_string_view>::compare\28std::__2::basic_string_view>\29\20const +407:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\5babi:v160004\5d\2c\20std::__2::allocator>\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20char\20const*\29 +408:SkSL::String::printf\28char\20const*\2c\20...\29 +409:SkNullBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +410:SkIRect::Intersects\28SkIRect\20const&\2c\20SkIRect\20const&\29 +411:SkArenaAlloc::makeBytesAlignedTo\28unsigned\20long\2c\20unsigned\20long\29 +412:GrGLSLVaryingHandler::addVarying\28char\20const*\2c\20GrGLSLVarying*\2c\20GrGLSLVaryingHandler::Interpolation\29 +413:GrBackendFormats::AsGLFormat\28GrBackendFormat\20const&\29 +414:FT_Stream_EnterFrame +415:strstr +416:std::__2::locale::id::__get\28\29 +417:std::__2::locale::facet::facet\5babi:v160004\5d\28unsigned\20long\29 +418:skgpu::UniqueKey::~UniqueKey\28\29 +419:ft_mem_alloc +420:SkString::operator=\28char\20const*\29 +421:SkSL::Pool::FreeMemory\28void*\29 +422:SkRect::setBoundsCheck\28SkPoint\20const*\2c\20int\29 +423:SkDPoint::approximatelyEqual\28SkDPoint\20const&\29\20const +424:GrProcessorSet::GrProcessorSet\28GrPaint&&\29 +425:GrOpFlushState::bindPipelineAndScissorClip\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +426:std::__2::locale::__imp::install\28std::__2::locale::facet*\2c\20long\29 +427:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +428:skia_png_muldiv +429:f_t_mutex\28\29 +430:SkTDStorage::reserve\28int\29 +431:SkSL::RP::Builder::discard_stack\28int\29 +432:GrStyledShape::~GrStyledShape\28\29 +433:GrOp::~GrOp\28\29 +434:GrGeometryProcessor::AttributeSet::initImplicit\28GrGeometryProcessor::Attribute\20const*\2c\20int\29 +435:void\20SkSafeUnref\28GrSurface*\29 +436:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +437:skia_private::THashTable>*\2c\20std::__2::unique_ptr>*\2c\20SkGoodHash>::Pair\2c\20std::__2::unique_ptr>*\2c\20skia_private::THashMap>*\2c\20std::__2::unique_ptr>*\2c\20SkGoodHash>::Pair>::Hash\28std::__2::unique_ptr>*\20const&\29 +438:sk_sp::~sk_sp\28\29 +439:hb_buffer_t::unsafe_to_concat\28unsigned\20int\2c\20unsigned\20int\29 +440:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +441:SkSL::PipelineStage::PipelineStageCodeGenerator::writeExpression\28SkSL::Expression\20const&\2c\20SkSL::OperatorPrecedence\29 +442:SkRegion::freeRuns\28\29 +443:SkRect::roundOut\28\29\20const +444:SkRect::contains\28SkRect\20const&\29\20const +445:SkPoint::length\28\29\20const +446:SkPath::~SkPath\28\29 +447:SkMatrix::mapPoints\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +448:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +449:skvx::Vec<8\2c\20unsigned\20short>\20skvx::mulhi<8>\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29 +450:hb_ot_map_builder_t::add_gsub_pause\28bool\20\28*\29\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29\29 +451:cf2_stack_pushFixed +452:byn$mgfn-shared$decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTriColorShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +453:SkSL::RP::Builder::binary_op\28SkSL::RP::BuilderOp\2c\20int\29 +454:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20SkFilterMode\2c\20SkMipmapMode\29 +455:GrShaderVar::GrShaderVar\28char\20const*\2c\20SkSLType\2c\20int\29 +456:GrProcessor::operator\20new\28unsigned\20long\2c\20unsigned\20long\29 +457:GrOp::GenID\28std::__2::atomic*\29 +458:GrImageInfo::GrImageInfo\28GrImageInfo&&\29 +459:GrGLSLVaryingHandler::addPassThroughAttribute\28GrShaderVar\20const&\2c\20char\20const*\2c\20GrGLSLVaryingHandler::Interpolation\29 +460:GrFragmentProcessor::registerChild\28std::__2::unique_ptr>\2c\20SkSL::SampleUsage\29 +461:textStyle_setDecoration +462:std::__2::istreambuf_iterator>::operator*\5babi:v160004\5d\28\29\20const +463:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +464:std::__2::__split_buffer&>::~__split_buffer\28\29 +465:sk_sp::~sk_sp\28\29 +466:hb_buffer_t::merge_clusters\28unsigned\20int\2c\20unsigned\20int\29 +467:dlrealloc +468:SkSL::SymbolTable::addWithoutOwnershipOrDie\28SkSL::Symbol*\29 +469:SkSL::Nop::~Nop\28\29 +470:SkRecords::FillBounds::updateSaveBounds\28SkRect\20const&\29 +471:SkPoint::normalize\28\29 +472:SkPath::lineTo\28float\2c\20float\29 +473:SkMatrix::mapRect\28SkRect\20const&\2c\20SkApplyPerspectiveClip\29\20const +474:SkMatrix::isIdentity\28\29\20const +475:SkJSONWriter::write\28char\20const*\2c\20unsigned\20long\29 +476:GrSkSLFP::UniformPayloadSize\28SkRuntimeEffect\20const*\29 +477:GrSkSLFP::GrSkSLFP\28sk_sp\2c\20char\20const*\2c\20GrSkSLFP::OptFlags\29 +478:std::__2::unique_ptr::unique_ptr\5babi:v160004\5d\28char*\2c\20std::__2::__dependent_type\2c\20true>::__good_rval_ref_type\29 +479:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +480:std::__2::enable_if::value\20&&\20sizeof\20\28unsigned\20int\29\20==\204\2c\20unsigned\20int>::type\20SkGoodHash::operator\28\29\28unsigned\20int\20const&\29\20const +481:std::__2::__throw_system_error\28int\2c\20char\20const*\29 +482:skia_private::TArray::push_back_raw\28int\29 +483:skgpu::UniqueKey::UniqueKey\28\29 +484:sk_sp::reset\28GrSurface*\29 +485:__multi3 +486:SkTDArray::push_back\28SkPoint\20const&\29 +487:SkStrokeRec::getStyle\28\29\20const +488:SkSL::fold_expression\28SkSL::Position\2c\20double\2c\20SkSL::Type\20const*\29 +489:SkPath::lineTo\28SkPoint\20const&\29 +490:SkJSONWriter::appendBool\28char\20const*\2c\20bool\29 +491:GrTriangulator::Comparator::sweep_lt\28SkPoint\20const&\2c\20SkPoint\20const&\29\20const +492:CFF::arg_stack_t::pop_uint\28\29 +493:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +494:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +495:skia_png_crc_read +496:SkSpinlock::acquire\28\29 +497:SkSL::Type::MakeAliasType\28std::__2::basic_string_view>\2c\20SkSL::Type\20const&\29 +498:SkSL::Parser::rangeFrom\28SkSL::Position\29 +499:SkSL::Parser::checkNext\28SkSL::Token::Kind\2c\20SkSL::Token*\29 +500:SkMatrix::isScaleTranslate\28\29\20const +501:SkMatrix::Concat\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +502:GrOpFlushState::bindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +503:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +504:std::__2::__throw_bad_function_call\5babi:v160004\5d\28\29 +505:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +506:sk_malloc_throw\28unsigned\20long\2c\20unsigned\20long\29 +507:hb_paint_funcs_t::pop_transform\28void*\29 +508:fma +509:a_cas +510:SkStrikeSpec::~SkStrikeSpec\28\29 +511:SkSL::RP::Builder::lastInstruction\28int\29 +512:SkMatrix::rectStaysRect\28\29\20const +513:SkMatrix::mapRect\28SkRect*\2c\20SkApplyPerspectiveClip\29\20const +514:SkColorSpaceXformSteps::SkColorSpaceXformSteps\28SkColorSpace\20const*\2c\20SkAlphaType\2c\20SkColorSpace\20const*\2c\20SkAlphaType\29 +515:OT::ArrayOf\2c\20OT::IntType>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +516:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28char\29 +517:sk_malloc_flags\28unsigned\20long\2c\20unsigned\20int\29 +518:hb_draw_funcs_t::start_path\28void*\2c\20hb_draw_state_t&\29 +519:hb_buffer_t::reverse\28\29 +520:SkTDStorage::append\28\29 +521:SkTDArray::append\28\29 +522:SkString::operator=\28SkString\20const&\29 +523:SkSL::Type::toCompound\28SkSL::Context\20const&\2c\20int\2c\20int\29\20const +524:SkSL::RP::Generator::binaryOp\28SkSL::Type\20const&\2c\20SkSL::RP::Generator::TypedOps\20const&\29 +525:SkRecords::FillBounds::adjustAndMap\28SkRect\2c\20SkPaint\20const*\29\20const +526:SkPath::operator=\28SkPath\20const&\29 +527:SkMatrix::preConcat\28SkMatrix\20const&\29 +528:SkMatrix::postTranslate\28float\2c\20float\29 +529:SkMatrix::Translate\28float\2c\20float\29 +530:SkDCubic::set\28SkPoint\20const*\29 +531:GrStyle::isSimpleFill\28\29\20const +532:GrGLSLVaryingHandler::emitAttributes\28GrGeometryProcessor\20const&\29 +533:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::Item::setIndices\28\29 +534:std::__2::unique_ptr::reset\5babi:v160004\5d\28unsigned\20char*\29 +535:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +536:skvx::Vec<8\2c\20unsigned\20short>\20skvx::operator+<8\2c\20unsigned\20short>\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29 +537:skif::FilterResult::operator=\28skif::FilterResult&&\29 +538:skgpu::VertexColor::set\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\29 +539:skgpu::ResourceKey::Builder::finish\28\29 +540:sk_sp::~sk_sp\28\29 +541:pthread_mutex_unlock +542:ft_validator_error +543:_hb_next_syllable\28hb_buffer_t*\2c\20unsigned\20int\29 +544:SkSL::Parser::error\28SkSL::Token\2c\20std::__2::basic_string_view>\29 +545:SkSL::GLSLCodeGenerator::writeIdentifier\28std::__2::basic_string_view>\29 +546:SkSL::ConstantFolder::GetConstantValueForVariable\28SkSL::Expression\20const&\29 +547:SkPictureRecord::addPaintPtr\28SkPaint\20const*\29 +548:SkPath::reset\28\29 +549:SkGlyph::rowBytes\28\29\20const +550:GrSurfaceProxy::backingStoreDimensions\28\29\20const +551:GrProgramInfo::visitFPProxies\28std::__2::function\20const&\29\20const +552:GrMeshDrawOp::createProgramInfo\28GrMeshDrawTarget*\29 +553:GrGpu::handleDirtyContext\28\29 +554:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28\29 +555:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +556:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29\20\28.6962\29 +557:skvx::Vec<4\2c\20float>\20\28anonymous\20namespace\29::add_121>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +558:skia_private::TArray::Allocate\28int\2c\20double\29 +559:skia_private::TArray\2c\20true>::installDataAndUpdateCapacity\28SkSpan\29 +560:pthread_mutex_lock +561:machine_index_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>::operator=\28machine_index_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>\20const&\29 +562:hb_draw_funcs_t::emit_line_to\28void*\2c\20hb_draw_state_t&\2c\20float\2c\20float\29 +563:SkWriter32::reserve\28unsigned\20long\29 +564:SkTSect::pointLast\28\29\20const +565:SkTDArray::push_back\28int\20const&\29 +566:SkStrokeRec::isHairlineStyle\28\29\20const +567:SkSL::Type::MakeVectorType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\29 +568:SkSL::TProgramVisitor::visitStatement\28SkSL::Statement\20const&\29 +569:SkRect::join\28SkRect\20const&\29 +570:SkPath::Iter::next\28SkPoint*\29 +571:SkMatrix::Scale\28float\2c\20float\29 +572:FT_Stream_ReadFields +573:FT_Stream_GetULong +574:target_from_texture_type\28GrTextureType\29 +575:std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +576:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +577:std::__2::__unique_if::__unique_array_unknown_bound\20std::__2::make_unique\5babi:v160004\5d\28unsigned\20long\29 +578:skvx::Vec<4\2c\20unsigned\20short>\20skvx::operator+<4\2c\20unsigned\20short>\28skvx::Vec<4\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20short>\20const&\29 +579:skvx::Vec<4\2c\20unsigned\20int>\20skvx::operator+<4\2c\20unsigned\20int>\28skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +580:skif::Context::~Context\28\29 +581:skia::textlayout::TextStyle::~TextStyle\28\29 +582:skia::textlayout::TextStyle::TextStyle\28skia::textlayout::TextStyle\20const&\29 +583:png_icc_profile_error +584:hb_font_t::get_nominal_glyph\28unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\29 +585:SkSL::RP::Program::makeStages\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20SkSpan\2c\20SkSL::RP::Program::SlotData\20const&\29\20const::$_2::operator\28\29\28\29\20const +586:SkSL::ConstructorCompound::MakeFromConstants\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20double\20const*\29 +587:SkRect::roundOut\28SkIRect*\29\20const +588:SkPathPriv::Iterate::Iterate\28SkPath\20const&\29 +589:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_2::operator\28\29\28SkRasterPipelineOp\2c\20SkRasterPipelineOp\2c\20\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +590:SkColorSpace::MakeSRGB\28\29 +591:SkBitmap::SkBitmap\28SkBitmap\20const&\29 +592:OT::OffsetTo\2c\20OT::IntType\2c\20true>::operator\28\29\28void\20const*\29\20const +593:GrFragmentProcessor::ProgramImpl::invokeChild\28int\2c\20GrFragmentProcessor::ProgramImpl::EmitArgs&\2c\20std::__2::basic_string_view>\29 +594:GrCaps::getDefaultBackendFormat\28GrColorType\2c\20skgpu::Renderable\29\20const +595:FT_Stream_ReleaseFrame +596:DefaultGeoProc::Impl::~Impl\28\29 +597:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock&\2c\20skia::textlayout::OneLineShaper::RunBlock&\29 +598:std::__2::enable_if<_CheckArrayPointerConversion>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot\20\5b\5d>>::reset\5babi:v160004\5d>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot*>\28skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::Slot*\29 +599:sk_srgb_singleton\28\29 +600:out +601:cosf +602:cf2_stack_popInt +603:SkSemaphore::~SkSemaphore\28\29 +604:SkSL::Type::coerceExpression\28std::__2::unique_ptr>\2c\20SkSL::Context\20const&\29\20const +605:SkSL::Type::MakeGenericType\28char\20const*\2c\20SkSpan\2c\20SkSL::Type\20const*\29 +606:SkSL::RP::SlotManager::getVariableSlots\28SkSL::Variable\20const&\29 +607:SkRGBA4f<\28SkAlphaType\292>::operator!=\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +608:SkPathStroker::lineTo\28SkPoint\20const&\2c\20SkPath::Iter\20const*\29 +609:SkPath::conicTo\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\29 +610:SkPaint::setColor\28unsigned\20int\29 +611:SkMatrix::postConcat\28SkMatrix\20const&\29 +612:SkImageInfo::minRowBytes\28\29\20const +613:SkDrawBase::~SkDrawBase\28\29 +614:SkDCubic::ptAtT\28double\29\20const +615:GrStyle::~GrStyle\28\29 +616:GrShaderVar::operator=\28GrShaderVar&&\29 +617:GrProcessor::operator\20delete\28void*\29 +618:GrImageInfo::GrImageInfo\28SkImageInfo\20const&\29 +619:GrColorInfo::GrColorInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\29 +620:FT_Outline_Translate +621:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +622:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +623:std::__2::__check_grouping\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int&\29 +624:skvx::Vec<4\2c\20int>\20skvx::operator|<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +625:skia_private::TArray::push_back\28int&&\29 +626:skia_png_chunk_report +627:pad +628:__memcpy +629:__ashlti3 +630:SkTCoincident::setPerp\28SkTCurve\20const&\2c\20double\2c\20SkDPoint\20const&\2c\20SkTCurve\20const&\29 +631:SkSL::Type::MakeMatrixType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type\20const&\2c\20int\2c\20signed\20char\29 +632:SkSL::Parser::nextToken\28\29 +633:SkSL::Operator::tightOperatorName\28\29\20const +634:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29::$_0::operator\28\29\28std::__2::unique_ptr>\20const&\29\20const +635:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29 +636:SkPath::Iter::setPath\28SkPath\20const&\2c\20bool\29 +637:SkDVector::crossCheck\28SkDVector\20const&\29\20const +638:SkColorSpaceXformSteps::apply\28float*\29\20const +639:SkCanvas::internalQuickReject\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\29 +640:SkBlitter::~SkBlitter\28\29 +641:SkBitmapDevice::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +642:GrSimpleMeshDrawOpHelper::~GrSimpleMeshDrawOpHelper\28\29 +643:GrSimpleMeshDrawOpHelper::visitProxies\28std::__2::function\20const&\29\20const +644:GrShape::reset\28\29 +645:GrShape::bounds\28\29\20const +646:GrShaderVar::appendDecl\28GrShaderCaps\20const*\2c\20SkString*\29\20const +647:GrQuad::MakeFromRect\28SkRect\20const&\2c\20SkMatrix\20const&\29 +648:GrOpFlushState::drawMesh\28GrSimpleMesh\20const&\29 +649:GrMatrixEffect::Make\28SkMatrix\20const&\2c\20std::__2::unique_ptr>\29 +650:GrAAConvexTessellator::Ring::index\28int\29\20const +651:DefaultGeoProc::~DefaultGeoProc\28\29 +652:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +653:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +654:skgpu::ResourceKey::operator==\28skgpu::ResourceKey\20const&\29\20const +655:hb_buffer_t::unsafe_to_break_from_outbuffer\28unsigned\20int\2c\20unsigned\20int\29 +656:cff2_path_procs_extents_t::curve\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +657:cff2_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +658:cff1_path_procs_extents_t::curve\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +659:cff1_path_param_t::cubic_to\28CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +660:byn$mgfn-shared$std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +661:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +662:_hb_glyph_info_get_modified_combining_class\28hb_glyph_info_t\20const*\29 +663:SkSL::TProgramVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +664:SkRasterPipeline::extend\28SkRasterPipeline\20const&\29 +665:SkPixmap::operator=\28SkPixmap\20const&\29 +666:SkPath::moveTo\28SkPoint\20const&\29 +667:SkPath::close\28\29 +668:SkPath::RangeIter::operator++\28\29 +669:SkOpPtT::contains\28SkOpPtT\20const*\29\20const +670:SkNullBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +671:SkMatrixPriv::CheapEqual\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +672:SkIRect::intersect\28SkIRect\20const&\2c\20SkIRect\20const&\29 +673:SkAAClipBlitterWrapper::~SkAAClipBlitterWrapper\28\29 +674:OT::hb_paint_context_t::recurse\28OT::Paint\20const&\29 +675:OT::hb_ot_apply_context_t::init_iters\28\29 +676:GrTextureProxy::mipmapped\28\29\20const +677:GrStyledShape::asPath\28SkPath*\29\20const +678:GrShaderVar::GrShaderVar\28char\20const*\2c\20SkSLType\2c\20GrShaderVar::TypeModifier\29 +679:GrGLGpu::setTextureUnit\28int\29 +680:GrGLGpu::clearErrorsAndCheckForOOM\28\29 +681:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::~Impl\28\29 +682:GrCPixmap::GrCPixmap\28GrImageInfo\2c\20void\20const*\2c\20unsigned\20long\29 +683:GrAppliedClip::~GrAppliedClip\28\29 +684:FT_Load_Glyph +685:CFF::cff_stack_t::pop\28\29 +686:void\20SkOnce::operator\28\29*\29\2c\20SkAlignedSTStorage<1\2c\20skgpu::UniqueKey>*>\28void\20\28&\29\28SkAlignedSTStorage<1\2c\20skgpu::UniqueKey>*\29\2c\20SkAlignedSTStorage<1\2c\20skgpu::UniqueKey>*&&\29 +687:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +688:std::__2::numpunct::thousands_sep\5babi:v160004\5d\28\29\20const +689:std::__2::numpunct::grouping\5babi:v160004\5d\28\29\20const +690:std::__2::ctype\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +691:std::__2::basic_string\2c\20std::__2::allocator>::__move_assign\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::integral_constant\29 +692:std::__2::basic_string\2c\20std::__2::allocator>::__throw_length_error\5babi:v160004\5d\28\29\20const +693:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator<<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +694:skif::LayerSpace::outset\28skif::LayerSpace\20const&\29 +695:skif::Context::Context\28skif::Context\20const&\29 +696:skgpu::ResourceKey::Builder::Builder\28skgpu::ResourceKey*\2c\20unsigned\20int\2c\20int\29 +697:rewind\28GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +698:hb_sanitize_context_t::end_processing\28\29 +699:hb_buffer_t::move_to\28unsigned\20int\29 +700:ft_mem_qalloc +701:fmodf +702:_output_with_dotted_circle\28hb_buffer_t*\29 +703:SkTSpan::pointLast\28\29\20const +704:SkTDStorage::resize\28int\29 +705:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression\20const&\29 +706:SkSL::Parser::rangeFrom\28SkSL::Token\29 +707:SkSL::FunctionDeclaration::description\28\29\20const +708:SkPathRef::isFinite\28\29\20const +709:SkPathRef::Editor::Editor\28sk_sp*\2c\20int\2c\20int\2c\20int\29 +710:SkImageInfo::MakeA8\28int\2c\20int\29 +711:SkDrawable::getFlattenableType\28\29\20const +712:SkDPoint::ApproximatelyEqual\28SkPoint\20const&\2c\20SkPoint\20const&\29 +713:SkBlockAllocator::reset\28\29 +714:GrSimpleMeshDrawOpHelperWithStencil::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20bool*\29 +715:GrGeometryProcessor::ProgramImpl::SetTransform\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrResourceHandle\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix*\29 +716:GrGLSLVertexGeoBuilder::insertFunction\28char\20const*\29 +717:GrDrawingManager::flushIfNecessary\28\29 +718:FT_Stream_ExtractFrame +719:Cr_z_crc32 +720:std::__2::enable_if<_CheckArrayPointerConversion::value\2c\20void>::type\20std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrGLCaps::ColorTypeInfo*\29 +721:std::__2::ctype::widen\5babi:v160004\5d\28char\29\20const +722:std::__2::char_traits::assign\28char&\2c\20char\20const&\29 +723:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_size\5babi:v160004\5d\28unsigned\20long\29 +724:std::__2::__unique_if::__unique_array_unknown_bound\20std::__2::make_unique\5babi:v160004\5d\28unsigned\20long\29 +725:std::__2::__compressed_pair_elem::__compressed_pair_elem\5babi:v160004\5d\28void\20\28*&&\29\28void*\29\29 +726:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator<<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +727:skia_private::TArray::checkRealloc\28int\2c\20double\29 +728:skgpu::tess::StrokeIterator::enqueue\28skgpu::tess::StrokeIterator::Verb\2c\20SkPoint\20const*\2c\20float\20const*\29 +729:skgpu::ganesh::SurfaceFillContext::getOpsTask\28\29 +730:skgpu::ganesh::AsView\28GrRecordingContext*\2c\20SkImage\20const*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +731:__addtf3 +732:SkSL::RP::Builder::push_constant_i\28int\2c\20int\29 +733:SkSL::RP::Builder::label\28int\29 +734:SkPath::isConvex\28\29\20const +735:SkPaintToGrPaint\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +736:SkMatrix::mapXY\28float\2c\20float\2c\20SkPoint*\29\20const +737:SkImageInfo::operator=\28SkImageInfo\20const&\29 +738:SkImageGenerator::onIsValid\28GrRecordingContext*\29\20const +739:SkImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +740:SkCanvas::concat\28SkMatrix\20const&\29 +741:SkBitmap::tryAllocPixels\28SkImageInfo\20const&\29 +742:GrSkSLFP::addChild\28std::__2::unique_ptr>\2c\20bool\29 +743:GrProcessorSet::~GrProcessorSet\28\29 +744:GrGeometryProcessor::Attribute&\20skia_private::TArray::emplace_back\28char\20const\20\28&\29\20\5b10\5d\2c\20GrVertexAttribType&&\2c\20SkSLType&&\29 +745:GrGLGpu::bindBuffer\28GrGpuBufferType\2c\20GrBuffer\20const*\29 +746:GrFragmentProcessor::ProgramImpl::invokeChild\28int\2c\20char\20const*\2c\20char\20const*\2c\20GrFragmentProcessor::ProgramImpl::EmitArgs&\2c\20std::__2::basic_string_view>\29 +747:FT_Stream_ReadByte +748:ubidi_getParaLevelAtIndex_skia +749:std::__2::char_traits::copy\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +750:std::__2::basic_string\2c\20std::__2::allocator>::begin\5babi:v160004\5d\28\29 +751:std::__2::basic_string\2c\20std::__2::allocator>::__set_short_size\5babi:v160004\5d\28unsigned\20long\29 +752:std::__2::__libcpp_snprintf_l\28char*\2c\20unsigned\20long\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +753:skia_private::TArray::push_back\28bool&&\29 +754:skia::textlayout::OneLineShaper::RunBlock::operator=\28skia::textlayout::OneLineShaper::RunBlock&&\29 +755:skia::textlayout::Cluster::run\28\29\20const +756:skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::AddTrianglesWhenChopping\2c\20skgpu::tess::DiscardFlatCurves>::accountForCurve\28float\29 +757:skgpu::ganesh::SurfaceContext::PixelTransferResult::~PixelTransferResult\28\29 +758:is_equal\28std::type_info\20const*\2c\20std::type_info\20const*\2c\20bool\29 +759:hb_ot_map_t::get_1_mask\28unsigned\20int\29\20const +760:hb_font_get_glyph +761:hb_draw_funcs_t::emit_quadratic_to\28void*\2c\20hb_draw_state_t&\2c\20float\2c\20float\2c\20float\2c\20float\29 +762:hb_buffer_t::unsafe_to_concat_from_outbuffer\28unsigned\20int\2c\20unsigned\20int\29 +763:cff_index_get_sid_string +764:_hb_font_funcs_set_middle\28hb_font_funcs_t*\2c\20void*\2c\20void\20\28*\29\28void*\29\29 +765:__floatsitf +766:SkWriter32::writeScalar\28float\29 +767:SkTDArray<\28anonymous\20namespace\29::YOffset>::append\28\29 +768:SkString::data\28\29 +769:SkSL::SymbolTable::find\28std::__2::basic_string_view>\29\20const +770:SkSL::RP::Generator::pushVectorizedExpression\28SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +771:SkSL::RP::Builder::swizzle\28int\2c\20SkSpan\29 +772:SkSL::Parser::error\28SkSL::Position\2c\20std::__2::basic_string_view>\29 +773:SkSL::Nop::Make\28\29 +774:SkRegion::setRect\28SkIRect\20const&\29 +775:SkPaint::setColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\29 +776:SkPaint::setBlendMode\28SkBlendMode\29 +777:SkPaint::asBlendMode\28\29\20const +778:SkMatrix::preTranslate\28float\2c\20float\29 +779:SkMatrix::getMaxScale\28\29\20const +780:SkJSONWriter::appendHexU32\28char\20const*\2c\20unsigned\20int\29 +781:SkDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +782:SkBlender::Mode\28SkBlendMode\29 +783:SkBitmap::setInfo\28SkImageInfo\20const&\2c\20unsigned\20long\29 +784:SkArenaAlloc::SkArenaAlloc\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +785:OT::hb_ot_apply_context_t::skipping_iterator_t::next\28unsigned\20int*\29 +786:OT::VarSizedBinSearchArrayOf>::get_length\28\29\20const +787:GrMeshDrawTarget::allocMesh\28\29 +788:GrGLGpu::bindTextureToScratchUnit\28unsigned\20int\2c\20int\29 +789:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +790:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::~SwizzleFragmentProcessor\28\29 +791:GrCaps::getReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +792:GrBackendFormat::GrBackendFormat\28GrBackendFormat\20const&\29 +793:CFF::cff1_cs_opset_t::check_width\28unsigned\20int\2c\20CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\29 +794:AutoFTAccess::AutoFTAccess\28SkTypeface_FreeType\20const*\29 +795:void\20SkSafeUnref\28SharedGenerator*\29 +796:strchr +797:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +798:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20char\29\20const +799:std::__2::__function::__value_func::__value_func\5babi:v160004\5d\28std::__2::__function::__value_func&&\29 +800:skia_private::TArray>\2c\20true>::reserve_exact\28int\29 +801:skia_png_get_uint_32 +802:skia::textlayout::OneLineShaper::clusterIndex\28unsigned\20long\29 +803:skgpu::ganesh::SurfaceDrawContext::chooseAAType\28GrAA\29 +804:skgpu::UniqueKey::GenerateDomain\28\29 +805:hb_buffer_t::sync_so_far\28\29 +806:hb_buffer_t::sync\28\29 +807:em_task_queue_is_empty +808:compute_side\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +809:cff_parse_num +810:byn$mgfn-shared$skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +811:SkWriter32::writeRect\28SkRect\20const&\29 +812:SkSL::Type::clone\28SkSL::Context\20const&\2c\20SkSL::SymbolTable*\29\20const +813:SkSL::RP::Generator::writeStatement\28SkSL::Statement\20const&\29 +814:SkSL::RP::Builder::unary_op\28SkSL::RP::BuilderOp\2c\20int\29 +815:SkSL::Parser::operatorRight\28SkSL::Parser::AutoDepth&\2c\20SkSL::OperatorKind\2c\20std::__2::unique_ptr>\20\28SkSL::Parser::*\29\28\29\2c\20std::__2::unique_ptr>&\29 +816:SkSL::Parser::expression\28\29 +817:SkRecords::FillBounds::pushControl\28\29 +818:SkRasterClip::~SkRasterClip\28\29 +819:SkRGBA4f<\28SkAlphaType\293>::FromColor\28unsigned\20int\29 +820:SkPath::moveTo\28float\2c\20float\29 +821:SkM44::asM33\28\29\20const +822:SkImageFilter_Base::getFlattenableType\28\29\20const +823:SkIRect::makeOutset\28int\2c\20int\29\20const +824:SkDQuad::ptAtT\28double\29\20const +825:SkDConic::ptAtT\28double\29\20const +826:SkArenaAlloc::~SkArenaAlloc\28\29 +827:SkAAClip::setEmpty\28\29 +828:OT::hb_ot_apply_context_t::skipping_iterator_t::reset\28unsigned\20int\29 +829:GrTriangulator::Line::intersect\28GrTriangulator::Line\20const&\2c\20SkPoint*\29\20const +830:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkISize\20const&\29 +831:GrGpuBuffer::unmap\28\29 +832:GrGeometryProcessor::ProgramImpl::WriteLocalCoord\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20GrShaderVar\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +833:GrGeometryProcessor::ProgramImpl::ComputeMatrixKey\28GrShaderCaps\20const&\2c\20SkMatrix\20const&\29 +834:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\29 +835:GrFragmentProcessor::GrFragmentProcessor\28GrFragmentProcessor\20const&\29 +836:void\20SkSafeUnref\28SkMipmap*\29 +837:ubidi_getMemory_skia +838:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +839:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +840:std::__2::optional::value\5babi:v160004\5d\28\29\20const\20& +841:std::__2::numpunct::truename\5babi:v160004\5d\28\29\20const +842:std::__2::numpunct::falsename\5babi:v160004\5d\28\29\20const +843:std::__2::numpunct::decimal_point\5babi:v160004\5d\28\29\20const +844:std::__2::moneypunct::do_grouping\28\29\20const +845:std::__2::ctype::is\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29\20const +846:std::__2::basic_string\2c\20std::__2::allocator>::empty\5babi:v160004\5d\28\29\20const +847:std::__2::basic_string\2c\20std::__2::allocator>::__set_long_cap\5babi:v160004\5d\28unsigned\20long\29 +848:std::__2::basic_string\2c\20std::__2::allocator>::__is_long\5babi:v160004\5d\28\29\20const +849:skvx::Vec<4\2c\20float>\20skvx::operator-<4\2c\20float\2c\20float\2c\20void>\28float\2c\20skvx::Vec<4\2c\20float>\20const&\29 +850:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +851:skia_private::THashTable>*\2c\20std::__2::unique_ptr>*\2c\20SkGoodHash>::Pair\2c\20std::__2::unique_ptr>*\2c\20skia_private::THashMap>*\2c\20std::__2::unique_ptr>*\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>*\2c\20std::__2::unique_ptr>*\2c\20SkGoodHash>::Pair&&\29 +852:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Hash\28SkImageFilter\20const*\20const&\29 +853:skia_private::TArray::checkRealloc\28int\2c\20double\29 +854:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +855:skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>::STArray\28skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>&&\29 +856:skia_png_reciprocal +857:skia_png_malloc_warn +858:skia::textlayout::\28anonymous\20namespace\29::relax\28float\29 +859:skgpu::ganesh::SurfaceFillContext::arenaAlloc\28\29 +860:skgpu::ganesh::SurfaceContext::readPixels\28GrDirectContext*\2c\20GrPixmap\2c\20SkIPoint\29 +861:skgpu::Swizzle::RGBA\28\29 +862:sk_sp::reset\28SkData*\29 +863:sk_sp::~sk_sp\28\29 +864:operator==\28SkIRect\20const&\2c\20SkIRect\20const&\29 +865:crc32_z +866:__unlockfile +867:__lockfile +868:SkTSect::SkTSect\28SkTCurve\20const&\29 +869:SkSL::String::Separator\28\29 +870:SkSL::RP::Generator::pushIntrinsic\28SkSL::RP::BuilderOp\2c\20SkSL::Expression\20const&\29 +871:SkSL::ProgramConfig::strictES2Mode\28\29\20const +872:SkSL::Parser::layoutInt\28\29 +873:SkRegion::Cliperator::next\28\29 +874:SkRegion::Cliperator::Cliperator\28SkRegion\20const&\2c\20SkIRect\20const&\29 +875:SkPathRef::growForVerb\28int\2c\20float\29 +876:SkPath::transform\28SkMatrix\20const&\2c\20SkPath*\2c\20SkApplyPerspectiveClip\29\20const +877:SkMipmap::ComputeLevelCount\28int\2c\20int\29 +878:SkMatrix::MakeRectToRect\28SkRect\20const&\2c\20SkRect\20const&\2c\20SkMatrix::ScaleToFit\29 +879:SkMatrix::MakeAll\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +880:SkImageInfo::operator=\28SkImageInfo&&\29 +881:SkDLine::nearPoint\28SkDPoint\20const&\2c\20bool*\29\20const +882:SkChopQuadAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +883:SkCanvas::aboutToDraw\28SkPaint\20const&\2c\20SkRect\20const*\29 +884:SkBaseShadowTessellator::appendTriangle\28unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +885:SkAutoConicToQuads::computeQuads\28SkPoint\20const*\2c\20float\2c\20float\29 +886:OT::hb_ot_apply_context_t::~hb_ot_apply_context_t\28\29 +887:OT::hb_ot_apply_context_t::hb_ot_apply_context_t\28unsigned\20int\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20hb_blob_t*\29 +888:OT::ClassDef::get_class\28unsigned\20int\29\20const +889:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_4::operator\28\29\28char\20const*\29\20const +890:GrSimpleMeshDrawOpHelper::isCompatible\28GrSimpleMeshDrawOpHelper\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +891:GrShaderVar::GrShaderVar\28GrShaderVar\20const&\29 +892:GrQuad::writeVertex\28int\2c\20skgpu::VertexWriter&\29\20const +893:GrOpFlushState::bindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +894:GrGLSLShaderBuilder::appendTextureLookup\28GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +895:GrGLGpu::getErrorAndCheckForOOM\28\29 +896:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20int\2c\20float\20const*\29\29::'lambda'\28void\20const*\2c\20int\2c\20int\2c\20float\20const*\29::__invoke\28void\20const*\2c\20int\2c\20int\2c\20float\20const*\29 +897:GrColorInfo::GrColorInfo\28SkColorInfo\20const&\29 +898:GrAAConvexTessellator::addTri\28int\2c\20int\2c\20int\29 +899:FT_Stream_ReadULong +900:FT_Get_Module +901:AlmostBequalUlps\28double\2c\20double\29 +902:tt_face_get_name +903:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +904:std::__2::unique_ptr::reset\5babi:v160004\5d\28void*\29 +905:std::__2::optional::value\5babi:v160004\5d\28\29\20& +906:std::__2::optional::value\5babi:v160004\5d\28\29\20& +907:std::__2::__variant_detail::__dtor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29 +908:std::__2::__variant_detail::__dtor\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29 +909:std::__2::__libcpp_locale_guard::~__libcpp_locale_guard\5babi:v160004\5d\28\29 +910:std::__2::__libcpp_locale_guard::__libcpp_locale_guard\5babi:v160004\5d\28__locale_struct*&\29 +911:skvx::Vec<4\2c\20float>&\20skvx::operator+=<4\2c\20float>\28skvx::Vec<4\2c\20float>&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.5839\29 +912:skvx::Vec<2\2c\20float>\20skvx::max<2\2c\20float>\28skvx::Vec<2\2c\20float>\20const&\2c\20skvx::Vec<2\2c\20float>\20const&\29 +913:skif::FilterResult::FilterResult\28skif::FilterResult\20const&\29 +914:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +915:sk_sp&\20skia_private::TArray\2c\20true>::emplace_back>\28sk_sp&&\29 +916:sinf +917:path_cubicTo +918:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +919:hb_user_data_array_t::fini\28\29 +920:hb_iter_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>\2c\20hb_pair_t>>::operator+\28unsigned\20int\29\20const +921:hb_indic_would_substitute_feature_t::would_substitute\28unsigned\20int\20const*\2c\20unsigned\20int\2c\20hb_face_t*\29\20const +922:hb_font_t::get_glyph_h_advance\28unsigned\20int\29 +923:hb_draw_funcs_t::emit_close_path\28void*\2c\20hb_draw_state_t&\29 +924:ft_module_get_service +925:byn$mgfn-shared$skia_private::TArray\2c\20true>::preallocateNewData\28int\2c\20double\29 +926:bool\20hb_sanitize_context_t::check_array>\28OT::IntType\20const*\2c\20unsigned\20int\29\20const +927:__sindf +928:__shlim +929:__cosdf +930:SkWriter32::write\28void\20const*\2c\20unsigned\20long\29 +931:SkString::equals\28SkString\20const&\29\20const +932:SkSL::evaluate_pairwise_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +933:SkSL::StringStream::str\28\29\20const +934:SkSL::RP::Generator::makeLValue\28SkSL::Expression\20const&\2c\20bool\29 +935:SkSL::Parser::expressionOrPoison\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +936:SkSL::GLSLCodeGenerator::getTypeName\28SkSL::Type\20const&\29 +937:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +938:SkRegion::setEmpty\28\29 +939:SkRect::round\28\29\20const +940:SkPixmap::SkPixmap\28SkPixmap\20const&\29 +941:SkPaint::getAlpha\28\29\20const +942:SkMatrix::preScale\28float\2c\20float\29 +943:SkMatrix::isSimilarity\28float\29\20const +944:SkIRect::join\28SkIRect\20const&\29 +945:SkDrawBase::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20bool\29\20const +946:SkData::MakeUninitialized\28unsigned\20long\29 +947:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\29 +948:SkCanvas::checkForDeferredSave\28\29 +949:SkBitmapCache::Rec::getKey\28\29\20const +950:SkAAClip::Builder::addRun\28int\2c\20int\2c\20unsigned\20int\2c\20int\29 +951:GrTriangulator::Line::Line\28SkPoint\20const&\2c\20SkPoint\20const&\29 +952:GrTriangulator::Edge::isRightOf\28GrTriangulator::Vertex\20const&\29\20const +953:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\29 +954:GrShape::setType\28GrShape::Type\29 +955:GrPixmapBase::GrPixmapBase\28GrPixmapBase\20const&\29 +956:GrMakeUncachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +957:GrIORef::unref\28\29\20const +958:GrGeometryProcessor::TextureSampler::reset\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +959:GrGLSLShaderBuilder::getMangledFunctionName\28char\20const*\29 +960:GrGLGpu::deleteFramebuffer\28unsigned\20int\29 +961:GrGLExtensions::has\28char\20const*\29\20const +962:GrBackendFormats::MakeGL\28unsigned\20int\2c\20unsigned\20int\29 +963:vsnprintf +964:top12 +965:std::__2::vector>::erase\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +966:std::__2::to_string\28long\20long\29 +967:std::__2::pair::type\2c\20std::__2::__unwrap_ref_decay::type>\20std::__2::make_pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +968:std::__2::optional::value\5babi:v160004\5d\28\29\20& +969:std::__2::locale::use_facet\28std::__2::locale::id&\29\20const +970:std::__2::basic_string\2c\20std::__2::allocator>::operator=\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +971:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\2c\20std::__2::allocator>\28char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +972:std::__2::basic_string\2c\20std::__2::allocator>::__init\28char\20const*\2c\20unsigned\20long\29 +973:std::__2::__throw_bad_optional_access\5babi:v160004\5d\28\29 +974:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +975:std::__2::__num_put_base::__identify_padding\28char*\2c\20char*\2c\20std::__2::ios_base\20const&\29 +976:std::__2::__num_get_base::__get_base\28std::__2::ios_base&\29 +977:std::__2::__libcpp_asprintf_l\28char**\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +978:skvx::Vec<4\2c\20float>\20skvx::abs<4>\28skvx::Vec<4\2c\20float>\20const&\29 +979:skvx::Vec<2\2c\20float>\20skvx::min<2\2c\20float>\28skvx::Vec<2\2c\20float>\20const&\2c\20skvx::Vec<2\2c\20float>\20const&\29 +980:sktext::gpu::BagOfBytes::allocateBytes\28int\2c\20int\29 +981:skif::FilterResult::FilterResult\28sk_sp\2c\20skif::LayerSpace\20const&\29 +982:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +983:skia_private::TArray::~TArray\28\29 +984:skia_private::TArray::push_back\28SkSL::SwitchCase\20const*\20const&\29 +985:skia_private::TArray::checkRealloc\28int\2c\20double\29 +986:skia_png_malloc_base +987:skia::textlayout::TextLine::iterateThroughVisualRuns\28bool\2c\20std::__2::function\2c\20float*\29>\20const&\29\20const +988:skgpu::ganesh::SurfaceDrawContext::numSamples\28\29\20const +989:sk_sp::~sk_sp\28\29 +990:sk_sp::~sk_sp\28\29 +991:skData_getConstPointer +992:round +993:qsort +994:path_quadraticBezierTo +995:operator==\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +996:is_one_of\28hb_glyph_info_t\20const&\2c\20unsigned\20int\29 +997:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +998:int\20std::__2::__get_up_to_n_digits\5babi:v160004\5d>>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\2c\20int\29 +999:inflateStateCheck +1000:hb_lazy_loader_t\2c\20hb_face_t\2c\206u\2c\20hb_blob_t>::get\28\29\20const +1001:hb_font_t::has_glyph\28unsigned\20int\29 +1002:byn$mgfn-shared$std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +1003:byn$mgfn-shared$std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +1004:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::__wrap_iter\20const&\2c\20std::__2::__wrap_iter\20const&\29 +1005:bool\20hb_sanitize_context_t::check_array\28OT::HBGlyphID16\20const*\2c\20unsigned\20int\29\20const +1006:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1007:bool\20OT::OffsetTo>\2c\20OT::IntType\2c\20false>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1008:bool\20OT::Layout::Common::Coverage::collect_coverage\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>>\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>*\29\20const +1009:addPoint\28UBiDi*\2c\20int\2c\20int\29 +1010:__extenddftf2 +1011:\28anonymous\20namespace\29::extension_compare\28SkString\20const&\2c\20SkString\20const&\29 +1012:\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1013:\28anonymous\20namespace\29::colrv1_transform\28FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\2c\20SkCanvas*\2c\20SkMatrix*\29 +1014:SkUTF::NextUTF8\28char\20const**\2c\20char\20const*\29 +1015:SkUTF::NextUTF8WithReplacement\28char\20const**\2c\20char\20const*\29 +1016:SkTInternalLList::addToHead\28sktext::gpu::TextBlob*\29 +1017:SkTDStorage::removeShuffle\28int\29 +1018:SkTDArray::push_back\28void*\20const&\29 +1019:SkTCopyOnFirstWrite::writable\28\29 +1020:SkSurface_Base::getCachedCanvas\28\29 +1021:SkSL::cast_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +1022:SkSL::StringStream::~StringStream\28\29 +1023:SkSL::RP::LValue::~LValue\28\29 +1024:SkSL::RP::Generator::pushIntrinsic\28SkSL::RP::Generator::TypedOps\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +1025:SkSL::InlineCandidateAnalyzer::visitExpression\28std::__2::unique_ptr>*\29 +1026:SkSL::GLSLCodeGenerator::writeType\28SkSL::Type\20const&\29 +1027:SkSL::GLSLCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1028:SkSL::Expression::isBoolLiteral\28\29\20const +1029:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29 +1030:SkRuntimeEffect::findUniform\28std::__2::basic_string_view>\29\20const +1031:SkRasterPipelineBlitter::appendLoadDst\28SkRasterPipeline*\29\20const +1032:SkPoint::Distance\28SkPoint\20const&\2c\20SkPoint\20const&\29 +1033:SkPathRef::getBounds\28\29\20const +1034:SkPath::isRect\28SkRect*\2c\20bool*\2c\20SkPathDirection*\29\20const +1035:SkPath::injectMoveToIfNeeded\28\29 +1036:SkMatrix::setScaleTranslate\28float\2c\20float\2c\20float\2c\20float\29 +1037:SkMatrix::postScale\28float\2c\20float\29 +1038:SkMatrix::mapVector\28float\2c\20float\29\20const +1039:SkJSONWriter::endArray\28\29 +1040:SkJSONWriter::beginArray\28char\20const*\2c\20bool\29 +1041:SkJSONWriter::appendS32\28char\20const*\2c\20int\29 +1042:SkJSONWriter::appendName\28char\20const*\29 +1043:SkIntersections::removeOne\28int\29 +1044:SkImages::RasterFromBitmap\28SkBitmap\20const&\29 +1045:SkImage_Ganesh::SkImage_Ganesh\28sk_sp\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20SkColorInfo\29 +1046:SkImageInfo::Make\28int\2c\20int\2c\20SkColorType\2c\20SkAlphaType\29 +1047:SkImageFilter_Base::getChildInputLayerBounds\28int\2c\20skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +1048:SkIRect::makeOffset\28int\2c\20int\29\20const +1049:SkGlyph::iRect\28\29\20const +1050:SkFindUnitQuadRoots\28float\2c\20float\2c\20float\2c\20float*\29 +1051:SkDevice::makeSpecial\28SkBitmap\20const&\29 +1052:SkData::PrivateNewWithCopy\28void\20const*\2c\20unsigned\20long\29 +1053:SkColorSpaceXformSteps::Flags::mask\28\29\20const +1054:SkColorSpace::Equals\28SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +1055:SkCanvas::save\28\29 +1056:SkBlurMaskFilterImpl::computeXformedSigma\28SkMatrix\20const&\29\20const +1057:SkBlockAllocator::BlockIter::Item::operator++\28\29 +1058:SkBitmap::peekPixels\28SkPixmap*\29\20const +1059:SkAAClip::freeRuns\28\29 +1060:OT::hb_ot_apply_context_t::set_lookup_mask\28unsigned\20int\2c\20bool\29 +1061:OT::cmap::find_subtable\28unsigned\20int\2c\20unsigned\20int\29\20const +1062:GrWindowRectangles::~GrWindowRectangles\28\29 +1063:GrTriangulator::EdgeList::remove\28GrTriangulator::Edge*\29 +1064:GrTriangulator::Edge::isLeftOf\28GrTriangulator::Vertex\20const&\29\20const +1065:GrStyle::SimpleFill\28\29 +1066:GrSimpleMeshDrawOpHelper::createProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1067:GrResourceAllocator::addInterval\28GrSurfaceProxy*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20GrResourceAllocator::ActualUse\2c\20GrResourceAllocator::AllowRecycling\29 +1068:GrRenderTask::makeClosed\28GrRecordingContext*\29 +1069:GrOpFlushState::allocator\28\29 +1070:GrGLGpu::prepareToDraw\28GrPrimitiveType\29 +1071:GrBackendFormatToCompressionType\28GrBackendFormat\20const&\29 +1072:FT_Stream_Skip +1073:FT_Outline_Get_CBox +1074:Cr_z_adler32 +1075:BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::end\28\29\20const +1076:BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::begin\28\29\20const +1077:AlmostDequalUlps\28double\2c\20double\29 +1078:write_tag_size\28SkWriteBuffer&\2c\20unsigned\20int\2c\20unsigned\20long\29 +1079:void\20skgpu::VertexWriter::writeQuad\2c\20skgpu::VertexColor\2c\20skgpu::VertexWriter::Conditional>\28skgpu::VertexWriter::TriFan\20const&\2c\20skgpu::VertexColor\20const&\2c\20skgpu::VertexWriter::Conditional\20const&\29 +1080:uprv_free_skia +1081:strcpy +1082:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1083:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1084:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1085:std::__2::unique_ptr>::operator=\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +1086:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1087:std::__2::unique_ptr>\20GrSkSLFP::Make<>\28SkRuntimeEffect\20const*\2c\20char\20const*\2c\20std::__2::unique_ptr>\2c\20GrSkSLFP::OptFlags\29 +1088:std::__2::unique_ptr>\20GrBlendFragmentProcessor::Make<\28SkBlendMode\2913>\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +1089:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +1090:std::__2::time_get>>::get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\20const*\2c\20char\20const*\29\20const +1091:std::__2::optional::value\5babi:v160004\5d\28\29\20& +1092:std::__2::enable_if::type\20skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::AddTrianglesWhenChopping\2c\20skgpu::tess::DiscardFlatCurves>::writeTriangleStack\28skgpu::tess::MiddleOutPolygonTriangulator::PoppedTriangleStack&&\29 +1093:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +1094:std::__2::__tuple_impl\2c\20GrSurfaceProxyView\2c\20sk_sp>::~__tuple_impl\28\29 +1095:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator>=<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29\20\28.5825\29 +1096:skvx::Vec<4\2c\20float>&\20skvx::operator*=<4\2c\20float>\28skvx::Vec<4\2c\20float>&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1097:skia_private::THashMap::find\28SkSL::FunctionDeclaration\20const*\20const&\29\20const +1098:skia_private::TArray\2c\20true>::destroyAll\28\29 +1099:skia_private::TArray::push_back_n\28int\2c\20SkPoint\20const*\29 +1100:skia::textlayout::Run::placeholderStyle\28\29\20const +1101:skgpu::skgpu_init_static_unique_key_once\28SkAlignedSTStorage<1\2c\20skgpu::UniqueKey>*\29 +1102:skgpu::ganesh::\28anonymous\20namespace\29::update_degenerate_test\28skgpu::ganesh::\28anonymous\20namespace\29::DegenerateTestData*\2c\20SkPoint\20const&\29 +1103:skgpu::VertexWriter&\20skgpu::operator<<\28skgpu::VertexWriter&\2c\20skgpu::VertexColor\20const&\29 +1104:skgpu::ResourceKey::ResourceKey\28\29 +1105:sk_sp::reset\28GrThreadSafeCache::VertexData*\29 +1106:sk_sp::reset\28GrSurfaceProxy*\29 +1107:scalbn +1108:rowcol3\28float\20const*\2c\20float\20const*\29 +1109:ps_parser_skip_spaces +1110:isdigit +1111:is_joiner\28hb_glyph_info_t\20const&\29 +1112:hb_paint_funcs_t::push_translate\28void*\2c\20float\2c\20float\29 +1113:hb_lazy_loader_t\2c\20hb_face_t\2c\2022u\2c\20hb_blob_t>::get\28\29\20const +1114:hb_iter_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>\2c\20hb_pair_t>>::operator--\28int\29 +1115:hb_aat_map_t::range_flags_t*\20hb_vector_t::push\28hb_aat_map_t::range_flags_t&&\29 +1116:get_gsubgpos_table\28hb_face_t*\2c\20unsigned\20int\29 +1117:emscripten_longjmp +1118:contourMeasure_dispose +1119:cff2_path_procs_extents_t::line\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\2c\20CFF::point_t\20const&\29 +1120:cff2_path_param_t::line_to\28CFF::point_t\20const&\29 +1121:cff1_path_procs_extents_t::line\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\29 +1122:cff1_path_param_t::line_to\28CFF::point_t\20const&\29 +1123:cf2_stack_pushInt +1124:cf2_buf_readByte +1125:byn$mgfn-shared$GrGLProgramDataManager::set4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +1126:bool\20hb_bsearch_impl\28unsigned\20int*\2c\20unsigned\20int\20const&\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\29\29 +1127:_hb_draw_funcs_set_preamble\28hb_draw_funcs_t*\2c\20bool\2c\20void**\2c\20void\20\28**\29\28void*\29\29 +1128:__wake +1129:__unlock +1130:__memset +1131:\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29 +1132:SkWStream::writeDecAsText\28int\29 +1133:SkTDStorage::append\28void\20const*\2c\20int\29 +1134:SkString::reset\28\29 +1135:SkStrikeSpec::SkStrikeSpec\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +1136:SkStrike::unlock\28\29 +1137:SkStrike::lock\28\29 +1138:SkSL::RP::Builder::lastInstructionOnAnyStack\28int\29 +1139:SkSL::ProgramUsage::get\28SkSL::Variable\20const&\29\20const +1140:SkSL::Parser::expectIdentifier\28SkSL::Token*\29 +1141:SkSL::Parser::AutoDepth::increase\28\29 +1142:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29::$_3::operator\28\29\28std::__2::unique_ptr>\20const&\29\20const +1143:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29::$_2::operator\28\29\28std::__2::unique_ptr>\20const&\29\20const +1144:SkSL::GLSLCodeGenerator::finishLine\28\29 +1145:SkSL::ConstructorSplat::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1146:SkSL::ConstructorScalarCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1147:SkRuntimeEffect::Uniform::sizeInBytes\28\29\20const +1148:SkRegion::SkRegion\28SkIRect\20const&\29 +1149:SkRasterPipeline::run\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +1150:SkRasterPipeline::appendTransferFunction\28skcms_TransferFunction\20const&\29 +1151:SkRasterPipeline::appendConstantColor\28SkArenaAlloc*\2c\20float\20const*\29 +1152:SkRRect::checkCornerContainment\28float\2c\20float\29\20const +1153:SkRRect::MakeRect\28SkRect\20const&\29 +1154:SkRRect::MakeOval\28SkRect\20const&\29 +1155:SkPointPriv::DistanceToLineSegmentBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +1156:SkPoint::setLength\28float\29 +1157:SkPathPriv::AllPointsEq\28SkPoint\20const*\2c\20int\29 +1158:SkPathBuilder::~SkPathBuilder\28\29 +1159:SkPathBuilder::lineTo\28SkPoint\29 +1160:SkPathBuilder::detach\28\29 +1161:SkPathBuilder::SkPathBuilder\28\29 +1162:SkPath::transform\28SkMatrix\20const&\2c\20SkApplyPerspectiveClip\29 +1163:SkOpCoincidence::release\28SkCoincidentSpans*\2c\20SkCoincidentSpans*\29 +1164:SkNVRefCnt::unref\28\29\20const +1165:SkJSONWriter::endObject\28\29 +1166:SkJSONWriter::beginObject\28char\20const*\2c\20bool\29 +1167:SkJSONWriter::appendCString\28char\20const*\2c\20char\20const*\29 +1168:SkIntersections::hasT\28double\29\20const +1169:SkImageFilter_Base::getChildOutput\28int\2c\20skif::Context\20const&\29\20const +1170:SkIRect::offset\28int\2c\20int\29 +1171:SkDLine::ptAtT\28double\29\20const +1172:SkCanvas::translate\28float\2c\20float\29 +1173:SkCanvas::restoreToCount\28int\29 +1174:SkCanvas::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +1175:SkCachedData::unref\28\29\20const +1176:SkAutoSMalloc<1024ul>::~SkAutoSMalloc\28\29 +1177:SkAutoCanvasRestore::~SkAutoCanvasRestore\28\29 +1178:SkArenaAlloc::SkArenaAlloc\28unsigned\20long\29 +1179:SkAAClipBlitterWrapper::init\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1180:SkAAClipBlitterWrapper::SkAAClipBlitterWrapper\28SkRasterClip\20const&\2c\20SkBlitter*\29 +1181:OT::Offset\2c\20true>::is_null\28\29\20const +1182:OT::MVAR::get_var\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29\20const +1183:MaskAdditiveBlitter::getRow\28int\29 +1184:GrTriangulator::EdgeList::insert\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +1185:GrTextureEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20GrCaps\20const&\2c\20float\20const*\29 +1186:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\29 +1187:GrTessellationShader::MakeProgram\28GrTessellationShader::ProgramArgs\20const&\2c\20GrTessellationShader\20const*\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +1188:GrScissorState::enabled\28\29\20const +1189:GrRecordingContextPriv::recordTimeAllocator\28\29 +1190:GrQuad::bounds\28\29\20const +1191:GrProxyProvider::createProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\29 +1192:GrPixmapBase::operator=\28GrPixmapBase&&\29 +1193:GrOpFlushState::detachAppliedClip\28\29 +1194:GrGLGpu::disableWindowRectangles\28\29 +1195:GrGLFormatFromGLEnum\28unsigned\20int\29 +1196:GrFragmentProcessors::Make\28GrRecordingContext*\2c\20SkColorFilter\20const*\2c\20std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1197:GrFragmentProcessor::~GrFragmentProcessor\28\29 +1198:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29 +1199:GrBackendTexture::getBackendFormat\28\29\20const +1200:CFF::interp_env_t::fetch_op\28\29 +1201:BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::Item::setIndices\28\29 +1202:AlmostEqualUlps\28double\2c\20double\29 +1203:AAT::StateTable::get_entry\28int\2c\20unsigned\20int\29\20const +1204:AAT::StateTable::EntryData>::get_entry\28int\2c\20unsigned\20int\29\20const +1205:void\20sktext::gpu::fill3D\28SkZip\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28float\2c\20float\29::operator\28\29\28float\2c\20float\29\20const +1206:tt_face_lookup_table +1207:std::__2::unique_ptr>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +1208:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1209:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::Module\20const*\29 +1210:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1211:std::__2::optional::value\5babi:v160004\5d\28\29\20& +1212:std::__2::optional::value\5babi:v160004\5d\28\29\20& +1213:std::__2::moneypunct::negative_sign\5babi:v160004\5d\28\29\20const +1214:std::__2::moneypunct::neg_format\5babi:v160004\5d\28\29\20const +1215:std::__2::moneypunct::frac_digits\5babi:v160004\5d\28\29\20const +1216:std::__2::moneypunct::do_pos_format\28\29\20const +1217:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20std::__2::random_access_iterator_tag\29 +1218:std::__2::function::operator\28\29\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\20const +1219:std::__2::ctype::widen\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +1220:std::__2::char_traits::copy\28wchar_t*\2c\20wchar_t\20const*\2c\20unsigned\20long\29 +1221:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1222:std::__2::basic_string\2c\20std::__2::allocator>::end\5babi:v160004\5d\28\29 +1223:std::__2::basic_string\2c\20std::__2::allocator>::__set_size\5babi:v160004\5d\28unsigned\20long\29 +1224:std::__2::__split_buffer&>::~__split_buffer\28\29 +1225:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +1226:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +1227:std::__2::__itoa::__append2\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1228:std::__2::__exception_guard_exceptions>::__destroy_vector>::~__exception_guard_exceptions\5babi:v160004\5d\28\29 +1229:skvx::Vec<4\2c\20unsigned\20int>\20\28anonymous\20namespace\29::shift_right>\28skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20int\29 +1230:skvx::Vec<4\2c\20float>\20skvx::naive_if_then_else<4\2c\20float>\28skvx::Vec<4\2c\20skvx::Mask::type>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1231:sktext::gpu::BagOfBytes::~BagOfBytes\28\29 +1232:skif::\28anonymous\20namespace\29::is_nearly_integer_translation\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29 +1233:skif::FilterResult::resolve\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20bool\29\20const +1234:skia_private::TArray::push_back\28float\20const&\29 +1235:skia_png_gamma_correct +1236:skia_png_gamma_8bit_correct +1237:skia::textlayout::TextStyle::operator=\28skia::textlayout::TextStyle\20const&\29 +1238:skia::textlayout::Run::positionX\28unsigned\20long\29\20const +1239:skia::textlayout::ParagraphImpl::codeUnitHasProperty\28unsigned\20long\2c\20SkUnicode::CodeUnitFlags\29\20const +1240:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20std::__2::basic_string_view>\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1241:skgpu::UniqueKey::UniqueKey\28skgpu::UniqueKey\20const&\29 +1242:sk_sp::operator=\28sk_sp\20const&\29 +1243:sk_sp::operator=\28sk_sp&&\29 +1244:sk_realloc_throw\28void*\2c\20unsigned\20long\29 +1245:powf_ +1246:png_read_buffer +1247:isspace +1248:interp_cubic_coords\28double\20const*\2c\20double\29 +1249:int\20_hb_cmp_method>\28void\20const*\2c\20void\20const*\29 +1250:hb_paint_funcs_t::push_transform\28void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +1251:hb_font_t::parent_scale_y_distance\28int\29 +1252:hb_font_t::parent_scale_x_distance\28int\29 +1253:hb_face_t::get_upem\28\29\20const +1254:hb_buffer_destroy +1255:emscripten_futex_wake +1256:double_to_clamped_scalar\28double\29 +1257:conic_eval_numerator\28double\20const*\2c\20float\2c\20double\29 +1258:cff_index_init +1259:cf2_glyphpath_hintPoint +1260:byn$mgfn-shared$skia_private::AutoSTArray<32\2c\20unsigned\20short>::reset\28int\29 +1261:bool\20hb_buffer_t::replace_glyphs\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\20const*\29 +1262:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1263:a_inc +1264:\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16::Compact\28skvx::Vec<4\2c\20float>\20const&\29 +1265:\28anonymous\20namespace\29::ColorTypeFilter_F16F16::Compact\28skvx::Vec<4\2c\20float>\20const&\29 +1266:\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16::Compact\28skvx::Vec<4\2c\20float>\20const&\29 +1267:\28anonymous\20namespace\29::ColorTypeFilter_8888::Compact\28skvx::Vec<4\2c\20unsigned\20short>\20const&\29 +1268:\28anonymous\20namespace\29::ColorTypeFilter_16161616::Compact\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +1269:\28anonymous\20namespace\29::ColorTypeFilter_1010102::Compact\28unsigned\20long\20long\29 +1270:TT_MulFix14 +1271:Skwasm::createMatrix\28float\20const*\29 +1272:SkWriter32::writeBool\28bool\29 +1273:SkTDStorage::append\28int\29 +1274:SkTDPQueue::setIndex\28int\29 +1275:SkSurface_Base::refCachedImage\28\29 +1276:SkSpotShadowTessellator::addToClip\28SkPoint\20const&\29 +1277:SkShaderUtils::GLSLPrettyPrint::newline\28\29 +1278:SkShaderUtils::GLSLPrettyPrint::hasToken\28char\20const*\29 +1279:SkSL::Type::MakeTextureType\28char\20const*\2c\20SpvDim_\2c\20bool\2c\20bool\2c\20bool\2c\20SkSL::Type::TextureAccess\29 +1280:SkSL::Type::MakeSpecialType\28char\20const*\2c\20char\20const*\2c\20SkSL::Type::TypeKind\29 +1281:SkSL::Swizzle::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29 +1282:SkSL::RP::Builder::push_slots_or_immutable\28SkSL::RP::SlotRange\2c\20SkSL::RP::BuilderOp\29 +1283:SkSL::RP::Builder::push_duplicates\28int\29 +1284:SkSL::RP::Builder::push_constant_f\28float\29 +1285:SkSL::RP::Builder::push_clone\28int\2c\20int\29 +1286:SkSL::Parser::statementOrNop\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +1287:SkSL::Literal::Make\28SkSL::Position\2c\20double\2c\20SkSL::Type\20const*\29 +1288:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mul\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +1289:SkSL::InlineCandidateAnalyzer::visitStatement\28std::__2::unique_ptr>*\2c\20bool\29 +1290:SkSL::GLSLCodeGenerator::writeModifiers\28SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20bool\29 +1291:SkSL::Expression::isIntLiteral\28\29\20const +1292:SkSL::ConstructorCompound::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +1293:SkSL::ConstantFolder::IsConstantSplat\28SkSL::Expression\20const&\2c\20double\29 +1294:SkSL::AliasType::resolve\28\29\20const +1295:SkResourceCache::Find\28SkResourceCache::Key\20const&\2c\20bool\20\28*\29\28SkResourceCache::Rec\20const&\2c\20void*\29\2c\20void*\29 +1296:SkResourceCache::Add\28SkResourceCache::Rec*\2c\20void*\29 +1297:SkRectPriv::HalfWidth\28SkRect\20const&\29 +1298:SkRect::isFinite\28\29\20const +1299:SkRasterPipeline_<256ul>::SkRasterPipeline_\28\29 +1300:SkRasterClip::setRect\28SkIRect\20const&\29 +1301:SkRasterClip::quickContains\28SkIRect\20const&\29\20const +1302:SkRRect::setRect\28SkRect\20const&\29 +1303:SkPathWriter::isClosed\28\29\20const +1304:SkPathStroker::addDegenerateLine\28SkQuadConstruct\20const*\29 +1305:SkPathBuilder::moveTo\28SkPoint\29 +1306:SkPath::swap\28SkPath&\29 +1307:SkPath::getGenerationID\28\29\20const +1308:SkPath::addPoly\28SkPoint\20const*\2c\20int\2c\20bool\29 +1309:SkOpSegment::existing\28double\2c\20SkOpSegment\20const*\29\20const +1310:SkOpSegment::addT\28double\29 +1311:SkOpSegment::addCurveTo\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkPathWriter*\29\20const +1312:SkOpPtT::find\28SkOpSegment\20const*\29\20const +1313:SkOpContourBuilder::flush\28\29 +1314:SkMipmap::getLevel\28int\2c\20SkMipmap::Level*\29\20const +1315:SkMatrix::isFinite\28\29\20const +1316:SkM44::setConcat\28SkM44\20const&\2c\20SkM44\20const&\29 +1317:SkImage_Picture::type\28\29\20const +1318:SkImageInfoIsValid\28SkImageInfo\20const&\29 +1319:SkImageInfo::makeColorType\28SkColorType\29\20const +1320:SkImageInfo::computeByteSize\28unsigned\20long\29\20const +1321:SkImageInfo::SkImageInfo\28SkImageInfo\20const&\29 +1322:SkImageFilter_Base::SkImageFilter_Base\28sk_sp\20const*\2c\20int\2c\20std::__2::optional\29 +1323:SkGlyph::imageSize\28\29\20const +1324:SkColorSpaceXformSteps::apply\28SkRasterPipeline*\29\20const +1325:SkColorSpace::gammaIsLinear\28\29\20const +1326:SkColorFilterBase::affectsTransparentBlack\28\29\20const +1327:SkCanvas::~SkCanvas\28\29 +1328:SkCanvas::predrawNotify\28bool\29 +1329:SkCanvas::drawImage\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +1330:SkCanvas::aboutToDraw\28SkPaint\20const&\2c\20SkRect\20const*\2c\20SkEnumBitMask\29 +1331:SkBulkGlyphMetrics::~SkBulkGlyphMetrics\28\29 +1332:SkBlockAllocator::SkBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\2c\20unsigned\20long\29 +1333:SkBlockAllocator::BlockIter::begin\28\29\20const +1334:SkBitmap::reset\28\29 +1335:SkBitmap::installPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29 +1336:ScalarToAlpha\28float\29 +1337:OT::Layout::GSUB_impl::SubstLookupSubTable*\20hb_serialize_context_t::push\28\29 +1338:OT::Layout::GPOS_impl::PosLookupSubTable\20const&\20OT::Lookup::get_subtable\28unsigned\20int\29\20const +1339:OT::ArrayOf\2c\20true>\2c\20OT::IntType>*\20hb_serialize_context_t::extend_size\2c\20true>\2c\20OT::IntType>>\28OT::ArrayOf\2c\20true>\2c\20OT::IntType>*\2c\20unsigned\20long\2c\20bool\29 +1340:GrTriangulator::makeConnectingEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\2c\20int\29 +1341:GrTriangulator::appendPointToContour\28SkPoint\20const&\2c\20GrTriangulator::VertexList*\29\20const +1342:GrSurface::ComputeSize\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20bool\29 +1343:GrStyledShape::writeUnstyledKey\28unsigned\20int*\29\20const +1344:GrStyledShape::unstyledKeySize\28\29\20const +1345:GrStyle::operator=\28GrStyle\20const&\29 +1346:GrStyle::GrStyle\28SkStrokeRec\20const&\2c\20sk_sp\29 +1347:GrStyle::GrStyle\28SkPaint\20const&\29 +1348:GrSimpleMesh::setIndexed\28sk_sp\2c\20int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20GrPrimitiveRestart\2c\20sk_sp\2c\20int\29 +1349:GrRecordingContextPriv::makeSFCWithFallback\28GrImageInfo\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +1350:GrRecordingContextPriv::makeSC\28GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +1351:GrQuad::MakeFromSkQuad\28SkPoint\20const*\2c\20SkMatrix\20const&\29 +1352:GrProcessorSet::visitProxies\28std::__2::function\20const&\29\20const +1353:GrProcessorSet::finalize\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrCaps\20const&\2c\20GrClampType\2c\20SkRGBA4f<\28SkAlphaType\292>*\29 +1354:GrGpuResource::isPurgeable\28\29\20const +1355:GrGpuResource::gpuMemorySize\28\29\20const +1356:GrGpuBuffer::updateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +1357:GrGetColorTypeDesc\28GrColorType\29 +1358:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\29 +1359:GrGLSLShaderBuilder::~GrGLSLShaderBuilder\28\29 +1360:GrGLSLShaderBuilder::declAppend\28GrShaderVar\20const&\29 +1361:GrGLGpu::flushScissorTest\28GrScissorTest\29 +1362:GrGLGpu::didDrawTo\28GrRenderTarget*\29 +1363:GrGLGpu::bindFramebuffer\28unsigned\20int\2c\20unsigned\20int\29 +1364:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int*\29 +1365:GrGLCaps::maxRenderTargetSampleCount\28GrGLFormat\29\20const +1366:GrDefaultGeoProcFactory::Make\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +1367:GrCaps::validateSurfaceParams\28SkISize\20const&\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20GrTextureType\29\20const +1368:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29::$_0::operator\28\29\28SkIRect\2c\20SkIRect\29\20const +1369:GrBackendTexture::~GrBackendTexture\28\29 +1370:GrAppliedClip::GrAppliedClip\28GrAppliedClip&&\29 +1371:GrAAConvexTessellator::Ring::origEdgeID\28int\29\20const +1372:FT_GlyphLoader_CheckPoints +1373:FT_Get_Sfnt_Table +1374:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +1375:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::end\28\29\20const +1376:BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::Item::operator++\28\29 +1377:AAT::Lookup>::get_class\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +1378:void\20std::__2::reverse\5babi:v160004\5d\28char*\2c\20char*\29 +1379:void\20std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__rehash\28unsigned\20long\29 +1380:void\20SkTQSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29::operator\28\29\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29\20const +1381:void\20SkSafeUnref\28GrThreadSafeCache::VertexData*\29 +1382:unsigned\20int\20hb_buffer_t::group_end\28unsigned\20int\2c\20bool\20\20const\28&\29\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29\29\20const +1383:std::__2::vector>::vector\28std::__2::vector>\20const&\29 +1384:std::__2::vector>\2c\20std::__2::allocator>>>::push_back\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +1385:std::__2::vector\2c\20std::__2::allocator>>::~vector\5babi:v160004\5d\28\29 +1386:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +1387:std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20std::__2::default_delete\2c\20std::__2::allocator>>>::~unique_ptr\5babi:v160004\5d\28\29 +1388:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::SymbolTable*\29 +1389:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1390:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1391:std::__2::unique_ptr>::reset\5babi:v160004\5d\28std::nullptr_t\29 +1392:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ios_base&\2c\20wchar_t\29 +1393:std::__2::ostreambuf_iterator>\20std::__2::__pad_and_output\5babi:v160004\5d>\28std::__2::ostreambuf_iterator>\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ios_base&\2c\20char\29 +1394:std::__2::optional::value\5babi:v160004\5d\28\29\20& +1395:std::__2::hash::operator\28\29\5babi:v160004\5d\28GrFragmentProcessor\20const*\29\20const +1396:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +1397:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::allocator\20const&\29 +1398:std::__2::basic_string\2c\20std::__2::allocator>::append\28char\20const*\2c\20unsigned\20long\29 +1399:std::__2::basic_string\2c\20std::__2::allocator>::__get_long_cap\5babi:v160004\5d\28\29\20const +1400:std::__2::basic_ios>::setstate\5babi:v160004\5d\28unsigned\20int\29 +1401:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +1402:skvx::Vec<4\2c\20unsigned\20short>\20\28anonymous\20namespace\29::add_121>\28skvx::Vec<4\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20short>\20const&\29 +1403:skvx::Vec<4\2c\20unsigned\20int>\20\28anonymous\20namespace\29::add_121>\28skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +1404:skvx::Vec<4\2c\20float>\20unchecked_mix<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1405:skvx::Vec<4\2c\20float>\20skvx::operator/<4\2c\20float\2c\20float\2c\20void>\28float\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1406:skvx::Vec<4\2c\20float>\20skvx::min<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1407:skvx::Vec<2\2c\20float>\20skvx::naive_if_then_else<2\2c\20float>\28skvx::Vec<2\2c\20skvx::Mask::type>\20const&\2c\20skvx::Vec<2\2c\20float>\20const&\2c\20skvx::Vec<2\2c\20float>\20const&\29 +1408:skip_spaces +1409:skif::LayerSpace::mapRect\28skif::LayerSpace\20const&\29\20const +1410:skia_private::TArray::push_back\28unsigned\20char&&\29 +1411:skia_private::TArray::TArray\28skia_private::TArray&&\29 +1412:skia_private::TArray::TArray\28skia_private::TArray&&\29 +1413:skia_private::TArray\2c\20true>::preallocateNewData\28int\2c\20double\29 +1414:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +1415:skia_private::TArray::checkRealloc\28int\2c\20double\29 +1416:skia_private::FixedArray<4\2c\20signed\20char>::FixedArray\28std::initializer_list\29 +1417:skia_private::AutoSTMalloc<4ul\2c\20int\2c\20void>::AutoSTMalloc\28unsigned\20long\29 +1418:skia_png_safecat +1419:skia_png_malloc +1420:skia_png_colorspace_sync +1421:skia_png_chunk_warning +1422:skia::textlayout::TextWrapper::TextStretch::extend\28skia::textlayout::TextWrapper::TextStretch&\29 +1423:skia::textlayout::TextLine::iterateThroughSingleRunByStyles\28skia::textlayout::TextLine::TextAdjustment\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::StyleType\2c\20std::__2::function\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\20const&\29\20const +1424:skia::textlayout::ParagraphStyle::~ParagraphStyle\28\29 +1425:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29 +1426:skgpu::ganesh::SurfaceFillContext::fillWithFP\28std::__2::unique_ptr>\29 +1427:skgpu::ganesh::OpsTask::OpChain::List::popHead\28\29 +1428:skgpu::SkSLToGLSL\28SkSL::ShaderCaps\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20skgpu::ShaderErrorHandler*\29 +1429:skgpu::ResourceKey::reset\28\29 +1430:skcms_TransferFunction_getType +1431:skcms_TransferFunction_eval +1432:sk_sp::~sk_sp\28\29 +1433:sk_sp::reset\28SkString::Rec*\29 +1434:sk_sp::operator=\28sk_sp\20const&\29 +1435:sk_sp::operator=\28sk_sp&&\29 +1436:sk_sp::sk_sp\28sk_sp\20const&\29 +1437:operator!=\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +1438:non-virtual\20thunk\20to\20GrOpFlushState::allocator\28\29 +1439:is_halant\28hb_glyph_info_t\20const&\29 +1440:hb_zip_iter_t\2c\20hb_array_t>::__next__\28\29 +1441:hb_serialize_context_t::pop_pack\28bool\29 +1442:hb_sanitize_context_t::init\28hb_blob_t*\29 +1443:hb_lazy_loader_t\2c\20hb_face_t\2c\2011u\2c\20hb_blob_t>::get\28\29\20const +1444:hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +1445:hb_lazy_loader_t\2c\20hb_face_t\2c\2025u\2c\20OT::GSUB_accelerator_t>::get_stored\28\29\20const +1446:hb_hashmap_t::alloc\28unsigned\20int\29 +1447:hb_font_t::scale_glyph_extents\28hb_glyph_extents_t*\29 +1448:hb_extents_t::add_point\28float\2c\20float\29 +1449:hb_draw_funcs_t::emit_cubic_to\28void*\2c\20hb_draw_state_t&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +1450:hb_buffer_t::reverse_range\28unsigned\20int\2c\20unsigned\20int\29 +1451:hb_buffer_t::replace_glyph\28unsigned\20int\29 +1452:hb_buffer_t::merge_out_clusters\28unsigned\20int\2c\20unsigned\20int\29 +1453:hb_buffer_append +1454:cos +1455:cleanup_program\28GrGLGpu*\2c\20unsigned\20int\2c\20SkTDArray\20const&\29 +1456:cff_index_done +1457:cf2_glyphpath_curveTo +1458:byn$mgfn-shared$skia_private::TArray::preallocateNewData\28int\2c\20double\29 +1459:bool\20hb_array_t::sanitize\28hb_sanitize_context_t*\29\20const +1460:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1461:afm_parser_read_vals +1462:afm_parser_next_key +1463:__lshrti3 +1464:__lock +1465:__letf2 +1466:\28anonymous\20namespace\29::skhb_position\28float\29 +1467:SkWriter32::reservePad\28unsigned\20long\29 +1468:SkWriteBuffer::writeDataAsByteArray\28SkData\20const*\29 +1469:SkTSpan::removeBounded\28SkTSpan\20const*\29 +1470:SkTSpan::initBounds\28SkTCurve\20const&\29 +1471:SkTSpan::addBounded\28SkTSpan*\2c\20SkArenaAlloc*\29 +1472:SkTSect::tail\28\29 +1473:SkTInternalLList>\2c\20SkGoodHash>::Entry>::remove\28SkLRUCache>\2c\20SkGoodHash>::Entry*\29 +1474:SkTDStorage::reset\28\29 +1475:SkString::printf\28char\20const*\2c\20...\29 +1476:SkString::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +1477:SkShader::makeWithLocalMatrix\28SkMatrix\20const&\29\20const +1478:SkSamplingOptions::operator==\28SkSamplingOptions\20const&\29\20const +1479:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_5::operator\28\29\28int\2c\20int\29\20const +1480:SkSL::is_constant_value\28SkSL::Expression\20const&\2c\20double\29 +1481:SkSL::compile_and_shrink\28SkSL::Compiler*\2c\20SkSL::ProgramKind\2c\20char\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::Module\20const*\29 +1482:SkSL::\28anonymous\20namespace\29::ReturnsOnAllPathsVisitor::visitStatement\28SkSL::Statement\20const&\29 +1483:SkSL::Type::MakeScalarType\28std::__2::basic_string_view>\2c\20char\20const*\2c\20SkSL::Type::NumberKind\2c\20signed\20char\2c\20signed\20char\29 +1484:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Context\20const&\2c\20SkSL::Symbol*\29 +1485:SkSL::RP::Generator::push\28SkSL::RP::LValue&\29 +1486:SkSL::Parser::statement\28bool\29 +1487:SkSL::ModifierFlags::description\28\29\20const +1488:SkSL::Layout::paddedDescription\28\29\20const +1489:SkSL::GetModuleData\28SkSL::ModuleName\2c\20char\20const*\29 +1490:SkSL::ConstructorCompoundCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1491:SkSL::Analysis::UpdateVariableRefKind\28SkSL::Expression*\2c\20SkSL::VariableRefKind\2c\20SkSL::ErrorReporter*\29 +1492:SkSL::Analysis::IsSameExpressionTree\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +1493:SkRegion::setRegion\28SkRegion\20const&\29 +1494:SkRegion::Iterator::next\28\29 +1495:SkRect::round\28SkIRect*\29\20const +1496:SkRect::makeSorted\28\29\20const +1497:SkRect::intersects\28SkRect\20const&\29\20const +1498:SkReadBuffer::readInt\28\29 +1499:SkReadBuffer::readBool\28\29 +1500:SkRasterPipeline_<256ul>::~SkRasterPipeline_\28\29 +1501:SkRasterClip::updateCacheAndReturnNonEmpty\28bool\29 +1502:SkRasterClip::quickReject\28SkIRect\20const&\29\20const +1503:SkRGBA4f<\28SkAlphaType\293>::toSkColor\28\29\20const +1504:SkPixmap::addr\28int\2c\20int\29\20const +1505:SkPath::quadTo\28float\2c\20float\2c\20float\2c\20float\29 +1506:SkPath::incReserve\28int\2c\20int\2c\20int\29 +1507:SkPath::arcTo\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +1508:SkPath::addRect\28SkRect\20const&\2c\20SkPathDirection\29 +1509:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\29 +1510:SkPaint*\20SkRecorder::copy\28SkPaint\20const*\29 +1511:SkOpSegment::ptAtT\28double\29\20const +1512:SkOpSegment::dPtAtT\28double\29\20const +1513:SkNoPixelsDevice::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +1514:SkMemoryStream::getPosition\28\29\20const +1515:SkMatrix::setConcat\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +1516:SkMatrix::mapRadius\28float\29\20const +1517:SkMask::getAddr8\28int\2c\20int\29\20const +1518:SkJSONWriter::appendString\28char\20const*\2c\20unsigned\20long\29 +1519:SkIntersectionHelper::segmentType\28\29\20const +1520:SkImageFilter_Base::flatten\28SkWriteBuffer&\29\20const +1521:SkGoodHash::operator\28\29\28SkString\20const&\29\20const +1522:SkGlyph::rect\28\29\20const +1523:SkFont::SkFont\28sk_sp\2c\20float\29 +1524:SkDrawBase::SkDrawBase\28\29 +1525:SkDQuad::RootsValidT\28double\2c\20double\2c\20double\2c\20double*\29 +1526:SkConvertPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +1527:SkCanvas::restore\28\29 +1528:SkCanvas::getTotalMatrix\28\29\20const +1529:SkCanvas::drawImageRect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +1530:SkCanvas::AutoUpdateQRBounds::~AutoUpdateQRBounds\28\29 +1531:SkCachedData::ref\28\29\20const +1532:SkBulkGlyphMetrics::SkBulkGlyphMetrics\28SkStrikeSpec\20const&\29 +1533:SkBitmap::setPixelRef\28sk_sp\2c\20int\2c\20int\29 +1534:SkBitmap::installPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\29 +1535:SkAutoPixmapStorage::~SkAutoPixmapStorage\28\29 +1536:SkAnySubclass::reset\28\29 +1537:SkAlphaRuns::Break\28short*\2c\20unsigned\20char*\2c\20int\2c\20int\29 +1538:OT::VariationStore::get_delta\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +1539:OT::GSUBGPOS::get_lookup\28unsigned\20int\29\20const +1540:OT::GDEF::get_glyph_props\28unsigned\20int\29\20const +1541:OT::CmapSubtable::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +1542:GrTextureEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20float\20const*\2c\20bool\29 +1543:GrSurfaceProxyView::mipmapped\28\29\20const +1544:GrSurfaceProxy::backingStoreBoundsRect\28\29\20const +1545:GrStyledShape::knownToBeConvex\28\29\20const +1546:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +1547:GrSimpleMeshDrawOpHelperWithStencil::isCompatible\28GrSimpleMeshDrawOpHelperWithStencil\20const&\2c\20GrCaps\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20bool\29\20const +1548:GrShape::asPath\28SkPath*\2c\20bool\29\20const +1549:GrScissorState::set\28SkIRect\20const&\29 +1550:GrRenderTask::~GrRenderTask\28\29 +1551:GrPixmap::Allocate\28GrImageInfo\20const&\29 +1552:GrMakeCachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\29 +1553:GrImageInfo::makeColorType\28GrColorType\29\20const +1554:GrGpuResource::CacheAccess::release\28\29 +1555:GrGpuBuffer::map\28\29 +1556:GrGpu::didWriteToSurface\28GrSurface*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const*\2c\20unsigned\20int\29\20const +1557:GrGeometryProcessor::TextureSampler::TextureSampler\28\29 +1558:GrGeometryProcessor::AttributeSet::begin\28\29\20const +1559:GrGeometryProcessor::AttributeSet::Iter::operator++\28\29 +1560:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20int\2c\20int\2c\20int\2c\20int\29\29::'lambda'\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29::__invoke\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +1561:GrFragmentProcessors::Make\28SkShader\20const*\2c\20GrFPArgs\20const&\2c\20SkMatrix\20const&\29 +1562:GrFragmentProcessor::MakeColor\28SkRGBA4f<\28SkAlphaType\292>\29 +1563:GrConvertPixels\28GrPixmap\20const&\2c\20GrCPixmap\20const&\2c\20bool\29 +1564:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +1565:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +1566:GrAtlasManager::getAtlas\28skgpu::MaskFormat\29\20const +1567:FT_Get_Char_Index +1568:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +1569:wrapper_cmp +1570:void\20std::__2::vector>::__construct_at_end\28SkFontArguments::VariationPosition::Coordinate*\2c\20SkFontArguments::VariationPosition::Coordinate*\2c\20unsigned\20long\29 +1571:void\20std::__2::__memberwise_forward_assign\5babi:v160004\5d\2c\20std::__2::tuple\2c\20GrFragmentProcessor\20const*\2c\20GrGeometryProcessor::ProgramImpl::TransformInfo\2c\200ul\2c\201ul>\28std::__2::tuple&\2c\20std::__2::tuple&&\2c\20std::__2::__tuple_types\2c\20std::__2::__tuple_indices<0ul\2c\201ul>\29 +1572:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20unsigned\20int*&\2c\20unsigned\20int*&\29 +1573:void\20hb_sanitize_context_t::set_object>\28AAT::ChainSubtable\20const*\29 +1574:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +1575:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +1576:unsigned\20int\20std::__2::__sort3\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +1577:toupper +1578:store\28unsigned\20char*\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20int\29 +1579:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +1580:std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +1581:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +1582:std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +1583:std::__2::unique_ptr>::reset\5babi:v160004\5d\28skia::textlayout::Run*\29 +1584:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1585:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1586:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1587:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1588:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1589:std::__2::numpunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +1590:std::__2::istreambuf_iterator>::istreambuf_iterator\5babi:v160004\5d\28\29 +1591:std::__2::enable_if::value\2c\20sk_sp>::type\20GrResourceProvider::findByUniqueKey\28skgpu::UniqueKey\20const&\29 +1592:std::__2::deque>::end\5babi:v160004\5d\28\29 +1593:std::__2::ctype::narrow\5babi:v160004\5d\28wchar_t\2c\20char\29\20const +1594:std::__2::ctype::narrow\5babi:v160004\5d\28char\2c\20char\29\20const +1595:std::__2::char_traits::to_int_type\28char\29 +1596:std::__2::char_traits::compare\28char\20const*\2c\20char\20const*\2c\20unsigned\20long\29 +1597:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1598:std::__2::basic_string\2c\20std::__2::allocator>\20std::__2::operator+\5babi:v160004\5d\2c\20std::__2::allocator>\28std::__2::basic_string\2c\20std::__2::allocator>&&\2c\20char\29 +1599:std::__2::basic_string\2c\20std::__2::allocator>::clear\5babi:v160004\5d\28\29 +1600:std::__2::basic_string\2c\20std::__2::allocator>::__recommend\5babi:v160004\5d\28unsigned\20long\29 +1601:std::__2::basic_string\2c\20std::__2::allocator>::~basic_string\28\29 +1602:std::__2::basic_streambuf>::sputn\5babi:v160004\5d\28char\20const*\2c\20long\29 +1603:std::__2::basic_streambuf>::setg\5babi:v160004\5d\28char*\2c\20char*\2c\20char*\29 +1604:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +1605:std::__2::__tree\2c\20std::__2::__map_value_compare\2c\20std::__2::less\2c\20true>\2c\20std::__2::allocator>>::~__tree\28\29 +1606:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +1607:std::__2::__num_get::__stage2_int_loop\28wchar_t\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20wchar_t\20const*\29 +1608:std::__2::__num_get::__stage2_int_loop\28char\2c\20int\2c\20char*\2c\20char*&\2c\20unsigned\20int&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20char\20const*\29 +1609:std::__2::__next_prime\28unsigned\20long\29 +1610:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1611:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::allocator&\2c\20unsigned\20long\29 +1612:src_p\28unsigned\20char\2c\20unsigned\20char\29 +1613:sort_r_swap\28char*\2c\20char*\2c\20unsigned\20long\29 +1614:snprintf +1615:skvx::Vec<4\2c\20float>\20skvx::operator+<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +1616:sktext::SkStrikePromise::SkStrikePromise\28sktext::SkStrikePromise&&\29 +1617:skif::\28anonymous\20namespace\29::downscale_step_count\28float\29 +1618:skif::LayerSpace::roundOut\28\29\20const +1619:skif::LayerSpace::relevantSubset\28skif::LayerSpace\2c\20SkTileMode\29\20const +1620:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::resize\28int\29 +1621:skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +1622:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair&&\29 +1623:skia_private::THashSet::contains\28SkSL::Variable\20const*\20const&\29\20const +1624:skia_private::TArray::checkRealloc\28int\2c\20double\29 +1625:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +1626:skia_private::TArray\2c\20true>::~TArray\28\29 +1627:skia_private::TArray::copy\28float\20const*\29 +1628:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +1629:skia_private::TArray::resize_back\28int\29 +1630:skia_private::AutoTMalloc::AutoTMalloc\28unsigned\20long\29 +1631:skia_private::AutoSTArray<4\2c\20float>::reset\28int\29 +1632:skia_png_free_data +1633:skia::textlayout::TextStyle::TextStyle\28\29 +1634:skia::textlayout::Run::Run\28skia::textlayout::ParagraphImpl*\2c\20SkShaper::RunHandler::RunInfo\20const&\2c\20unsigned\20long\2c\20float\2c\20bool\2c\20float\2c\20unsigned\20long\2c\20float\29 +1635:skia::textlayout::InternalLineMetrics::delta\28\29\20const +1636:skia::textlayout::Cluster::Cluster\28skia::textlayout::ParagraphImpl*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkSpan\2c\20float\2c\20float\29 +1637:skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\294>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\298>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::ReplicateLineEndPoints\2c\20skgpu::tess::TrackJoinControlPoints>::chopAndWriteCubics\28skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20skvx::Vec<2\2c\20float>\2c\20int\29 +1638:skgpu::ganesh::SurfaceDrawContext::fillRectToRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +1639:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::RawElement\20const&\29\20const +1640:skgpu::VertexWriter&\20skgpu::operator<<<4\2c\20SkPoint>\28skgpu::VertexWriter&\2c\20skgpu::VertexWriter::RepeatDesc<4\2c\20SkPoint>\20const&\29 +1641:skgpu::TAsyncReadResult::addCpuPlane\28sk_sp\2c\20unsigned\20long\29 +1642:sk_sp::reset\28SkVertices*\29 +1643:sk_sp::reset\28SkPathRef*\29 +1644:sk_sp::reset\28SkMeshPriv::VB\20const*\29 +1645:sk_sp::reset\28SkColorSpace*\29 +1646:sk_malloc_throw\28unsigned\20long\29 +1647:sk_doubles_nearly_equal_ulps\28double\2c\20double\2c\20unsigned\20char\29 +1648:sbrk +1649:saveSetjmp +1650:remove_node\28OffsetEdge\20const*\2c\20OffsetEdge**\29 +1651:quick_div\28int\2c\20int\29 +1652:pt_to_line\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +1653:processPropertySeq\28UBiDi*\2c\20LevState*\2c\20unsigned\20char\2c\20int\2c\20int\29 +1654:operator!=\28SkIRect\20const&\2c\20SkIRect\20const&\29 +1655:left\28SkPoint\20const&\2c\20SkPoint\20const&\29 +1656:inversion\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::Comparator\20const&\29 +1657:interp_quad_coords\28double\20const*\2c\20double\29 +1658:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +1659:hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>::may_have\28unsigned\20int\29\20const +1660:hb_serialize_context_t::object_t::fini\28\29 +1661:hb_ot_map_builder_t::add_feature\28hb_ot_map_feature_t\20const&\29 +1662:hb_lazy_loader_t\2c\20hb_face_t\2c\2015u\2c\20OT::glyf_accelerator_t>::get_stored\28\29\20const +1663:hb_hashmap_t::fini\28\29 +1664:hb_buffer_t::make_room_for\28unsigned\20int\2c\20unsigned\20int\29 +1665:hb_buffer_t::ensure\28unsigned\20int\29 +1666:hairquad\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +1667:fmt_u +1668:float*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29 +1669:emscripten_futex_wait +1670:duplicate_pt\28SkPoint\20const&\2c\20SkPoint\20const&\29 +1671:compute_quad_level\28SkPoint\20const*\29 +1672:char*\20const&\20std::__2::max\5babi:v160004\5d\28char*\20const&\2c\20char*\20const&\29 +1673:cff2_extents_param_t::update_bounds\28CFF::point_t\20const&\29 +1674:cf2_arrstack_getPointer +1675:cbrtf +1676:can_add_curve\28SkPath::Verb\2c\20SkPoint*\29 +1677:call_hline_blitter\28SkBlitter*\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\29 +1678:byn$mgfn-shared$std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +1679:byn$mgfn-shared$GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +1680:bounds_t::update\28CFF::point_t\20const&\29 +1681:bool\20hb_sanitize_context_t::check_array>\28OT::IntType\20const*\2c\20unsigned\20int\29\20const +1682:bool\20hb_sanitize_context_t::check_array>\28OT::IntType\20const*\2c\20unsigned\20int\29\20const +1683:bool\20SkIsFinite\28float\20const*\2c\20int\29 +1684:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1685:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +1686:auto\20std::__2::__unwrap_range\5babi:v160004\5d\28char\20const*\2c\20char\20const*\29 +1687:auto\20sktext::gpu::VertexFiller::fillVertexData\28int\2c\20int\2c\20SkSpan\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkIRect\2c\20void*\29\20const::$_0::operator\28\29\28sktext::gpu::Mask2DVertex\20\28*\29\20\5b4\5d\29\20const +1688:atan2f +1689:af_shaper_get_cluster +1690:_hb_ot_metrics_get_position_common\28hb_font_t*\2c\20hb_ot_metrics_tag_t\2c\20int*\29 +1691:__wait +1692:__tandf +1693:__pthread_setcancelstate +1694:__floatunsitf +1695:__cxa_allocate_exception +1696:\28anonymous\20namespace\29::subtract\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +1697:\28anonymous\20namespace\29::MeshOp::fixedFunctionFlags\28\29\20const +1698:\28anonymous\20namespace\29::DrawAtlasOpImpl::fixedFunctionFlags\28\29\20const +1699:Update_Max +1700:TT_Get_MM_Var +1701:SkUTF::UTF8ToUTF16\28unsigned\20short*\2c\20int\2c\20char\20const*\2c\20unsigned\20long\29 +1702:SkTextBlob::RunRecord::textSize\28\29\20const +1703:SkTSpan::resetBounds\28SkTCurve\20const&\29 +1704:SkTSect::removeSpan\28SkTSpan*\29 +1705:SkTSect::BinarySearch\28SkTSect*\2c\20SkTSect*\2c\20SkIntersections*\29 +1706:SkTInternalLList::remove\28skgpu::Plot*\29 +1707:SkTDArray::append\28\29 +1708:SkTDArray::append\28\29 +1709:SkTConic::operator\5b\5d\28int\29\20const +1710:SkTBlockList::~SkTBlockList\28\29 +1711:SkStrokeRec::needToApply\28\29\20const +1712:SkStrokeRec::SkStrokeRec\28SkPaint\20const&\2c\20float\29 +1713:SkString::set\28char\20const*\2c\20unsigned\20long\29 +1714:SkString::SkString\28char\20const*\2c\20unsigned\20long\29 +1715:SkStrikeSpec::findOrCreateStrike\28\29\20const +1716:SkSpecialImages::MakeDeferredFromGpu\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20unsigned\20int\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +1717:SkShaders::MatrixRec::applyForFragmentProcessor\28SkMatrix\20const&\29\20const +1718:SkShaders::Color\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\29 +1719:SkScan::FillRect\28SkRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +1720:SkScalerContext_FreeType::setupSize\28\29 +1721:SkSL::type_is_valid_for_color\28SkSL::Type\20const&\29 +1722:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_4::operator\28\29\28int\29\20const +1723:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_3::operator\28\29\28int\29\20const +1724:SkSL::optimize_comparison\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20bool\20\28*\29\28double\2c\20double\29\29 +1725:SkSL::VariableReference::Make\28SkSL::Position\2c\20SkSL::Variable\20const*\2c\20SkSL::VariableRefKind\29 +1726:SkSL::Variable*\20SkSL::SymbolTable::add\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +1727:SkSL::Type::coercionCost\28SkSL::Type\20const&\29\20const +1728:SkSL::SymbolTable::addArrayDimension\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20int\29 +1729:SkSL::String::appendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20...\29 +1730:SkSL::RP::VariableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +1731:SkSL::RP::Program::appendCopySlotsUnmasked\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\29\20const +1732:SkSL::RP::Generator::pushBinaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +1733:SkSL::RP::Generator::emitTraceLine\28SkSL::Position\29 +1734:SkSL::RP::AutoStack::enter\28\29 +1735:SkSL::PipelineStage::PipelineStageCodeGenerator::writeStatement\28SkSL::Statement\20const&\29 +1736:SkSL::PipelineStage::PipelineStageCodeGenerator::writeLine\28std::__2::basic_string_view>\29 +1737:SkSL::Operator::determineBinaryType\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\2c\20SkSL::Type\20const**\29\20const +1738:SkSL::Literal::MakeBool\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20bool\29 +1739:SkSL::GLSLCodeGenerator::getTypePrecision\28SkSL::Type\20const&\29 +1740:SkSL::ExpressionStatement::Make\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29 +1741:SkSL::ConstructorDiagonalMatrix::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +1742:SkSL::ConstructorArrayCast::~ConstructorArrayCast\28\29 +1743:SkSL::ConstantFolder::MakeConstantValueForVariable\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +1744:SkSBlockAllocator<64ul>::SkSBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\29 +1745:SkRuntimeEffectBuilder::writableUniformData\28\29 +1746:SkRuntimeEffect::uniformSize\28\29\20const +1747:SkResourceCache::Key::init\28void*\2c\20unsigned\20long\20long\2c\20unsigned\20long\29 +1748:SkRegion::op\28SkRegion\20const&\2c\20SkRegion::Op\29 +1749:SkRasterPipelineBlitter::appendStore\28SkRasterPipeline*\29\20const +1750:SkRasterPipeline::compile\28\29\20const +1751:SkRasterPipeline::appendClampIfNormalized\28SkImageInfo\20const&\29 +1752:SkRasterClipStack::writable_rc\28\29 +1753:SkRRect::transform\28SkMatrix\20const&\2c\20SkRRect*\29\20const +1754:SkPointPriv::EqualsWithinTolerance\28SkPoint\20const&\2c\20SkPoint\20const&\29 +1755:SkPoint::Length\28float\2c\20float\29 +1756:SkPixmap::operator=\28SkPixmap&&\29 +1757:SkPathWriter::matchedLast\28SkOpPtT\20const*\29\20const +1758:SkPathWriter::finishContour\28\29 +1759:SkPathRef::atVerb\28int\29\20const +1760:SkPathEdgeIter::next\28\29 +1761:SkPathBuilder::ensureMove\28\29 +1762:SkPathBuilder::close\28\29 +1763:SkPath::addPath\28SkPath\20const&\2c\20SkPath::AddPathMode\29 +1764:SkPaint::isSrcOver\28\29\20const +1765:SkOpSpanBase::contains\28SkOpSegment\20const*\29\20const +1766:SkOpSegment::updateWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +1767:SkOpAngle::linesOnOriginalSide\28SkOpAngle\20const*\29 +1768:SkNoPixelsDevice::writableClip\28\29 +1769:SkNextID::ImageID\28\29 +1770:SkNVRefCnt::unref\28\29\20const +1771:SkMatrixPriv::MapRect\28SkM44\20const&\2c\20SkRect\20const&\29 +1772:SkMatrix::mapVectors\28SkPoint*\2c\20int\29\20const +1773:SkMaskBuilder::AllocImage\28unsigned\20long\2c\20SkMaskBuilder::AllocType\29 +1774:SkMask::computeImageSize\28\29\20const +1775:SkMask::AlphaIter<\28SkMask::Format\294>::operator*\28\29\20const +1776:SkMakeImageFromRasterBitmap\28SkBitmap\20const&\2c\20SkCopyPixelsMode\29 +1777:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_2D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1778:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +1779:SkKnownRuntimeEffects::GetKnownRuntimeEffect\28SkKnownRuntimeEffects::StableKey\29 +1780:SkJSONWriter::beginValue\28bool\29 +1781:SkIntersections::flip\28\29 +1782:SkImageFilter::getInput\28int\29\20const +1783:SkIDChangeListener::List::changed\28\29 +1784:SkFont::unicharToGlyph\28int\29\20const +1785:SkDrawTiler::~SkDrawTiler\28\29 +1786:SkDrawTiler::next\28\29 +1787:SkDrawTiler::SkDrawTiler\28SkBitmapDevice*\2c\20SkRect\20const*\29 +1788:SkDrawBase::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29\20const +1789:SkDescriptor::operator==\28SkDescriptor\20const&\29\20const +1790:SkData::MakeEmpty\28\29 +1791:SkDRect::add\28SkDPoint\20const&\29 +1792:SkDCubic::FindExtrema\28double\20const*\2c\20double*\29 +1793:SkConic::chopAt\28float\2c\20SkConic*\29\20const +1794:SkColorInfo::isOpaque\28\29\20const +1795:SkColorFilters::Blend\28unsigned\20int\2c\20SkBlendMode\29 +1796:SkColorFilter::makeComposed\28sk_sp\29\20const +1797:SkCanvas::saveLayer\28SkRect\20const*\2c\20SkPaint\20const*\29 +1798:SkCanvas::computeDeviceClipBounds\28bool\29\20const +1799:SkBlockAllocator::ByteRange\20SkBlockAllocator::allocate<4ul\2c\200ul>\28unsigned\20long\29 +1800:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29 +1801:SkAutoSMalloc<1024ul>::SkAutoSMalloc\28unsigned\20long\29 +1802:SkAutoCanvasRestore::SkAutoCanvasRestore\28SkCanvas*\2c\20bool\29 +1803:RunBasedAdditiveBlitter::checkY\28int\29 +1804:RoughlyEqualUlps\28double\2c\20double\29 +1805:PS_Conv_ToFixed +1806:OT::post::accelerator_t::cmp_gids\28void\20const*\2c\20void\20const*\2c\20void*\29 +1807:OT::hmtxvmtx::accelerator_t::get_advance_without_var_unscaled\28unsigned\20int\29\20const +1808:OT::Layout::GPOS_impl::ValueFormat::apply_value\28OT::hb_ot_apply_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\2c\20hb_glyph_position_t&\29\20const +1809:GrTriangulator::VertexList::remove\28GrTriangulator::Vertex*\29 +1810:GrTriangulator::Vertex*\20SkArenaAlloc::make\28SkPoint&\2c\20int&&\29 +1811:GrTriangulator::Poly::addEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Side\2c\20GrTriangulator*\29 +1812:GrSurface::invokeReleaseProc\28\29 +1813:GrSurface::GrSurface\28GrGpu*\2c\20SkISize\20const&\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +1814:GrStyledShape::operator=\28GrStyledShape\20const&\29 +1815:GrSimpleMeshDrawOpHelperWithStencil::createProgramInfoWithStencil\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +1816:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrGeometryProcessor*\2c\20GrProcessorSet&&\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrPipeline::InputFlags\2c\20GrUserStencilSettings\20const*\29 +1817:GrShape::setRRect\28SkRRect\20const&\29 +1818:GrShape::reset\28GrShape::Type\29 +1819:GrResourceProvider::findOrCreatePatternedIndexBuffer\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\2c\20skgpu::UniqueKey\20const&\29 +1820:GrResourceProvider::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\2c\20GrResourceProvider::ZeroInit\29 +1821:GrResourceProvider::assignUniqueKeyToResource\28skgpu::UniqueKey\20const&\2c\20GrGpuResource*\29 +1822:GrRenderTask::addDependency\28GrRenderTask*\29 +1823:GrRenderTask::GrRenderTask\28\29 +1824:GrRenderTarget::onRelease\28\29 +1825:GrQuadUtils::TessellationHelper::Vertices::asGrQuads\28GrQuad*\2c\20GrQuad::Type\2c\20GrQuad*\2c\20GrQuad::Type\29\20const +1826:GrProxyProvider::findOrCreateProxyByUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxy::UseAllocator\29 +1827:GrProxyProvider::assignUniqueKeyToProxy\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\29 +1828:GrPaint::setCoverageFragmentProcessor\28std::__2::unique_ptr>\29 +1829:GrMeshDrawOp::QuadHelper::QuadHelper\28GrMeshDrawTarget*\2c\20unsigned\20long\2c\20int\29 +1830:GrIsStrokeHairlineOrEquivalent\28GrStyle\20const&\2c\20SkMatrix\20const&\2c\20float*\29 +1831:GrImageInfo::minRowBytes\28\29\20const +1832:GrGpuResource::CacheAccess::isUsableAsScratch\28\29\20const +1833:GrGeometryProcessor::ProgramImpl::setupUniformColor\28GrGLSLFPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20GrResourceHandle*\29 +1834:GrGLSLUniformHandler::addUniformArray\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20int\2c\20char\20const**\29 +1835:GrGLSLShaderBuilder::emitFunction\28SkSLType\2c\20char\20const*\2c\20SkSpan\2c\20char\20const*\29 +1836:GrGLSLShaderBuilder::code\28\29 +1837:GrGLOpsRenderPass::bindVertexBuffer\28GrBuffer\20const*\2c\20int\29 +1838:GrGLGpu::unbindSurfaceFBOForPixelOps\28GrSurface*\2c\20int\2c\20unsigned\20int\29 +1839:GrGLGpu::flushRenderTarget\28GrGLRenderTarget*\2c\20bool\29 +1840:GrGLGpu::bindSurfaceFBOForPixelOps\28GrSurface*\2c\20int\2c\20unsigned\20int\2c\20GrGLGpu::TempFBOTarget\29 +1841:GrGLCompileAndAttachShader\28GrGLContext\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20bool\2c\20GrThreadSafePipelineBuilder::Stats*\2c\20skgpu::ShaderErrorHandler*\29 +1842:GrFragmentProcessor::visitTextureEffects\28std::__2::function\20const&\29\20const +1843:GrDirectContextPriv::flushSurface\28GrSurfaceProxy*\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +1844:GrBlendFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkBlendMode\2c\20bool\29 +1845:GrBackendFormat::operator=\28GrBackendFormat\20const&\29 +1846:GrAAConvexTessellator::addPt\28SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20GrAAConvexTessellator::CurveState\29 +1847:FT_Outline_Transform +1848:CFF::parsed_values_t::add_op\28unsigned\20int\2c\20CFF::byte_str_ref_t\20const&\2c\20CFF::op_str_t\20const&\29 +1849:CFF::dict_opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +1850:CFF::cs_opset_t\2c\20cff2_extents_param_t\2c\20cff2_path_procs_extents_t>::process_post_move\28unsigned\20int\2c\20CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\29 +1851:CFF::cs_opset_t::process_post_move\28unsigned\20int\2c\20CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\29 +1852:CFF::cs_interp_env_t>>::determine_hintmask_size\28\29 +1853:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::begin\28\29\20const +1854:AlmostBetweenUlps\28double\2c\20double\2c\20double\29 +1855:ActiveEdgeList::SingleRotation\28ActiveEdge*\2c\20int\29 +1856:AAT::StateTable::EntryData>::get_entry\28int\2c\20unsigned\20int\29\20const +1857:AAT::StateTable::EntryData>::get_entry\28int\2c\20unsigned\20int\29\20const +1858:AAT::ContextualSubtable::driver_context_t::is_actionable\28AAT::StateTableDriver::EntryData>*\2c\20AAT::Entry::EntryData>\20const&\29 +1859:void\20std::__2::__stable_sort\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +1860:void\20std::__2::__memberwise_forward_assign\5babi:v160004\5d>&>\2c\20std::__2::tuple>>\2c\20bool\2c\20std::__2::unique_ptr>\2c\200ul\2c\201ul>\28std::__2::tuple>&>&\2c\20std::__2::tuple>>&&\2c\20std::__2::__tuple_types>>\2c\20std::__2::__tuple_indices<0ul\2c\201ul>\29 +1861:void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +1862:void\20extend_pts<\28SkPaint::Cap\291>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +1863:void\20SkSafeUnref\28SkTextBlob*\29 +1864:void\20SkSafeUnref\28GrTextureProxy*\29 +1865:unsigned\20int*\20SkRecorder::copy\28unsigned\20int\20const*\2c\20unsigned\20long\29 +1866:tt_cmap14_ensure +1867:tanf +1868:std::__2::vector>\2c\20std::__2::allocator>>>::push_back\5babi:v160004\5d\28std::__2::unique_ptr>&&\29 +1869:std::__2::vector>\2c\20std::__2::allocator>>>::~vector\5babi:v160004\5d\28\29 +1870:std::__2::vector>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +1871:std::__2::vector>::vector\28std::__2::vector>\20const&\29 +1872:std::__2::unique_ptr>\20\5b\5d\2c\20std::__2::default_delete>\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +1873:std::__2::unique_ptr\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +1874:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1875:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1876:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +1877:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrDrawOpAtlas*\29 +1878:std::__2::enable_if<__is_cpp17_forward_iterator>::value\2c\20void>::type\20std::__2::__split_buffer&>::__construct_at_end>\28std::__2::move_iterator\2c\20std::__2::move_iterator\29 +1879:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char8_t*\2c\20char8_t*\2c\20char8_t*&\29\20const +1880:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20char\20const*\29 +1881:std::__2::basic_string\2c\20std::__2::allocator>::__assign_external\28char\20const*\29 +1882:std::__2::array\2c\204ul>::~array\28\29 +1883:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1884:std::__2::__wrap_iter::operator++\5babi:v160004\5d\28\29 +1885:std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>::__copy_constructor\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29 +1886:std::__2::__shared_count::__release_shared\5babi:v160004\5d\28\29 +1887:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +1888:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20wchar_t&\29 +1889:std::__2::__num_get::__do_widen\28std::__2::ios_base&\2c\20wchar_t*\29\20const +1890:std::__2::__num_get::__stage2_int_prep\28std::__2::ios_base&\2c\20char&\29 +1891:std::__2::__itoa::__append1\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +1892:std::__2::__function::__value_func::operator=\5babi:v160004\5d\28std::__2::__function::__value_func&&\29 +1893:std::__2::__function::__value_func::operator\28\29\5babi:v160004\5d\28SkIRect\20const&\29\20const +1894:sqrtf +1895:skvx::Vec<4\2c\20unsigned\20int>&\20skvx::operator-=<4\2c\20unsigned\20int>\28skvx::Vec<4\2c\20unsigned\20int>&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +1896:skvx::Vec<4\2c\20unsigned\20int>&\20skvx::operator+=<4\2c\20unsigned\20int>\28skvx::Vec<4\2c\20unsigned\20int>&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +1897:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator><4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1898:skvx::Vec<4\2c\20float>\20skvx::operator+<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29\20\28.5837\29 +1899:skvx::Vec<4\2c\20float>\20skvx::operator+<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.669\29 +1900:skvx::Vec<4\2c\20float>\20skvx::max<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.7654\29 +1901:skvx::Vec<4\2c\20float>\20skvx::max<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +1902:sktext::gpu::VertexFiller::vertexStride\28SkMatrix\20const&\29\20const +1903:sktext::gpu::SubRunList::append\28std::__2::unique_ptr\29 +1904:sktext::gpu::SubRun::~SubRun\28\29 +1905:sktext::gpu::GlyphVector::~GlyphVector\28\29 +1906:skif::\28anonymous\20namespace\29::draw_tiled_border\28SkCanvas*\2c\20SkTileMode\2c\20SkPaint\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_0::operator\28\29\28SkRect\20const&\2c\20SkRect\20const&\29\20const +1907:skif::FilterResult::analyzeBounds\28skif::LayerSpace\20const&\2c\20skif::FilterResult::BoundsScope\29\20const +1908:skif::FilterResult::AutoSurface::snap\28\29 +1909:skif::FilterResult::AutoSurface::AutoSurface\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult::PixelBoundary\2c\20bool\2c\20SkSurfaceProps\20const*\29 +1910:skia_private::THashTable::AdaptedTraits>::findOrNull\28skgpu::UniqueKey\20const&\29\20const +1911:skia_private::TArray::reset\28int\29 +1912:skia_private::TArray::push_back_raw\28int\29 +1913:skia_private::TArray::push_back\28\29 +1914:skia_private::TArray::push_back\28SkSL::Variable*&&\29 +1915:skia_private::TArray::~TArray\28\29 +1916:skia_private::AutoSTArray<8\2c\20unsigned\20int>::reset\28int\29 +1917:skia_private::AutoSTArray<24\2c\20unsigned\20int>::~AutoSTArray\28\29 +1918:skia_png_reciprocal2 +1919:skia_png_benign_error +1920:skia::textlayout::Run::~Run\28\29 +1921:skia::textlayout::Run::posX\28unsigned\20long\29\20const +1922:skia::textlayout::ParagraphStyle::ParagraphStyle\28skia::textlayout::ParagraphStyle\20const&\29 +1923:skia::textlayout::InternalLineMetrics::runTop\28skia::textlayout::Run\20const*\2c\20skia::textlayout::LineMetricStyle\29\20const +1924:skia::textlayout::InternalLineMetrics::height\28\29\20const +1925:skia::textlayout::InternalLineMetrics::add\28skia::textlayout::Run*\29 +1926:skia::textlayout::FontCollection::findTypefaces\28std::__2::vector>\20const&\2c\20SkFontStyle\2c\20std::__2::optional\20const&\29 +1927:skgpu::ganesh::TextureOp::BatchSizeLimiter::createOp\28GrTextureSetEntry*\2c\20int\2c\20GrAAType\29 +1928:skgpu::ganesh::SurfaceFillContext::fillRectWithFP\28SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +1929:skgpu::ganesh::SurfaceFillContext::fillRectToRectWithFP\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +1930:skgpu::ganesh::SurfaceDrawContext::drawShapeUsingPathRenderer\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\2c\20bool\29 +1931:skgpu::ganesh::SurfaceDrawContext::drawRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const*\29 +1932:skgpu::ganesh::SurfaceDrawContext::drawRRect\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20GrStyle\20const&\29 +1933:skgpu::ganesh::SurfaceDrawContext::drawFilledQuad\28GrClip\20const*\2c\20GrPaint&&\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\29 +1934:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29::$_0::~$_0\28\29 +1935:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29 +1936:skgpu::ganesh::SurfaceContext::PixelTransferResult::PixelTransferResult\28skgpu::ganesh::SurfaceContext::PixelTransferResult&&\29 +1937:skgpu::ganesh::SoftwarePathRenderer::DrawNonAARect\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const&\29 +1938:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::vertexSize\28\29\20const +1939:skgpu::ganesh::OpsTask::OpChain::List::List\28skgpu::ganesh::OpsTask::OpChain::List&&\29 +1940:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29::$_0::operator\28\29\28GrSurfaceProxyView\20const&\29\20const +1941:skgpu::ganesh::Device::targetProxy\28\29 +1942:skgpu::ganesh::ClipStack::getConservativeBounds\28\29\20const +1943:skgpu::UniqueKeyInvalidatedMessage::UniqueKeyInvalidatedMessage\28skgpu::UniqueKeyInvalidatedMessage\20const&\29 +1944:skgpu::UniqueKey::operator=\28skgpu::UniqueKey\20const&\29 +1945:skgpu::TAsyncReadResult::addTransferResult\28skgpu::ganesh::SurfaceContext::PixelTransferResult\20const&\2c\20SkISize\2c\20unsigned\20long\2c\20skgpu::TClientMappedBufferManager*\29 +1946:skgpu::Swizzle::asString\28\29\20const +1947:skgpu::GetApproxSize\28SkISize\29 +1948:sk_srgb_linear_singleton\28\29 +1949:sk_sp::operator=\28sk_sp&&\29 +1950:sk_sp::reset\28GrGpuBuffer*\29 +1951:sk_sp\20sk_make_sp\28\29 +1952:sfnt_get_name_id +1953:set_glyph\28hb_glyph_info_t&\2c\20hb_font_t*\29 +1954:resource_cache_mutex\28\29 +1955:ps_parser_to_token +1956:precisely_between\28double\2c\20double\2c\20double\29 +1957:powf +1958:next_char\28hb_buffer_t*\2c\20unsigned\20int\29 +1959:memchr +1960:log2f +1961:log +1962:less_or_equal_ulps\28float\2c\20float\2c\20int\29 +1963:is_consonant\28hb_glyph_info_t\20const&\29 +1964:int\20const*\20std::__2::find\5babi:v160004\5d\28int\20const*\2c\20int\20const*\2c\20int\20const&\29 +1965:hb_vector_t::push\28\29 +1966:hb_vector_t::resize\28int\2c\20bool\2c\20bool\29 +1967:hb_unicode_funcs_destroy +1968:hb_serialize_context_t::pop_discard\28\29 +1969:hb_paint_funcs_t::pop_clip\28void*\29 +1970:hb_ot_map_t::feature_map_t\20const*\20hb_vector_t::bsearch\28unsigned\20int\20const&\2c\20hb_ot_map_t::feature_map_t\20const*\29\20const +1971:hb_lazy_loader_t\2c\20hb_face_t\2c\2024u\2c\20OT::GDEF_accelerator_t>::get_stored\28\29\20const +1972:hb_indic_would_substitute_feature_t::init\28hb_ot_map_t\20const*\2c\20unsigned\20int\2c\20bool\29 +1973:hb_hashmap_t::del\28unsigned\20int\20const&\29 +1974:hb_font_t::get_glyph_v_advance\28unsigned\20int\29 +1975:hb_font_t::get_glyph_extents\28unsigned\20int\2c\20hb_glyph_extents_t*\29 +1976:hb_buffer_t::_set_glyph_flags\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +1977:hb_buffer_create_similar +1978:gray_set_cell +1979:getenv +1980:ft_service_list_lookup +1981:fseek +1982:fillcheckrect\28int\2c\20int\2c\20int\2c\20int\2c\20SkBlitter*\29 +1983:fflush +1984:fclose +1985:expm1 +1986:expf +1987:crc_word +1988:classify\28skcms_TransferFunction\20const&\2c\20TF_PQish*\2c\20TF_HLGish*\29 +1989:choose_bmp_texture_colortype\28GrCaps\20const*\2c\20SkBitmap\20const&\29 +1990:char*\20sktext::gpu::BagOfBytes::allocateBytesFor\28int\29 +1991:cff_parse_fixed +1992:cf2_interpT2CharString +1993:cf2_hintmap_insertHint +1994:cf2_hintmap_build +1995:cf2_glyphpath_moveTo +1996:cf2_glyphpath_lineTo +1997:byn$mgfn-shared$std::__2::__split_buffer&>::~__split_buffer\28\29 +1998:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +1999:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +2000:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +2001:byn$mgfn-shared$std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +2002:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +2003:byn$mgfn-shared$skgpu::ganesh::PathStencilCoverOp::ClassID\28\29 +2004:byn$mgfn-shared$format_alignment\28SkMask::Format\29 +2005:byn$mgfn-shared$SkFibBlockSizes<4294967295u>::SkFibBlockSizes\28unsigned\20int\2c\20unsigned\20int\29::'lambda'\28\29::operator\28\29\28\29\20const +2006:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::vector>\20const&\2c\20std::__2::vector>\20const&\29 +2007:bool\20OT::OffsetTo>\2c\20OT::IntType\2c\20false>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +2008:blit_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +2009:afm_tokenize +2010:af_glyph_hints_reload +2011:a_dec +2012:_hb_glyph_info_set_unicode_props\28hb_glyph_info_t*\2c\20hb_buffer_t*\29 +2013:_hb_draw_funcs_set_middle\28hb_draw_funcs_t*\2c\20void*\2c\20void\20\28*\29\28void*\29\29 +2014:__syscall_ret +2015:__sin +2016:__cos +2017:\28anonymous\20namespace\29::valid_unit_divide\28float\2c\20float\2c\20float*\29 +2018:\28anonymous\20namespace\29::draw_stencil_rect\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrHardClip\20const&\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +2019:\28anonymous\20namespace\29::can_reorder\28SkRect\20const&\2c\20SkRect\20const&\29 +2020:\28anonymous\20namespace\29::SkBlurImageFilter::~SkBlurImageFilter\28\29 +2021:\28anonymous\20namespace\29::FillRectOpImpl::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +2022:Skwasm::samplingOptionsForQuality\28Skwasm::FilterQuality\29 +2023:Skwasm::createRRect\28float\20const*\29 +2024:SkWriter32::writeSampling\28SkSamplingOptions\20const&\29 +2025:SkWriter32::writePad\28void\20const*\2c\20unsigned\20long\29 +2026:SkTextBlobRunIterator::next\28\29 +2027:SkTextBlobBuilder::make\28\29 +2028:SkTSect::addOne\28\29 +2029:SkTMultiMap::remove\28skgpu::ScratchKey\20const&\2c\20GrGpuResource\20const*\29 +2030:SkTLazy::set\28SkPath\20const&\29 +2031:SkTDArray::append\28\29 +2032:SkSurfaces::RenderTarget\28GrRecordingContext*\2c\20skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20int\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const*\2c\20bool\2c\20bool\29 +2033:SkSurfaces::Raster\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20SkSurfaceProps\20const*\29 +2034:SkStrokeRec::isFillStyle\28\29\20const +2035:SkString::appendU32\28unsigned\20int\29 +2036:SkStrike::digestFor\28skglyph::ActionType\2c\20SkPackedGlyphID\29 +2037:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +2038:SkShaders::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\29 +2039:SkShaderUtils::GLSLPrettyPrint::appendChar\28char\29 +2040:SkSemaphore::signal\28int\29 +2041:SkScopeExit::~SkScopeExit\28\29 +2042:SkScan::FillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\29 +2043:SkSL::is_scalar_op_matrix\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +2044:SkSL::evaluate_n_way_intrinsic\28SkSL::Context\20const&\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +2045:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitType\28SkSL::Type\20const&\29 +2046:SkSL::Variable::initialValue\28\29\20const +2047:SkSL::Variable*\20SkSL::SymbolTable::takeOwnershipOfSymbol\28std::__2::unique_ptr>\29 +2048:SkSL::Type::canCoerceTo\28SkSL::Type\20const&\2c\20bool\29\20const +2049:SkSL::SymbolTable::takeOwnershipOfString\28std::__2::basic_string\2c\20std::__2::allocator>\29 +2050:SkSL::RP::pack_nybbles\28SkSpan\29 +2051:SkSL::RP::Generator::foldComparisonOp\28SkSL::Operator\2c\20int\29 +2052:SkSL::RP::Generator::createStack\28\29 +2053:SkSL::RP::Builder::trace_var\28int\2c\20SkSL::RP::SlotRange\29 +2054:SkSL::RP::Builder::jump\28int\29 +2055:SkSL::RP::Builder::dot_floats\28int\29 +2056:SkSL::RP::Builder::branch_if_no_lanes_active\28int\29 +2057:SkSL::RP::AutoStack::~AutoStack\28\29 +2058:SkSL::RP::AutoStack::pushClone\28int\29 +2059:SkSL::Position::rangeThrough\28SkSL::Position\29\20const +2060:SkSL::PipelineStage::PipelineStageCodeGenerator::AutoOutputBuffer::~AutoOutputBuffer\28\29 +2061:SkSL::Parser::type\28SkSL::Modifiers*\29 +2062:SkSL::Parser::parseArrayDimensions\28SkSL::Position\2c\20SkSL::Type\20const**\29 +2063:SkSL::Parser::modifiers\28\29 +2064:SkSL::Parser::assignmentExpression\28\29 +2065:SkSL::Parser::arraySize\28long\20long*\29 +2066:SkSL::ModifierFlags::paddedDescription\28\29\20const +2067:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29::$_1::operator\28\29\28SkSL::ExpressionArray\20const&\29\20const +2068:SkSL::IndexExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +2069:SkSL::IRHelpers::Swizzle\28std::__2::unique_ptr>\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29\20const +2070:SkSL::GLSLCodeGenerator::writeTypePrecision\28SkSL::Type\20const&\29 +2071:SkSL::FunctionDeclaration::getMainCoordsParameter\28\29\20const +2072:SkSL::ExpressionArray::clone\28\29\20const +2073:SkSL::ConstantFolder::GetConstantValue\28SkSL::Expression\20const&\2c\20double*\29 +2074:SkSL::ConstantFolder::GetConstantInt\28SkSL::Expression\20const&\2c\20long\20long*\29 +2075:SkSL::Compiler::~Compiler\28\29 +2076:SkSL::Compiler::errorText\28bool\29 +2077:SkSL::Compiler::Compiler\28\29 +2078:SkSL::Analysis::IsTrivialExpression\28SkSL::Expression\20const&\29 +2079:SkRuntimeShaderBuilder::~SkRuntimeShaderBuilder\28\29 +2080:SkRuntimeShaderBuilder::makeShader\28SkMatrix\20const*\29\20const +2081:SkRuntimeShaderBuilder::SkRuntimeShaderBuilder\28sk_sp\29 +2082:SkRuntimeEffectPriv::TransformUniforms\28SkSpan\2c\20sk_sp\2c\20SkColorSpace\20const*\29 +2083:SkRuntimeEffectBuilder::BuilderChild&\20SkRuntimeEffectBuilder::BuilderChild::operator=\28sk_sp\29 +2084:SkRuntimeEffect::findChild\28std::__2::basic_string_view>\29\20const +2085:SkRegion::setPath\28SkPath\20const&\2c\20SkRegion\20const&\29 +2086:SkRegion::Iterator::Iterator\28SkRegion\20const&\29 +2087:SkReduceOrder::Quad\28SkPoint\20const*\2c\20SkPoint*\29 +2088:SkRect::sort\28\29 +2089:SkRect::joinPossiblyEmptyRect\28SkRect\20const&\29 +2090:SkRasterPipelineBlitter::appendClipScale\28SkRasterPipeline*\29\20const +2091:SkRasterPipelineBlitter::appendClipLerp\28SkRasterPipeline*\29\20const +2092:SkRRect::setRectRadii\28SkRect\20const&\2c\20SkPoint\20const*\29 +2093:SkRGBA4f<\28SkAlphaType\292>::toBytes_RGBA\28\29\20const +2094:SkRGBA4f<\28SkAlphaType\292>::fitsInBytes\28\29\20const +2095:SkPointPriv::EqualsWithinTolerance\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\29 +2096:SkPoint*\20SkRecorder::copy\28SkPoint\20const*\2c\20unsigned\20long\29 +2097:SkPoint*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29 +2098:SkPixmap::reset\28\29 +2099:SkPixmap::computeByteSize\28\29\20const +2100:SkPictureRecord::addImage\28SkImage\20const*\29 +2101:SkPathRef::SkPathRef\28int\2c\20int\2c\20int\29 +2102:SkPathPriv::ComputeFirstDirection\28SkPath\20const&\29 +2103:SkPath::isLine\28SkPoint*\29\20const +2104:SkPaintPriv::ComputeLuminanceColor\28SkPaint\20const&\29 +2105:SkPaint::operator=\28SkPaint\20const&\29 +2106:SkPaint::nothingToDraw\28\29\20const +2107:SkOpSpan::release\28SkOpPtT\20const*\29 +2108:SkOpContourBuilder::addCurve\28SkPath::Verb\2c\20SkPoint\20const*\2c\20float\29 +2109:SkMipmap::Build\28SkPixmap\20const&\2c\20SkDiscardableMemory*\20\28*\29\28unsigned\20long\29\2c\20bool\29 +2110:SkMeshSpecification::Varying::Varying\28SkMeshSpecification::Varying&&\29 +2111:SkMatrix::mapOrigin\28\29\20const +2112:SkMatrix::decomposeScale\28SkSize*\2c\20SkMatrix*\29\20const +2113:SkMaskFilter::MakeBlur\28SkBlurStyle\2c\20float\2c\20bool\29 +2114:SkM44::SkM44\28SkMatrix\20const&\29 +2115:SkIntersections::insertNear\28double\2c\20double\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29 +2116:SkImageShader::Make\28sk_sp\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +2117:SkImageGenerator::onRefEncodedData\28\29 +2118:SkIRect::outset\28int\2c\20int\29 +2119:SkIRect::inset\28int\2c\20int\29 +2120:SkGradientBaseShader::flatten\28SkWriteBuffer&\29\20const +2121:SkFont::getMetrics\28SkFontMetrics*\29\20const +2122:SkFont::SkFont\28\29 +2123:SkFindQuadMaxCurvature\28SkPoint\20const*\29 +2124:SkFDot6Div\28int\2c\20int\29 +2125:SkEvalQuadAt\28SkPoint\20const*\2c\20float\29 +2126:SkEvalCubicAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29 +2127:SkEdgeClipper::appendVLine\28float\2c\20float\2c\20float\2c\20bool\29 +2128:SkDrawShadowMetrics::GetSpotParams\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float*\2c\20float*\2c\20SkPoint*\29 +2129:SkDraw::SkDraw\28\29 +2130:SkDevice::setLocalToDevice\28SkM44\20const&\29 +2131:SkDevice::setGlobalCTM\28SkM44\20const&\29 +2132:SkDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +2133:SkDLine::exactPoint\28SkDPoint\20const&\29\20const +2134:SkColorSpace::MakeSRGBLinear\28\29 +2135:SkChopCubicAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +2136:SkCanvas::getLocalClipBounds\28\29\20const +2137:SkCanvas::drawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +2138:SkCanvas::drawIRect\28SkIRect\20const&\2c\20SkPaint\20const&\29 +2139:SkBulkGlyphMetrics::glyphs\28SkSpan\29 +2140:SkBlurEngine::SigmaToRadius\28float\29 +2141:SkBlockAllocator::releaseBlock\28SkBlockAllocator::Block*\29 +2142:SkBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +2143:SkBlendMode_AppendStages\28SkBlendMode\2c\20SkRasterPipeline*\29 +2144:SkBitmap::tryAllocPixels\28SkBitmap::Allocator*\29 +2145:SkBitmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +2146:SkBitmap::operator=\28SkBitmap\20const&\29 +2147:SkBitmap::getGenerationID\28\29\20const +2148:SkAutoPixmapStorage::SkAutoPixmapStorage\28\29 +2149:SkAutoDeviceTransformRestore::~SkAutoDeviceTransformRestore\28\29 +2150:SkAutoDeviceTransformRestore::SkAutoDeviceTransformRestore\28SkDevice*\2c\20SkMatrix\20const&\29 +2151:SkAAClipBlitter::~SkAAClipBlitter\28\29 +2152:SkAAClip::setRegion\28SkRegion\20const&\29::$_0::operator\28\29\28unsigned\20char\2c\20int\29\20const +2153:SkAAClip::findX\28unsigned\20char\20const*\2c\20int\2c\20int*\29\20const +2154:SkAAClip::findRow\28int\2c\20int*\29\20const +2155:SkAAClip::Builder::Blitter::~Blitter\28\29 +2156:RoughlyEqualUlps\28float\2c\20float\29 +2157:R +2158:PS_Conv_ToInt +2159:OT::hmtxvmtx::accelerator_t::get_leading_bearing_without_var_unscaled\28unsigned\20int\2c\20int*\29\20const +2160:OT::hb_ot_apply_context_t::replace_glyph\28unsigned\20int\29 +2161:OT::fvar::get_axes\28\29\20const +2162:OT::Layout::GPOS_impl::ValueFormat::sanitize_values_stride_unsafe\28hb_sanitize_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +2163:OT::DeltaSetIndexMap::map\28unsigned\20int\29\20const +2164:Normalize +2165:Ins_Goto_CodeRange +2166:GrTriangulator::setBottom\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2167:GrTriangulator::VertexList::append\28GrTriangulator::VertexList\20const&\29 +2168:GrTriangulator::Line::normalize\28\29 +2169:GrTriangulator::Edge::disconnect\28\29 +2170:GrThreadSafeCache::find\28skgpu::UniqueKey\20const&\29 +2171:GrThreadSafeCache::add\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2172:GrTextureEffect::texture\28\29\20const +2173:GrTextureEffect::GrTextureEffect\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20GrTextureEffect::Sampling\20const&\29 +2174:GrSurfaceProxyView::Copy\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\29 +2175:GrSurfaceProxyPriv::doLazyInstantiation\28GrResourceProvider*\29 +2176:GrSurface::~GrSurface\28\29 +2177:GrStyledShape::simplify\28\29 +2178:GrStyle::applies\28\29\20const +2179:GrSimpleMeshDrawOpHelperWithStencil::fixedFunctionFlags\28\29\20const +2180:GrSimpleMeshDrawOpHelper::finalizeProcessors\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrClampType\2c\20GrProcessorAnalysisCoverage\2c\20GrProcessorAnalysisColor*\29 +2181:GrSimpleMeshDrawOpHelper::detachProcessorSet\28\29 +2182:GrSimpleMeshDrawOpHelper::CreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrPipeline\20const*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrGeometryProcessor*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\2c\20GrUserStencilSettings\20const*\29 +2183:GrSimpleMesh::setIndexedPatterned\28sk_sp\2c\20int\2c\20int\2c\20int\2c\20sk_sp\2c\20int\2c\20int\29 +2184:GrShape::setRect\28SkRect\20const&\29 +2185:GrShape::GrShape\28GrShape\20const&\29 +2186:GrShaderVar::addModifier\28char\20const*\29 +2187:GrSWMaskHelper::~GrSWMaskHelper\28\29 +2188:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20void\20const*\2c\20skgpu::UniqueKey\20const&\29 +2189:GrResourceProvider::findOrMakeStaticBuffer\28GrGpuBufferType\2c\20unsigned\20long\2c\20skgpu::UniqueKey\20const&\2c\20void\20\28*\29\28skgpu::VertexWriter\2c\20unsigned\20long\29\29 +2190:GrResourceCache::purgeAsNeeded\28\29 +2191:GrRenderTask::addDependency\28GrDrawingManager*\2c\20GrSurfaceProxy*\2c\20skgpu::Mipmapped\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +2192:GrRecordingContextPriv::makeSFC\28GrImageInfo\2c\20std::__2::basic_string_view>\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +2193:GrQuad::asRect\28SkRect*\29\20const +2194:GrProcessorSet::operator!=\28GrProcessorSet\20const&\29\20const +2195:GrPixmapBase::GrPixmapBase\28GrImageInfo\2c\20void\20const*\2c\20unsigned\20long\29 +2196:GrPipeline::getXferProcessor\28\29\20const +2197:GrPathUtils::generateQuadraticPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +2198:GrPathUtils::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint**\2c\20unsigned\20int\29 +2199:GrNativeRect::asSkIRect\28\29\20const +2200:GrGeometryProcessor::ProgramImpl::~ProgramImpl\28\29 +2201:GrGeometryProcessor::ProgramImpl::WriteOutputPosition\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\2c\20char\20const*\2c\20SkMatrix\20const&\2c\20GrResourceHandle*\29 +2202:GrGLSLShaderBuilder::defineConstant\28char\20const*\2c\20float\29 +2203:GrGLSLShaderBuilder::addFeature\28unsigned\20int\2c\20char\20const*\29 +2204:GrGLSLProgramBuilder::nameVariable\28char\2c\20char\20const*\2c\20bool\29 +2205:GrGLSLColorSpaceXformHelper::setData\28GrGLSLProgramDataManager\20const&\2c\20GrColorSpaceXform\20const*\29 +2206:GrGLSLColorSpaceXformHelper::emitCode\28GrGLSLUniformHandler*\2c\20GrColorSpaceXform\20const*\2c\20unsigned\20int\29 +2207:GrGLGpu::flushColorWrite\28bool\29 +2208:GrGLGpu::bindTexture\28int\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20GrGLTexture*\29 +2209:GrFragmentProcessor::visitWithImpls\28std::__2::function\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\20const +2210:GrFragmentProcessor::visitProxies\28std::__2::function\20const&\29\20const +2211:GrFragmentProcessor::ColorMatrix\28std::__2::unique_ptr>\2c\20float\20const*\2c\20bool\2c\20bool\2c\20bool\29 +2212:GrDstProxyView::operator=\28GrDstProxyView\20const&\29 +2213:GrDrawingManager::closeActiveOpsTask\28\29 +2214:GrDrawingManager::appendTask\28sk_sp\29 +2215:GrColorSpaceXformEffect::Make\28std::__2::unique_ptr>\2c\20sk_sp\29 +2216:GrColorSpaceXform::XformKey\28GrColorSpaceXform\20const*\29 +2217:GrColorSpaceXform::Make\28GrColorInfo\20const&\2c\20GrColorInfo\20const&\29 +2218:GrColorInfo::GrColorInfo\28GrColorInfo\20const&\29 +2219:GrCaps::isFormatCompressed\28GrBackendFormat\20const&\29\20const +2220:GrBufferAllocPool::~GrBufferAllocPool\28\29 +2221:GrBufferAllocPool::putBack\28unsigned\20long\29 +2222:GrBlurUtils::convolve_gaussian\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20SkIRect\2c\20SkIRect\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkBackingFit\29::$_1::operator\28\29\28SkIRect\29\20const +2223:GrAAConvexTessellator::lineTo\28SkPoint\20const&\2c\20GrAAConvexTessellator::CurveState\29 +2224:FwDCubicEvaluator::restart\28int\29 +2225:FT_Vector_Transform +2226:FT_Stream_Read +2227:FT_Select_Charmap +2228:FT_Lookup_Renderer +2229:FT_Get_Module_Interface +2230:CFF::opset_t::process_op\28unsigned\20int\2c\20CFF::interp_env_t&\29 +2231:CFF::arg_stack_t::push_int\28int\29 +2232:CFF::CFFIndex>::offset_at\28unsigned\20int\29\20const +2233:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::Item::operator++\28\29 +2234:ActiveEdge::intersect\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29\20const +2235:AAT::hb_aat_apply_context_t::~hb_aat_apply_context_t\28\29 +2236:AAT::hb_aat_apply_context_t::hb_aat_apply_context_t\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20hb_blob_t*\29 +2237:void\20std::__2::reverse\5babi:v160004\5d\28unsigned\20int*\2c\20unsigned\20int*\29 +2238:void\20std::__2::__variant_detail::__assignment>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29 +2239:void\20hb_serialize_context_t::add_link\2c\20true>>\28OT::OffsetTo\2c\20true>&\2c\20unsigned\20int\2c\20hb_serialize_context_t::whence_t\2c\20unsigned\20int\29 +2240:void\20SkSafeUnref\28GrArenas*\29 +2241:void\20SkSL::RP::unpack_nybbles_to_offsets\28unsigned\20int\2c\20SkSpan\29 +2242:unlock +2243:ubidi_setPara_skia +2244:ubidi_getCustomizedClass_skia +2245:tt_set_mm_blend +2246:tt_face_get_ps_name +2247:trinkle +2248:t1_builder_check_points +2249:subdivide\28SkConic\20const&\2c\20SkPoint*\2c\20int\29 +2250:std::__2::vector>\2c\20std::__2::allocator>>>::__swap_out_circular_buffer\28std::__2::__split_buffer>\2c\20std::__2::allocator>>&>&\29 +2251:std::__2::vector>\2c\20std::__2::allocator>>>::__clear\5babi:v160004\5d\28\29 +2252:std::__2::vector>\2c\20std::__2::allocator>>>::~vector\5babi:v160004\5d\28\29 +2253:std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +2254:std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +2255:std::__2::vector\2c\20std::__2::allocator>>::push_back\5babi:v160004\5d\28sk_sp\20const&\29 +2256:std::__2::vector>::push_back\5babi:v160004\5d\28float&&\29 +2257:std::__2::vector>::push_back\5babi:v160004\5d\28char\20const*&&\29 +2258:std::__2::vector>::__move_assign\28std::__2::vector>&\2c\20std::__2::integral_constant\29 +2259:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +2260:std::__2::unordered_map\2c\20std::__2::equal_to\2c\20std::__2::allocator>>::operator\5b\5d\28GrTriangulator::Vertex*\20const&\29 +2261:std::__2::unique_ptr::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +2262:std::__2::unique_ptr::Traits>::Slot\20\5b\5d\2c\20std::__2::default_delete::Traits>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +2263:std::__2::unique_ptr>::reset\5babi:v160004\5d\28skgpu::ganesh::SurfaceDrawContext*\29 +2264:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2265:std::__2::unique_ptr>::reset\5babi:v160004\5d\28skgpu::ganesh::PathRendererChain*\29 +2266:std::__2::unique_ptr\20\5b\5d\2c\20std::__2::default_delete\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +2267:std::__2::unique_ptr>::reset\5babi:v160004\5d\28hb_face_t*\29 +2268:std::__2::unique_ptr::release\5babi:v160004\5d\28\29 +2269:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2270:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2271:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2272:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2273:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2274:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +2275:std::__2::mutex::unlock\28\29 +2276:std::__2::mutex::lock\28\29 +2277:std::__2::moneypunct::do_decimal_point\28\29\20const +2278:std::__2::moneypunct::pos_format\5babi:v160004\5d\28\29\20const +2279:std::__2::moneypunct::do_decimal_point\28\29\20const +2280:std::__2::locale::locale\28std::__2::locale\20const&\29 +2281:std::__2::locale::classic\28\29 +2282:std::__2::istreambuf_iterator>::istreambuf_iterator\5babi:v160004\5d\28std::__2::basic_istream>&\29 +2283:std::__2::function::operator\28\29\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +2284:std::__2::function::operator\28\29\28int\2c\20skia::textlayout::Paragraph::VisitorInfo\20const*\29\20const +2285:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28unsigned\20int&\2c\20unsigned\20int&\29 +2286:std::__2::enable_if<_CheckArrayPointerConversion::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*>\28skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*\29 +2287:std::__2::enable_if<_CheckArrayPointerConversion>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot*>\28skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot*\29 +2288:std::__2::deque>::pop_front\28\29 +2289:std::__2::deque>::begin\5babi:v160004\5d\28\29 +2290:std::__2::default_delete::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::_EnableIfConvertible::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot>::type\20std::__2::default_delete::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot>\28skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot*\29\20const +2291:std::__2::ctype::toupper\5babi:v160004\5d\28char\29\20const +2292:std::__2::chrono::duration>::duration\5babi:v160004\5d\28long\20long\20const&\2c\20std::__2::enable_if::value\20&&\20\28std::__2::integral_constant::value\20||\20!treat_as_floating_point::value\29\2c\20void>::type*\29 +2293:std::__2::basic_string_view>::find\5babi:v160004\5d\28char\2c\20unsigned\20long\29\20const +2294:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +2295:std::__2::basic_string\2c\20std::__2::allocator>::operator\5b\5d\5babi:v160004\5d\28unsigned\20long\29\20const +2296:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +2297:std::__2::basic_string\2c\20std::__2::allocator>\20const*\20std::__2::__scan_keyword\5babi:v160004\5d>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype>\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::ctype\20const&\2c\20unsigned\20int&\2c\20bool\29 +2298:std::__2::basic_string\2c\20std::__2::allocator>::operator=\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +2299:std::__2::basic_string\2c\20std::__2::allocator>::__get_short_size\5babi:v160004\5d\28\29\20const +2300:std::__2::basic_string\2c\20std::__2::allocator>::__fits_in_sso\5babi:v160004\5d\28unsigned\20long\29 +2301:std::__2::basic_string\2c\20std::__2::allocator>::__assign_external\28char\20const*\2c\20unsigned\20long\29 +2302:std::__2::basic_streambuf>::__pbump\5babi:v160004\5d\28long\29 +2303:std::__2::basic_ostream>::sentry::operator\20bool\5babi:v160004\5d\28\29\20const +2304:std::__2::basic_iostream>::~basic_iostream\28\29 +2305:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::OperatorKind&&\2c\20std::__2::unique_ptr>&&\29 +2306:std::__2::__tuple_impl\2c\20sk_sp\2c\20sk_sp>::~__tuple_impl\28\29 +2307:std::__2::__tuple_impl\2c\20GrFragmentProcessor\20const*\2c\20GrGeometryProcessor::ProgramImpl::TransformInfo>::__tuple_impl\28std::__2::__tuple_impl\2c\20GrFragmentProcessor\20const*\2c\20GrGeometryProcessor::ProgramImpl::TransformInfo>&&\29 +2308:std::__2::__tree\2c\20std::__2::__map_value_compare\2c\20std::__2::less\2c\20true>\2c\20std::__2::allocator>>::destroy\28std::__2::__tree_node\2c\20void*>*\29 +2309:std::__2::__throw_bad_variant_access\5babi:v160004\5d\28\29 +2310:std::__2::__split_buffer>\2c\20std::__2::allocator>>&>::~__split_buffer\28\29 +2311:std::__2::__split_buffer>::push_front\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +2312:std::__2::__split_buffer>::push_back\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\20const&\29 +2313:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +2314:std::__2::__split_buffer\2c\20std::__2::allocator>&>::~__split_buffer\28\29 +2315:std::__2::__split_buffer\2c\20std::__2::allocator>&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator>&\29 +2316:std::__2::__shared_count::__add_shared\5babi:v160004\5d\28\29 +2317:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +2318:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +2319:std::__2::__num_put_base::__format_int\28char*\2c\20char\20const*\2c\20bool\2c\20unsigned\20int\29 +2320:std::__2::__num_put_base::__format_float\28char*\2c\20char\20const*\2c\20unsigned\20int\29 +2321:std::__2::__itoa::__append8\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +2322:skvx::Vec<8\2c\20unsigned\20short>\20skvx::operator+<8\2c\20unsigned\20short\2c\20unsigned\20short\2c\20void>\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20short\29 +2323:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator>=<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +2324:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float\2c\20double\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20double\29 +2325:sktext::gpu::VertexFiller::deviceRectAndCheckTransform\28SkMatrix\20const&\29\20const +2326:sktext::gpu::GlyphVector::packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29 +2327:sktext::SkStrikePromise::strike\28\29 +2328:skif::\28anonymous\20namespace\29::draw_tiled_border\28SkCanvas*\2c\20SkTileMode\2c\20SkPaint\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_1::operator\28\29\28SkPoint\20const&\2c\20SkPoint\20const&\29\20const +2329:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +2330:skif::LayerSpace::ceil\28\29\20const +2331:skif::LayerSpace\20skif::Mapping::paramToLayer\28skif::ParameterSpace\20const&\29\20const +2332:skif::LayerSpace::postConcat\28skif::LayerSpace\20const&\29 +2333:skif::LayerSpace::inverseMapRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29\20const +2334:skif::LayerSpace\20skif::Mapping::deviceToLayer\28skif::DeviceSpace\20const&\29\20const +2335:skif::FilterResult::subset\28skif::LayerSpace\20const&\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +2336:skif::FilterResult::getAnalyzedShaderView\28skif::Context\20const&\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\29\20const +2337:skif::FilterResult::applyTransform\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkSamplingOptions\20const&\29\20const +2338:skif::FilterResult::applyCrop\28skif::Context\20const&\2c\20skif::LayerSpace\20const&\2c\20SkTileMode\29\20const +2339:skif::FilterResult::analyzeBounds\28SkMatrix\20const&\2c\20SkIRect\20const&\2c\20skif::FilterResult::BoundsScope\29\20const +2340:skif::FilterResult::Builder::add\28skif::FilterResult\20const&\2c\20std::__2::optional>\2c\20SkEnumBitMask\2c\20SkSamplingOptions\20const&\29 +2341:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +2342:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +2343:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair&&\29 +2344:skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Hash\28std::__2::basic_string_view>\20const&\29 +2345:skia_private::THashTable::Traits>::uncheckedSet\28long\20long&&\29 +2346:skia_private::THashTable::Traits>::uncheckedSet\28int&&\29 +2347:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::resize\28int\29 +2348:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::find\28unsigned\20int\20const&\29\20const +2349:skia_private::THashMap::find\28unsigned\20int\20const&\29\20const +2350:skia_private::THashMap::operator\5b\5d\28SkSL::Variable\20const*\20const&\29 +2351:skia_private::TArray::push_back_raw\28int\29 +2352:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +2353:skia_private::TArray>\2c\20true>::destroyAll\28\29 +2354:skia_private::TArray>\2c\20true>::push_back\28std::__2::unique_ptr>&&\29 +2355:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +2356:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +2357:skia_private::TArray::~TArray\28\29 +2358:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +2359:skia_private::TArray::~TArray\28\29 +2360:skia_private::TArray\2c\20true>::~TArray\28\29 +2361:skia_private::TArray::reserve_exact\28int\29 +2362:skia_private::TArray<\28anonymous\20namespace\29::MeshOp::Mesh\2c\20true>::preallocateNewData\28int\2c\20double\29 +2363:skia_private::TArray<\28anonymous\20namespace\29::MeshOp::Mesh\2c\20true>::installDataAndUpdateCapacity\28SkSpan\29 +2364:skia_private::TArray::clear\28\29 +2365:skia_private::TArray::operator=\28skia_private::TArray&&\29 +2366:skia_private::TArray::Allocate\28int\2c\20double\29 +2367:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +2368:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +2369:skia_private::TArray::push_back\28GrRenderTask*&&\29 +2370:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +2371:skia_private::AutoSTMalloc<4ul\2c\20SkFontArguments::Palette::Override\2c\20void>::AutoSTMalloc\28unsigned\20long\29 +2372:skia_private::AutoSTArray<24\2c\20unsigned\20int>::reset\28int\29 +2373:skia_png_zstream_error +2374:skia_png_read_data +2375:skia_png_get_int_32 +2376:skia_png_chunk_unknown_handling +2377:skia_png_calloc +2378:skia::textlayout::TextWrapper::getClustersTrimmedWidth\28\29 +2379:skia::textlayout::TextWrapper::TextStretch::startFrom\28skia::textlayout::Cluster*\2c\20unsigned\20long\29 +2380:skia::textlayout::TextWrapper::TextStretch::extend\28skia::textlayout::Cluster*\29 +2381:skia::textlayout::TextLine::measureTextInsideOneRun\28skia::textlayout::SkRange\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20float\2c\20bool\2c\20skia::textlayout::TextLine::TextAdjustment\29\20const +2382:skia::textlayout::TextLine::isLastLine\28\29\20const +2383:skia::textlayout::Run::calculateHeight\28skia::textlayout::LineMetricStyle\2c\20skia::textlayout::LineMetricStyle\29\20const +2384:skia::textlayout::Run::Run\28skia::textlayout::Run\20const&\29 +2385:skia::textlayout::ParagraphImpl::getLineNumberAt\28unsigned\20long\29\20const +2386:skia::textlayout::ParagraphImpl::findPreviousGraphemeBoundary\28unsigned\20long\29\20const +2387:skia::textlayout::ParagraphCacheKey::~ParagraphCacheKey\28\29 +2388:skia::textlayout::ParagraphBuilderImpl::startStyledBlock\28\29 +2389:skia::textlayout::OneLineShaper::RunBlock&\20std::__2::vector>::emplace_back\28skia::textlayout::OneLineShaper::RunBlock&\29 +2390:skia::textlayout::OneLineShaper::FontKey::FontKey\28skia::textlayout::OneLineShaper::FontKey&&\29 +2391:skia::textlayout::InternalLineMetrics::updateLineMetrics\28skia::textlayout::InternalLineMetrics&\29 +2392:skia::textlayout::FontCollection::getFontManagerOrder\28\29\20const +2393:skia::textlayout::Decorations::calculateGaps\28skia::textlayout::TextLine::ClipContext\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\29 +2394:skia::textlayout::Cluster::runOrNull\28\29\20const +2395:skgpu::tess::PatchStride\28skgpu::tess::PatchAttribs\29 +2396:skgpu::tess::MiddleOutPolygonTriangulator::MiddleOutPolygonTriangulator\28int\2c\20SkPoint\29 +2397:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::fixedFunctionFlags\28\29\20const +2398:skgpu::ganesh::SurfaceFillContext::~SurfaceFillContext\28\29 +2399:skgpu::ganesh::SurfaceFillContext::replaceOpsTask\28\29 +2400:skgpu::ganesh::SurfaceDrawContext::fillPixelsWithLocalMatrix\28GrClip\20const*\2c\20GrPaint&&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\29 +2401:skgpu::ganesh::SurfaceDrawContext::drawShape\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20GrStyledShape&&\29 +2402:skgpu::ganesh::SurfaceDrawContext::drawPaint\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\29 +2403:skgpu::ganesh::SurfaceDrawContext::MakeWithFallback\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20SkBackingFit\2c\20SkISize\2c\20SkSurfaceProps\20const&\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20skgpu::Budgeted\29 +2404:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29 +2405:skgpu::ganesh::SurfaceContext::transferPixels\28GrColorType\2c\20SkIRect\20const&\29::$_0::$_0\28$_0&&\29 +2406:skgpu::ganesh::SurfaceContext::PixelTransferResult::operator=\28skgpu::ganesh::SurfaceContext::PixelTransferResult&&\29 +2407:skgpu::ganesh::SupportedTextureFormats\28GrImageContext\20const&\29::$_0::operator\28\29\28SkYUVAPixmapInfo::DataType\2c\20int\29\20const +2408:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +2409:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::coverageMode\28\29\20const +2410:skgpu::ganesh::PathInnerTriangulateOp::pushFanFillProgram\28GrTessellationShader::ProgramArgs\20const&\2c\20GrUserStencilSettings\20const*\29 +2411:skgpu::ganesh::OpsTask::deleteOps\28\29 +2412:skgpu::ganesh::OpsTask::OpChain::List::operator=\28skgpu::ganesh::OpsTask::OpChain::List&&\29 +2413:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29::$_0::operator\28\29\28int\29\20const +2414:skgpu::ganesh::ClipStack::clipRect\28SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrAA\2c\20SkClipOp\29 +2415:skgpu::TClientMappedBufferManager::BufferFinishedMessage::BufferFinishedMessage\28skgpu::TClientMappedBufferManager::BufferFinishedMessage&&\29 +2416:skgpu::Swizzle::Concat\28skgpu::Swizzle\20const&\2c\20skgpu::Swizzle\20const&\29 +2417:skgpu::Swizzle::CToI\28char\29 +2418:sk_sp::reset\28SkMipmap*\29 +2419:sk_sp::~sk_sp\28\29 +2420:sk_sp::~sk_sp\28\29 +2421:sk_sp::~sk_sp\28\29 +2422:shr +2423:shl +2424:set_result_path\28SkPath*\2c\20SkPath\20const&\2c\20SkPathFillType\29 +2425:sect_with_horizontal\28SkPoint\20const*\2c\20float\29 +2426:roughly_between\28double\2c\20double\2c\20double\29 +2427:psh_calc_max_height +2428:ps_mask_set_bit +2429:ps_dimension_set_mask_bits +2430:ps_builder_check_points +2431:ps_builder_add_point +2432:png_colorspace_endpoints_match +2433:path_is_trivial\28SkPath\20const&\29::Trivializer::addTrivialContourPoint\28SkPoint\20const&\29 +2434:output_char\28hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +2435:operator!=\28SkRect\20const&\2c\20SkRect\20const&\29 +2436:nearly_equal\28double\2c\20double\29 +2437:mbrtowc +2438:mask_gamma_cache_mutex\28\29 +2439:map_rect_perspective\28SkRect\20const&\2c\20float\20const*\29::$_0::operator\28\29\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20const +2440:lock.9170 +2441:lineMetrics_getEndIndex +2442:is_smooth_enough\28SkAnalyticEdge*\2c\20SkAnalyticEdge*\2c\20int\29 +2443:is_ICC_signature_char +2444:interpolate_local\28float\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float*\2c\20float*\2c\20float*\29 +2445:int\20_hb_cmp_method>\28void\20const*\2c\20void\20const*\29 +2446:init_file_lock +2447:ilogbf +2448:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +2449:hb_vector_t\2c\20false>::fini\28\29 +2450:hb_unicode_funcs_t::compose\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +2451:hb_syllabic_insert_dotted_circles\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +2452:hb_shape_full +2453:hb_serialize_context_t::~hb_serialize_context_t\28\29 +2454:hb_serialize_context_t::hb_serialize_context_t\28void*\2c\20unsigned\20int\29 +2455:hb_serialize_context_t::end_serialize\28\29 +2456:hb_paint_funcs_t::push_scale\28void*\2c\20float\2c\20float\29 +2457:hb_paint_extents_context_t::paint\28\29 +2458:hb_ot_map_builder_t::disable_feature\28unsigned\20int\29 +2459:hb_map_iter_t\2c\20OT::IntType\2c\20true>\20const>\2c\20hb_partial_t<2u\2c\20$_9\20const*\2c\20OT::ChainRuleSet\20const*>\2c\20\28hb_function_sortedness_t\290\2c\20\28void*\290>::__item__\28\29\20const +2460:hb_lazy_loader_t\2c\20hb_face_t\2c\2012u\2c\20OT::vmtx_accelerator_t>::get_stored\28\29\20const +2461:hb_lazy_loader_t\2c\20hb_face_t\2c\2038u\2c\20OT::sbix_accelerator_t>::do_destroy\28OT::sbix_accelerator_t*\29 +2462:hb_lazy_loader_t\2c\20hb_face_t\2c\205u\2c\20OT::hmtx_accelerator_t>::do_destroy\28OT::hmtx_accelerator_t*\29 +2463:hb_lazy_loader_t\2c\20hb_face_t\2c\2016u\2c\20OT::cff1_accelerator_t>::get_stored\28\29\20const +2464:hb_lazy_loader_t\2c\20hb_face_t\2c\2025u\2c\20OT::GSUB_accelerator_t>::do_destroy\28OT::GSUB_accelerator_t*\29 +2465:hb_lazy_loader_t\2c\20hb_face_t\2c\2026u\2c\20OT::GPOS_accelerator_t>::get_stored\28\29\20const +2466:hb_lazy_loader_t\2c\20hb_face_t\2c\2034u\2c\20hb_blob_t>::get\28\29\20const +2467:hb_language_from_string +2468:hb_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>\2c\20OT::HBGlyphID16&>::operator*\28\29 +2469:hb_hashmap_t::add\28unsigned\20int\20const&\29 +2470:hb_hashmap_t::alloc\28unsigned\20int\29 +2471:hb_font_t::parent_scale_position\28int*\2c\20int*\29 +2472:hb_font_t::get_h_extents_with_fallback\28hb_font_extents_t*\29 +2473:hb_buffer_t::output_glyph\28unsigned\20int\29 +2474:hb_buffer_t::copy_glyph\28\29 +2475:hb_buffer_t::clear_positions\28\29 +2476:hb_bounds_t*\20hb_vector_t::push\28hb_bounds_t&&\29 +2477:hb_blob_create_sub_blob +2478:hb_blob_create +2479:get_cache\28\29 +2480:ftell +2481:ft_var_readpackedpoints +2482:ft_glyphslot_free_bitmap +2483:filter_to_gl_mag_filter\28SkFilterMode\29 +2484:extractMaskSubset\28SkMask\20const&\2c\20SkIRect\2c\20int\2c\20int\29 +2485:exp +2486:equal_ulps\28float\2c\20float\2c\20int\2c\20int\29 +2487:direct_blur_y\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2488:derivative_at_t\28double\20const*\2c\20double\29 +2489:crop_rect_edge\28SkRect\20const&\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float*\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +2490:cleanup_program\28GrGLGpu*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +2491:clean_paint_for_drawVertices\28SkPaint\29 +2492:clean_paint_for_drawImage\28SkPaint\20const*\29 +2493:check_edge_against_rect\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkRect\20const&\2c\20SkPathFirstDirection\29 +2494:checkOnCurve\28float\2c\20float\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +2495:char*\20sktext::gpu::BagOfBytes::allocateBytesFor\28int\29::'lambda'\28\29::operator\28\29\28\29\20const +2496:cff_strcpy +2497:cff_size_get_globals_funcs +2498:cff_index_forget_element +2499:cf2_stack_setReal +2500:cf2_hint_init +2501:cf2_doStems +2502:cf2_doFlex +2503:calculate_path_gap\28float\2c\20float\2c\20SkPath\20const&\29::$_4::operator\28\29\28float\29\20const +2504:byn$mgfn-shared$tt_cmap6_get_info +2505:byn$mgfn-shared$tt_cmap13_get_info +2506:byn$mgfn-shared$std::__2::__time_get_c_storage::__c\28\29\20const +2507:byn$mgfn-shared$std::__2::__time_get_c_storage::__c\28\29\20const +2508:byn$mgfn-shared$std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +2509:byn$mgfn-shared$skia::textlayout::ParagraphBuilderImpl::ensureUTF16Mapping\28\29::$_0::operator\28\29\28\29\20const::'lambda'\28unsigned\20long\29::operator\28\29\28unsigned\20long\29\20const +2510:byn$mgfn-shared$SkSL::Tracer::line\28int\29 +2511:byn$mgfn-shared$OT::PaintSkewAroundCenter::sanitize\28hb_sanitize_context_t*\29\20const +2512:buffer_verify_error\28hb_buffer_t*\2c\20hb_font_t*\2c\20char\20const*\2c\20...\29 +2513:bool\20hb_hashmap_t::has\28unsigned\20int\20const&\2c\20unsigned\20int**\29\20const +2514:bool\20hb_buffer_t::replace_glyphs\28unsigned\20int\2c\20unsigned\20int\2c\20OT::HBGlyphID16\20const*\29 +2515:bool\20OT::match_input>\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20bool\20\28*\29\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29\2c\20void\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +2516:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +2517:bool\20OT::OffsetTo>\2c\20OT::IntType\2c\20false>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +2518:blur_y_rect\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20unsigned\20short*\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +2519:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29::$_0::operator\28\29\28unsigned\20char*\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\29\20const +2520:blitClippedMask\28SkBlitter*\2c\20SkMask\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29 +2521:approx_arc_length\28SkPoint\20const*\2c\20int\29 +2522:antifillrect\28SkIRect\20const&\2c\20SkBlitter*\29 +2523:afm_parser_read_int +2524:af_sort_pos +2525:af_latin_hints_compute_segments +2526:_hb_glyph_info_get_lig_num_comps\28hb_glyph_info_t\20const*\29 +2527:__wasi_syscall_ret +2528:__uselocale +2529:__math_xflow +2530:__cxxabiv1::__base_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +2531:\28anonymous\20namespace\29::make_vertices_spec\28bool\2c\20bool\29 +2532:\28anonymous\20namespace\29::TransformedMaskSubRun::~TransformedMaskSubRun\28\29 +2533:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28unsigned\20int\20const*\29::operator\28\29\28unsigned\20int\20const*\29\20const +2534:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2535:\28anonymous\20namespace\29::SkBlurImageFilter::kernelBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\2c\20bool\29\20const +2536:\28anonymous\20namespace\29::RunIteratorQueue::insert\28SkShaper::RunIterator*\2c\20int\29 +2537:\28anonymous\20namespace\29::RunIteratorQueue::CompareEntry\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29 +2538:\28anonymous\20namespace\29::PathGeoBuilder::ensureSpace\28int\2c\20int\2c\20SkPoint\20const*\29 +2539:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMangledName\28char\20const*\29 +2540:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29::'lambda'\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +2541:\28anonymous\20namespace\29::FillRectOpImpl::vertexSpec\28\29\20const +2542:\28anonymous\20namespace\29::CacheImpl::removeInternal\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +2543:TT_Load_Context +2544:Skwasm::makeCurrent\28int\29 +2545:SkipCode +2546:SkYUVAPixmaps::~SkYUVAPixmaps\28\29 +2547:SkYUVAPixmaps::operator=\28SkYUVAPixmaps\20const&\29 +2548:SkYUVAPixmaps::SkYUVAPixmaps\28\29 +2549:SkWriter32::writeRRect\28SkRRect\20const&\29 +2550:SkWriter32::writeMatrix\28SkMatrix\20const&\29 +2551:SkWriter32::snapshotAsData\28\29\20const +2552:SkWBuffer::write\28void\20const*\2c\20unsigned\20long\29 +2553:SkVertices::approximateSize\28\29\20const +2554:SkTextBlobBuilder::~SkTextBlobBuilder\28\29 +2555:SkTextBlob::RunRecord::textBuffer\28\29\20const +2556:SkTextBlob::RunRecord::clusterBuffer\28\29\20const +2557:SkTextBlob::RunRecord::StorageSize\28unsigned\20int\2c\20unsigned\20int\2c\20SkTextBlob::GlyphPositioning\2c\20SkSafeMath*\29 +2558:SkTextBlob::RunRecord::Next\28SkTextBlob::RunRecord\20const*\29 +2559:SkTSpan::oppT\28double\29\20const +2560:SkTSpan::closestBoundedT\28SkDPoint\20const&\29\20const +2561:SkTSect::updateBounded\28SkTSpan*\2c\20SkTSpan*\2c\20SkTSpan*\29 +2562:SkTSect::trim\28SkTSpan*\2c\20SkTSect*\29 +2563:SkTSect::removeSpanRange\28SkTSpan*\2c\20SkTSpan*\29 +2564:SkTSect::removeCoincident\28SkTSpan*\2c\20bool\29 +2565:SkTSect::deleteEmptySpans\28\29 +2566:SkTInternalLList::Entry>::remove\28SkLRUCache::Entry*\29 +2567:SkTInternalLList>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry>::remove\28SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\29 +2568:SkTInternalLList>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry>::remove\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\29 +2569:SkTDStorage::insert\28int\2c\20int\2c\20void\20const*\29 +2570:SkTDStorage::insert\28int\29 +2571:SkTDStorage::erase\28int\2c\20int\29 +2572:SkTBlockList::pushItem\28\29 +2573:SkStrokeRec::applyToPath\28SkPath*\2c\20SkPath\20const&\29\20const +2574:SkString::set\28char\20const*\29 +2575:SkString::Rec::Make\28char\20const*\2c\20unsigned\20long\29 +2576:SkStrikeSpec::MakeCanonicalized\28SkFont\20const&\2c\20SkPaint\20const*\29 +2577:SkStrikeCache::GlobalStrikeCache\28\29 +2578:SkStrike::glyph\28SkPackedGlyphID\29 +2579:SkSpriteBlitter::~SkSpriteBlitter\28\29 +2580:SkShadowTessellator::MakeSpot\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkPoint3\20const&\2c\20float\2c\20bool\2c\20bool\29 +2581:SkShaders::MatrixRec::apply\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +2582:SkShaderBlurAlgorithm::renderBlur\28SkRuntimeShaderBuilder*\2c\20SkFilterMode\2c\20SkISize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const::$_0::operator\28\29\28SkIRect\20const&\29\20const +2583:SkShaderBase::appendRootStages\28SkStageRec\20const&\2c\20SkMatrix\20const&\29\20const +2584:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +2585:SkScalerContext_FreeType::emboldenIfNeeded\28FT_FaceRec_*\2c\20FT_GlyphSlotRec_*\2c\20unsigned\20short\29 +2586:SkScaleToSides::AdjustRadii\28double\2c\20double\2c\20float*\2c\20float*\29 +2587:SkSamplingOptions::operator!=\28SkSamplingOptions\20const&\29\20const +2588:SkSTArenaAlloc<3332ul>::SkSTArenaAlloc\28unsigned\20long\29 +2589:SkSTArenaAlloc<1024ul>::SkSTArenaAlloc\28unsigned\20long\29 +2590:SkSL::write_stringstream\28SkSL::StringStream\20const&\2c\20SkSL::OutputStream&\29 +2591:SkSL::evaluate_3_way_intrinsic\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +2592:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29 +2593:SkSL::calculate_count\28double\2c\20double\2c\20double\2c\20bool\2c\20bool\29 +2594:SkSL::append_rtadjust_fixup_to_vertex_main\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::Block&\29::AppendRTAdjustFixupHelper::Pos\28\29\20const +2595:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +2596:SkSL::VarDeclaration::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\2c\20std::__2::unique_ptr>\29 +2597:SkSL::Type::priority\28\29\20const +2598:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20double\2c\20SkSL::Position\29\20const +2599:SkSL::Transform::EliminateDeadFunctions\28SkSL::Program&\29::$_0::operator\28\29\28std::__2::unique_ptr>\20const&\29\20const +2600:SkSL::SymbolTable::lookup\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +2601:SkSL::SymbolTable::isType\28std::__2::basic_string_view>\29\20const +2602:SkSL::Swizzle::MaskString\28skia_private::FixedArray<4\2c\20signed\20char>\20const&\29 +2603:SkSL::RP::SlotManager::mapVariableToSlots\28SkSL::Variable\20const&\2c\20SkSL::RP::SlotRange\29 +2604:SkSL::RP::Program::appendStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkSL::RP::Callbacks*\2c\20SkSpan\29\20const::$_0::operator\28\29\28\29\20const +2605:SkSL::RP::Program::appendCopy\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20std::byte*\2c\20SkSL::RP::ProgramOp\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29\20const +2606:SkSL::RP::Generator::store\28SkSL::RP::LValue&\29 +2607:SkSL::RP::Generator::popToSlotRangeUnmasked\28SkSL::RP::SlotRange\29 +2608:SkSL::RP::Generator::emitTraceScope\28int\29 +2609:SkSL::RP::DynamicIndexLValue::dynamicSlotRange\28\29 +2610:SkSL::RP::Builder::ternary_op\28SkSL::RP::BuilderOp\2c\20int\29 +2611:SkSL::RP::Builder::simplifyPopSlotsUnmasked\28SkSL::RP::SlotRange*\29 +2612:SkSL::RP::Builder::push_zeros\28int\29 +2613:SkSL::RP::Builder::push_loop_mask\28\29 +2614:SkSL::RP::Builder::pad_stack\28int\29 +2615:SkSL::RP::Builder::exchange_src\28\29 +2616:SkSL::ProgramVisitor::visit\28SkSL::Program\20const&\29 +2617:SkSL::ProgramUsage::remove\28SkSL::Statement\20const*\29 +2618:SkSL::PrefixExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29 +2619:SkSL::PipelineStage::PipelineStageCodeGenerator::typedVariable\28SkSL::Type\20const&\2c\20std::__2::basic_string_view>\29 +2620:SkSL::PipelineStage::PipelineStageCodeGenerator::typeName\28SkSL::Type\20const&\29 +2621:SkSL::Parser::parseInitializer\28SkSL::Position\2c\20std::__2::unique_ptr>*\29 +2622:SkSL::Parser::nextRawToken\28\29 +2623:SkSL::Parser::arrayType\28SkSL::Type\20const*\2c\20int\2c\20SkSL::Position\29 +2624:SkSL::Parser::AutoSymbolTable::AutoSymbolTable\28SkSL::Parser*\2c\20std::__2::unique_ptr>*\2c\20bool\29 +2625:SkSL::LiteralType::priority\28\29\20const +2626:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sub\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +2627:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_dot\28std::__2::array\20const&\29 +2628:SkSL::InterfaceBlock::arraySize\28\29\20const +2629:SkSL::GLSLCodeGenerator::writeExtension\28std::__2::basic_string_view>\2c\20bool\29 +2630:SkSL::FieldAccess::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20int\2c\20SkSL::FieldAccessOwnerKind\29 +2631:SkSL::DoStatement::~DoStatement\28\29 +2632:SkSL::ConstructorArray::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +2633:SkSL::Compiler::convertProgram\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::ProgramSettings\20const&\29 +2634:SkSL::Block::isEmpty\28\29\20const +2635:SkSL::Block::Make\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2636:SkSL::Block::MakeBlock\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +2637:SkSL::Analysis::DetectVarDeclarationWithoutScope\28SkSL::Statement\20const&\2c\20SkSL::ErrorReporter*\29 +2638:SkRuntimeEffect::Result::~Result\28\29 +2639:SkResourceCache::remove\28SkResourceCache::Rec*\29 +2640:SkRegion::writeToMemory\28void*\29\20const +2641:SkRegion::getBoundaryPath\28SkPath*\29\20const +2642:SkRegion::SkRegion\28SkRegion\20const&\29 +2643:SkRect::set\28SkPoint\20const&\2c\20SkPoint\20const&\29 +2644:SkRect::offset\28SkPoint\20const&\29 +2645:SkRect::inset\28float\2c\20float\29 +2646:SkRect::center\28\29\20const +2647:SkRecords::Optional::~Optional\28\29 +2648:SkRecords::NoOp*\20SkRecord::replace\28int\29 +2649:SkReadBuffer::skip\28unsigned\20long\29 +2650:SkRasterPipeline_ConstantCtx*\20SkArenaAlloc::make\28SkRasterPipeline_ConstantCtx\20const&\29 +2651:SkRasterPipeline::tailPointer\28\29 +2652:SkRasterPipeline::appendMatrix\28SkArenaAlloc*\2c\20SkMatrix\20const&\29 +2653:SkRasterPipeline::addMemoryContext\28SkRasterPipeline_MemoryCtx*\2c\20int\2c\20bool\2c\20bool\29 +2654:SkRasterClip::SkRasterClip\28SkIRect\20const&\29 +2655:SkRRect::setOval\28SkRect\20const&\29 +2656:SkRRect::initializeRect\28SkRect\20const&\29 +2657:SkRRect::MakeRectXY\28SkRect\20const&\2c\20float\2c\20float\29 +2658:SkRGBA4f<\28SkAlphaType\293>::operator==\28SkRGBA4f<\28SkAlphaType\293>\20const&\29\20const +2659:SkQuads::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +2660:SkPixelRef::~SkPixelRef\28\29 +2661:SkPixelRef::SkPixelRef\28int\2c\20int\2c\20void*\2c\20unsigned\20long\29 +2662:SkPictureRecord::~SkPictureRecord\28\29 +2663:SkPictureRecord::recordRestoreOffsetPlaceholder\28\29 +2664:SkPathStroker::quadStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2665:SkPathStroker::preJoinTo\28SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\2c\20bool\29 +2666:SkPathStroker::intersectRay\28SkQuadConstruct*\2c\20SkPathStroker::IntersectRayType\29\20const +2667:SkPathStroker::cubicStroke\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +2668:SkPathStroker::cubicPerpRay\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +2669:SkPathStroker::conicStroke\28SkConic\20const&\2c\20SkQuadConstruct*\29 +2670:SkPathRef::computeBounds\28\29\20const +2671:SkPathEdgeIter::SkPathEdgeIter\28SkPath\20const&\29 +2672:SkPathBuilder::incReserve\28int\2c\20int\29 +2673:SkPathBuilder::conicTo\28SkPoint\2c\20SkPoint\2c\20float\29 +2674:SkPath::rewind\28\29 +2675:SkPath::getPoint\28int\29\20const +2676:SkPath::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +2677:SkPaint::operator=\28SkPaint&&\29 +2678:SkPaint::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +2679:SkPaint::canComputeFastBounds\28\29\20const +2680:SkPaint::SkPaint\28SkPaint&&\29 +2681:SkOpSpanBase::mergeMatches\28SkOpSpanBase*\29 +2682:SkOpSpanBase::addOpp\28SkOpSpanBase*\29 +2683:SkOpSegment::updateOppWinding\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\29\20const +2684:SkOpSegment::subDivide\28SkOpSpanBase\20const*\2c\20SkOpSpanBase\20const*\2c\20SkDCurve*\29\20const +2685:SkOpSegment::setUpWindings\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\2c\20int*\2c\20int*\2c\20int*\2c\20int*\2c\20int*\29 +2686:SkOpSegment::nextChase\28SkOpSpanBase**\2c\20int*\2c\20SkOpSpan**\2c\20SkOpSpanBase**\29\20const +2687:SkOpSegment::markAndChaseDone\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpSpanBase**\29 +2688:SkOpSegment::isSimple\28SkOpSpanBase**\2c\20int*\29\20const +2689:SkOpSegment::init\28SkPoint*\2c\20float\2c\20SkOpContour*\2c\20SkPath::Verb\29 +2690:SkOpEdgeBuilder::complete\28\29 +2691:SkOpContour::appendSegment\28\29 +2692:SkOpCoincidence::overlap\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20double*\2c\20double*\29\20const +2693:SkOpCoincidence::add\28SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\2c\20SkOpPtT*\29 +2694:SkOpCoincidence::addIfMissing\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20double\2c\20double\2c\20SkOpSegment*\2c\20SkOpSegment*\2c\20bool*\29 +2695:SkOpCoincidence::addExpanded\28\29 +2696:SkOpCoincidence::addEndMovedSpans\28SkOpPtT\20const*\29 +2697:SkOpCoincidence::TRange\28SkOpPtT\20const*\2c\20double\2c\20SkOpSegment\20const*\29 +2698:SkOpAngle::set\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +2699:SkOpAngle::loopCount\28\29\20const +2700:SkOpAngle::insert\28SkOpAngle*\29 +2701:SkOpAngle*\20SkArenaAlloc::make\28\29 +2702:SkNoPixelsDevice::ClipState::op\28SkClipOp\2c\20SkM44\20const&\2c\20SkRect\20const&\2c\20bool\2c\20bool\29 +2703:SkMipmap*\20SkSafeRef\28SkMipmap*\29 +2704:SkMeshSpecification::Varying::Varying\28SkMeshSpecification::Varying\20const&\29 +2705:SkMatrixPriv::DifferentialAreaScale\28SkMatrix\20const&\2c\20SkPoint\20const&\29 +2706:SkMatrix::setRotate\28float\29 +2707:SkMatrix::mapVectors\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29\20const +2708:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint\20const*\2c\20int\29\20const +2709:SkMaskFilterBase::getFlattenableType\28\29\20const +2710:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29 +2711:SkM44::setConcat\28SkM44\20const&\2c\20SkM44\20const&\29::$_0::operator\28\29\28skvx::Vec<4\2c\20float>\29\20const +2712:SkM44::normalizePerspective\28\29 +2713:SkLineClipper::IntersectLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\29 +2714:SkJSONWriter::scope\28\29\20const +2715:SkImage_Ganesh::makeView\28GrRecordingContext*\29\20const +2716:SkImage_Base::~SkImage_Base\28\29 +2717:SkImage_Base::isGaneshBacked\28\29\20const +2718:SkImage_Base::SkImage_Base\28SkImageInfo\20const&\2c\20unsigned\20int\29 +2719:SkImageInfo::validRowBytes\28unsigned\20long\29\20const +2720:SkImageInfo::MakeUnknown\28int\2c\20int\29 +2721:SkImageGenerator::~SkImageGenerator\28\29 +2722:SkImageFilters::Crop\28SkRect\20const&\2c\20SkTileMode\2c\20sk_sp\29 +2723:SkImageFilter_Base::~SkImageFilter_Base\28\29 +2724:SkImage::makeRasterImage\28GrDirectContext*\2c\20SkImage::CachingHint\29\20const +2725:SkIRect::makeInset\28int\2c\20int\29\20const +2726:SkHalfToFloat\28unsigned\20short\29 +2727:SkGradientBaseShader::commonAsAGradient\28SkShaderBase::GradientInfo*\29\20const +2728:SkGradientBaseShader::ValidGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\29 +2729:SkGradientBaseShader::SkGradientBaseShader\28SkGradientBaseShader::Descriptor\20const&\2c\20SkMatrix\20const&\29 +2730:SkGradientBaseShader::MakeDegenerateGradient\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20float\20const*\2c\20int\2c\20sk_sp\2c\20SkTileMode\29 +2731:SkGlyph::setPath\28SkArenaAlloc*\2c\20SkPath\20const*\2c\20bool\29 +2732:SkGetPolygonWinding\28SkPoint\20const*\2c\20int\29 +2733:SkFontMgr::RefEmpty\28\29 +2734:SkFont::setTypeface\28sk_sp\29 +2735:SkEmptyFontMgr::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +2736:SkEdgeBuilder::~SkEdgeBuilder\28\29 +2737:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29 +2738:SkDrawable::draw\28SkCanvas*\2c\20SkMatrix\20const*\29 +2739:SkDrawBase::drawPathCoverage\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkBlitter*\29\20const +2740:SkDevice::~SkDevice\28\29 +2741:SkDevice::scalerContextFlags\28\29\20const +2742:SkDevice::accessPixels\28SkPixmap*\29 +2743:SkData::MakeWithProc\28void\20const*\2c\20unsigned\20long\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +2744:SkDQuad::dxdyAtT\28double\29\20const +2745:SkDQuad::RootsReal\28double\2c\20double\2c\20double\2c\20double*\29 +2746:SkDPoint::distance\28SkDPoint\20const&\29\20const +2747:SkDLine::NearPointV\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +2748:SkDLine::NearPointH\28SkDPoint\20const&\2c\20double\2c\20double\2c\20double\29 +2749:SkDCubic::dxdyAtT\28double\29\20const +2750:SkDCubic::RootsValidT\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +2751:SkDConic::dxdyAtT\28double\29\20const +2752:SkConicalGradient::~SkConicalGradient\28\29 +2753:SkComputeRadialSteps\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float*\2c\20float*\2c\20int*\29 +2754:SkColorSpace::serialize\28\29\20const +2755:SkColorFilterPriv::MakeGaussian\28\29 +2756:SkColorFilter::filterColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkColorSpace*\2c\20SkColorSpace*\29\20const +2757:SkColorConverter::SkColorConverter\28unsigned\20int\20const*\2c\20int\29 +2758:SkCoincidentSpans::correctOneEnd\28SkOpPtT\20const*\20\28SkCoincidentSpans::*\29\28\29\20const\2c\20void\20\28SkCoincidentSpans::*\29\28SkOpPtT\20const*\29\29 +2759:SkClosestRecord::findEnd\28SkTSpan\20const*\2c\20SkTSpan\20const*\2c\20int\2c\20int\29 +2760:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\20const*\2c\20int\29 +2761:SkChopCubicAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +2762:SkCanvas::init\28sk_sp\29 +2763:SkCanvas::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +2764:SkCanvas::concat\28SkM44\20const&\29 +2765:SkCanvas::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +2766:SkCachedData::detachFromCacheAndUnref\28\29\20const +2767:SkCachedData::attachToCacheAndRef\28\29\20const +2768:SkBitmap::pixelRefOrigin\28\29\20const +2769:SkBitmap::operator=\28SkBitmap&&\29 +2770:SkBitmap::notifyPixelsChanged\28\29\20const +2771:SkBitmap::extractSubset\28SkBitmap*\2c\20SkIRect\20const&\29\20const +2772:SkBinaryWriteBuffer::writeByteArray\28void\20const*\2c\20unsigned\20long\29 +2773:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29 +2774:SkAutoPixmapStorage::tryAlloc\28SkImageInfo\20const&\29 +2775:SkAutoBlitterChoose::SkAutoBlitterChoose\28SkDrawBase\20const&\2c\20SkMatrix\20const*\2c\20SkPaint\20const&\2c\20bool\29 +2776:SkArenaAllocWithReset::SkArenaAllocWithReset\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +2777:SkAAClip::setPath\28SkPath\20const&\2c\20SkIRect\20const&\2c\20bool\29 +2778:SkAAClip::quickContains\28SkIRect\20const&\29\20const +2779:SkAAClip::op\28SkAAClip\20const&\2c\20SkClipOp\29 +2780:SkAAClip::Builder::flushRowH\28SkAAClip::Builder::Row*\29 +2781:SkAAClip::Builder::Blitter::checkForYGap\28int\29 +2782:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29 +2783:OT::post::accelerator_t::find_glyph_name\28unsigned\20int\29\20const +2784:OT::hb_ot_layout_lookup_accelerator_t::apply\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20bool\29\20const +2785:OT::hb_ot_apply_context_t::skipping_iterator_t::match\28hb_glyph_info_t&\29 +2786:OT::hb_ot_apply_context_t::_set_glyph_class\28unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\29 +2787:OT::glyf_accelerator_t::glyph_for_gid\28unsigned\20int\2c\20bool\29\20const +2788:OT::cff1::accelerator_templ_t>::std_code_to_glyph\28unsigned\20int\29\20const +2789:OT::apply_lookup\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20OT::LookupRecord\20const*\2c\20unsigned\20int\29 +2790:OT::VariationStore::create_cache\28\29\20const +2791:OT::VarRegionList::evaluate\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +2792:OT::Lookup::get_props\28\29\20const +2793:OT::Layout::GSUB_impl::SubstLookup*\20hb_serialize_context_t::copy\28\29\20const +2794:OT::Layout::GPOS_impl::ValueFormat::get_device\28OT::IntType\20const*\2c\20bool*\2c\20void\20const*\2c\20hb_sanitize_context_t&\29 +2795:OT::Layout::GPOS_impl::Anchor::get_anchor\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20float*\2c\20float*\29\20const +2796:OT::IntType*\20hb_serialize_context_t::extend_min>\28OT::IntType*\29 +2797:OT::GSUBGPOS::get_script\28unsigned\20int\29\20const +2798:OT::GSUBGPOS::get_feature_tag\28unsigned\20int\29\20const +2799:OT::GSUBGPOS::find_script_index\28unsigned\20int\2c\20unsigned\20int*\29\20const +2800:OT::ArrayOf>*\20hb_serialize_context_t::extend_size>>\28OT::ArrayOf>*\2c\20unsigned\20long\2c\20bool\29 +2801:Move_Zp2_Point +2802:Modify_CVT_Check +2803:GrYUVATextureProxies::operator=\28GrYUVATextureProxies&&\29 +2804:GrYUVATextureProxies::GrYUVATextureProxies\28\29 +2805:GrXPFactory::FromBlendMode\28SkBlendMode\29 +2806:GrWindowRectangles::operator=\28GrWindowRectangles\20const&\29 +2807:GrTriangulator::~GrTriangulator\28\29 +2808:GrTriangulator::simplify\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +2809:GrTriangulator::setTop\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2810:GrTriangulator::mergeCollinearEdges\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +2811:GrTriangulator::mergeCoincidentVertices\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29\20const +2812:GrTriangulator::emitTriangle\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20skgpu::VertexWriter\29\20const +2813:GrTriangulator::allocateEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20GrTriangulator::EdgeType\29 +2814:GrTriangulator::FindEnclosingEdges\28GrTriangulator::Vertex\20const&\2c\20GrTriangulator::EdgeList\20const&\2c\20GrTriangulator::Edge**\2c\20GrTriangulator::Edge**\29 +2815:GrTriangulator::Edge::dist\28SkPoint\20const&\29\20const +2816:GrTriangulator::Edge::Edge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20int\2c\20GrTriangulator::EdgeType\29 +2817:GrThreadSafeCache::remove\28skgpu::UniqueKey\20const&\29 +2818:GrThreadSafeCache::internalFind\28skgpu::UniqueKey\20const&\29 +2819:GrThreadSafeCache::internalAdd\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29 +2820:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +2821:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29 +2822:GrTessellationShader::MakePipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedClip&&\2c\20GrProcessorSet&&\29 +2823:GrSurfaceProxyView::operator!=\28GrSurfaceProxyView\20const&\29\20const +2824:GrSurfaceProxyView::concatSwizzle\28skgpu::Swizzle\29 +2825:GrSurfaceProxy::~GrSurfaceProxy\28\29 +2826:GrSurfaceProxy::isFunctionallyExact\28\29\20const +2827:GrSurfaceProxy::gpuMemorySize\28\29\20const +2828:GrSurfaceProxy::createSurfaceImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\29\20const +2829:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkIRect\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20GrSurfaceProxy::RectsMustMatch\2c\20sk_sp*\29 +2830:GrSurfaceProxy::Copy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20std::__2::basic_string_view>\2c\20sk_sp*\29 +2831:GrStyledShape::hasUnstyledKey\28\29\20const +2832:GrStyledShape::GrStyledShape\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +2833:GrStyle::GrStyle\28GrStyle\20const&\29 +2834:GrSkSLFP::setInput\28std::__2::unique_ptr>\29 +2835:GrSimpleMeshDrawOpHelper::CreatePipeline\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20skgpu::Swizzle\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrProcessorSet&&\2c\20GrPipeline::InputFlags\29 +2836:GrSimpleMesh::set\28sk_sp\2c\20int\2c\20int\29 +2837:GrShape::simplifyRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20unsigned\20int\29 +2838:GrShape::simplifyRRect\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20unsigned\20int\29 +2839:GrShape::simplifyPoint\28SkPoint\20const&\2c\20unsigned\20int\29 +2840:GrShape::simplifyLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\29 +2841:GrShape::setInverted\28bool\29 +2842:GrSWMaskHelper::init\28SkIRect\20const&\29 +2843:GrSWMaskHelper::GrSWMaskHelper\28SkAutoPixmapStorage*\29 +2844:GrResourceProvider::refNonAAQuadIndexBuffer\28\29 +2845:GrRenderTask::addTarget\28GrDrawingManager*\2c\20sk_sp\29 +2846:GrRenderTarget::~GrRenderTarget\28\29 +2847:GrQuadUtils::WillUseHairline\28GrQuad\20const&\2c\20GrAAType\2c\20GrQuadAAFlags\29 +2848:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::unpackQuad\28GrQuad::Type\2c\20float\20const*\2c\20GrQuad*\29\20const +2849:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::MetadataIter::next\28\29 +2850:GrProxyProvider::processInvalidUniqueKey\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\29 +2851:GrProxyProvider::createMippedProxyFromBitmap\28SkBitmap\20const&\2c\20skgpu::Budgeted\29::$_0::~$_0\28\29 +2852:GrProgramInfo::GrProgramInfo\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrGeometryProcessor\20const*\2c\20GrPrimitiveType\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +2853:GrPipeline::visitProxies\28std::__2::function\20const&\29\20const +2854:GrPipeline::getFragmentProcessor\28int\29\20const +2855:GrPathUtils::scaleToleranceToSrc\28float\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +2856:GrPathUtils::cubicPointCount\28SkPoint\20const*\2c\20float\29 +2857:GrPaint::GrPaint\28GrPaint\20const&\29 +2858:GrOpsRenderPass::prepareToDraw\28\29 +2859:GrOpFlushState::~GrOpFlushState\28\29 +2860:GrOpFlushState::drawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +2861:GrOpFlushState::bindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const&\2c\20GrPipeline\20const&\29 +2862:GrOp::uniqueID\28\29\20const +2863:GrNativeRect::MakeIRectRelativeTo\28GrSurfaceOrigin\2c\20int\2c\20SkIRect\29 +2864:GrMeshDrawOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +2865:GrMapRectPoints\28SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkPoint*\2c\20int\29 +2866:GrMakeKeyFromImageID\28skgpu::UniqueKey*\2c\20unsigned\20int\2c\20SkIRect\20const&\29 +2867:GrGradientShader::MakeGradientFP\28SkGradientBaseShader\20const&\2c\20GrFPArgs\20const&\2c\20SkShaders::MatrixRec\20const&\2c\20std::__2::unique_ptr>\2c\20SkMatrix\20const*\29 +2868:GrGpuResource::setUniqueKey\28skgpu::UniqueKey\20const&\29 +2869:GrGpuResource::registerWithCache\28skgpu::Budgeted\29 +2870:GrGpu::writePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +2871:GrGpu::submitToGpu\28GrSyncCpu\29 +2872:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +2873:GrGLTexture::onSetLabel\28\29 +2874:GrGLTexture::onAbandon\28\29 +2875:GrGLTexture::backendFormat\28\29\20const +2876:GrGLSLVaryingHandler::appendDecls\28SkTBlockList\20const&\2c\20SkString*\29\20const +2877:GrGLSLShaderBuilder::newTmpVarName\28char\20const*\29 +2878:GrGLSLShaderBuilder::definitionAppend\28char\20const*\29 +2879:GrGLSLProgramBuilder::invokeFP\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +2880:GrGLSLProgramBuilder::advanceStage\28\29 +2881:GrGLSLFragmentShaderBuilder::dstColor\28\29 +2882:GrGLRenderTarget::bindInternal\28unsigned\20int\2c\20bool\29 +2883:GrGLGpu::unbindXferBuffer\28GrGpuBufferType\29 +2884:GrGLGpu::resolveRenderFBOs\28GrGLRenderTarget*\2c\20SkIRect\20const&\2c\20GrGLRenderTarget::ResolveDirection\2c\20bool\29 +2885:GrGLGpu::flushBlendAndColorWrite\28skgpu::BlendInfo\20const&\2c\20skgpu::Swizzle\20const&\29 +2886:GrGLGpu::currentProgram\28\29 +2887:GrGLGpu::SamplerObjectCache::Sampler::~Sampler\28\29 +2888:GrGLGpu::HWVertexArrayState::setVertexArrayID\28GrGLGpu*\2c\20unsigned\20int\29 +2889:GrGLGetVersionFromString\28char\20const*\29 +2890:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\29 +2891:GrGLFunction::GrGLFunction\28unsigned\20char\20const*\20\28*\29\28unsigned\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\29 +2892:GrGLFinishCallbacks::callAll\28bool\29 +2893:GrGLCheckLinkStatus\28GrGLGpu\20const*\2c\20unsigned\20int\2c\20bool\2c\20skgpu::ShaderErrorHandler*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const**\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +2894:GrGLAttribArrayState::set\28GrGLGpu*\2c\20int\2c\20GrBuffer\20const*\2c\20GrVertexAttribType\2c\20SkSLType\2c\20int\2c\20unsigned\20long\2c\20int\29 +2895:GrFragmentProcessors::Make\28SkBlenderBase\20const*\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20GrFPArgs\20const&\29 +2896:GrFragmentProcessor::isEqual\28GrFragmentProcessor\20const&\29\20const +2897:GrFragmentProcessor::Rect\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRect\29 +2898:GrFragmentProcessor::ModulateRGBA\28std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +2899:GrDstProxyView::setProxyView\28GrSurfaceProxyView\29 +2900:GrDrawingManager::getPathRenderer\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\2c\20bool\2c\20skgpu::ganesh::PathRendererChain::DrawType\2c\20skgpu::ganesh::PathRenderer::StencilSupport*\29 +2901:GrDrawingManager::getLastRenderTask\28GrSurfaceProxy\20const*\29\20const +2902:GrDrawOpAtlas::updatePlot\28GrDeferredUploadTarget*\2c\20skgpu::AtlasLocator*\2c\20skgpu::Plot*\29::'lambda'\28std::__2::function&\29::\28'lambda'\28std::__2::function&\29\20const&\29 +2903:GrDrawOpAtlas::processEvictionAndResetRects\28skgpu::Plot*\29 +2904:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29 +2905:GrDeferredProxyUploader::wait\28\29 +2906:GrCpuBuffer::Make\28unsigned\20long\29 +2907:GrContext_Base::~GrContext_Base\28\29 +2908:GrColorSpaceXform::Make\28SkColorSpace*\2c\20SkAlphaType\2c\20SkColorSpace*\2c\20SkAlphaType\29 +2909:GrColorInfo::operator=\28GrColorInfo\20const&\29 +2910:GrClip::IsPixelAligned\28SkRect\20const&\29 +2911:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29::'lambda0'\28float\29::operator\28\29\28float\29\20const +2912:GrClip::GetPixelIBounds\28SkRect\20const&\2c\20GrAA\2c\20GrClip::BoundsType\29::'lambda'\28float\29::operator\28\29\28float\29\20const +2913:GrCaps::supportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +2914:GrCaps::getFallbackColorTypeAndFormat\28GrColorType\2c\20int\29\20const +2915:GrCaps::areColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +2916:GrBufferAllocPool::~GrBufferAllocPool\28\29.1 +2917:GrBufferAllocPool::makeSpace\28unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\29 +2918:GrBufferAllocPool::GrBufferAllocPool\28GrGpu*\2c\20GrGpuBufferType\2c\20sk_sp\29 +2919:GrBlurUtils::DrawShapeWithMaskFilter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\29 +2920:GrBaseContextPriv::getShaderErrorHandler\28\29\20const +2921:GrBackendTexture::GrBackendTexture\28GrBackendTexture\20const&\29 +2922:GrBackendRenderTarget::getBackendFormat\28\29\20const +2923:GrAAConvexTessellator::createOuterRing\28GrAAConvexTessellator::Ring\20const&\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring*\29 +2924:GrAAConvexTessellator::createInsetRings\28GrAAConvexTessellator::Ring&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20GrAAConvexTessellator::Ring**\29 +2925:GrAAConvexTessellator::Ring::init\28GrAAConvexTessellator\20const&\29 +2926:FwDCubicEvaluator::FwDCubicEvaluator\28SkPoint\20const*\29 +2927:FT_Stream_ReadAt +2928:FT_Set_Charmap +2929:FT_New_Size +2930:FT_Load_Sfnt_Table +2931:FT_List_Find +2932:FT_GlyphLoader_Add +2933:FT_Get_Next_Char +2934:FT_Get_Color_Glyph_Layer +2935:FT_Done_Face +2936:FT_CMap_New +2937:Current_Ratio +2938:Compute_Funcs +2939:CircleOp::Circle&\20skia_private::TArray::emplace_back\28CircleOp::Circle&&\29 +2940:CFF::path_procs_t\2c\20cff2_path_param_t>::curve2\28CFF::cff2_cs_interp_env_t&\2c\20cff2_path_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +2941:CFF::path_procs_t\2c\20cff2_extents_param_t>::curve2\28CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +2942:CFF::path_procs_t::curve2\28CFF::cff1_cs_interp_env_t&\2c\20cff1_path_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +2943:CFF::path_procs_t::curve2\28CFF::cff1_cs_interp_env_t&\2c\20cff1_extents_param_t&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\2c\20CFF::point_t\20const&\29 +2944:CFF::parsed_values_t::operator=\28CFF::parsed_values_t&&\29 +2945:CFF::cs_interp_env_t>>::return_from_subr\28\29 +2946:CFF::cs_interp_env_t>>::in_error\28\29\20const +2947:CFF::cs_interp_env_t>>::call_subr\28CFF::biased_subrs_t>>\20const&\2c\20CFF::cs_type_t\29 +2948:CFF::cs_interp_env_t>>::call_subr\28CFF::biased_subrs_t>>\20const&\2c\20CFF::cs_type_t\29 +2949:CFF::byte_str_ref_t::operator\5b\5d\28int\29 +2950:CFF::arg_stack_t::push_fixed_from_substr\28CFF::byte_str_ref_t&\29 +2951:CFF::CFFIndex>::sanitize\28hb_sanitize_context_t*\29\20const +2952:CFF::CFFIndex>::operator\5b\5d\28unsigned\20int\29\20const +2953:CFF::CFFIndex>::offset_at\28unsigned\20int\29\20const +2954:AlmostLessOrEqualUlps\28float\2c\20float\29 +2955:AlmostEqualUlps_Pin\28double\2c\20double\29 +2956:ActiveEdge::intersect\28ActiveEdge\20const*\29 +2957:AAT::Lookup::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +2958:AAT::ClassTable>::get_class\28unsigned\20int\2c\20unsigned\20int\29\20const +2959:wcrtomb +2960:void\20std::__2::vector>::__construct_at_end\28unsigned\20long*\2c\20unsigned\20long*\2c\20unsigned\20long\29 +2961:void\20std::__2::vector>::__construct_at_end\28skia::textlayout::FontFeature*\2c\20skia::textlayout::FontFeature*\2c\20unsigned\20long\29 +2962:void\20std::__2::vector>::__construct_at_end\28SkString*\2c\20SkString*\2c\20unsigned\20long\29 +2963:void\20std::__2::__introsort\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2964:void\20std::__2::__introsort\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\2c\20std::__2::iterator_traits::difference_type\29 +2965:void\20std::__2::__introsort\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\2c\20std::__2::iterator_traits::difference_type\29 +2966:void\20std::__2::__inplace_merge\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\2c\20long\29 +2967:void\20skgpu::ganesh::SurfaceFillContext::clear<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\20const&\29 +2968:void\20skgpu::VertexWriter::writeQuad\28GrQuad\20const&\29 +2969:void\20merge_sort<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +2970:void\20merge_sort<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\29 +2971:void\20hb_stable_sort\2c\20unsigned\20int>\28OT::HBGlyphID16*\2c\20unsigned\20int\2c\20int\20\28*\29\28OT::IntType\20const*\2c\20OT::IntType\20const*\29\2c\20unsigned\20int*\29 +2972:void\20SkSafeUnref\28sktext::gpu::TextStrike*\29 +2973:void\20SkSafeUnref\28SkMeshSpecification*\29 +2974:void\20SkSafeUnref\28SkMeshPriv::VB\20const*\29 +2975:void\20SkSafeUnref\28GrTexture*\29\20\28.4431\29 +2976:void\20SkSafeUnref\28GrCpuBuffer*\29 +2977:vfprintf +2978:valid_args\28SkImageInfo\20const&\2c\20unsigned\20long\2c\20unsigned\20long*\29 +2979:uprv_malloc_skia +2980:update_offset_to_base\28char\20const*\2c\20long\29 +2981:unsigned\20long\20std::__2::__str_find\5babi:v160004\5d\2c\204294967295ul>\28char\20const*\2c\20unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +2982:unsigned\20long\20const&\20std::__2::min\5babi:v160004\5d\28unsigned\20long\20const&\2c\20unsigned\20long\20const&\29 +2983:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2984:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2985:unsigned\20int\20std::__2::__sort5_wrap_policy\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2986:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +2987:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +2988:unsigned\20int\20std::__2::__sort4\5babi:v160004\5d\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +2989:ubidi_getRuns_skia +2990:u_charMirror_skia +2991:tt_size_reset +2992:tt_sbit_decoder_load_metrics +2993:tt_glyphzone_done +2994:tt_face_get_location +2995:tt_face_find_bdf_prop +2996:tt_delta_interpolate +2997:tt_cmap14_find_variant +2998:tt_cmap14_char_map_nondef_binary +2999:tt_cmap14_char_map_def_binary +3000:top12.2 +3001:tolower +3002:t1_cmap_unicode_done +3003:subdivide_cubic_to\28SkPath*\2c\20SkPoint\20const*\2c\20int\29 +3004:strtox +3005:strtoull_l +3006:std::logic_error::~logic_error\28\29.1 +3007:std::__2::vector>::__destroy_vector::operator\28\29\5babi:v160004\5d\28\29 +3008:std::__2::vector>\2c\20std::__2::allocator>>>::erase\28std::__2::__wrap_iter>\20const*>\2c\20std::__2::__wrap_iter>\20const*>\29 +3009:std::__2::vector>::__alloc\5babi:v160004\5d\28\29 +3010:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +3011:std::__2::vector>::vector\28std::__2::vector>\20const&\29 +3012:std::__2::vector\2c\20std::__2::allocator>>::vector\5babi:v160004\5d\28std::__2::vector\2c\20std::__2::allocator>>&&\29 +3013:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +3014:std::__2::vector>::vector\28std::__2::vector>\20const&\29 +3015:std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +3016:std::__2::vector>::push_back\5babi:v160004\5d\28SkString\20const&\29 +3017:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +3018:std::__2::vector\2c\20std::__2::allocator>>::push_back\5babi:v160004\5d\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +3019:std::__2::vector\2c\20std::__2::allocator>>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +3020:std::__2::vector>::push_back\5babi:v160004\5d\28SkMeshSpecification::Attribute&&\29 +3021:std::__2::unique_ptr\2c\20void*>\2c\20std::__2::__hash_node_destructor\2c\20void*>>>>::~unique_ptr\5babi:v160004\5d\28\29 +3022:std::__2::unique_ptr::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +3023:std::__2::unique_ptr\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +3024:std::__2::unique_ptr>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +3025:std::__2::unique_ptr::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +3026:std::__2::unique_ptr\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +3027:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3028:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3029:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkTypeface_FreeType::FaceRec*\29 +3030:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkStrikeSpec*\29 +3031:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3032:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3033:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::Pool*\29 +3034:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::Block*\29 +3035:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkDrawableList*\29 +3036:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3037:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkContourMeasureIter::Impl*\29 +3038:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3039:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3040:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3041:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrGLGpu::SamplerObjectCache*\29 +3042:std::__2::unique_ptr>\20GrBlendFragmentProcessor::Make<\28SkBlendMode\296>\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3043:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrDrawingManager*\29 +3044:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrClientMappedBufferManager*\29 +3045:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3046:std::__2::unique_ptr>::reset\5babi:v160004\5d\28FT_FaceRec_*\29 +3047:std::__2::tuple&\20std::__2::tuple::operator=\5babi:v160004\5d\28std::__2::pair&&\29 +3048:std::__2::time_put>>::~time_put\28\29 +3049:std::__2::pair\20std::__2::minmax\5babi:v160004\5d>\28std::initializer_list\2c\20std::__2::__less\29 +3050:std::__2::pair\20std::__2::__copy_trivial::operator\28\29\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +3051:std::__2::locale::locale\28\29 +3052:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\29 +3053:std::__2::ios_base::~ios_base\28\29 +3054:std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::operator\28\29\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29\20const +3055:std::__2::function\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const +3056:std::__2::fpos<__mbstate_t>::fpos\5babi:v160004\5d\28long\20long\29 +3057:std::__2::enable_if::value\2c\20SkRuntimeEffectBuilder::BuilderUniform&>::type\20SkRuntimeEffectBuilder::BuilderUniform::operator=\28SkV2\20const&\29 +3058:std::__2::enable_if\28\29\20==\20std::declval\28\29\29\2c\20bool>\2c\20bool>::type\20std::__2::operator==\5babi:v160004\5d\28std::__2::optional\20const&\2c\20std::__2::optional\20const&\29 +3059:std::__2::deque>::__back_spare\5babi:v160004\5d\28\29\20const +3060:std::__2::default_delete::Traits>::Slot\20\5b\5d>::_EnableIfConvertible::Traits>::Slot>::type\20std::__2::default_delete::Traits>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d::Traits>::Slot>\28skia_private::THashTable::Traits>::Slot*\29\20const +3061:std::__2::chrono::__libcpp_steady_clock_now\28\29 +3062:std::__2::char_traits::move\28char*\2c\20char\20const*\2c\20unsigned\20long\29 +3063:std::__2::char_traits::assign\28char*\2c\20unsigned\20long\2c\20char\29 +3064:std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +3065:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29 +3066:std::__2::basic_string\2c\20std::__2::allocator>::push_back\28wchar_t\29 +3067:std::__2::basic_string\2c\20std::__2::allocator>::capacity\5babi:v160004\5d\28\29\20const +3068:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28wchar_t\20const*\29 +3069:std::__2::basic_string\2c\20std::__2::allocator>::pop_back\5babi:v160004\5d\28\29 +3070:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28std::__2::__uninitialized_size_tag\2c\20unsigned\20long\2c\20std::__2::allocator\20const&\29 +3071:std::__2::basic_string\2c\20std::__2::allocator>::__make_iterator\5babi:v160004\5d\28char*\29 +3072:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +3073:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +3074:std::__2::basic_streambuf>::~basic_streambuf\28\29 +3075:std::__2::basic_streambuf>::setp\5babi:v160004\5d\28char*\2c\20char*\29 +3076:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +3077:std::__2::basic_istream>::~basic_istream\28\29 +3078:std::__2::basic_istream>::sentry::sentry\28std::__2::basic_istream>&\2c\20bool\29 +3079:std::__2::basic_iostream>::~basic_iostream\28\29.1 +3080:std::__2::basic_ios>::~basic_ios\28\29 +3081:std::__2::array\20skgpu::ganesh::SurfaceFillContext::adjustColorAlphaType<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\29\20const +3082:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3083:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +3084:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +3085:std::__2::__wrap_iter::operator+\5babi:v160004\5d\28long\29\20const +3086:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28GrRecordingContext*&&\2c\20GrSurfaceProxyView&&\2c\20GrSurfaceProxyView&&\2c\20GrColorInfo\20const&\29 +3087:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28GrRecordingContext*&\2c\20skgpu::ganesh::PathRendererChain::Options&\29 +3088:std::__2::__unique_if>::__unique_single\20std::__2::make_unique\5babi:v160004\5d\2c\20GrDirectContext::DirectContextID>\28GrDirectContext::DirectContextID&&\29 +3089:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::SymbolTable*&\2c\20bool&\29 +3090:std::__2::__tuple_impl\2c\20GrSurfaceProxyView\2c\20sk_sp>::~__tuple_impl\28\29 +3091:std::__2::__split_buffer&>::~__split_buffer\28\29 +3092:std::__2::__optional_destruct_base>\2c\20false>::~__optional_destruct_base\5babi:v160004\5d\28\29 +3093:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +3094:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +3095:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +3096:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +3097:std::__2::__optional_copy_base::__optional_copy_base\5babi:v160004\5d\28std::__2::__optional_copy_base\20const&\29 +3098:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20wchar_t*\2c\20wchar_t&\2c\20wchar_t&\29 +3099:std::__2::__num_get::__stage2_float_loop\28wchar_t\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20wchar_t*\29 +3100:std::__2::__num_get::__stage2_float_prep\28std::__2::ios_base&\2c\20char*\2c\20char&\2c\20char&\29 +3101:std::__2::__num_get::__stage2_float_loop\28char\2c\20bool&\2c\20char&\2c\20char*\2c\20char*&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int*\2c\20unsigned\20int*&\2c\20unsigned\20int&\2c\20char*\29 +3102:std::__2::__murmur2_or_cityhash::operator\28\29\28void\20const*\2c\20unsigned\20long\29 +3103:std::__2::__libcpp_wcrtomb_l\5babi:v160004\5d\28char*\2c\20wchar_t\2c\20__mbstate_t*\2c\20__locale_struct*\29 +3104:std::__2::__less::operator\28\29\5babi:v160004\5d\28unsigned\20int\20const&\2c\20unsigned\20long\20const&\29\20const +3105:std::__2::__itoa::__base_10_u32\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +3106:std::__2::__itoa::__append6\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +3107:std::__2::__itoa::__append4\5babi:v160004\5d\28char*\2c\20unsigned\20int\29 +3108:std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::~__hash_table\28\29 +3109:std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::~__hash_table\28\29 +3110:std::__2::__function::__value_func\2c\20sktext::gpu::RendererData\29>::operator\28\29\5babi:v160004\5d\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29\20const +3111:std::__2::__function::__value_func\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\5babi:v160004\5d\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const +3112:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28std::__2::__function::__base*\29\20const +3113:skvx::Vec<4\2c\20unsigned\20short>\20skvx::to_half<4>\28skvx::Vec<4\2c\20float>\20const&\29 +3114:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator<=<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +3115:skvx::Vec<4\2c\20int>\20skvx::operator~<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\29 +3116:skvx::Vec<4\2c\20int>\20skvx::operator&<4\2c\20int\2c\20int\2c\20void>\28skvx::Vec<4\2c\20int>\20const&\2c\20int\29 +3117:skvx::Vec<4\2c\20float>&\20skvx::operator+=<4\2c\20float>\28skvx::Vec<4\2c\20float>&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +3118:sktext::gpu::VertexFiller::flatten\28SkWriteBuffer&\29\20const +3119:sktext::gpu::TextBlobRedrawCoordinator::BlobIDCacheEntry::find\28sktext::gpu::TextBlob::Key\20const&\29\20const +3120:sktext::gpu::SubRunAllocator::SubRunAllocator\28char*\2c\20int\2c\20int\29 +3121:sktext::gpu::GlyphVector::flatten\28SkWriteBuffer&\29\20const +3122:sktext::gpu::GlyphVector::Make\28sktext::SkStrikePromise&&\2c\20SkSpan\2c\20sktext::gpu::SubRunAllocator*\29 +3123:sktext::gpu::GlyphVector::GlyphVector\28sktext::gpu::GlyphVector&&\29 +3124:sktext::gpu::BagOfBytes::PlatformMinimumSizeWithOverhead\28int\2c\20int\29 +3125:sktext::SkStrikePromise::flatten\28SkWriteBuffer&\29\20const +3126:sktext::GlyphRunList::sourceBoundsWithOrigin\28\29\20const +3127:skpaint_to_grpaint_impl\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::optional>>\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +3128:skip_literal_string +3129:skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +3130:skif::RoundOut\28SkRect\29 +3131:skif::Mapping::Mapping\28\29 +3132:skif::LayerSpace\20skif::Mapping::paramToLayer\28skif::ParameterSpace\20const&\29\20const +3133:skif::LayerSpace::inverseMapRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29\20const +3134:skif::LayerSpace::inset\28skif::LayerSpace\20const&\29 +3135:skif::FilterResult::operator=\28skif::FilterResult\20const&\29 +3136:skif::FilterResult::insetByPixel\28\29\20const +3137:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20bool\2c\20SkBlender\20const*\29\20const +3138:skif::FilterResult::applyColorFilter\28skif::Context\20const&\2c\20sk_sp\29\20const +3139:skif::FilterResult::FilterResult\28sk_sp\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult::PixelBoundary\29 +3140:skif::FilterResult::Builder::~Builder\28\29 +3141:skif::Context::withNewSource\28skif::FilterResult\20const&\29\20const +3142:skif::Context::operator=\28skif::Context&&\29 +3143:skif::Backend::~Backend\28\29 +3144:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot::reset\28\29 +3145:skia_private::THashTable::Pair\2c\20SkSL::Symbol\20const*\2c\20skia_private::THashMap::Pair>::firstPopulatedSlot\28\29\20const +3146:skia_private::THashTable::Pair\2c\20SkSL::Symbol\20const*\2c\20skia_private::THashMap::Pair>::Iter>::operator++\28\29 +3147:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot::reset\28\29 +3148:skia_private::THashTable::AdaptedTraits>::Hash\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +3149:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::Slot::reset\28\29 +3150:skia_private::THashTable::Traits>::Hash\28long\20long\20const&\29 +3151:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::Hash\28SkImageFilterCacheKey\20const&\29 +3152:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::findOrNull\28skgpu::ScratchKey\20const&\29\20const +3153:skia_private::THashTable::Traits>::set\28SkSL::Variable\20const*\29 +3154:skia_private::THashTable::Entry*\2c\20unsigned\20int\2c\20SkLRUCache::Traits>::uncheckedSet\28SkLRUCache::Entry*&&\29 +3155:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::Hash\28GrProgramDesc\20const&\29 +3156:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +3157:skia_private::THashTable::Traits>::Hash\28FT_Opaque_Paint_\20const&\29 +3158:skia_private::THashMap\2c\20SkGoodHash>::find\28SkString\20const&\29\20const +3159:skia_private::THashMap>\2c\20SkGoodHash>::set\28SkSL::Variable\20const*\2c\20std::__2::unique_ptr>\29 +3160:skia_private::THashMap::find\28SkSL::Variable\20const*\20const&\29\20const +3161:skia_private::THashMap::operator\5b\5d\28SkSL::SymbolTable::SymbolKey\20const&\29 +3162:skia_private::THashMap::find\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +3163:skia_private::THashMap::find\28SkSL::IRNode\20const*\20const&\29\20const +3164:skia_private::THashMap::set\28SkSL::FunctionDeclaration\20const*\2c\20unsigned\20long\29 +3165:skia_private::THashMap>\2c\20SkGoodHash>::find\28SkImageFilter\20const*\20const&\29\20const +3166:skia_private::TArray::resize_back\28int\29 +3167:skia_private::TArray::push_back_raw\28int\29 +3168:skia_private::TArray::operator==\28skia_private::TArray\20const&\29\20const +3169:skia_private::TArray::reserve_exact\28int\29 +3170:skia_private::TArray>\2c\20true>::checkRealloc\28int\2c\20double\29 +3171:skia_private::TArray\2c\20true>::push_back\28std::__2::array&&\29 +3172:skia_private::TArray::clear\28\29 +3173:skia_private::TArray::clear\28\29 +3174:skia_private::TArray::TArray\28skia_private::TArray\20const&\29 +3175:skia_private::TArray::TArray\28skia_private::TArray\20const&\29 +3176:skia_private::TArray::~TArray\28\29 +3177:skia_private::TArray::move\28void*\29 +3178:skia_private::TArray::BufferFinishedMessage\2c\20false>::~TArray\28\29 +3179:skia_private::TArray::BufferFinishedMessage\2c\20false>::move\28void*\29 +3180:skia_private::TArray\2c\20true>::push_back\28sk_sp&&\29 +3181:skia_private::TArray::reserve_exact\28int\29 +3182:skia_private::TArray::push_back_n\28int\2c\20int\20const&\29 +3183:skia_private::TArray\2c\20true>::Allocate\28int\2c\20double\29 +3184:skia_private::TArray::reserve_exact\28int\29 +3185:skia_private::TArray::~TArray\28\29 +3186:skia_private::TArray::move\28void*\29 +3187:skia_private::AutoSTMalloc<8ul\2c\20unsigned\20int\2c\20void>::reset\28unsigned\20long\29 +3188:skia_private::AutoSTArray<20\2c\20SkGlyph\20const*>::reset\28int\29 +3189:skia_private::AutoSTArray<16\2c\20SkRect>::reset\28int\29 +3190:skia_private::AutoSTArray<128\2c\20unsigned\20char>::reset\28int\29 +3191:skia_png_sig_cmp +3192:skia_png_set_text_2 +3193:skia_png_realloc_array +3194:skia_png_get_uint_31 +3195:skia_png_check_fp_string +3196:skia_png_check_fp_number +3197:skia_png_app_warning +3198:skia_png_app_error +3199:skia::textlayout::\28anonymous\20namespace\29::intersected\28skia::textlayout::SkRange\20const&\2c\20skia::textlayout::SkRange\20const&\29 +3200:skia::textlayout::\28anonymous\20namespace\29::draw_line_as_rect\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\2c\20float\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +3201:skia::textlayout::TypefaceFontStyleSet::createTypeface\28int\29 +3202:skia::textlayout::TextStyle::setForegroundColor\28SkPaint\29 +3203:skia::textlayout::TextStyle::setBackgroundColor\28SkPaint\29 +3204:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29 +3205:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::$_0::operator\28\29\28sk_sp\2c\20sk_sp\29\20const +3206:skia::textlayout::TextLine::iterateThroughSingleRunByStyles\28skia::textlayout::TextLine::TextAdjustment\2c\20skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::StyleType\2c\20std::__2::function\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\20const&\29\20const::$_0::operator\28\29\28skia::textlayout::SkRange\2c\20float\29\20const +3207:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const +3208:skia::textlayout::TextBox&\20std::__2::vector>::emplace_back\28SkRect&\2c\20skia::textlayout::TextDirection&&\29 +3209:skia::textlayout::StrutStyle::StrutStyle\28skia::textlayout::StrutStyle\20const&\29 +3210:skia::textlayout::Run::isResolved\28\29\20const +3211:skia::textlayout::Run::copyTo\28SkTextBlobBuilder&\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +3212:skia::textlayout::Run::calculateWidth\28unsigned\20long\2c\20unsigned\20long\2c\20bool\29\20const +3213:skia::textlayout::ParagraphStyle::ParagraphStyle\28skia::textlayout::ParagraphStyle&&\29 +3214:skia::textlayout::ParagraphImpl::getGlyphPositionAtCoordinate\28float\2c\20float\29 +3215:skia::textlayout::ParagraphImpl::findNextGraphemeBoundary\28unsigned\20long\29\20const +3216:skia::textlayout::ParagraphImpl::findAllBlocks\28skia::textlayout::SkRange\29 +3217:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29::$_0::operator\28\29\28\29\20const::'lambda'\28unsigned\20long\29::operator\28\29\28unsigned\20long\29\20const +3218:skia::textlayout::ParagraphImpl::buildClusterTable\28\29 +3219:skia::textlayout::ParagraphCacheKey::operator==\28skia::textlayout::ParagraphCacheKey\20const&\29\20const +3220:skia::textlayout::ParagraphBuilderImpl::ensureUTF16Mapping\28\29::$_0::operator\28\29\28\29\20const::'lambda'\28unsigned\20long\29::operator\28\29\28unsigned\20long\29\20const +3221:skia::textlayout::ParagraphBuilderImpl::ensureUTF16Mapping\28\29 +3222:skia::textlayout::ParagraphBuilderImpl::endRunIfNeeded\28\29 +3223:skia::textlayout::OneLineShaper::~OneLineShaper\28\29 +3224:skia::textlayout::LineMetrics::LineMetrics\28\29 +3225:skia::textlayout::FontCollection::FamilyKey::~FamilyKey\28\29 +3226:skia::textlayout::Cluster::isSoftBreak\28\29\20const +3227:skia::textlayout::Block::Block\28skia::textlayout::Block\20const&\29 +3228:skgpu::ganesh::\28anonymous\20namespace\29::add_quad_segment\28SkPoint\20const*\2c\20skia_private::TArray*\29 +3229:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::Entry::Entry\28skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::Entry&&\29 +3230:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::~Impl\28\29 +3231:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::programInfo\28\29 +3232:skgpu::ganesh::SurfaceFillContext::internalClear\28SkIRect\20const*\2c\20std::__2::array\2c\20bool\29 +3233:skgpu::ganesh::SurfaceFillContext::discard\28\29 +3234:skgpu::ganesh::SurfaceFillContext::addOp\28std::__2::unique_ptr>\29 +3235:skgpu::ganesh::SurfaceDrawContext::wrapsVkSecondaryCB\28\29\20const +3236:skgpu::ganesh::SurfaceDrawContext::stencilRect\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const*\29 +3237:skgpu::ganesh::SurfaceDrawContext::fillQuadWithEdgeAA\28GrClip\20const*\2c\20GrPaint&&\2c\20GrQuadAAFlags\2c\20SkMatrix\20const&\2c\20SkPoint\20const*\2c\20SkPoint\20const*\29 +3238:skgpu::ganesh::SurfaceDrawContext::drawPath\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrStyle\20const&\29 +3239:skgpu::ganesh::SurfaceDrawContext::attemptQuadOptimization\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20DrawQuad*\2c\20GrPaint*\29 +3240:skgpu::ganesh::SurfaceDrawContext::Make\28GrRecordingContext*\2c\20GrColorType\2c\20sk_sp\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +3241:skgpu::ganesh::SurfaceContext::rescale\28GrImageInfo\20const&\2c\20GrSurfaceOrigin\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29 +3242:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29::$_0::operator\28\29\28GrSurfaceProxyView\2c\20SkIRect\29\20const +3243:skgpu::ganesh::SurfaceContext::SurfaceContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +3244:skgpu::ganesh::SmallPathShapeDataKey::operator==\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29\20const +3245:skgpu::ganesh::QuadPerEdgeAA::MinColorType\28SkRGBA4f<\28SkAlphaType\292>\29 +3246:skgpu::ganesh::PathTessellator::~PathTessellator\28\29 +3247:skgpu::ganesh::PathCurveTessellator::draw\28GrOpFlushState*\29\20const +3248:skgpu::ganesh::OpsTask::~OpsTask\28\29 +3249:skgpu::ganesh::OpsTask::recordOp\28std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const*\2c\20GrCaps\20const&\29 +3250:skgpu::ganesh::FilterAndMipmapHaveNoEffect\28GrQuad\20const&\2c\20GrQuad\20const&\29 +3251:skgpu::ganesh::FillRectOp::MakeNonAARect\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +3252:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::can_use_hw_derivatives_with_coverage\28skvx::Vec<2\2c\20float>\20const&\2c\20skvx::Vec<2\2c\20float>\20const&\29 +3253:skgpu::ganesh::FillRRectOp::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20SkRect\20const&\2c\20GrAA\29 +3254:skgpu::ganesh::Device::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +3255:skgpu::ganesh::Device::drawImageQuadDirect\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +3256:skgpu::ganesh::Device::Make\28std::__2::unique_ptr>\2c\20SkAlphaType\2c\20skgpu::ganesh::Device::InitContents\29 +3257:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::setup_dashed_rect\28SkRect\20const&\2c\20skgpu::VertexWriter&\2c\20SkMatrix\20const&\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashCap\29 +3258:skgpu::ganesh::ClipStack::~ClipStack\28\29 +3259:skgpu::ganesh::ClipStack::writableSaveRecord\28bool*\29 +3260:skgpu::ganesh::ClipStack::end\28\29\20const +3261:skgpu::ganesh::ClipStack::clip\28skgpu::ganesh::ClipStack::RawElement&&\29 +3262:skgpu::ganesh::ClipStack::clipState\28\29\20const +3263:skgpu::ganesh::ClipStack::SaveRecord::invalidateMasks\28GrProxyProvider*\2c\20SkTBlockList*\29 +3264:skgpu::ganesh::ClipStack::SaveRecord::genID\28\29\20const +3265:skgpu::ganesh::ClipStack::RawElement::operator=\28skgpu::ganesh::ClipStack::RawElement&&\29 +3266:skgpu::ganesh::ClipStack::RawElement::contains\28skgpu::ganesh::ClipStack::SaveRecord\20const&\29\20const +3267:skgpu::ganesh::ClipStack::RawElement::RawElement\28SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\2c\20SkClipOp\29 +3268:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +3269:skgpu::Swizzle::apply\28SkRasterPipeline*\29\20const +3270:skgpu::Swizzle::applyTo\28std::__2::array\29\20const +3271:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29 +3272:skgpu::ScratchKey::GenerateResourceType\28\29 +3273:skgpu::RectanizerSkyline::reset\28\29 +3274:skgpu::Plot::addSubImage\28int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +3275:sk_sp::~sk_sp\28\29 +3276:sk_sp::reset\28SkMeshSpecification*\29 +3277:sk_sp::operator=\28sk_sp&&\29 +3278:sk_sp::reset\28GrTextureProxy*\29 +3279:sk_sp::reset\28GrTexture*\29 +3280:sk_sp::operator=\28sk_sp&&\29 +3281:sk_sp::reset\28GrCpuBuffer*\29 +3282:sk_sp&\20sk_sp::operator=\28sk_sp&&\29 +3283:sk_sp&\20sk_sp::operator=\28sk_sp\20const&\29 +3284:skData_getSize +3285:sift +3286:set_initial_texture_params\28GrGLInterface\20const*\2c\20GrGLCaps\20const&\2c\20unsigned\20int\29 +3287:setRegionCheck\28SkRegion*\2c\20SkRegion\20const&\29 +3288:setLevelsOutsideIsolates\28UBiDi*\2c\20int\2c\20int\2c\20unsigned\20char\29 +3289:sect_with_vertical\28SkPoint\20const*\2c\20float\29 +3290:sampler_key\28GrTextureType\2c\20skgpu::Swizzle\20const&\2c\20GrCaps\20const&\29 +3291:round\28SkPoint*\29 +3292:read_color_line +3293:quick_inverse\28int\29 +3294:quad_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3295:psh_globals_set_scale +3296:ps_tofixedarray +3297:ps_parser_skip_PS_token +3298:ps_mask_test_bit +3299:ps_mask_table_alloc +3300:ps_mask_ensure +3301:ps_dimension_reset_mask +3302:ps_builder_init +3303:ps_builder_done +3304:pow +3305:portable::parametric_k\28skcms_TransferFunction\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3306:portable::hsl_to_rgb_k\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3307:portable::gamma__k\28float\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3308:portable::PQish_k\28skcms_TransferFunction\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3309:portable::HLGish_k\28skcms_TransferFunction\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3310:portable::HLGinvish_k\28skcms_TransferFunction\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20std::byte*&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\2c\20float&\29::'lambda'\28float\29::operator\28\29\28float\29\20const +3311:points_are_colinear_and_b_is_middle\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float*\29 +3312:png_zlib_inflate +3313:png_inflate_read +3314:png_inflate_claim +3315:png_build_8bit_table +3316:png_build_16bit_table +3317:picture_approximateBytesUsed +3318:path_addOval +3319:paragraph_dispose +3320:operator==\28SkPath\20const&\2c\20SkPath\20const&\29 +3321:operator!=\28SkString\20const&\2c\20SkString\20const&\29 +3322:normalize +3323:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::glyphCount\28\29\20const +3324:non-virtual\20thunk\20to\20GrOpFlushState::deferredUploadTarget\28\29 +3325:nextafterf +3326:move_nearby\28SkOpContourHead*\29 +3327:make_unpremul_effect\28std::__2::unique_ptr>\29 +3328:machine_index_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>::operator==\28machine_index_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>>\20const&\29\20const +3329:long\20std::__2::__libcpp_atomic_refcount_decrement\5babi:v160004\5d\28long&\29 +3330:long\20const&\20std::__2::min\5babi:v160004\5d\28long\20const&\2c\20long\20const&\29 +3331:log1p +3332:load_truetype_glyph +3333:load\28unsigned\20char\20const*\2c\20int\2c\20void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\29 +3334:line_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3335:lineMetrics_getStartIndex +3336:just_solid_color\28SkPaint\20const&\29 +3337:is_reflex_vertex\28SkPoint\20const*\2c\20int\2c\20float\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +3338:inner_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +3339:inflate_table +3340:image_filter_color_type\28SkColorInfo\20const&\29 +3341:hb_vector_t::push\28\29 +3342:hb_vector_t\2c\20false>::shrink_vector\28unsigned\20int\29 +3343:hb_utf8_t::next\28unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20int*\2c\20unsigned\20int\29 +3344:hb_shape_plan_destroy +3345:hb_serialize_context_t::object_t::hash\28\29\20const +3346:hb_script_get_horizontal_direction +3347:hb_pool_t::alloc\28\29 +3348:hb_paint_funcs_t::push_clip_rectangle\28void*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3349:hb_paint_funcs_t::push_clip_glyph\28void*\2c\20unsigned\20int\2c\20hb_font_t*\29 +3350:hb_paint_funcs_t::image\28void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\29 +3351:hb_paint_funcs_t::color\28void*\2c\20int\2c\20unsigned\20int\29 +3352:hb_paint_extents_context_t::push_clip\28hb_extents_t\29 +3353:hb_ot_map_t::get_mask\28unsigned\20int\2c\20unsigned\20int*\29\20const +3354:hb_lazy_loader_t\2c\20hb_face_t\2c\202u\2c\20hb_blob_t>::get\28\29\20const +3355:hb_lazy_loader_t\2c\20hb_face_t\2c\2023u\2c\20hb_blob_t>::get\28\29\20const +3356:hb_lazy_loader_t\2c\20hb_face_t\2c\201u\2c\20hb_blob_t>::get\28\29\20const +3357:hb_lazy_loader_t\2c\20hb_face_t\2c\2018u\2c\20hb_blob_t>::get\28\29\20const +3358:hb_lazy_loader_t\2c\20hb_face_t\2c\203u\2c\20OT::cmap_accelerator_t>::get_stored\28\29\20const +3359:hb_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>\2c\20OT::HBGlyphID16&>::end\28\29\20const +3360:hb_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>\2c\20hb_pair_t>::operator++\28\29\20& +3361:hb_hashmap_t::item_t::operator==\28hb_serialize_context_t::object_t\20const*\20const&\29\20const +3362:hb_font_t::mults_changed\28\29 +3363:hb_font_t::has_glyph_h_origin_func\28\29 +3364:hb_font_t::has_func\28unsigned\20int\29 +3365:hb_font_t::get_nominal_glyphs\28unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\29 +3366:hb_font_t::get_glyph_v_origin\28unsigned\20int\2c\20int*\2c\20int*\29 +3367:hb_font_t::get_glyph_v_advances\28unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\29 +3368:hb_font_t::get_glyph_h_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +3369:hb_font_t::get_glyph_h_origin\28unsigned\20int\2c\20int*\2c\20int*\29 +3370:hb_font_t::get_glyph_h_advances\28unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\29 +3371:hb_font_t::get_glyph_contour_point_for_origin\28unsigned\20int\2c\20unsigned\20int\2c\20hb_direction_t\2c\20int*\2c\20int*\29 +3372:hb_font_funcs_destroy +3373:hb_draw_cubic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +3374:hb_buffer_t::output_info\28hb_glyph_info_t\20const&\29 +3375:hb_buffer_t::digest\28\29\20const +3376:hb_buffer_t::_infos_set_glyph_flags\28hb_glyph_info_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3377:hb_buffer_t::_infos_find_min_cluster\28hb_glyph_info_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +3378:hb_buffer_set_length +3379:hb_buffer_create +3380:hb_blob_ptr_t::destroy\28\29 +3381:haircubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkRect\20const*\2c\20SkRect\20const*\2c\20SkBlitter*\2c\20int\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +3382:gray_render_line +3383:gl_target_to_gr_target\28unsigned\20int\29 +3384:gl_target_to_binding_index\28unsigned\20int\29 +3385:get_vendor\28char\20const*\29 +3386:get_renderer\28char\20const*\2c\20GrGLExtensions\20const&\29 +3387:get_layer_mapping_and_bounds\28SkSpan>\2c\20SkMatrix\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\2c\20float\29 +3388:get_joining_type\28unsigned\20int\2c\20hb_unicode_general_category_t\29 +3389:get_child_table_pointer +3390:generate_distance_field_from_image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\29 +3391:gaussianIntegral\28float\29 +3392:ft_var_readpackeddeltas +3393:ft_var_done_item_variation_store +3394:ft_glyphslot_alloc_bitmap +3395:ft_face_get_mm_service +3396:freelocale +3397:fputc +3398:fp_barrierf +3399:float*\20SkArenaAlloc::makeArray\28unsigned\20long\29 +3400:fixN0c\28BracketData*\2c\20int\2c\20int\2c\20unsigned\20char\29 +3401:filter_to_gl_min_filter\28SkFilterMode\2c\20SkMipmapMode\29 +3402:exp2 +3403:em_task_queue_execute +3404:dquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3405:do_scanline\28int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkBlitter*\29 +3406:do_anti_hairline\28int\2c\20int\2c\20int\2c\20int\2c\20SkIRect\20const*\2c\20SkBlitter*\29 +3407:dline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3408:directionFromFlags\28UBiDi*\29 +3409:destroy_face +3410:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0>\28skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::DashOp::AAMode\2c\20SkMatrix\20const&\2c\20bool\29::$_0&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3411:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrCaps\20const&\2c\20GrSurfaceProxyView\20const&\2c\20bool&\2c\20GrPipeline*&\2c\20GrUserStencilSettings\20const*&&\2c\20\28anonymous\20namespace\29::DrawAtlasPathShader*&\2c\20GrPrimitiveType&&\2c\20GrXferBarrierFlags&\2c\20GrLoadOp&\29::'lambda'\28void*\29>\28GrProgramInfo&&\29::'lambda'\28char*\29::__invoke\28char*\29 +3412:dcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3413:dconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +3414:cubic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3415:conic_intersect_ray\28SkPoint\20const*\2c\20float\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +3416:cleanup_shaders\28GrGLGpu*\2c\20SkTDArray\20const&\29 +3417:chop_mono_cubic_at_y\28SkPoint*\2c\20float\2c\20SkPoint*\29 +3418:check_inverse_on_empty_return\28SkRegion*\2c\20SkPath\20const&\2c\20SkRegion\20const&\29 +3419:check_intersection\28SkAnalyticEdge\20const*\2c\20int\2c\20int*\29 +3420:char\20const*\20std::__2::find\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char\20const&\29 +3421:cff_parse_real +3422:cff_parse_integer +3423:cff_index_read_offset +3424:cff_index_get_pointers +3425:cff_index_access_element +3426:cff2_path_param_t::move_to\28CFF::point_t\20const&\29 +3427:cff1_path_param_t::move_to\28CFF::point_t\20const&\29 +3428:cf2_hintmap_map +3429:cf2_glyphpath_pushPrevElem +3430:cf2_glyphpath_computeOffset +3431:cf2_glyphpath_closeOpenPath +3432:calculate_path_gap\28float\2c\20float\2c\20SkPath\20const&\29::$_1::operator\28\29\28int\29\20const +3433:calc_dot_cross_cubic\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +3434:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3435:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3436:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3437:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3438:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3439:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3440:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3441:byn$mgfn-shared$void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +3442:byn$mgfn-shared$void\20GrGLProgramDataManager::setMatrices<2>\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +3443:byn$mgfn-shared$std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +3444:byn$mgfn-shared$std::__2::vector>::__recommend\5babi:v160004\5d\28unsigned\20long\29\20const +3445:byn$mgfn-shared$std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +3446:byn$mgfn-shared$std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +3447:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +3448:byn$mgfn-shared$skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +3449:byn$mgfn-shared$skia_private::TArray<\28anonymous\20namespace\29::DrawAtlasOpImpl::Geometry\2c\20true>::checkRealloc\28int\2c\20double\29 +3450:byn$mgfn-shared$skia_private::TArray::checkRealloc\28int\2c\20double\29 +3451:byn$mgfn-shared$skia_private::AutoSTMalloc<4ul\2c\20int\2c\20void>::AutoSTMalloc\28unsigned\20long\29 +3452:byn$mgfn-shared$skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +3453:byn$mgfn-shared$skgpu::Swizzle::RGBA\28\29 +3454:byn$mgfn-shared$resource_cache_mutex\28\29 +3455:byn$mgfn-shared$portable::sub_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3456:byn$mgfn-shared$portable::sub_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3457:byn$mgfn-shared$portable::mul_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3458:byn$mgfn-shared$portable::mul_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3459:byn$mgfn-shared$portable::mod_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3460:byn$mgfn-shared$portable::mix_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3461:byn$mgfn-shared$portable::mix_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3462:byn$mgfn-shared$portable::min_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3463:byn$mgfn-shared$portable::min_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3464:byn$mgfn-shared$portable::min_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3465:byn$mgfn-shared$portable::max_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3466:byn$mgfn-shared$portable::max_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3467:byn$mgfn-shared$portable::max_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3468:byn$mgfn-shared$portable::invsqrt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3469:byn$mgfn-shared$portable::floor_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3470:byn$mgfn-shared$portable::div_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3471:byn$mgfn-shared$portable::div_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3472:byn$mgfn-shared$portable::div_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3473:byn$mgfn-shared$portable::cmpne_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3474:byn$mgfn-shared$portable::cmpne_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3475:byn$mgfn-shared$portable::cmplt_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3476:byn$mgfn-shared$portable::cmplt_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3477:byn$mgfn-shared$portable::cmplt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3478:byn$mgfn-shared$portable::cmple_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3479:byn$mgfn-shared$portable::cmple_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3480:byn$mgfn-shared$portable::cmple_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3481:byn$mgfn-shared$portable::cmpeq_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3482:byn$mgfn-shared$portable::cmpeq_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3483:byn$mgfn-shared$portable::ceil_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3484:byn$mgfn-shared$portable::cast_to_uint_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3485:byn$mgfn-shared$portable::cast_to_int_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3486:byn$mgfn-shared$portable::cast_to_float_from_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3487:byn$mgfn-shared$portable::cast_to_float_from_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3488:byn$mgfn-shared$portable::bitwise_xor_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3489:byn$mgfn-shared$portable::bitwise_or_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3490:byn$mgfn-shared$portable::bitwise_and_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3491:byn$mgfn-shared$portable::add_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3492:byn$mgfn-shared$portable::add_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3493:byn$mgfn-shared$portable::abs_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +3494:byn$mgfn-shared$SkTBlockList::pushItem\28\29 +3495:byn$mgfn-shared$SkRuntimeEffect::MakeForShader\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +3496:byn$mgfn-shared$SkImage_Base::isGaneshBacked\28\29\20const +3497:byn$mgfn-shared$Round_To_Grid +3498:byn$mgfn-shared$LineQuadraticIntersections::addLineNearEndPoints\28\29 +3499:byn$mgfn-shared$GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +3500:byn$mgfn-shared$GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +3501:byn$mgfn-shared$DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +3502:bracketProcessBoundary\28BracketData*\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +3503:bracketAddOpening\28BracketData*\2c\20char16_t\2c\20int\29 +3504:bool\20std::__2::equal\5babi:v160004\5d\28float\20const*\2c\20float\20const*\2c\20float\20const*\2c\20std::__2::__equal_to\29 +3505:bool\20OT::would_match_input>\28OT::hb_would_apply_context_t*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20bool\20\28*\29\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29\2c\20void\20const*\29 +3506:bool\20OT::match_lookahead>\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20bool\20\28*\29\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29\2c\20void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +3507:bool\20OT::match_backtrack>\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20bool\20\28*\29\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29\2c\20void\20const*\2c\20unsigned\20int*\29 +3508:bool\20OT::glyf_impl::Glyph::get_points\28hb_font_t*\2c\20OT::glyf_accelerator_t\20const&\2c\20contour_point_vector_t&\2c\20contour_point_vector_t*\2c\20head_maxp_info_t*\2c\20unsigned\20int*\2c\20bool\2c\20bool\2c\20bool\2c\20hb_array_t\2c\20hb_map_t*\2c\20unsigned\20int\2c\20unsigned\20int*\29\20const +3509:bool\20OT::glyf_accelerator_t::get_points\28hb_font_t*\2c\20unsigned\20int\2c\20OT::glyf_accelerator_t::points_aggregator_t\29\20const +3510:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3511:bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3512:bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3513:bool\20OT::OffsetTo>\2c\20OT::IntType\2c\20false>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +3514:blitrect\28SkBlitter*\2c\20SkIRect\20const&\29 +3515:blit_single_alpha\28AdditiveBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +3516:blit_aaa_trapezoid_row\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +3517:atan +3518:append_index_uv_varyings\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20int\2c\20char\20const*\2c\20char\20const*\2c\20GrGLSLVarying*\2c\20GrGLSLVarying*\2c\20GrGLSLVarying*\29 +3519:antifillrect\28SkRect\20const&\2c\20SkBlitter*\29 +3520:af_property_get_face_globals +3521:af_latin_hints_link_segments +3522:af_latin_compute_stem_width +3523:af_latin_align_linked_edge +3524:af_iup_interp +3525:af_glyph_hints_save +3526:af_glyph_hints_done +3527:af_cjk_align_linked_edge +3528:add_quad\28SkPoint\20const*\2c\20skia_private::TArray*\29 +3529:acosf +3530:acos +3531:aaa_fill_path\28SkPath\20const&\2c\20SkIRect\20const&\2c\20AdditiveBlitter*\2c\20int\2c\20int\2c\20bool\2c\20bool\2c\20bool\29 +3532:a_swap +3533:a_store +3534:a_cas_p.9086 +3535:_iup_worker_interpolate +3536:_hb_head_t\29&>\28fp\29\2c\20std::forward>\28fp0\29\2c\20\28hb_priority<16u>\29\28\29\29\29>::type\20$_14::operator\28\29\29&\2c\20hb_pair_t>\28find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29&\2c\20hb_pair_t&&\29\20const +3537:_hb_font_adopt_var_coords\28hb_font_t*\2c\20int*\2c\20float*\2c\20unsigned\20int\29 +3538:_get_path\28OT::cff1::accelerator_t\20const*\2c\20hb_font_t*\2c\20unsigned\20int\2c\20hb_draw_session_t&\2c\20bool\2c\20CFF::point_t*\29 +3539:_get_bounds\28OT::cff1::accelerator_t\20const*\2c\20unsigned\20int\2c\20bounds_t&\2c\20bool\29 +3540:__trunctfdf2 +3541:__towrite +3542:__toread +3543:__tl_unlock +3544:__tl_lock +3545:__timedwait_cp +3546:__subtf3 +3547:__strchrnul +3548:__rem_pio2f +3549:__rem_pio2 +3550:__pthread_mutex_trylock +3551:__overflow +3552:__fwritex +3553:__cxxabiv1::__class_type_info::process_static_type_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\29\20const +3554:__cxxabiv1::__class_type_info::process_static_type_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\29\20const +3555:__cxxabiv1::__class_type_info::process_found_base_class\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +3556:__cxxabiv1::__base_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +3557:\28anonymous\20namespace\29::split_conic\28SkPoint\20const*\2c\20SkConic*\2c\20float\29 +3558:\28anonymous\20namespace\29::single_pass_shape\28GrStyledShape\20const&\29 +3559:\28anonymous\20namespace\29::shift_left\28skvx::Vec<4\2c\20float>\20const&\2c\20int\29 +3560:\28anonymous\20namespace\29::shape_contains_rect\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkMatrix\20const&\2c\20bool\29 +3561:\28anonymous\20namespace\29::set_gl_stencil\28GrGLInterface\20const*\2c\20GrStencilSettings::Face\20const&\2c\20unsigned\20int\29 +3562:\28anonymous\20namespace\29::make_blend\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\2c\20std::__2::optional\2c\20bool\29::$_0::operator\28\29\28sk_sp\29\20const +3563:\28anonymous\20namespace\29::get_tile_count\28SkIRect\20const&\2c\20int\29 +3564:\28anonymous\20namespace\29::generateGlyphPathStatic\28FT_FaceRec_*\2c\20SkPath*\29 +3565:\28anonymous\20namespace\29::generateFacePathCOLRv1\28FT_FaceRec_*\2c\20unsigned\20short\2c\20SkPath*\29 +3566:\28anonymous\20namespace\29::gather_lines_and_quads\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\29::$_0::operator\28\29\28SkPoint\20const*\2c\20bool\29\20const +3567:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads_with_constraint\28SkPoint\20const*\2c\20float\2c\20SkPathFirstDirection\2c\20skia_private::TArray*\2c\20int\29 +3568:\28anonymous\20namespace\29::convert_noninflect_cubic_to_quads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\2c\20int\2c\20bool\2c\20bool\29 +3569:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const +3570:\28anonymous\20namespace\29::calculate_colors\28skgpu::ganesh::SurfaceDrawContext*\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20skgpu::MaskFormat\2c\20GrPaint*\29 +3571:\28anonymous\20namespace\29::bloat_quad\28SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkMatrix\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +3572:\28anonymous\20namespace\29::TriangulatingPathOp::CreateMesh\28GrMeshDrawTarget*\2c\20sk_sp\2c\20int\2c\20int\29 +3573:\28anonymous\20namespace\29::TransformedMaskSubRun::~TransformedMaskSubRun\28\29.1 +3574:\28anonymous\20namespace\29::TransformedMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +3575:\28anonymous\20namespace\29::TransformedMaskSubRun::glyphs\28\29\20const +3576:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29 +3577:\28anonymous\20namespace\29::SkMorphologyImageFilter::radii\28skif::Mapping\20const&\29\20const +3578:\28anonymous\20namespace\29::SkFTGeometrySink::goingTo\28FT_Vector_\20const*\29 +3579:\28anonymous\20namespace\29::SkCropImageFilter::cropRect\28skif::Mapping\20const&\29\20const +3580:\28anonymous\20namespace\29::ShapedRun::~ShapedRun\28\29 +3581:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +3582:\28anonymous\20namespace\29::PathSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +3583:\28anonymous\20namespace\29::MemoryPoolAccessor::pool\28\29\20const +3584:\28anonymous\20namespace\29::DrawAtlasOpImpl::visitProxies\28std::__2::function\20const&\29\20const +3585:\28anonymous\20namespace\29::DrawAtlasOpImpl::programInfo\28\29 +3586:\28anonymous\20namespace\29::DrawAtlasOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +3587:TT_Vary_Apply_Glyph_Deltas +3588:TT_Set_Var_Design +3589:TT_Get_VMetrics +3590:SkWriter32::writeRegion\28SkRegion\20const&\29 +3591:SkVertices::Sizes::Sizes\28SkVertices::Desc\20const&\29 +3592:SkVertices::MakeCopy\28SkVertices::VertexMode\2c\20int\2c\20SkPoint\20const*\2c\20SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20short\20const*\29 +3593:SkVertices::Builder::~Builder\28\29 +3594:SkVertices::Builder::detach\28\29 +3595:SkUnitScalarClampToByte\28float\29 +3596:SkUTF::ToUTF16\28int\2c\20unsigned\20short*\29 +3597:SkTypeface_FreeType::~SkTypeface_FreeType\28\29 +3598:SkTextBlobBuilder::updateDeferredBounds\28\29 +3599:SkTextBlobBuilder::allocInternal\28SkFont\20const&\2c\20SkTextBlob::GlyphPositioning\2c\20int\2c\20int\2c\20SkPoint\2c\20SkRect\20const*\29 +3600:SkTextBlob::RunRecord::textSizePtr\28\29\20const +3601:SkTSpan::markCoincident\28\29 +3602:SkTSect::markSpanGone\28SkTSpan*\29 +3603:SkTSect::computePerpendiculars\28SkTSect*\2c\20SkTSpan*\2c\20SkTSpan*\29 +3604:SkTMultiMap::insert\28skgpu::ScratchKey\20const&\2c\20GrGpuResource*\29 +3605:SkTDStorage::moveTail\28int\2c\20int\2c\20int\29 +3606:SkTDStorage::calculateSizeOrDie\28int\29 +3607:SkTDArray::append\28int\29 +3608:SkTDArray::append\28\29 +3609:SkTConic::hullIntersects\28SkDConic\20const&\2c\20bool*\29\20const +3610:SkTBlockList::pop_back\28\29 +3611:SkSurface_Base::~SkSurface_Base\28\29 +3612:SkSurface_Base::aboutToDraw\28SkSurface::ContentChangeMode\29 +3613:SkStrokeRec::init\28SkPaint\20const&\2c\20SkPaint::Style\2c\20float\29 +3614:SkStrokeRec::getInflationRadius\28\29\20const +3615:SkString::printVAList\28char\20const*\2c\20void*\29 +3616:SkStrikeSpec::SkStrikeSpec\28SkStrikeSpec&&\29 +3617:SkStrikeSpec::MakeWithNoDevice\28SkFont\20const&\2c\20SkPaint\20const*\29 +3618:SkStrikeSpec::MakePath\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\29 +3619:SkStrikeCache::findOrCreateStrike\28SkStrikeSpec\20const&\29 +3620:SkStrike::prepareForPath\28SkGlyph*\29 +3621:SkSpriteBlitter::SkSpriteBlitter\28SkPixmap\20const&\29 +3622:SkSpecialImage::~SkSpecialImage\28\29 +3623:SkSpecialImage::makeSubset\28SkIRect\20const&\29\20const +3624:SkSpecialImage::makePixelOutset\28\29\20const +3625:SkShapers::HB::ScriptRunIterator\28char\20const*\2c\20unsigned\20long\29 +3626:SkShaper::TrivialRunIterator::endOfCurrentRun\28\29\20const +3627:SkShaper::TrivialRunIterator::consume\28\29 +3628:SkShaper::TrivialRunIterator::atEnd\28\29\20const +3629:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29 +3630:SkShaders::MatrixRec::MatrixRec\28SkMatrix\20const&\29 +3631:SkShaderUtils::GLSLPrettyPrint::tabString\28\29 +3632:SkScanClipper::~SkScanClipper\28\29 +3633:SkScanClipper::SkScanClipper\28SkBlitter*\2c\20SkRegion\20const*\2c\20SkIRect\20const&\2c\20bool\2c\20bool\29 +3634:SkScan::HairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +3635:SkScan::FillTriangle\28SkPoint\20const*\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3636:SkScan::FillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3637:SkScan::FillIRect\28SkIRect\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3638:SkScan::AntiHairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +3639:SkScan::AntiHairLineRgn\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +3640:SkScan::AntiFillXRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +3641:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRegion\20const&\2c\20SkBlitter*\2c\20bool\29 +3642:SkScalerContext_FreeType::updateGlyphBoundsIfSubpixel\28SkGlyph\20const&\2c\20SkRect*\2c\20bool\29 +3643:SkScalerContextRec::CachedMaskGamma\28unsigned\20char\2c\20unsigned\20char\29 +3644:SkScalerContextFTUtils::drawSVGGlyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +3645:SkScalerContext::~SkScalerContext\28\29 +3646:SkSTArenaAlloc<2048ul>::SkSTArenaAlloc\28unsigned\20long\29 +3647:SkSL::type_is_valid_for_coords\28SkSL::Type\20const&\29 +3648:SkSL::simplify_negation\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\29 +3649:SkSL::simplify_matrix_multiplication\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3650:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +3651:SkSL::replace_empty_with_nop\28std::__2::unique_ptr>\2c\20bool\29 +3652:SkSL::find_generic_index\28SkSL::Type\20const&\2c\20SkSL::Type\20const&\2c\20bool\29 +3653:SkSL::evaluate_intrinsic_numeric\28SkSL::Context\20const&\2c\20std::__2::array\20const&\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\29 +3654:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29 +3655:SkSL::coalesce_n_way_vector\28SkSL::Expression\20const*\2c\20SkSL::Expression\20const*\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +3656:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_0::operator\28\29\28int\29\20const +3657:SkSL::build_argument_type_list\28SkSpan>\20const>\29 +3658:SkSL::\28anonymous\20namespace\29::SwitchCaseContainsExit::visitStatement\28SkSL::Statement\20const&\29 +3659:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::returnsInputAlpha\28SkSL::Expression\20const&\29 +3660:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29 +3661:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29 +3662:SkSL::\28anonymous\20namespace\29::ConstantExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +3663:SkSL::Variable::~Variable\28\29 +3664:SkSL::Variable::Make\28SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20std::__2::basic_string_view>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20bool\2c\20SkSL::VariableStorage\29 +3665:SkSL::Variable::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20SkSL::VariableStorage\29 +3666:SkSL::VarDeclaration::~VarDeclaration\28\29 +3667:SkSL::VarDeclaration::Make\28SkSL::Context\20const&\2c\20SkSL::Variable*\2c\20SkSL::Type\20const*\2c\20int\2c\20std::__2::unique_ptr>\29 +3668:SkSL::Type::isStorageTexture\28\29\20const +3669:SkSL::Type::convertArraySize\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20long\20long\29\20const +3670:SkSL::Type::MakeSamplerType\28char\20const*\2c\20SkSL::Type\20const&\29 +3671:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29 +3672:SkSL::Transform::EliminateDeadGlobalVariables\28SkSL::Program&\29::$_2::operator\28\29\28SkSL::ProgramElement\20const&\29\20const +3673:SkSL::TernaryExpression::~TernaryExpression\28\29 +3674:SkSL::SymbolTable::SymbolKey::operator==\28SkSL::SymbolTable::SymbolKey\20const&\29\20const +3675:SkSL::SingleArgumentConstructor::~SingleArgumentConstructor\28\29 +3676:SkSL::RP::UnownedLValueSlice::~UnownedLValueSlice\28\29 +3677:SkSL::RP::SlotManager::createSlots\28std::__2::basic_string\2c\20std::__2::allocator>\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20bool\29 +3678:SkSL::RP::SlotManager::addSlotDebugInfoForGroup\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20SkSL::Type\20const&\2c\20SkSL::Position\2c\20int*\2c\20bool\29 +3679:SkSL::RP::Program::makeStages\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20SkSpan\2c\20SkSL::RP::Program::SlotData\20const&\29\20const::$_4::operator\28\29\28\29\20const +3680:SkSL::RP::Program::makeStages\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20SkSpan\2c\20SkSL::RP::Program::SlotData\20const&\29\20const::$_1::operator\28\29\28int\29\20const +3681:SkSL::RP::Program::appendCopySlotsMasked\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\29\20const +3682:SkSL::RP::LValueSlice::~LValueSlice\28\29 +3683:SkSL::RP::Generator::pushTernaryExpression\28SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +3684:SkSL::RP::Generator::pushStructuredComparison\28SkSL::RP::LValue*\2c\20SkSL::Operator\2c\20SkSL::RP::LValue*\2c\20SkSL::Type\20const&\29 +3685:SkSL::RP::Generator::pushPrefixExpression\28SkSL::Operator\2c\20SkSL::Expression\20const&\29 +3686:SkSL::RP::Generator::pushMatrixMultiply\28SkSL::RP::LValue*\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +3687:SkSL::RP::Generator::pushAbsFloatIntrinsic\28int\29 +3688:SkSL::RP::Generator::needsReturnMask\28SkSL::FunctionDefinition\20const*\29 +3689:SkSL::RP::Generator::needsFunctionResultSlots\28SkSL::FunctionDefinition\20const*\29 +3690:SkSL::RP::Generator::foldWithMultiOp\28SkSL::RP::BuilderOp\2c\20int\29 +3691:SkSL::RP::Generator::GetTypedOp\28SkSL::Type\20const&\2c\20SkSL::RP::Generator::TypedOps\20const&\29 +3692:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29 +3693:SkSL::RP::Builder::select\28int\29 +3694:SkSL::RP::Builder::push_uniform\28SkSL::RP::SlotRange\29 +3695:SkSL::RP::Builder::pop_loop_mask\28\29 +3696:SkSL::RP::Builder::merge_condition_mask\28\29 +3697:SkSL::RP::Builder::branch_if_no_active_lanes_on_stack_top_equal\28int\2c\20int\29 +3698:SkSL::RP::AutoStack&\20std::__2::optional::emplace\5babi:v160004\5d\28SkSL::RP::Generator*&\29 +3699:SkSL::ProgramUsage::add\28SkSL::ProgramElement\20const&\29 +3700:SkSL::PipelineStage::PipelineStageCodeGenerator::modifierString\28SkSL::ModifierFlags\29 +3701:SkSL::PipelineStage::ConvertProgram\28SkSL::Program\20const&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20SkSL::PipelineStage::Callbacks*\29 +3702:SkSL::Parser::unsizedArrayType\28SkSL::Type\20const*\2c\20SkSL::Position\29 +3703:SkSL::Parser::unaryExpression\28\29 +3704:SkSL::Parser::swizzle\28SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::basic_string_view>\2c\20SkSL::Position\29 +3705:SkSL::Parser::poison\28SkSL::Position\29 +3706:SkSL::Parser::checkIdentifier\28SkSL::Token*\29 +3707:SkSL::Parser::block\28bool\2c\20std::__2::unique_ptr>*\29 +3708:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29 +3709:SkSL::Operator::getBinaryPrecedence\28\29\20const +3710:SkSL::MultiArgumentConstructor::~MultiArgumentConstructor\28\29 +3711:SkSL::ModuleLoader::loadVertexModule\28SkSL::Compiler*\29 +3712:SkSL::ModuleLoader::loadGPUModule\28SkSL::Compiler*\29 +3713:SkSL::ModuleLoader::loadFragmentModule\28SkSL::Compiler*\29 +3714:SkSL::ModifierFlags::checkPermittedFlags\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\29\20const +3715:SkSL::MethodReference::~MethodReference\28\29.1 +3716:SkSL::MethodReference::~MethodReference\28\29 +3717:SkSL::Mangler::uniqueName\28std::__2::basic_string_view>\2c\20SkSL::SymbolTable*\29 +3718:SkSL::LiteralType::slotType\28unsigned\20long\29\20const +3719:SkSL::Literal::MakeFloat\28SkSL::Position\2c\20float\2c\20SkSL::Type\20const*\29 +3720:SkSL::Literal::MakeBool\28SkSL::Position\2c\20bool\2c\20SkSL::Type\20const*\29 +3721:SkSL::Layout::checkPermittedLayout\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkEnumBitMask\29\20const +3722:SkSL::IfStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3723:SkSL::IRHelpers::Binary\28std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\29\20const +3724:SkSL::GlobalVarDeclaration::~GlobalVarDeclaration\28\29.1 +3725:SkSL::GlobalVarDeclaration::~GlobalVarDeclaration\28\29 +3726:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29 +3727:SkSL::GLSLCodeGenerator::writeLiteral\28SkSL::Literal\20const&\29 +3728:SkSL::GLSLCodeGenerator::writeFunctionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +3729:SkSL::GLSLCodeGenerator::shouldRewriteVoidTypedFunctions\28SkSL::FunctionDeclaration\20const*\29\20const +3730:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29 +3731:SkSL::ForStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +3732:SkSL::FieldAccess::FieldAccess\28SkSL::Position\2c\20std::__2::unique_ptr>\2c\20int\2c\20SkSL::FieldAccessOwnerKind\29 +3733:SkSL::Expression::isIncomplete\28SkSL::Context\20const&\29\20const +3734:SkSL::Expression::compareConstant\28SkSL::Expression\20const&\29\20const +3735:SkSL::DebugTracePriv::~DebugTracePriv\28\29 +3736:SkSL::ConstructorArrayCast::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +3737:SkSL::ConstructorArray::~ConstructorArray\28\29 +3738:SkSL::ConstantFolder::GetConstantValueOrNull\28SkSL::Expression\20const&\29 +3739:SkSL::Compiler::runInliner\28SkSL::Inliner*\2c\20std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\29 +3740:SkSL::Block::~Block\28\29 +3741:SkSL::BinaryExpression::~BinaryExpression\28\29 +3742:SkSL::BinaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\2c\20std::__2::unique_ptr>\2c\20SkSL::Type\20const*\29 +3743:SkSL::Analysis::GetReturnComplexity\28SkSL::FunctionDefinition\20const&\29 +3744:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29 +3745:SkSL::Analysis::CallsColorTransformIntrinsics\28SkSL::Program\20const&\29 +3746:SkSL::AliasType::bitWidth\28\29\20const +3747:SkRuntimeShader::uniformData\28SkColorSpace\20const*\29\20const +3748:SkRuntimeEffectPriv::VarAsUniform\28SkSL::Variable\20const&\2c\20SkSL::Context\20const&\2c\20unsigned\20long*\29 +3749:SkRuntimeEffect::makeShader\28sk_sp\2c\20SkSpan\2c\20SkMatrix\20const*\29\20const +3750:SkRuntimeEffect::MakeForShader\28SkString\29 +3751:SkRgnBuilder::~SkRgnBuilder\28\29 +3752:SkResourceCache::checkMessages\28\29 +3753:SkResourceCache::Key::operator==\28SkResourceCache::Key\20const&\29\20const +3754:SkRegion::translate\28int\2c\20int\2c\20SkRegion*\29\20const +3755:SkRegion::op\28SkRegion\20const&\2c\20SkIRect\20const&\2c\20SkRegion::Op\29 +3756:SkRegion::RunHead::findScanline\28int\29\20const +3757:SkRegion::RunHead::Alloc\28int\29 +3758:SkReduceOrder::Cubic\28SkPoint\20const*\2c\20SkPoint*\29 +3759:SkRect::offset\28float\2c\20float\29 +3760:SkRect*\20SkRecorder::copy\28SkRect\20const*\29 +3761:SkRecords::PreCachedPath::PreCachedPath\28SkPath\20const&\29 +3762:SkRecords::FillBounds::pushSaveBlock\28SkPaint\20const*\29 +3763:SkRecorder::~SkRecorder\28\29 +3764:SkRecordDraw\28SkRecord\20const&\2c\20SkCanvas*\2c\20SkPicture\20const*\20const*\2c\20SkDrawable*\20const*\2c\20int\2c\20SkBBoxHierarchy\20const*\2c\20SkPicture::AbortCallback*\29 +3765:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29 +3766:SkRasterPipelineBlitter::blitRectWithTrace\28int\2c\20int\2c\20int\2c\20int\2c\20bool\29 +3767:SkRasterPipelineBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29::$_0::operator\28\29\28int\2c\20SkRasterPipeline_MemoryCtx*\29\20const +3768:SkRasterPipelineBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +3769:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29 +3770:SkRasterPipeline::appendStore\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +3771:SkRasterClip::op\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkClipOp\2c\20bool\29 +3772:SkRasterClip::convertToAA\28\29 +3773:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29::$_1::operator\28\29\28SkRect\20const&\2c\20SkRRect::Corner\29\20const +3774:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29 +3775:SkRRect::scaleRadii\28\29 +3776:SkRRect::AreRectAndRadiiValid\28SkRect\20const&\2c\20SkPoint\20const*\29 +3777:SkRGBA4f<\28SkAlphaType\292>*\20SkArenaAlloc::makeArray>\28unsigned\20long\29 +3778:SkQuadraticEdge::updateQuadratic\28\29 +3779:SkQuadConstruct::initWithStart\28SkQuadConstruct*\29 +3780:SkQuadConstruct::initWithEnd\28SkQuadConstruct*\29 +3781:SkPointPriv::DistanceToLineBetweenSqd\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPointPriv::Side*\29 +3782:SkPoint::setNormalize\28float\2c\20float\29 +3783:SkPoint::setLength\28float\2c\20float\2c\20float\29 +3784:SkPixmap::setColorSpace\28sk_sp\29 +3785:SkPixmap::rowBytesAsPixels\28\29\20const +3786:SkPixelRef::getGenerationID\28\29\20const +3787:SkPictureRecorder::~SkPictureRecorder\28\29 +3788:SkPictureRecorder::SkPictureRecorder\28\29 +3789:SkPicture::~SkPicture\28\29 +3790:SkPerlinNoiseShader::PaintingData::random\28\29 +3791:SkPathWriter::~SkPathWriter\28\29 +3792:SkPathWriter::update\28SkOpPtT\20const*\29 +3793:SkPathWriter::lineTo\28\29 +3794:SkPathWriter::SkPathWriter\28SkPath&\29 +3795:SkPathStroker::strokeCloseEnough\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20SkQuadConstruct*\29\20const +3796:SkPathStroker::setRayPts\28SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +3797:SkPathStroker::quadPerpRay\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +3798:SkPathStroker::finishContour\28bool\2c\20bool\29 +3799:SkPathStroker::conicPerpRay\28SkConic\20const&\2c\20float\2c\20SkPoint*\2c\20SkPoint*\2c\20SkPoint*\29\20const +3800:SkPathPriv::IsRectContour\28SkPath\20const&\2c\20bool\2c\20int*\2c\20SkPoint\20const**\2c\20bool*\2c\20SkPathDirection*\2c\20SkRect*\29 +3801:SkPathPriv::AddGenIDChangeListener\28SkPath\20const&\2c\20sk_sp\29 +3802:SkPathEffect::filterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +3803:SkPathBuilder::quadTo\28SkPoint\2c\20SkPoint\29 +3804:SkPathBuilder::moveTo\28float\2c\20float\29 +3805:SkPathBuilder::cubicTo\28SkPoint\2c\20SkPoint\2c\20SkPoint\29 +3806:SkPathBuilder::addRect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +3807:SkPath::setLastPt\28float\2c\20float\29 +3808:SkPath::reversePathTo\28SkPath\20const&\29 +3809:SkPath::rQuadTo\28float\2c\20float\2c\20float\2c\20float\29 +3810:SkPath::isLastContourClosed\28\29\20const +3811:SkPath::cubicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +3812:SkPath::contains\28float\2c\20float\29\20const +3813:SkPath::conicTo\28float\2c\20float\2c\20float\2c\20float\2c\20float\29 +3814:SkPath::arcTo\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\29::$_0::operator\28\29\28SkPoint\20const&\29\20const +3815:SkPath::addPath\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPath::AddPathMode\29 +3816:SkPath::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +3817:SkPath::Rect\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +3818:SkPath::Iter::autoClose\28SkPoint*\29 +3819:SkPath*\20SkTLazy::init<>\28\29 +3820:SkPaintToGrPaintReplaceShader\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20std::__2::unique_ptr>\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +3821:SkPaint::getBlendMode_or\28SkBlendMode\29\20const +3822:SkOpSpanBase::checkForCollapsedCoincidence\28\29 +3823:SkOpSpan::setWindSum\28int\29 +3824:SkOpSegment::updateWindingReverse\28SkOpAngle\20const*\29 +3825:SkOpSegment::match\28SkOpPtT\20const*\2c\20SkOpSegment\20const*\2c\20double\2c\20SkPoint\20const&\29\20const +3826:SkOpSegment::markWinding\28SkOpSpan*\2c\20int\2c\20int\29 +3827:SkOpSegment::markAngle\28int\2c\20int\2c\20int\2c\20int\2c\20SkOpAngle\20const*\2c\20SkOpSpanBase**\29 +3828:SkOpSegment::markAngle\28int\2c\20int\2c\20SkOpAngle\20const*\2c\20SkOpSpanBase**\29 +3829:SkOpSegment::markAndChaseWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int\2c\20int\2c\20SkOpSpanBase**\29 +3830:SkOpSegment::markAllDone\28\29 +3831:SkOpSegment::dSlopeAtT\28double\29\20const +3832:SkOpSegment::addT\28double\2c\20SkPoint\20const&\29 +3833:SkOpSegment::activeWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\29 +3834:SkOpPtT::oppPrev\28SkOpPtT\20const*\29\20const +3835:SkOpPtT::contains\28SkOpSegment\20const*\29\20const +3836:SkOpPtT::Overlaps\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const**\2c\20SkOpPtT\20const**\29 +3837:SkOpEdgeBuilder::closeContour\28SkPoint\20const&\2c\20SkPoint\20const&\29 +3838:SkOpCoincidence::expand\28\29 +3839:SkOpCoincidence::Ordered\28SkOpSegment\20const*\2c\20SkOpSegment\20const*\29 +3840:SkOpCoincidence::Ordered\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\29 +3841:SkOpAngle::orderable\28SkOpAngle*\29 +3842:SkOpAngle::lineOnOneSide\28SkDPoint\20const&\2c\20SkDVector\20const&\2c\20SkOpAngle\20const*\2c\20bool\29\20const +3843:SkOpAngle::computeSector\28\29 +3844:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\2c\20sk_sp\29 +3845:SkMipmapAccessor::SkMipmapAccessor\28SkImage_Base\20const*\2c\20SkMatrix\20const&\2c\20SkMipmapMode\29::$_0::operator\28\29\28\29\20const +3846:SkMessageBus::Get\28\29 +3847:SkMessageBus::Get\28\29 +3848:SkMessageBus::BufferFinishedMessage\2c\20GrDirectContext::DirectContextID\2c\20false>::Get\28\29 +3849:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +3850:SkMatrixPriv::InverseMapRect\28SkMatrix\20const&\2c\20SkRect*\2c\20SkRect\20const&\29 +3851:SkMatrix::setPolyToPoly\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20int\29 +3852:SkMatrix::preservesRightAngles\28float\29\20const +3853:SkMatrix::mapRectToQuad\28SkPoint*\2c\20SkRect\20const&\29\20const +3854:SkMatrix::mapRectScaleTranslate\28SkRect*\2c\20SkRect\20const&\29\20const +3855:SkMatrix::getMinMaxScales\28float*\29\20const +3856:SkMatrix::getMapXYProc\28\29\20const +3857:SkMaskBuilder::PrepareDestination\28int\2c\20int\2c\20SkMask\20const&\29 +3858:SkLineParameters::cubicEndPoints\28SkDCubic\20const&\2c\20int\2c\20int\29 +3859:SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry::~Entry\28\29 +3860:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::reset\28\29 +3861:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry::~Entry\28\29 +3862:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_matrix_conv_effect\28SkKnownRuntimeEffects::\28anonymous\20namespace\29::MatrixConvolutionImpl\2c\20SkRuntimeEffect::Options\20const&\29 +3863:SkJSONWriter::separator\28bool\29 +3864:SkJSONWriter::multiline\28\29\20const +3865:SkJSONWriter::flush\28\29 +3866:SkJSONWriter::appendS32\28int\29 +3867:SkIntersections::intersectRay\28SkDQuad\20const&\2c\20SkDLine\20const&\29 +3868:SkIntersections::intersectRay\28SkDLine\20const&\2c\20SkDLine\20const&\29 +3869:SkIntersections::intersectRay\28SkDCubic\20const&\2c\20SkDLine\20const&\29 +3870:SkIntersections::intersectRay\28SkDConic\20const&\2c\20SkDLine\20const&\29 +3871:SkIntersections::computePoints\28SkDLine\20const&\2c\20int\29 +3872:SkIntersections::cleanUpParallelLines\28bool\29 +3873:SkImage_Raster::SkImage_Raster\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20int\29 +3874:SkImage_Lazy::~SkImage_Lazy\28\29.1 +3875:SkImage_Lazy::Validator::~Validator\28\29 +3876:SkImage_Lazy::Validator::Validator\28sk_sp\2c\20SkColorType\20const*\2c\20sk_sp\29 +3877:SkImage_Lazy::SkImage_Lazy\28SkImage_Lazy::Validator*\29 +3878:SkImage_Ganesh::~SkImage_Ganesh\28\29 +3879:SkImage_Ganesh::ProxyChooser::chooseProxy\28GrRecordingContext*\29 +3880:SkImage_Base::isYUVA\28\29\20const +3881:SkImageShader::MakeSubset\28sk_sp\2c\20SkRect\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20bool\29 +3882:SkImageShader::CubicResamplerMatrix\28float\2c\20float\29 +3883:SkImageInfo::minRowBytes64\28\29\20const +3884:SkImageInfo::makeAlphaType\28SkAlphaType\29\20const +3885:SkImageInfo::MakeN32Premul\28SkISize\29 +3886:SkImageGenerator::getPixels\28SkPixmap\20const&\29 +3887:SkImageFilters::Blend\28SkBlendMode\2c\20sk_sp\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +3888:SkImageFilter_Base::filterImage\28skif::Context\20const&\29\20const +3889:SkImageFilter_Base::affectsTransparentBlack\28\29\20const +3890:SkImageFilterCacheKey::operator==\28SkImageFilterCacheKey\20const&\29\20const +3891:SkImage::readPixels\28GrDirectContext*\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +3892:SkImage::peekPixels\28SkPixmap*\29\20const +3893:SkImage::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\29\20const +3894:SkIRect\20skif::Mapping::map\28SkIRect\20const&\2c\20SkMatrix\20const&\29 +3895:SkIRect::offset\28SkIPoint\20const&\29 +3896:SkIRect::containsNoEmptyCheck\28SkIRect\20const&\29\20const +3897:SkIRect::MakeXYWH\28int\2c\20int\2c\20int\2c\20int\29 +3898:SkIDChangeListener::List::~List\28\29 +3899:SkIDChangeListener::List::add\28sk_sp\29 +3900:SkGradientShader::MakeSweep\28float\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +3901:SkGradientShader::MakeRadial\28SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +3902:SkGradientBaseShader::AppendInterpolatedToDstStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20bool\2c\20SkGradientShader::Interpolation\20const&\2c\20SkColorSpace\20const*\2c\20SkColorSpace\20const*\29 +3903:SkGlyph::mask\28\29\20const +3904:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29 +3905:SkFontScanner_FreeType::openFace\28SkStreamAsset*\2c\20int\2c\20FT_StreamRec_*\29\20const +3906:SkFontScanner_FreeType::GetAxes\28FT_FaceRec_*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29 +3907:SkFontPriv::ApproximateTransformedTextSize\28SkFont\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\20const&\29 +3908:SkFontMgr::matchFamily\28char\20const*\29\20const +3909:SkFont::getWidthsBounds\28unsigned\20short\20const*\2c\20int\2c\20float*\2c\20SkRect*\2c\20SkPaint\20const*\29\20const +3910:SkFont::getBounds\28unsigned\20short\20const*\2c\20int\2c\20SkRect*\2c\20SkPaint\20const*\29\20const +3911:SkFindCubicMaxCurvature\28SkPoint\20const*\2c\20float*\29 +3912:SkFILEStream::SkFILEStream\28std::__2::shared_ptr<_IO_FILE>\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +3913:SkEmptyFontMgr::onMatchFamilyStyleCharacter\28char\20const*\2c\20SkFontStyle\20const&\2c\20char\20const**\2c\20int\2c\20int\29\20const +3914:SkEdgeClipper::appendQuad\28SkPoint\20const*\2c\20bool\29 +3915:SkEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkIRect\20const*\2c\20int\29 +3916:SkDynamicMemoryWStream::write\28void\20const*\2c\20unsigned\20long\29 +3917:SkDrawTreatAAStrokeAsHairline\28float\2c\20SkMatrix\20const&\2c\20float*\29 +3918:SkDrawBase::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29\20const +3919:SkDrawBase::drawDevicePoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\2c\20SkDevice*\29\20const +3920:SkDevice::getRelativeTransform\28SkDevice\20const&\29\20const +3921:SkDevice::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +3922:SkDevice::drawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +3923:SkDevice::SkDevice\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +3924:SkData::MakeZeroInitialized\28unsigned\20long\29 +3925:SkData::MakeWithoutCopy\28void\20const*\2c\20unsigned\20long\29 +3926:SkDQuad::FindExtrema\28double\20const*\2c\20double*\29 +3927:SkDCubic::subDivide\28double\2c\20double\29\20const +3928:SkDCubic::searchRoots\28double*\2c\20int\2c\20double\2c\20SkDCubic::SearchAxis\2c\20double*\29\20const +3929:SkDCubic::monotonicInX\28\29\20const +3930:SkDCubic::findInflections\28double*\29\20const +3931:SkDConic::FindExtrema\28double\20const*\2c\20float\2c\20double*\29 +3932:SkCubicEdge::updateCubic\28\29 +3933:SkContourMeasureIter::next\28\29 +3934:SkContourMeasureIter::Impl::compute_quad_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3935:SkContourMeasureIter::Impl::compute_cubic_segs\28SkPoint\20const*\2c\20float\2c\20int\2c\20int\2c\20unsigned\20int\2c\20int\29 +3936:SkContourMeasureIter::Impl::compute_conic_segs\28SkConic\20const&\2c\20float\2c\20int\2c\20SkPoint\20const&\2c\20int\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20int\29 +3937:SkContourMeasure::distanceToSegment\28float\2c\20float*\29\20const +3938:SkConic::evalAt\28float\2c\20SkPoint*\2c\20SkPoint*\29\20const +3939:SkConic::evalAt\28float\29\20const +3940:SkConic::TransformW\28SkPoint\20const*\2c\20float\2c\20SkMatrix\20const&\29 +3941:SkCompressedDataSize\28SkTextureCompressionType\2c\20SkISize\2c\20skia_private::TArray*\2c\20bool\29 +3942:SkColorToPMColor4f\28unsigned\20int\2c\20GrColorInfo\20const&\29 +3943:SkColorSpace::MakeRGB\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +3944:SkColorInfo::operator=\28SkColorInfo&&\29 +3945:SkCoincidentSpans::extend\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\2c\20SkOpPtT\20const*\29 +3946:SkChopQuadAtYExtrema\28SkPoint\20const*\2c\20SkPoint*\29 +3947:SkCapabilities::RasterBackend\28\29 +3948:SkCanvas::scale\28float\2c\20float\29 +3949:SkCanvas::saveLayer\28SkCanvas::SaveLayerRec\20const&\29 +3950:SkCanvas::onResetClip\28\29 +3951:SkCanvas::onClipShader\28sk_sp\2c\20SkClipOp\29 +3952:SkCanvas::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +3953:SkCanvas::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3954:SkCanvas::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3955:SkCanvas::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +3956:SkCanvas::internalSave\28\29 +3957:SkCanvas::internalRestore\28\29 +3958:SkCanvas::internalDrawDeviceWithFilter\28SkDevice*\2c\20SkDevice*\2c\20SkSpan>\2c\20SkPaint\20const&\2c\20SkCanvas::DeviceCompatibleWithFilter\2c\20SkColorInfo\20const&\2c\20float\2c\20bool\29 +3959:SkCanvas::drawColor\28unsigned\20int\2c\20SkBlendMode\29 +3960:SkCanvas::clipRect\28SkRect\20const&\2c\20bool\29 +3961:SkCanvas::clipPath\28SkPath\20const&\2c\20bool\29 +3962:SkCanvas::clear\28unsigned\20int\29 +3963:SkCanvas::clear\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +3964:SkCanvas::attemptBlurredRRectDraw\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20SkEnumBitMask\29 +3965:SkCachedData::~SkCachedData\28\29 +3966:SkBlitterClipper::~SkBlitterClipper\28\29 +3967:SkBlitter::blitRegion\28SkRegion\20const&\29 +3968:SkBlendShader::~SkBlendShader\28\29 +3969:SkBitmapDevice::SkBitmapDevice\28SkBitmap\20const&\2c\20SkSurfaceProps\20const&\2c\20void*\29 +3970:SkBitmapDevice::BDDraw::~BDDraw\28\29 +3971:SkBitmapDevice::BDDraw::BDDraw\28SkBitmapDevice*\29 +3972:SkBitmap::writePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +3973:SkBitmap::setPixels\28void*\29 +3974:SkBitmap::readPixels\28SkPixmap\20const&\2c\20int\2c\20int\29\20const +3975:SkBitmap::installPixels\28SkPixmap\20const&\29 +3976:SkBitmap::allocPixels\28\29 +3977:SkBitmap::SkBitmap\28SkBitmap&&\29 +3978:SkBinaryWriteBuffer::writeScalarArray\28float\20const*\2c\20unsigned\20int\29 +3979:SkBinaryWriteBuffer::writeInt\28int\29 +3980:SkBaseShadowTessellator::~SkBaseShadowTessellator\28\29.1 +3981:SkBaseShadowTessellator::handleLine\28SkPoint\20const&\29 +3982:SkAutoPixmapStorage::freeStorage\28\29 +3983:SkAutoPathBoundsUpdate::~SkAutoPathBoundsUpdate\28\29 +3984:SkAutoPathBoundsUpdate::SkAutoPathBoundsUpdate\28SkPath*\2c\20SkRect\20const&\29 +3985:SkAutoMalloc::reset\28unsigned\20long\2c\20SkAutoMalloc::OnShrink\29 +3986:SkAutoDescriptor::free\28\29 +3987:SkArenaAllocWithReset::reset\28\29 +3988:SkAnalyticQuadraticEdge::updateQuadratic\28\29 +3989:SkAnalyticEdge::goY\28int\29 +3990:SkAnalyticCubicEdge::updateCubic\28bool\29 +3991:SkAAClipBlitter::ensureRunsAndAA\28\29 +3992:SkAAClip::setRegion\28SkRegion\20const&\29 +3993:SkAAClip::setRect\28SkIRect\20const&\29 +3994:SkAAClip::quickContains\28int\2c\20int\2c\20int\2c\20int\29\20const +3995:SkAAClip::RunHead::Alloc\28int\2c\20unsigned\20long\29 +3996:SkAAClip::Builder::AppendRun\28SkTDArray&\2c\20unsigned\20int\2c\20int\29 +3997:Sk4f_toL32\28skvx::Vec<4\2c\20float>\20const&\29 +3998:SSVertex*\20SkArenaAlloc::make\28GrTriangulator::Vertex*&\29 +3999:RunBasedAdditiveBlitter::flush\28\29 +4000:R.9044 +4001:OpAsWinding::nextEdge\28Contour&\2c\20OpAsWinding::Edge\29 +4002:OT::sbix::get_strike\28unsigned\20int\29\20const +4003:OT::hb_paint_context_t::get_color\28unsigned\20int\2c\20float\2c\20int*\29 +4004:OT::hb_ot_apply_context_t::skipping_iterator_t::prev\28unsigned\20int*\29 +4005:OT::hb_ot_apply_context_t::check_glyph_property\28hb_glyph_info_t\20const*\2c\20unsigned\20int\29\20const +4006:OT::glyf_impl::CompositeGlyphRecord::translate\28contour_point_t\20const&\2c\20hb_array_t\29 +4007:OT::VariationStore::sanitize\28hb_sanitize_context_t*\29\20const +4008:OT::VarSizedBinSearchArrayOf>\2c\20OT::IntType\2c\20false>>>::get_length\28\29\20const +4009:OT::Script::get_lang_sys\28unsigned\20int\29\20const +4010:OT::PaintSkew::sanitize\28hb_sanitize_context_t*\29\20const +4011:OT::OpenTypeOffsetTable::sanitize\28hb_sanitize_context_t*\29\20const +4012:OT::OS2::has_data\28\29\20const +4013:OT::Layout::GSUB_impl::SubstLookup::serialize_ligature\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20hb_sorted_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\2c\20hb_array_t\29 +4014:OT::Layout::GPOS_impl::MarkArray::apply\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20OT::Layout::GPOS_impl::AnchorMatrix\20const&\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +4015:OT::HVARVVAR::sanitize\28hb_sanitize_context_t*\29\20const +4016:OT::GSUBGPOS::get_lookup_count\28\29\20const +4017:OT::GSUBGPOS::get_feature_list\28\29\20const +4018:OT::GSUBGPOS::accelerator_t::get_accel\28unsigned\20int\29\20const +4019:OT::Device::get_y_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +4020:OT::Device::get_x_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +4021:OT::ClipList::get_extents\28unsigned\20int\2c\20hb_glyph_extents_t*\2c\20OT::VarStoreInstancer\20const&\29\20const +4022:OT::COLR::paint_glyph\28hb_font_t*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29\20const +4023:OT::ArrayOf>::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20bool\29 +4024:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29 +4025:LineQuadraticIntersections::uniqueAnswer\28double\2c\20SkDPoint\20const&\29 +4026:LineQuadraticIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineQuadraticIntersections::PinTPoint\29 +4027:LineQuadraticIntersections::checkCoincident\28\29 +4028:LineQuadraticIntersections::addLineNearEndPoints\28\29 +4029:LineCubicIntersections::uniqueAnswer\28double\2c\20SkDPoint\20const&\29 +4030:LineCubicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineCubicIntersections::PinTPoint\29 +4031:LineCubicIntersections::checkCoincident\28\29 +4032:LineCubicIntersections::addLineNearEndPoints\28\29 +4033:LineConicIntersections::validT\28double*\2c\20double\2c\20double*\29 +4034:LineConicIntersections::uniqueAnswer\28double\2c\20SkDPoint\20const&\29 +4035:LineConicIntersections::pinTs\28double*\2c\20double*\2c\20SkDPoint*\2c\20LineConicIntersections::PinTPoint\29 +4036:LineConicIntersections::checkCoincident\28\29 +4037:LineConicIntersections::addLineNearEndPoints\28\29 +4038:HandleInnerJoin\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +4039:GrVertexChunkBuilder::~GrVertexChunkBuilder\28\29 +4040:GrTriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +4041:GrTriangulator::splitEdge\28GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +4042:GrTriangulator::pathToPolys\28float\2c\20SkRect\20const&\2c\20bool*\29 +4043:GrTriangulator::makePoly\28GrTriangulator::Poly**\2c\20GrTriangulator::Vertex*\2c\20int\29\20const +4044:GrTriangulator::generateCubicPoints\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20GrTriangulator::VertexList*\2c\20int\29\20const +4045:GrTriangulator::checkForIntersection\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +4046:GrTriangulator::applyFillType\28int\29\20const +4047:GrTriangulator::SortMesh\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +4048:GrTriangulator::MonotonePoly::addEdge\28GrTriangulator::Edge*\29 +4049:GrTriangulator::GrTriangulator\28SkPath\20const&\2c\20SkArenaAlloc*\29 +4050:GrTriangulator::Edge::insertBelow\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +4051:GrTriangulator::Edge::insertAbove\28GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +4052:GrTriangulator::BreadcrumbTriangleList::append\28SkArenaAlloc*\2c\20SkPoint\2c\20SkPoint\2c\20SkPoint\2c\20int\29 +4053:GrThreadSafeCache::recycleEntry\28GrThreadSafeCache::Entry*\29 +4054:GrThreadSafeCache::dropAllRefs\28\29 +4055:GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +4056:GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +4057:GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +4058:GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +4059:GrTextureRenderTargetProxy::callbackDesc\28\29\20const +4060:GrTextureProxy::~GrTextureProxy\28\29 +4061:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::$_0::operator\28\29\28int\2c\20GrSamplerState::WrapMode\29\20const +4062:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_3::operator\28\29\28bool\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +4063:GrTexture::GrTexture\28GrGpu*\2c\20SkISize\20const&\2c\20skgpu::Protected\2c\20GrTextureType\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +4064:GrTexture::ComputeScratchKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20skgpu::ScratchKey*\29 +4065:GrSurfaceProxyView::asTextureProxyRef\28\29\20const +4066:GrSurfaceProxy::instantiateImpl\28GrResourceProvider*\2c\20int\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::UniqueKey\20const*\29 +4067:GrSurfaceProxy::GrSurfaceProxy\28sk_sp\2c\20SkBackingFit\2c\20GrSurfaceProxy::UseAllocator\29 +4068:GrSurface::setRelease\28sk_sp\29 +4069:GrStyledShape::styledBounds\28\29\20const +4070:GrStyledShape::addGenIDChangeListener\28sk_sp\29\20const +4071:GrStyledShape::GrStyledShape\28SkRect\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +4072:GrStyle::isSimpleHairline\28\29\20const +4073:GrStyle::initPathEffect\28sk_sp\29 +4074:GrStencilSettings::Face::reset\28GrTStencilFaceSettings\20const&\2c\20bool\2c\20int\29 +4075:GrSimpleMeshDrawOpHelper::fixedFunctionFlags\28\29\20const +4076:GrShape::setPath\28SkPath\20const&\29 +4077:GrShape::segmentMask\28\29\20const +4078:GrShape::operator=\28GrShape\20const&\29 +4079:GrShape::convex\28bool\29\20const +4080:GrShaderVar::GrShaderVar\28SkString\2c\20SkSLType\2c\20int\29 +4081:GrResourceProvider::findResourceByUniqueKey\28skgpu::UniqueKey\20const&\29 +4082:GrResourceProvider::createPatternedIndexBuffer\28unsigned\20short\20const*\2c\20int\2c\20int\2c\20int\2c\20skgpu::UniqueKey\20const*\29 +4083:GrResourceCache::removeUniqueKey\28GrGpuResource*\29 +4084:GrResourceCache::getNextTimestamp\28\29 +4085:GrResourceCache::findAndRefScratchResource\28skgpu::ScratchKey\20const&\29 +4086:GrRenderTask::dependsOn\28GrRenderTask\20const*\29\20const +4087:GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +4088:GrRenderTargetProxy::canUseStencil\28GrCaps\20const&\29\20const +4089:GrRecordingContextPriv::createDevice\28skgpu::Budgeted\2c\20SkImageInfo\20const&\2c\20SkBackingFit\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\2c\20skgpu::ganesh::Device::InitContents\29 +4090:GrRecordingContextPriv::addOnFlushCallbackObject\28GrOnFlushCallbackObject*\29 +4091:GrRecordingContext::~GrRecordingContext\28\29 +4092:GrQuadUtils::TessellationHelper::reset\28GrQuad\20const&\2c\20GrQuad\20const*\29 +4093:GrQuadUtils::TessellationHelper::getEdgeEquations\28\29 +4094:GrQuadUtils::TessellationHelper::Vertices::moveAlong\28GrQuadUtils::TessellationHelper::EdgeVectors\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4095:GrQuadUtils::ResolveAAType\28GrAAType\2c\20GrQuadAAFlags\2c\20GrQuad\20const&\2c\20GrAAType*\2c\20GrQuadAAFlags*\29 +4096:GrQuadUtils::CropToRect\28SkRect\20const&\2c\20GrAA\2c\20DrawQuad*\2c\20bool\29 +4097:GrQuadBuffer<\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA>::append\28GrQuad\20const&\2c\20\28anonymous\20namespace\29::FillRectOpImpl::ColorAndAA&&\2c\20GrQuad\20const*\29 +4098:GrQuad::setQuadType\28GrQuad::Type\29 +4099:GrPorterDuffXPFactory::SimpleSrcOverXP\28\29 +4100:GrPipeline*\20SkArenaAlloc::make\28GrPipeline::InitArgs&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29 +4101:GrPersistentCacheUtils::UnpackCachedShaders\28SkReadBuffer*\2c\20std::__2::basic_string\2c\20std::__2::allocator>*\2c\20SkSL::ProgramInterface*\2c\20int\2c\20GrPersistentCacheUtils::ShaderMetadata*\29 +4102:GrPathUtils::quadraticPointCount\28SkPoint\20const*\2c\20float\29 +4103:GrPathUtils::convertCubicToQuads\28SkPoint\20const*\2c\20float\2c\20skia_private::TArray*\29 +4104:GrPathTessellationShader::Make\28GrShaderCaps\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::tess::PatchAttribs\29 +4105:GrPathTessellationShader::MakeSimpleTriangleShader\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +4106:GrOvalOpFactory::MakeOvalOp\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\2c\20GrShaderCaps\20const*\29 +4107:GrOpsRenderPass::drawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +4108:GrOpFlushState::draw\28int\2c\20int\29 +4109:GrOp::chainConcat\28std::__2::unique_ptr>\29 +4110:GrNonAtomicRef::unref\28\29\20const +4111:GrModulateAtlasCoverageEffect::GrModulateAtlasCoverageEffect\28GrModulateAtlasCoverageEffect\20const&\29 +4112:GrMipLevel::operator=\28GrMipLevel&&\29 +4113:GrMeshDrawOp::PatternHelper::PatternHelper\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +4114:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29 +4115:GrImageInfo::makeDimensions\28SkISize\29\20const +4116:GrGpuResource::~GrGpuResource\28\29 +4117:GrGpuResource::removeScratchKey\28\29 +4118:GrGpuResource::registerWithCacheWrapped\28GrWrapCacheable\29 +4119:GrGpuResource::getResourceName\28\29\20const +4120:GrGpuResource::dumpMemoryStatisticsPriv\28SkTraceMemoryDump*\2c\20SkString\20const&\2c\20char\20const*\2c\20unsigned\20long\29\20const +4121:GrGpuResource::CreateUniqueID\28\29 +4122:GrGpuBuffer::onGpuMemorySize\28\29\20const +4123:GrGpu::resolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +4124:GrGeometryProcessor::TextureSampler::TextureSampler\28GrSamplerState\2c\20GrBackendFormat\20const&\2c\20skgpu::Swizzle\20const&\29 +4125:GrGeometryProcessor::TextureSampler::TextureSampler\28GrGeometryProcessor::TextureSampler&&\29 +4126:GrGeometryProcessor::ProgramImpl::TransformInfo::TransformInfo\28GrGeometryProcessor::ProgramImpl::TransformInfo\20const&\29 +4127:GrGeometryProcessor::ProgramImpl::AddMatrixKeys\28GrShaderCaps\20const&\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\29 +4128:GrGeometryProcessor::Attribute::size\28\29\20const +4129:GrGLUniformHandler::~GrGLUniformHandler\28\29 +4130:GrGLUniformHandler::getUniformVariable\28GrResourceHandle\29\20const +4131:GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +4132:GrGLTextureRenderTarget::onRelease\28\29 +4133:GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +4134:GrGLTextureRenderTarget::onAbandon\28\29 +4135:GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +4136:GrGLTexture::~GrGLTexture\28\29 +4137:GrGLTexture::onRelease\28\29 +4138:GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +4139:GrGLTexture::TextureTypeFromTarget\28unsigned\20int\29 +4140:GrGLSemaphore::Make\28GrGLGpu*\2c\20bool\29 +4141:GrGLSLVaryingHandler::~GrGLSLVaryingHandler\28\29 +4142:GrGLSLUniformHandler::addInputSampler\28skgpu::Swizzle\20const&\2c\20char\20const*\29 +4143:GrGLSLUniformHandler::UniformInfo::~UniformInfo\28\29 +4144:GrGLSLShaderBuilder::appendTextureLookup\28SkString*\2c\20GrResourceHandle\2c\20char\20const*\29\20const +4145:GrGLSLShaderBuilder::appendColorGamutXform\28char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +4146:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +4147:GrGLSLProgramDataManager::setSkMatrix\28GrResourceHandle\2c\20SkMatrix\20const&\29\20const +4148:GrGLSLProgramBuilder::writeFPFunction\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +4149:GrGLSLProgramBuilder::nameExpression\28SkString*\2c\20char\20const*\29 +4150:GrGLSLProgramBuilder::fragmentProcessorHasCoordsParam\28GrFragmentProcessor\20const*\29\20const +4151:GrGLSLProgramBuilder::emitSampler\28GrBackendFormat\20const&\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\29 +4152:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +4153:GrGLSLBlend::BlendKey\28SkBlendMode\29 +4154:GrGLRenderTarget::~GrGLRenderTarget\28\29 +4155:GrGLRenderTarget::onRelease\28\29 +4156:GrGLRenderTarget::onAbandon\28\29 +4157:GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +4158:GrGLProgramDataManager::~GrGLProgramDataManager\28\29 +4159:GrGLProgramBuilder::~GrGLProgramBuilder\28\29 +4160:GrGLProgramBuilder::computeCountsAndStrides\28unsigned\20int\2c\20GrGeometryProcessor\20const&\2c\20bool\29 +4161:GrGLProgramBuilder::addInputVars\28SkSL::ProgramInterface\20const&\29 +4162:GrGLOpsRenderPass::dmsaaLoadStoreBounds\28\29\20const +4163:GrGLOpsRenderPass::bindInstanceBuffer\28GrBuffer\20const*\2c\20int\29 +4164:GrGLGpu::insertSemaphore\28GrSemaphore*\29 +4165:GrGLGpu::flushViewport\28SkIRect\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +4166:GrGLGpu::flushScissor\28GrScissorState\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +4167:GrGLGpu::flushClearColor\28std::__2::array\29 +4168:GrGLGpu::disableStencil\28\29 +4169:GrGLGpu::createTexture\28SkISize\2c\20GrGLFormat\2c\20unsigned\20int\2c\20skgpu::Renderable\2c\20GrGLTextureParameters::SamplerOverriddenState*\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +4170:GrGLGpu::copySurfaceAsDraw\28GrSurface*\2c\20bool\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +4171:GrGLGpu::HWVertexArrayState::bindInternalVertexArray\28GrGLGpu*\2c\20GrBuffer\20const*\29 +4172:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20char\2c\20int\2c\20void\20const*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20char\2c\20int\2c\20void\20const*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20char\2c\20int\2c\20void\20const*\29 +4173:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +4174:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29\29::'lambda'\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29::__invoke\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +4175:GrGLFunction::GrGLFunction\28unsigned\20char\20const*\20\28*\29\28unsigned\20int\2c\20unsigned\20int\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\29 +4176:GrGLContextInfo::~GrGLContextInfo\28\29 +4177:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrGLFormat\29\20const +4178:GrGLCaps::canCopyAsDraw\28GrGLFormat\2c\20bool\2c\20bool\29\20const +4179:GrGLBuffer::~GrGLBuffer\28\29 +4180:GrGLBuffer::Make\28GrGLGpu*\2c\20unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +4181:GrGLBackendTextureData::GrGLBackendTextureData\28GrGLTextureInfo\20const&\2c\20sk_sp\29 +4182:GrGLAttribArrayState::invalidate\28\29 +4183:GrGLAttribArrayState::enableVertexArrays\28GrGLGpu\20const*\2c\20int\2c\20GrPrimitiveRestart\29 +4184:GrGLAttachment::GrGLAttachment\28GrGpu*\2c\20unsigned\20int\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20GrGLFormat\2c\20std::__2::basic_string_view>\29 +4185:GrFragmentProcessors::make_effect_fp\28sk_sp\2c\20char\20const*\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkSpan\2c\20GrFPArgs\20const&\29 +4186:GrFragmentProcessors::IsSupported\28SkMaskFilter\20const*\29 +4187:GrFragmentProcessor::makeProgramImpl\28\29\20const +4188:GrFragmentProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +4189:GrFragmentProcessor::ProgramImpl::~ProgramImpl\28\29 +4190:GrFragmentProcessor::MulInputByChildAlpha\28std::__2::unique_ptr>\29 +4191:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +4192:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29 +4193:GrEagerDynamicVertexAllocator::lock\28unsigned\20long\2c\20int\29 +4194:GrDynamicAtlas::makeNode\28GrDynamicAtlas::Node*\2c\20int\2c\20int\2c\20int\2c\20int\29 +4195:GrDstProxyView::GrDstProxyView\28GrDstProxyView\20const&\29 +4196:GrDrawingManager::setLastRenderTask\28GrSurfaceProxy\20const*\2c\20GrRenderTask*\29 +4197:GrDrawingManager::removeRenderTasks\28\29 +4198:GrDrawingManager::insertTaskBeforeLast\28sk_sp\29 +4199:GrDrawingManager::flushSurfaces\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +4200:GrDrawOpAtlas::makeMRU\28skgpu::Plot*\2c\20unsigned\20int\29 +4201:GrDefaultGeoProcFactory::MakeForDeviceSpace\28SkArenaAlloc*\2c\20GrDefaultGeoProcFactory::Color\20const&\2c\20GrDefaultGeoProcFactory::Coverage\20const&\2c\20GrDefaultGeoProcFactory::LocalCoords\20const&\2c\20SkMatrix\20const&\29 +4202:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29 +4203:GrColorTypeClampType\28GrColorType\29 +4204:GrColorSpaceXform::Equals\28GrColorSpaceXform\20const*\2c\20GrColorSpaceXform\20const*\29 +4205:GrBufferAllocPool::unmap\28\29 +4206:GrBufferAllocPool::reset\28\29 +4207:GrBlurUtils::extract_draw_rect_from_data\28SkData*\2c\20SkIRect\20const&\29 +4208:GrBlurUtils::can_filter_mask\28SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect*\29 +4209:GrBlurUtils::GaussianBlur\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20float\2c\20float\2c\20SkTileMode\2c\20SkBackingFit\29 +4210:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +4211:GrBicubicEffect::GrBicubicEffect\28std::__2::unique_ptr>\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrBicubicEffect::Clamp\29 +4212:GrBackendTextures::MakeGL\28int\2c\20int\2c\20skgpu::Mipmapped\2c\20GrGLTextureInfo\20const&\2c\20sk_sp\2c\20std::__2::basic_string_view>\29 +4213:GrBackendFormatStencilBits\28GrBackendFormat\20const&\29 +4214:GrBackendFormat::operator==\28GrBackendFormat\20const&\29\20const +4215:GrAtlasManager::resolveMaskFormat\28skgpu::MaskFormat\29\20const +4216:GrAATriangulator::~GrAATriangulator\28\29 +4217:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrAATriangulator::EventList*\29\20const +4218:GrAATriangulator::connectSSEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29 +4219:GrAAConvexTessellator::terminate\28GrAAConvexTessellator::Ring\20const&\29 +4220:GrAAConvexTessellator::computePtAlongBisector\28int\2c\20SkPoint\20const&\2c\20int\2c\20float\2c\20SkPoint*\29\20const +4221:GrAAConvexTessellator::computeNormals\28\29::$_0::operator\28\29\28SkPoint\29\20const +4222:GrAAConvexTessellator::CandidateVerts::originatingIdx\28int\29\20const +4223:GrAAConvexTessellator::CandidateVerts::fuseWithPrior\28int\29 +4224:GrAAConvexTessellator::CandidateVerts::addNewPt\28SkPoint\20const&\2c\20int\2c\20int\2c\20bool\29 +4225:FT_Stream_Free +4226:FT_Set_Transform +4227:FT_Set_Char_Size +4228:FT_Select_Metrics +4229:FT_Request_Metrics +4230:FT_List_Finalize +4231:FT_Hypot +4232:FT_GlyphLoader_CreateExtra +4233:FT_GlyphLoader_Adjust_Points +4234:FT_Get_Paint +4235:FT_Get_MM_Var +4236:FT_Get_Color_Glyph_Paint +4237:FT_Activate_Size +4238:EllipticalRRectOp::~EllipticalRRectOp\28\29 +4239:EdgeLT::operator\28\29\28Edge\20const&\2c\20Edge\20const&\29\20const +4240:DAffineMatrix::mapPoint\28\28anonymous\20namespace\29::DPoint\20const&\29\20const +4241:DAffineMatrix::mapPoint\28SkPoint\20const&\29\20const +4242:Cr_z_inflate_table +4243:Compute_Point_Displacement +4244:CircularRRectOp::~CircularRRectOp\28\29 +4245:CFF::cff_stack_t::push\28\29 +4246:CFF::arg_stack_t::pop_int\28\29 +4247:CFF::CFFIndex>::get_size\28\29\20const +4248:Bounder::Bounder\28SkRect\20const&\2c\20SkPaint\20const&\29 +4249:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block*\2c\20int\29>::Item::operator++\28\29 +4250:ActiveEdgeList::DoubleRotation\28ActiveEdge*\2c\20int\29 +4251:AAT::kerxTupleKern\28int\2c\20unsigned\20int\2c\20void\20const*\2c\20AAT::hb_aat_apply_context_t*\29 +4252:AAT::feat::get_feature\28hb_aat_layout_feature_type_t\29\20const +4253:AAT::StateTable::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int*\29\20const +4254:AAT::StateTable::get_class\28unsigned\20int\2c\20unsigned\20int\29\20const +4255:AAT::StateTable::get_entry\28int\2c\20unsigned\20int\29\20const +4256:AAT::Lookup::sanitize\28hb_sanitize_context_t*\29\20const +4257:AAT::ClassTable>::get_class\28unsigned\20int\2c\20unsigned\20int\29\20const +4258:zeroinfnan +4259:zero_mark_widths_by_gdef\28hb_buffer_t*\2c\20bool\29 +4260:xyzd50_to_lab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +4261:xyz_almost_equal\28skcms_Matrix3x3\20const&\2c\20skcms_Matrix3x3\20const&\29 +4262:write_vertex_position\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\2c\20GrShaderCaps\20const&\2c\20GrShaderVar\20const&\2c\20SkMatrix\20const&\2c\20char\20const*\2c\20GrShaderVar*\2c\20GrResourceHandle*\29 +4263:write_passthrough_vertex_position\28GrGLSLVertexBuilder*\2c\20GrShaderVar\20const&\2c\20GrShaderVar*\29 +4264:winding_mono_quad\28SkPoint\20const*\2c\20float\2c\20float\2c\20int*\29 +4265:winding_mono_conic\28SkConic\20const&\2c\20float\2c\20float\2c\20int*\29 +4266:wctomb +4267:wchar_t*\20std::__2::copy\5babi:v160004\5d\2c\20wchar_t*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20wchar_t*\29 +4268:walk_simple_edges\28SkEdge*\2c\20SkBlitter*\2c\20int\2c\20int\29 +4269:vsscanf +4270:void\20std::__2::allocator_traits>::construct\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\29 +4271:void\20std::__2::allocator::construct\5babi:v160004\5d&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&>\28sktext::GlyphRun*\2c\20SkFont\20const&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\2c\20SkSpan&\29 +4272:void\20std::__2::allocator::construct\5babi:v160004\5d\28skia::textlayout::FontFeature*\2c\20SkString\20const&\2c\20int&\29 +4273:void\20std::__2::allocator::construct\5babi:v160004\5d\28Contour*\2c\20SkRect&\2c\20int&\2c\20int&\29 +4274:void\20std::__2::__variant_detail::__impl\2c\20std::__2::unique_ptr>>::__assign\5babi:v160004\5d<0ul\2c\20sk_sp>\28sk_sp&&\29 +4275:void\20std::__2::__variant_detail::__impl::__assign\5babi:v160004\5d<0ul\2c\20SkPaint>\28SkPaint&&\29 +4276:void\20std::__2::__variant_detail::__assignment>::__assign_alt\5babi:v160004\5d<0ul\2c\20SkPaint\2c\20SkPaint>\28std::__2::__variant_detail::__alt<0ul\2c\20SkPaint>&\2c\20SkPaint&&\29 +4277:void\20std::__2::__tree_right_rotate\5babi:v160004\5d*>\28std::__2::__tree_node_base*\29 +4278:void\20std::__2::__tree_left_rotate\5babi:v160004\5d*>\28std::__2::__tree_node_base*\29 +4279:void\20std::__2::__stable_sort_move\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>\28std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20std::__2::__wrap_iter<\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::'lambda'\28\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\2c\20\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop\20const&\29&\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::difference_type\2c\20std::__2::iterator_traits\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29::$_0::operator\28\29\28FT_ColorStopIterator_\20const&\2c\20std::__2::vector>&\2c\20std::__2::vector\2c\20std::__2::allocator>>&\29\20const::ColorStop*>>::value_type*\29 +4280:void\20std::__2::__sift_up\5babi:v160004\5d*>>\28std::__2::__wrap_iter*>\2c\20std::__2::__wrap_iter*>\2c\20GrGeometryProcessor::ProgramImpl::emitTransformCode\28GrGLSLVertexBuilder*\2c\20GrGLSLUniformHandler*\29::$_0&\2c\20std::__2::iterator_traits*>>::difference_type\29 +4281:void\20std::__2::__sift_up\5babi:v160004\5d>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20GrAATriangulator::EventComparator&\2c\20std::__2::iterator_traits>::difference_type\29 +4282:void\20std::__2::__optional_storage_base::__construct\5babi:v160004\5d\28skia::textlayout::FontArguments\20const&\29 +4283:void\20std::__2::__optional_storage_base::__assign_from\5babi:v160004\5d\20const&>\28std::__2::__optional_copy_assign_base\20const&\29 +4284:void\20std::__2::__optional_storage_base::__construct\5babi:v160004\5d\28SkPath\20const&\29 +4285:void\20std::__2::__memberwise_forward_assign\5babi:v160004\5d&\2c\20int&>\2c\20std::__2::tuple\2c\20unsigned\20long>\2c\20sk_sp\2c\20unsigned\20long\2c\200ul\2c\201ul>\28std::__2::tuple&\2c\20int&>&\2c\20std::__2::tuple\2c\20unsigned\20long>&&\2c\20std::__2::__tuple_types\2c\20unsigned\20long>\2c\20std::__2::__tuple_indices<0ul\2c\201ul>\29 +4286:void\20std::__2::__memberwise_forward_assign\5babi:v160004\5d&>\2c\20std::__2::tuple>\2c\20GrSurfaceProxyView\2c\20sk_sp\2c\200ul\2c\201ul>\28std::__2::tuple&>&\2c\20std::__2::tuple>&&\2c\20std::__2::__tuple_types>\2c\20std::__2::__tuple_indices<0ul\2c\201ul>\29 +4287:void\20std::__2::__double_or_nothing\5babi:v160004\5d\28std::__2::unique_ptr&\2c\20char*&\2c\20char*&\29 +4288:void\20sorted_merge<&sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +4289:void\20sorted_merge<&sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29>\28GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::VertexList*\29 +4290:void\20sort_r_simple\28void*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20int\20\28*\29\28void\20const*\2c\20void\20const*\2c\20void*\29\2c\20void*\29 +4291:void\20sktext::gpu::fillDirectClipped\28SkZip\2c\20unsigned\20int\2c\20SkPoint\2c\20SkIRect*\29 +4292:void\20skgpu::ganesh::SurfaceFillContext::clearAtLeast<\28SkAlphaType\292>\28SkIRect\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +4293:void\20portable::memsetT\28unsigned\20short*\2c\20unsigned\20short\2c\20int\29 +4294:void\20portable::memsetT\28unsigned\20int*\2c\20unsigned\20int\2c\20int\29 +4295:void\20hb_sanitize_context_t::set_object>\28OT::KernSubTable\20const*\29 +4296:void\20hb_sanitize_context_t::set_object>\28AAT::ChainSubtable\20const*\29 +4297:void\20hair_path<\28SkPaint::Cap\292>\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +4298:void\20hair_path<\28SkPaint::Cap\291>\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +4299:void\20hair_path<\28SkPaint::Cap\290>\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +4300:void\20\28anonymous\20namespace\29::copyFT2LCD16\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\2c\20unsigned\20char\20const*\29 +4301:void\20SkTQSort\28double*\2c\20double*\29 +4302:void\20SkTIntroSort\28int\2c\20int*\2c\20int\2c\20DistanceLessThan\20const&\29 +4303:void\20SkTIntroSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29>\28int\2c\20float*\2c\20int\2c\20void\20SkTQSort\28float*\2c\20float*\29::'lambda'\28float\20const&\2c\20float\20const&\29\20const&\29 +4304:void\20SkTIntroSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29>\28int\2c\20double*\2c\20int\2c\20void\20SkTQSort\28double*\2c\20double*\29::'lambda'\28double\20const&\2c\20double\20const&\29\20const&\29 +4305:void\20SkTIntroSort\28int\2c\20SkString*\2c\20int\2c\20bool\20\20const\28&\29\28SkString\20const&\2c\20SkString\20const&\29\29 +4306:void\20SkTIntroSort\28int\2c\20SkOpRayHit**\2c\20int\2c\20bool\20\20const\28&\29\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29\29 +4307:void\20SkTIntroSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29>\28int\2c\20SkOpContour*\2c\20int\2c\20void\20SkTQSort\28SkOpContour**\2c\20SkOpContour**\29::'lambda'\28SkOpContour\20const*\2c\20SkOpContour\20const*\29\20const&\29 +4308:void\20SkTIntroSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29>\28int\2c\20SkEdge*\2c\20int\2c\20void\20SkTQSort\28SkEdge**\2c\20SkEdge**\29::'lambda'\28SkEdge\20const*\2c\20SkEdge\20const*\29\20const&\29 +4309:void\20SkTIntroSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29>\28int\2c\20SkClosestRecord\20const*\2c\20int\2c\20void\20SkTQSort\28SkClosestRecord\20const**\2c\20SkClosestRecord\20const**\29::'lambda'\28SkClosestRecord\20const*\2c\20SkClosestRecord\20const*\29\20const&\29 +4310:void\20SkTIntroSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29>\28int\2c\20SkAnalyticEdge*\2c\20int\2c\20void\20SkTQSort\28SkAnalyticEdge**\2c\20SkAnalyticEdge**\29::'lambda'\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge\20const*\29\20const&\29 +4311:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\20const\28&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +4312:void\20SkTIntroSort\28int\2c\20GrGpuResource**\2c\20int\2c\20bool\20\28*\20const&\29\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29\29 +4313:void\20SkTIntroSort\28int\2c\20Edge*\2c\20int\2c\20EdgeLT\20const&\29 +4314:void\20SkSafeUnref\28GrWindowRectangles::Rec\20const*\29 +4315:void\20SkSafeUnref\28GrSurface::RefCntedReleaseProc*\29 +4316:void\20SkSafeUnref\28GrBufferAllocPool::CpuBufferCache*\29 +4317:void\20SkRecords::FillBounds::trackBounds\28SkRecords::NoOp\20const&\29 +4318:void\20GrGeometryProcessor::ProgramImpl::collectTransforms\28GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGLSLUniformHandler*\2c\20GrShaderType\2c\20GrShaderVar\20const&\2c\20GrShaderVar\20const&\2c\20GrPipeline\20const&\29::$_0::operator\28\29<$_0>\28$_0&\2c\20GrFragmentProcessor\20const&\2c\20bool\2c\20GrFragmentProcessor\20const*\2c\20int\2c\20GrGeometryProcessor::ProgramImpl::BaseCoord\29 +4319:void\20GrGLProgramDataManager::setMatrices<4>\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +4320:void\20GrGLProgramDataManager::setMatrices<3>\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +4321:void\20GrGLProgramDataManager::setMatrices<2>\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +4322:void\20A8_row_aa\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\20\28*\29\28unsigned\20char\2c\20unsigned\20char\29\2c\20bool\29 +4323:virtual\20thunk\20to\20GrGLTexture::onSetLabel\28\29 +4324:virtual\20thunk\20to\20GrGLTexture::backendFormat\28\29\20const +4325:vfiprintf +4326:validate_texel_levels\28SkISize\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20GrCaps\20const*\29 +4327:valid_divs\28int\20const*\2c\20int\2c\20int\2c\20int\29 +4328:utf8_byte_type\28unsigned\20char\29 +4329:use_tiled_rendering\28GrGLCaps\20const&\2c\20GrOpsRenderPass::StencilLoadAndStoreInfo\20const&\29 +4330:uprv_realloc_skia +4331:update_edge\28SkEdge*\2c\20int\29 +4332:unsigned\20short\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4333:unsigned\20short\20sk_saturate_cast\28float\29 +4334:unsigned\20long\20long\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4335:unsigned\20long&\20std::__2::vector>::emplace_back\28unsigned\20long&\29 +4336:unsigned\20int\20std::__2::__num_get_unsigned_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +4337:unsigned\20int\20const*\20std::__2::lower_bound\5babi:v160004\5d\28unsigned\20int\20const*\2c\20unsigned\20int\20const*\2c\20unsigned\20long\20const&\29 +4338:unsigned\20int*\20hb_vector_t::push\28unsigned\20int&\29 +4339:unsigned\20char\20pack_distance_field_val<4>\28float\29 +4340:ubidi_getVisualRun_skia +4341:ubidi_countRuns_skia +4342:ubidi_close_skia +4343:u_terminateUChars_skia +4344:u_charType_skia +4345:u8_lerp\28unsigned\20char\2c\20unsigned\20char\2c\20unsigned\20char\29 +4346:tt_size_select +4347:tt_size_run_prep +4348:tt_size_done_bytecode +4349:tt_sbit_decoder_load_image +4350:tt_prepare_zone +4351:tt_loader_set_pp +4352:tt_loader_init +4353:tt_loader_done +4354:tt_hvadvance_adjust +4355:tt_face_vary_cvt +4356:tt_face_palette_set +4357:tt_face_load_generic_header +4358:tt_face_load_cvt +4359:tt_face_goto_table +4360:tt_face_get_metrics +4361:tt_done_blend +4362:tt_cmap4_set_range +4363:tt_cmap4_next +4364:tt_cmap4_char_map_linear +4365:tt_cmap4_char_map_binary +4366:tt_cmap2_get_subheader +4367:tt_cmap14_get_nondef_chars +4368:tt_cmap14_get_def_chars +4369:tt_cmap14_def_char_count +4370:tt_cmap13_next +4371:tt_cmap13_init +4372:tt_cmap13_char_map_binary +4373:tt_cmap12_next +4374:tt_cmap12_char_map_binary +4375:tt_apply_mvar +4376:top_collinear\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +4377:to_stablekey\28int\2c\20unsigned\20int\29 +4378:throw_on_failure\28unsigned\20long\2c\20void*\29 +4379:thai_pua_shape\28unsigned\20int\2c\20thai_action_t\2c\20hb_font_t*\29 +4380:t1_lookup_glyph_by_stdcharcode_ps +4381:t1_cmap_std_init +4382:t1_cmap_std_char_index +4383:t1_builder_init +4384:t1_builder_close_contour +4385:t1_builder_add_point1 +4386:t1_builder_add_point +4387:t1_builder_add_contour +4388:sweep_lt_vert\28SkPoint\20const&\2c\20SkPoint\20const&\29 +4389:sweep_lt_horiz\28SkPoint\20const&\2c\20SkPoint\20const&\29 +4390:surface_setCallbackHandler +4391:surface_getThreadId +4392:strutStyle_setFontSize +4393:strtox.9301 +4394:strtoull +4395:strtoll_l +4396:strspn +4397:strncpy +4398:strcspn +4399:store_int +4400:std::logic_error::~logic_error\28\29 +4401:std::logic_error::logic_error\28char\20const*\29 +4402:std::exception::exception\5babi:v160004\5d\28\29 +4403:std::__2::vector>::operator=\5babi:v160004\5d\28std::__2::vector>\20const&\29 +4404:std::__2::vector>::__vdeallocate\28\29 +4405:std::__2::vector>::__move_assign\28std::__2::vector>&\2c\20std::__2::integral_constant\29 +4406:std::__2::vector>\2c\20std::__2::allocator>>>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::unique_ptr>*\29 +4407:std::__2::vector\2c\20std::__2::allocator>>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::tuple*\29 +4408:std::__2::vector>::max_size\28\29\20const +4409:std::__2::vector>::capacity\5babi:v160004\5d\28\29\20const +4410:std::__2::vector>::__construct_at_end\28unsigned\20long\29 +4411:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +4412:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28std::__2::locale::facet**\29 +4413:std::__2::vector\2c\20std::__2::allocator>\2c\20std::__2::allocator\2c\20std::__2::allocator>>>::__clear\5babi:v160004\5d\28\29 +4414:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +4415:std::__2::vector>::vector\28std::__2::vector>\20const&\29 +4416:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +4417:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +4418:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +4419:std::__2::vector>::operator=\5babi:v160004\5d\28std::__2::vector>\20const&\29 +4420:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +4421:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28skia::textlayout::FontFeature*\29 +4422:std::__2::vector\2c\20std::__2::allocator>>::vector\28std::__2::vector\2c\20std::__2::allocator>>\20const&\29 +4423:std::__2::vector>::insert\28std::__2::__wrap_iter\2c\20float&&\29 +4424:std::__2::vector>::__construct_at_end\28unsigned\20long\29 +4425:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +4426:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +4427:std::__2::vector>::vector\5babi:v160004\5d\28std::initializer_list\29 +4428:std::__2::vector>::reserve\28unsigned\20long\29 +4429:std::__2::vector>::operator=\5babi:v160004\5d\28std::__2::vector>\20const&\29 +4430:std::__2::vector>::__vdeallocate\28\29 +4431:std::__2::vector>::__destroy_vector::operator\28\29\5babi:v160004\5d\28\29 +4432:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +4433:std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28SkString*\29 +4434:std::__2::vector>::push_back\5babi:v160004\5d\28SkSL::TraceInfo&&\29 +4435:std::__2::vector>::push_back\5babi:v160004\5d\28SkSL::SymbolTable*\20const&\29 +4436:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +4437:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +4438:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\2c\20SkSL::ProgramElement\20const**\29 +4439:std::__2::vector>::__move_range\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\29 +4440:std::__2::vector>::erase\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +4441:std::__2::vector>::push_back\5babi:v160004\5d\28SkRuntimeEffect::Uniform&&\29 +4442:std::__2::vector>::push_back\5babi:v160004\5d\28SkRuntimeEffect::Child&&\29 +4443:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +4444:std::__2::vector>::__destroy_vector::operator\28\29\5babi:v160004\5d\28\29 +4445:std::__2::vector>::reserve\28unsigned\20long\29 +4446:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +4447:std::__2::vector\2c\20std::__2::allocator>>::__swap_out_circular_buffer\28std::__2::__split_buffer\2c\20std::__2::allocator>&>&\29 +4448:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +4449:std::__2::vector>::push_back\5babi:v160004\5d\28SkMeshSpecification::Varying&&\29 +4450:std::__2::vector>::~vector\5babi:v160004\5d\28\29 +4451:std::__2::vector>::reserve\28unsigned\20long\29 +4452:std::__2::vector>::__swap_out_circular_buffer\28std::__2::__split_buffer&>&\29 +4453:std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +4454:std::__2::vector>::__clear\5babi:v160004\5d\28\29 +4455:std::__2::unique_ptr::unique_ptr\5babi:v160004\5d\28unsigned\20char*\2c\20std::__2::__dependent_type\2c\20true>::__good_rval_ref_type\29 +4456:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4457:std::__2::unique_ptr>::reset\5babi:v160004\5d\28sktext::gpu::TextBlobRedrawCoordinator*\29 +4458:std::__2::unique_ptr::~unique_ptr\5babi:v160004\5d\28\29 +4459:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4460:std::__2::unique_ptr>::reset\5babi:v160004\5d\28sktext::gpu::SubRunAllocator*\29 +4461:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4462:std::__2::unique_ptr>::reset\5babi:v160004\5d\28sktext::gpu::StrikeCache*\29 +4463:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4464:std::__2::unique_ptr>::reset\5babi:v160004\5d\28sktext::GlyphRunBuilder*\29 +4465:std::__2::unique_ptr\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4466:std::__2::unique_ptr\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4467:std::__2::unique_ptr\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4468:std::__2::unique_ptr>\2c\20SkGoodHash>::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20SkGoodHash>::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4469:std::__2::unique_ptr::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4470:std::__2::unique_ptr>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4471:std::__2::unique_ptr\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4472:std::__2::unique_ptr::AdaptedTraits>::Slot\20\5b\5d\2c\20std::__2::default_delete::AdaptedTraits>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4473:std::__2::unique_ptr::Slot\20\5b\5d\2c\20std::__2::default_delete::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4474:std::__2::unique_ptr\2c\20std::__2::default_delete>>::reset\5babi:v160004\5d\28skia_private::TArray*\29 +4475:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4476:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4477:std::__2::unique_ptr>::reset\5babi:v160004\5d\28skgpu::ganesh::SmallPathAtlasMgr*\29 +4478:std::__2::unique_ptr\20\5b\5d\2c\20std::__2::default_delete\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +4479:std::__2::unique_ptr>::reset\5babi:v160004\5d\28hb_font_t*\29 +4480:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4481:std::__2::unique_ptr>::reset\5babi:v160004\5d\28hb_blob_t*\29 +4482:std::__2::unique_ptr::operator=\5babi:v160004\5d\28std::__2::unique_ptr&&\29 +4483:std::__2::unique_ptr<\28anonymous\20namespace\29::SoftwarePathData\2c\20std::__2::default_delete<\28anonymous\20namespace\29::SoftwarePathData>>::reset\5babi:v160004\5d\28\28anonymous\20namespace\29::SoftwarePathData*\29 +4484:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4485:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkTaskGroup*\29 +4486:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4487:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4488:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4489:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::RP::Program*\29 +4490:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4491:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::Program*\29 +4492:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::ProgramUsage*\29 +4493:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4494:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4495:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkSL::MemoryPool*\29 +4496:std::__2::unique_ptr>\20SkSL::coalesce_vector\28std::__2::array\20const&\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +4497:std::__2::unique_ptr>\20SkSL::coalesce_pairwise_vectors\28std::__2::array\20const&\2c\20double\2c\20SkSL::Type\20const&\2c\20double\20\28*\29\28double\2c\20double\2c\20double\29\2c\20double\20\28*\29\28double\29\29 +4498:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4499:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4500:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkRecorder*\29 +4501:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkLatticeIter*\29 +4502:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkCanvas::Layer*\29 +4503:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4504:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkCanvas::BackImage*\29 +4505:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4506:std::__2::unique_ptr>::reset\5babi:v160004\5d\28SkArenaAlloc*\29 +4507:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4508:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrThreadSafeCache*\29 +4509:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4510:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrResourceProvider*\29 +4511:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4512:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrResourceCache*\29 +4513:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4514:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrProxyProvider*\29 +4515:std::__2::unique_ptr>\20GrOp::Make\28GrRecordingContext*\2c\20skgpu::ganesh::AtlasTextOp::MaskType&&\2c\20bool&&\2c\20int&&\2c\20SkRect&\2c\20skgpu::ganesh::AtlasTextOp::Geometry*&\2c\20GrColorInfo\20const&\2c\20GrPaint&&\29 +4516:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4517:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4518:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4519:std::__2::unique_ptr>::~unique_ptr\5babi:v160004\5d\28\29 +4520:std::__2::unique_ptr>::reset\5babi:v160004\5d\28GrAuditTrail::OpNode*\29 +4521:std::__2::unique_ptr>::reset\5babi:v160004\5d\28FT_SizeRec_*\29 +4522:std::__2::tuple::tuple\5babi:v160004\5d\28std::__2::\28anonymous\20namespace\29::__fake_bind&&\29 +4523:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda0'\28\29::operator\28\29\28\29\20const +4524:std::__2::tuple\2c\20int\2c\20sktext::gpu::SubRunAllocator>\20sktext::gpu::SubRunAllocator::AllocateClassMemoryAndArena\28int\29::'lambda'\28\29::operator\28\29\28\29\20const +4525:std::__2::tuple&\20std::__2::tuple::operator=\5babi:v160004\5d\28std::__2::pair&&\29 +4526:std::__2::to_string\28unsigned\20long\29 +4527:std::__2::to_chars_result\20std::__2::__to_chars_itoa\5babi:v160004\5d\28char*\2c\20char*\2c\20unsigned\20int\2c\20std::__2::integral_constant\29 +4528:std::__2::time_put>>::~time_put\28\29.1 +4529:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4530:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4531:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4532:std::__2::time_get>>::__get_year\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4533:std::__2::time_get>>::__get_weekdayname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4534:std::__2::time_get>>::__get_monthname\28int&\2c\20std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20unsigned\20int&\2c\20std::__2::ctype\20const&\29\20const +4535:std::__2::shared_ptr::operator=\5babi:v160004\5d\28std::__2::shared_ptr&&\29 +4536:std::__2::reverse_iterator::operator++\5babi:v160004\5d\28\29 +4537:std::__2::priority_queue>\2c\20GrAATriangulator::EventComparator>::push\28GrAATriangulator::Event*\20const&\29 +4538:std::__2::pair::pair\28std::__2::pair&&\29 +4539:std::__2::pair>::~pair\28\29 +4540:std::__2::pair\2c\20std::__2::allocator>>>::~pair\28\29 +4541:std::__2::pair\20std::__2::__copy\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29 +4542:std::__2::pair::pair\5babi:v160004\5d\28char\20const*&&\2c\20char*&&\29 +4543:std::__2::pair>::~pair\28\29 +4544:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28wchar_t\29 +4545:std::__2::ostreambuf_iterator>::operator=\5babi:v160004\5d\28char\29 +4546:std::__2::optional&\20std::__2::optional::operator=\5babi:v160004\5d\28SkPath\20const&\29 +4547:std::__2::optional::value\5babi:v160004\5d\28\29\20& +4548:std::__2::optional::value\5babi:v160004\5d\28\29\20& +4549:std::__2::numpunct::~numpunct\28\29.1 +4550:std::__2::numpunct::~numpunct\28\29.1 +4551:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +4552:std::__2::num_get>>\20const&\20std::__2::use_facet\5babi:v160004\5d>>>\28std::__2::locale\20const&\29 +4553:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20int&\29\20const +4554:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +4555:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +4556:std::__2::moneypunct::do_negative_sign\28\29\20const +4557:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +4558:std::__2::moneypunct\20const&\20std::__2::use_facet\5babi:v160004\5d>\28std::__2::locale\20const&\29 +4559:std::__2::moneypunct::do_negative_sign\28\29\20const +4560:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20wchar_t*&\2c\20wchar_t*\29 +4561:std::__2::money_get>>::__do_get\28std::__2::istreambuf_iterator>&\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::locale\20const&\2c\20unsigned\20int\2c\20unsigned\20int&\2c\20bool&\2c\20std::__2::ctype\20const&\2c\20std::__2::unique_ptr&\2c\20char*&\2c\20char*\29 +4562:std::__2::locale::operator=\28std::__2::locale\20const&\29 +4563:std::__2::locale::__imp::~__imp\28\29.1 +4564:std::__2::list>::pop_front\28\29 +4565:std::__2::iterator_traits\2c\20std::__2::allocator>\20const*>::difference_type\20std::__2::distance\5babi:v160004\5d\2c\20std::__2::allocator>\20const*>\28std::__2::basic_string\2c\20std::__2::allocator>\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const*\29 +4566:std::__2::iterator_traits::difference_type\20std::__2::distance\5babi:v160004\5d\28char*\2c\20char*\29 +4567:std::__2::iterator_traits::difference_type\20std::__2::__distance\5babi:v160004\5d\28char*\2c\20char*\2c\20std::__2::random_access_iterator_tag\29 +4568:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +4569:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +4570:std::__2::istreambuf_iterator>::operator++\5babi:v160004\5d\28int\29 +4571:std::__2::istreambuf_iterator>::__test_for_eof\5babi:v160004\5d\28\29\20const +4572:std::__2::ios_base::width\5babi:v160004\5d\28long\29 +4573:std::__2::ios_base::setstate\5babi:v160004\5d\28unsigned\20int\29 +4574:std::__2::ios_base::clear\28unsigned\20int\29 +4575:std::__2::ios_base::__call_callbacks\28std::__2::ios_base::event\29 +4576:std::__2::hash>::operator\28\29\5babi:v160004\5d\28std::__2::optional\20const&\29\20const +4577:std::__2::function::operator\28\29\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29\20const +4578:std::__2::function::operator\28\29\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29\20const +4579:std::__2::function::operator\28\29\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29\20const +4580:std::__2::enable_if::type\20skgpu::tess::PatchWriter\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\294>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\298>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2964>\2c\20skgpu::tess::Optional<\28skgpu::tess::PatchAttribs\2932>\2c\20skgpu::tess::ReplicateLineEndPoints\2c\20skgpu::tess::TrackJoinControlPoints>::writeDeferredStrokePatch\28\29 +4581:std::__2::enable_if>::value\2c\20SkRuntimeEffectBuilder::BuilderUniform&>::type\20SkRuntimeEffectBuilder::BuilderUniform::operator=>\28std::__2::array\20const&\29 +4582:std::__2::enable_if::value\2c\20SkRuntimeEffectBuilder::BuilderUniform&>::type\20SkRuntimeEffectBuilder::BuilderUniform::operator=\28float\20const&\29 +4583:std::__2::enable_if>::value\20&&\20sizeof\20\28skia::textlayout::SkRange\29\20!=\204\2c\20unsigned\20int>::type\20SkGoodHash::operator\28\29>\28skia::textlayout::SkRange\20const&\29\20const +4584:std::__2::enable_if::value\20&&\20sizeof\20\28bool\29\20!=\204\2c\20unsigned\20int>::type\20SkGoodHash::operator\28\29\28bool\20const&\29\20const +4585:std::__2::enable_if::value\20&&\20is_move_assignable::value\2c\20void>::type\20std::__2::swap\5babi:v160004\5d\28char&\2c\20char&\29 +4586:std::__2::enable_if<__can_be_converted_to_string_view\2c\20std::__2::basic_string_view>>::value\20&&\20!__is_same_uncvref>\2c\20std::__2::basic_string\2c\20std::__2::allocator>>::value\2c\20std::__2::basic_string\2c\20std::__2::allocator>&>::type\20std::__2::basic_string\2c\20std::__2::allocator>::operator+=>>\28std::__2::basic_string_view>\20const&\29 +4587:std::__2::enable_if<_CheckArrayPointerConversion::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*>\28skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*\29 +4588:std::__2::enable_if<_CheckArrayPointerConversion\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot*>\28skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot*\29 +4589:std::__2::enable_if<_CheckArrayPointerConversion>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot*>\28skia_private::THashTable>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot*\29 +4590:std::__2::enable_if<_CheckArrayPointerConversion::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>>::reset\5babi:v160004\5d::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot*>\28skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot*\29 +4591:std::__2::enable_if<_CheckArrayPointerConversion\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*>::value\2c\20void>::type\20std::__2::unique_ptr\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d\2c\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>>::reset\5babi:v160004\5d\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*>\28skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*\29 +4592:std::__2::deque>::back\28\29 +4593:std::__2::deque>::__add_back_capacity\28\29 +4594:std::__2::default_delete::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::_EnableIfConvertible::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot>::type\20std::__2::default_delete::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot>\28skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot*\29\20const +4595:std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot>::type\20std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot>\28skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot*\29\20const +4596:std::__2::default_delete\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot>::type\20std::__2::default_delete\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot>\28skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot*\29\20const +4597:std::__2::default_delete\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot>::type\20std::__2::default_delete\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot>\28skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot*\29\20const +4598:std::__2::default_delete>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot>::type\20std::__2::default_delete>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot>\28skia_private::THashTable>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Slot*\29\20const +4599:std::__2::default_delete::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::_EnableIfConvertible::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot>::type\20std::__2::default_delete::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot>\28skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot*\29\20const +4600:std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::_EnableIfConvertible\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>::type\20std::__2::default_delete\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot>\28skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot*\29\20const +4601:std::__2::default_delete\20\5b\5d>::_EnableIfConvertible>::type\20std::__2::default_delete\20\5b\5d>::operator\28\29\5babi:v160004\5d>\28sk_sp*\29\20const +4602:std::__2::default_delete::_EnableIfConvertible::type\20std::__2::default_delete::operator\28\29\5babi:v160004\5d\28GrGLCaps::ColorTypeInfo*\29\20const +4603:std::__2::ctype::~ctype\28\29.1 +4604:std::__2::codecvt::~codecvt\28\29.1 +4605:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +4606:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char32_t\20const*\2c\20char32_t\20const*\2c\20char32_t\20const*&\2c\20char8_t*\2c\20char8_t*\2c\20char8_t*&\29\20const +4607:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char8_t\20const*\2c\20char8_t\20const*\2c\20unsigned\20long\29\20const +4608:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char8_t\20const*\2c\20char8_t\20const*\2c\20char8_t\20const*&\2c\20char32_t*\2c\20char32_t*\2c\20char32_t*&\29\20const +4609:std::__2::codecvt::do_out\28__mbstate_t&\2c\20char16_t\20const*\2c\20char16_t\20const*\2c\20char16_t\20const*&\2c\20char8_t*\2c\20char8_t*\2c\20char8_t*&\29\20const +4610:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char8_t\20const*\2c\20char8_t\20const*\2c\20unsigned\20long\29\20const +4611:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char8_t\20const*\2c\20char8_t\20const*\2c\20char8_t\20const*&\2c\20char16_t*\2c\20char16_t*\2c\20char16_t*&\29\20const +4612:std::__2::char_traits::eq_int_type\28int\2c\20int\29 +4613:std::__2::char_traits::not_eof\28int\29 +4614:std::__2::char_traits::find\28char\20const*\2c\20unsigned\20long\2c\20char\20const&\29 +4615:std::__2::basic_stringstream\2c\20std::__2::allocator>::basic_stringstream\5babi:v160004\5d\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\29 +4616:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +4617:std::__2::basic_stringbuf\2c\20std::__2::allocator>::str\28\29\20const +4618:std::__2::basic_string_view>::substr\5babi:v160004\5d\28unsigned\20long\2c\20unsigned\20long\29\20const +4619:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20wchar_t\29 +4620:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28wchar_t\20const*\2c\20wchar_t\20const*\29 +4621:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by_and_replace\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20wchar_t\20const*\29 +4622:std::__2::basic_string\2c\20std::__2::allocator>::__grow_by\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29 +4623:std::__2::basic_string\2c\20std::__2::allocator>::insert\28unsigned\20long\2c\20char\20const*\2c\20unsigned\20long\29 +4624:std::__2::basic_string\2c\20std::__2::allocator>::basic_string\5babi:v160004\5d\28unsigned\20long\2c\20char\29 +4625:std::__2::basic_string\2c\20std::__2::allocator>::__null_terminate_at\5babi:v160004\5d\28char*\2c\20unsigned\20long\29 +4626:std::__2::basic_string\2c\20std::__2::allocator>&\20skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::emplace_back\28char\20const*&&\29 +4627:std::__2::basic_streambuf>::sbumpc\5babi:v160004\5d\28\29 +4628:std::__2::basic_streambuf>::sputc\5babi:v160004\5d\28char\29 +4629:std::__2::basic_streambuf>::sgetc\5babi:v160004\5d\28\29 +4630:std::__2::basic_streambuf>::basic_streambuf\28\29 +4631:std::__2::basic_ostream>::sentry::~sentry\28\29 +4632:std::__2::basic_ostream>::sentry::sentry\28std::__2::basic_ostream>&\29 +4633:std::__2::basic_ostream>::operator<<\28float\29 +4634:std::__2::basic_ostream>::flush\28\29 +4635:std::__2::basic_istream>::~basic_istream\28\29.1 +4636:std::__2::basic_iostream>::basic_iostream\5babi:v160004\5d\28std::__2::basic_streambuf>*\29 +4637:std::__2::basic_ios>::imbue\5babi:v160004\5d\28std::__2::locale\20const&\29 +4638:std::__2::allocator_traits>::deallocate\5babi:v160004\5d\28std::__2::__sso_allocator&\2c\20std::__2::locale::facet**\2c\20unsigned\20long\29 +4639:std::__2::allocator::allocate\5babi:v160004\5d\28unsigned\20long\29 +4640:std::__2::__wrap_iter\20std::__2::vector>::insert\2c\200>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\29 +4641:std::__2::__unwrap_iter_impl::__rewrap\5babi:v160004\5d\28char*\2c\20char*\29 +4642:std::__2::__unique_if\2c\20std::__2::allocator>>::__unique_single\20std::__2::make_unique\5babi:v160004\5d\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>>\28std::__2::basic_string\2c\20std::__2::allocator>&&\29 +4643:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Variable\20const*&&\2c\20SkSL::VariableRefKind&&\29 +4644:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>>\28SkSL::Position&\2c\20std::__2::unique_ptr>&&\2c\20std::__2::unique_ptr>&&\2c\20std::__2::unique_ptr>&&\29 +4645:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28\29 +4646:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28\29 +4647:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +4648:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4649:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4650:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4651:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4652:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4653:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +4654:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>>\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>&&\29 +4655:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d\28SkSL::Position&\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray&&\29 +4656:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>\2c\20true>\2c\20SkSL::Block::Kind&\2c\20std::__2::unique_ptr>>\28SkSL::Position&\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>&&\2c\20SkSL::Block::Kind&\2c\20std::__2::unique_ptr>&&\29 +4657:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d>\28sk_sp&&\29 +4658:std::__2::__unique_if::__unique_single\20std::__2::make_unique\5babi:v160004\5d&>\28std::__2::shared_ptr&\29 +4659:std::__2::__tuple_impl\2c\20std::__2::\28anonymous\20namespace\29::__fake_bind&&>::__tuple_impl\5babi:v160004\5d<0ul\2c\20std::__2::\28anonymous\20namespace\29::__fake_bind&&\2c\20std::__2::\28anonymous\20namespace\29::__fake_bind>\28std::__2::__tuple_indices<0ul>\2c\20std::__2::__tuple_types\2c\20std::__2::__tuple_indices<>\2c\20std::__2::__tuple_types<>\2c\20std::__2::\28anonymous\20namespace\29::__fake_bind&&\29 +4660:std::__2::__time_put::__time_put\5babi:v160004\5d\28\29 +4661:std::__2::__time_put::__do_put\28char*\2c\20char*&\2c\20tm\20const*\2c\20char\2c\20char\29\20const +4662:std::__2::__throw_out_of_range\5babi:v160004\5d\28char\20const*\29 +4663:std::__2::__throw_length_error\5babi:v160004\5d\28char\20const*\29 +4664:std::__2::__split_buffer&>::~__split_buffer\28\29 +4665:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +4666:std::__2::__split_buffer>::pop_back\5babi:v160004\5d\28\29 +4667:std::__2::__split_buffer>::__destruct_at_end\5babi:v160004\5d\28skia::textlayout::OneLineShaper::RunBlock**\2c\20std::__2::integral_constant\29 +4668:std::__2::__split_buffer&>::push_back\28skia::textlayout::OneLineShaper::RunBlock*&&\29 +4669:std::__2::__split_buffer&>::~__split_buffer\28\29 +4670:std::__2::__split_buffer&>::~__split_buffer\28\29 +4671:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +4672:std::__2::__split_buffer&>::~__split_buffer\28\29 +4673:std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +4674:std::__2::__split_buffer&>::~__split_buffer\28\29 +4675:std::__2::__shared_weak_count::__release_shared\5babi:v160004\5d\28\29 +4676:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +4677:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +4678:std::__2::__optional_destruct_base::reset\5babi:v160004\5d\28\29 +4679:std::__2::__optional_destruct_base::~__optional_destruct_base\5babi:v160004\5d\28\29 +4680:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +4681:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20std::__2::locale\20const&\29 +4682:std::__2::__num_put::__widen_and_group_int\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +4683:std::__2::__num_put::__widen_and_group_float\28char*\2c\20char*\2c\20char*\2c\20char*\2c\20char*&\2c\20char*&\2c\20std::__2::locale\20const&\29 +4684:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20wchar_t&\2c\20wchar_t&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +4685:std::__2::__money_put::__format\28wchar_t*\2c\20wchar_t*&\2c\20wchar_t*&\2c\20unsigned\20int\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20wchar_t\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +4686:std::__2::__money_put::__gather_info\28bool\2c\20bool\2c\20std::__2::locale\20const&\2c\20std::__2::money_base::pattern&\2c\20char&\2c\20char&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\2c\20int&\29 +4687:std::__2::__money_put::__format\28char*\2c\20char*&\2c\20char*&\2c\20unsigned\20int\2c\20char\20const*\2c\20char\20const*\2c\20std::__2::ctype\20const&\2c\20bool\2c\20std::__2::money_base::pattern\20const&\2c\20char\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20int\29 +4688:std::__2::__libcpp_sscanf_l\28char\20const*\2c\20__locale_struct*\2c\20char\20const*\2c\20...\29 +4689:std::__2::__libcpp_mbrtowc_l\5babi:v160004\5d\28wchar_t*\2c\20char\20const*\2c\20unsigned\20long\2c\20__mbstate_t*\2c\20__locale_struct*\29 +4690:std::__2::__libcpp_mb_cur_max_l\5babi:v160004\5d\28__locale_struct*\29 +4691:std::__2::__libcpp_condvar_wait\5babi:v160004\5d\28pthread_cond_t*\2c\20pthread_mutex_t*\29 +4692:std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__deallocate_node\28std::__2::__hash_node_base\2c\20void*>*>*\29 +4693:std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__deallocate_node\28std::__2::__hash_node_base\2c\20void*>*>*\29 +4694:std::__2::__hash_table\2c\20std::__2::equal_to\2c\20std::__2::allocator>::__deallocate_node\28std::__2::__hash_node_base*>*\29 +4695:std::__2::__function::__value_func\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::operator\28\29\5babi:v160004\5d\28skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20float&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20SkPoint&&\2c\20SkPoint&&\2c\20skia::textlayout::InternalLineMetrics&&\2c\20bool&&\29\20const +4696:std::__2::__function::__value_func\29>::operator\28\29\5babi:v160004\5d\28skia::textlayout::Block&&\2c\20skia_private::TArray&&\29\20const +4697:std::__2::__function::__value_func::operator\28\29\5babi:v160004\5d\28\29\20const +4698:std::__2::__function::__value_func\29>::operator\28\29\5babi:v160004\5d\28sk_sp&&\29\20const +4699:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29 +4700:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +4701:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +4702:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29 +4703:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +4704:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +4705:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29 +4706:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +4707:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +4708:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::destroy_deallocate\28\29 +4709:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::destroy\28\29 +4710:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29 +4711:std::__2::__forward_list_base\2c\20std::__2::allocator>>::clear\28\29 +4712:std::__2::__exception_guard_exceptions>::__destroy_vector>::~__exception_guard_exceptions\5babi:v160004\5d\28\29 +4713:std::__2::__exception_guard_exceptions>::__destroy_vector>::~__exception_guard_exceptions\5babi:v160004\5d\28\29 +4714:std::__2::__exception_guard_exceptions\2c\20SkString*>>::~__exception_guard_exceptions\5babi:v160004\5d\28\29 +4715:std::__2::__constexpr_wcslen\5babi:v160004\5d\28wchar_t\20const*\29 +4716:std::__2::__compressed_pair_elem\29::$_0\2c\200\2c\20false>::__compressed_pair_elem\5babi:v160004\5d\29::$_0\20const&\2c\200ul>\28std::__2::piecewise_construct_t\2c\20std::__2::tuple\29::$_0\20const&>\2c\20std::__2::__tuple_indices<0ul>\29 +4717:std::__2::__compressed_pair_elem::__compressed_pair_elem\5babi:v160004\5d\28std::__2::piecewise_construct_t\2c\20std::__2::tuple\2c\20std::__2::__tuple_indices<0ul>\29 +4718:std::__2::__compressed_pair::__compressed_pair\5babi:v160004\5d\28unsigned\20char*&\2c\20void\20\28*&&\29\28void*\29\29 +4719:std::__2::__allocation_result>::pointer>\20std::__2::__allocate_at_least\5babi:v160004\5d>\28std::__2::__sso_allocator&\2c\20unsigned\20long\29 +4720:srgb_to_hsl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +4721:sort_r_swap_blocks\28char*\2c\20unsigned\20long\2c\20unsigned\20long\29 +4722:sort_increasing_Y\28SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +4723:sort_edges\28SkEdge**\2c\20int\2c\20SkEdge**\29 +4724:sort_as_rect\28skvx::Vec<4\2c\20float>\20const&\29 +4725:small_blur\28double\2c\20double\2c\20SkMask\20const&\2c\20SkMaskBuilder*\29::$_0::operator\28\29\28SkGaussFilter\20const&\2c\20unsigned\20short*\29\20const +4726:skvx::Vec<8\2c\20unsigned\20int>\20skvx::cast\28skvx::Vec<8\2c\20unsigned\20short>\20const&\29 +4727:skvx::Vec<4\2c\20unsigned\20short>\20skvx::operator>><4\2c\20unsigned\20short>\28skvx::Vec<4\2c\20unsigned\20short>\20const&\2c\20int\29 +4728:skvx::Vec<4\2c\20unsigned\20short>\20skvx::operator<<<4\2c\20unsigned\20short>\28skvx::Vec<4\2c\20unsigned\20short>\20const&\2c\20int\29 +4729:skvx::Vec<4\2c\20unsigned\20int>\20skvx::operator>><4\2c\20unsigned\20int>\28skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20int\29 +4730:skvx::Vec<4\2c\20unsigned\20int>\20skvx::operator*<4\2c\20unsigned\20int>\28skvx::Vec<4\2c\20unsigned\20int>\20const&\2c\20skvx::Vec<4\2c\20unsigned\20int>\20const&\29 +4731:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator!=<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +4732:skvx::Vec<4\2c\20skvx::Mask::type>\20skvx::operator!=<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4733:skvx::Vec<4\2c\20int>\20skvx::operator^<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +4734:skvx::Vec<4\2c\20int>\20skvx::operator>><4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\2c\20int\29 +4735:skvx::Vec<4\2c\20int>\20skvx::operator<<<4\2c\20int>\28skvx::Vec<4\2c\20int>\20const&\2c\20int\29 +4736:skvx::Vec<4\2c\20float>\20skvx::sqrt<4>\28skvx::Vec<4\2c\20float>\20const&\29 +4737:skvx::Vec<4\2c\20float>\20skvx::operator/<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +4738:skvx::Vec<4\2c\20float>\20skvx::operator/<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4739:skvx::Vec<4\2c\20float>\20skvx::operator-<4\2c\20float\2c\20float\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20float\29 +4740:skvx::Vec<4\2c\20float>\20skvx::operator-<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4741:skvx::Vec<4\2c\20float>\20skvx::operator*<4\2c\20float\2c\20int\2c\20void>\28skvx::Vec<4\2c\20float>\20const&\2c\20int\29 +4742:skvx::Vec<4\2c\20float>\20skvx::min<4\2c\20float\2c\20float\2c\20void>\28float\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4743:skvx::Vec<4\2c\20float>\20skvx::min<4\2c\20float>\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.5835\29 +4744:skvx::Vec<4\2c\20float>\20skvx::max<4\2c\20float\2c\20float\2c\20void>\28float\2c\20skvx::Vec<4\2c\20float>\20const&\29 +4745:skvx::Vec<4\2c\20float>\20skvx::from_half<4>\28skvx::Vec<4\2c\20unsigned\20short>\20const&\29 +4746:skvx::Vec<4\2c\20float>&\20skvx::operator*=<4\2c\20float>\28skvx::Vec<4\2c\20float>&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20\28.6741\29 +4747:skvx::Vec<2\2c\20unsigned\20char>\20skvx::cast\28skvx::Vec<2\2c\20float>\20const&\29 +4748:skvx::ScaledDividerU32::divide\28skvx::Vec<4\2c\20unsigned\20int>\20const&\29\20const +4749:skvx::ScaledDividerU32::ScaledDividerU32\28unsigned\20int\29 +4750:sktext::gpu::can_use_direct\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +4751:sktext::gpu::build_distance_adjust_table\28float\29 +4752:sktext::gpu::VertexFiller::fillVertexData\28int\2c\20int\2c\20SkSpan\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkIRect\2c\20void*\29\20const +4753:sktext::gpu::TextBlobRedrawCoordinator::internalRemove\28sktext::gpu::TextBlob*\29 +4754:sktext::gpu::TextBlobRedrawCoordinator::BlobIDCacheEntry::findBlobIndex\28sktext::gpu::TextBlob::Key\20const&\29\20const +4755:sktext::gpu::TextBlobRedrawCoordinator::BlobIDCacheEntry::BlobIDCacheEntry\28sktext::gpu::TextBlobRedrawCoordinator::BlobIDCacheEntry&&\29 +4756:sktext::gpu::TextBlob::~TextBlob\28\29 +4757:sktext::gpu::SubRunContainer::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20SkRefCnt\20const*\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +4758:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_2::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +4759:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29::$_0::operator\28\29\28SkZip\2c\20skgpu::MaskFormat\29\20const +4760:sktext::gpu::SubRunContainer::MakeInAlloc\28sktext::GlyphRunList\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkStrikeDeviceInfo\2c\20sktext::StrikeForGPUCacheInterface*\2c\20sktext::gpu::SubRunAllocator*\2c\20sktext::gpu::SubRunContainer::SubRunCreationBehavior\2c\20char\20const*\29 +4761:sktext::gpu::SubRunContainer::EstimateAllocSize\28sktext::GlyphRunList\20const&\29 +4762:sktext::gpu::SubRunAllocator::SubRunAllocator\28int\29 +4763:sktext::gpu::SlugImpl::~SlugImpl\28\29 +4764:sktext::gpu::SDFTControl::isSDFT\28float\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +4765:sktext::SkStrikePromise::resetStrike\28\29 +4766:sktext::GlyphRunList::maxGlyphRunSize\28\29\20const +4767:sktext::GlyphRunBuilder::~GlyphRunBuilder\28\29 +4768:sktext::GlyphRunBuilder::makeGlyphRunList\28sktext::GlyphRun\20const&\2c\20SkPaint\20const&\2c\20SkPoint\29 +4769:sktext::GlyphRunBuilder::blobToGlyphRunList\28SkTextBlob\20const&\2c\20SkPoint\29 +4770:skstd::to_string\28float\29 +4771:skip_string +4772:skip_procedure +4773:skip_comment +4774:skif::compatible_sampling\28SkSamplingOptions\20const&\2c\20bool\2c\20SkSamplingOptions*\2c\20bool\29 +4775:skif::\28anonymous\20namespace\29::decompose_transform\28SkMatrix\20const&\2c\20SkPoint\2c\20SkMatrix*\2c\20SkMatrix*\29 +4776:skif::\28anonymous\20namespace\29::are_axes_nearly_integer_aligned\28skif::LayerSpace\20const&\2c\20skif::LayerSpace*\29 +4777:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +4778:skif::Mapping::adjustLayerSpace\28SkMatrix\20const&\29 +4779:skif::LayerSpace\20skif::Mapping::paramToLayer\28skif::ParameterSpace\20const&\29\20const +4780:skif::LayerSpace::roundIn\28\29\20const +4781:skif::LayerSpace::inset\28skif::LayerSpace\20const&\29 +4782:skif::LayerSpace::mapSize\28skif::LayerSpace\20const&\29\20const +4783:skif::LayerSpace::RectToRect\28skif::LayerSpace\20const&\2c\20skif::LayerSpace\20const&\29 +4784:skif::LayerSpace::offset\28skif::LayerSpace\20const&\29 +4785:skif::FilterResult::imageAndOffset\28skif::Context\20const&\29\20const +4786:skif::FilterResult::draw\28skif::Context\20const&\2c\20SkDevice*\2c\20SkBlender\20const*\29\20const +4787:skif::FilterResult::drawAnalyzedImage\28skif::Context\20const&\2c\20SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkEnumBitMask\2c\20SkBlender\20const*\29\20const +4788:skif::FilterResult::Builder::drawShader\28sk_sp\2c\20skif::LayerSpace\20const&\2c\20bool\29\20const +4789:skif::FilterResult::Builder::createInputShaders\28skif::LayerSpace\20const&\2c\20bool\29 +4790:skif::Context::Context\28sk_sp\2c\20skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20skif::FilterResult\20const&\2c\20SkColorSpace\20const*\2c\20skif::Stats*\29 +4791:skia_private::THashTable>\2c\20std::__2::basic_string_view>\2c\20skia_private::THashSet>\2c\20SkGoodHash>::Traits>::uncheckedSet\28std::__2::basic_string_view>&&\29 +4792:skia_private::THashTable::uncheckedSet\28sktext::gpu::Glyph*&&\29 +4793:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4794:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4795:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::removeIfExists\28unsigned\20int\20const&\29 +4796:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::Slot::emplace\28skia_private::THashMap::Pair&&\2c\20unsigned\20int\29 +4797:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4798:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::reset\28\29 +4799:skia_private::THashTable::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4800:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair&&\29 +4801:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot::reset\28\29 +4802:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair&&\2c\20unsigned\20int\29 +4803:skia_private::THashTable\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair\2c\20skia::textlayout::OneLineShaper::FontKey\2c\20skia_private::THashMap\2c\20skia::textlayout::OneLineShaper::FontKey::Hasher>::Pair>::Hash\28skia::textlayout::OneLineShaper::FontKey\20const&\29 +4804:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair&&\29 +4805:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot::reset\28\29 +4806:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair&&\2c\20unsigned\20int\29 +4807:skia_private::THashTable\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair\2c\20skia::textlayout::FontCollection::FamilyKey\2c\20skia_private::THashMap\2c\20std::__2::allocator>>\2c\20skia::textlayout::FontCollection::FamilyKey::Hasher>::Pair>::Hash\28skia::textlayout::FontCollection::FamilyKey\20const&\29 +4808:skia_private::THashTable>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::uncheckedSet\28skia_private::THashMap>::Pair&&\29 +4809:skia_private::THashTable>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::reset\28\29 +4810:skia_private::THashTable>::Pair\2c\20skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\2c\20skia_private::THashMap>::Pair>::Hash\28skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\20const&\29 +4811:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4812:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot::reset\28\29 +4813:skia_private::THashTable::Pair\2c\20skgpu::UniqueKey\2c\20skia_private::THashMap::Pair>::Slot::emplace\28skia_private::THashMap::Pair&&\2c\20unsigned\20int\29 +4814:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\29 +4815:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::reset\28\29 +4816:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20int\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +4817:skia_private::THashTable::Pair\2c\20int\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4818:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\29 +4819:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::reset\28\29 +4820:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +4821:skia_private::THashTable\2c\20SkGoodHash>::Pair\2c\20SkString\2c\20skia_private::THashMap\2c\20SkGoodHash>::Pair>::Hash\28SkString\20const&\29 +4822:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +4823:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot::reset\28\29 +4824:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +4825:skia_private::THashTable::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4826:skia_private::THashTable::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap::Pair>::firstPopulatedSlot\28\29\20const +4827:skia_private::THashTable::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap::Pair>::Iter>::operator++\28\29 +4828:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4829:skia_private::THashTable::Pair\2c\20SkSL::SymbolTable::SymbolKey\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4830:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4831:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::set\28skia_private::THashMap::Pair\29 +4832:skia_private::THashTable::Pair\2c\20SkSL::IRNode\20const*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4833:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::Slot::reset\28\29 +4834:skia_private::THashTable\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair\2c\20SkSL::FunctionDeclaration\20const*\2c\20skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +4835:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::uncheckedSet\28skia_private::THashMap::Pair&&\29 +4836:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::Slot::reset\28\29 +4837:skia_private::THashTable::Pair\2c\20SkPath\2c\20skia_private::THashMap::Pair>::Slot::emplace\28skia_private::THashMap::Pair&&\2c\20unsigned\20int\29 +4838:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::uncheckedSet\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +4839:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::resize\28int\29 +4840:skia_private::THashTable>\2c\20SkGoodHash>::Pair\2c\20SkImageFilter\20const*\2c\20skia_private::THashMap>\2c\20SkGoodHash>::Pair>::Slot::emplace\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\2c\20unsigned\20int\29 +4841:skia_private::THashTable::Pair\2c\20GrSurfaceProxy*\2c\20skia_private::THashMap::Pair>::resize\28int\29 +4842:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28skgpu::ganesh::SmallPathShapeData*&&\29 +4843:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +4844:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +4845:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::uncheckedSet\28sk_sp&&\29 +4846:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::reset\28\29 +4847:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot::reset\28\29 +4848:skia_private::THashTable\2c\20SkDescriptor\20const&\2c\20sktext::gpu::StrikeCache::HashTraits>::Slot::emplace\28sk_sp&&\2c\20unsigned\20int\29 +4849:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::uncheckedSet\28sk_sp&&\29 +4850:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::resize\28int\29 +4851:skia_private::THashTable\2c\20SkDescriptor\2c\20SkStrikeCache::StrikeTraits>::Slot::emplace\28sk_sp&&\2c\20unsigned\20int\29 +4852:skia_private::THashTable::Traits>::set\28int\29 +4853:skia_private::THashTable::Traits>::THashTable\28skia_private::THashTable::Traits>&&\29 +4854:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::uncheckedSet\28\28anonymous\20namespace\29::CacheImpl::Value*&&\29 +4855:skia_private::THashTable<\28anonymous\20namespace\29::CacheImpl::Value*\2c\20SkImageFilterCacheKey\2c\20SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::AdaptedTraits>::resize\28int\29 +4856:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +4857:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +4858:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::findOrNull\28skgpu::ScratchKey\20const&\29\20const +4859:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::uncheckedSet\28SkTMultiMap::ValueList*&&\29 +4860:skia_private::THashTable::ValueList*\2c\20skgpu::ScratchKey\2c\20SkTDynamicHash::ValueList\2c\20skgpu::ScratchKey\2c\20SkTMultiMap::ValueList>::AdaptedTraits>::resize\28int\29 +4861:skia_private::THashTable::Traits>::uncheckedSet\28SkSL::Variable\20const*&&\29 +4862:skia_private::THashTable::Traits>::resize\28int\29 +4863:skia_private::THashTable::uncheckedSet\28SkResourceCache::Rec*&&\29 +4864:skia_private::THashTable::resize\28int\29 +4865:skia_private::THashTable::find\28SkResourceCache::Key\20const&\29\20const +4866:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::uncheckedSet\28SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*&&\29 +4867:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::resize\28int\29 +4868:skia_private::THashTable>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\2c\20skia::textlayout::ParagraphCacheKey\2c\20SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Traits>::find\28skia::textlayout::ParagraphCacheKey\20const&\29\20const +4869:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::uncheckedSet\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*&&\29 +4870:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::resize\28int\29 +4871:skia_private::THashTable>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\2c\20GrProgramDesc\2c\20SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Traits>::find\28GrProgramDesc\20const&\29\20const +4872:skia_private::THashTable::uncheckedSet\28SkGlyphDigest&&\29 +4873:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrThreadSafeCache::Entry*&&\29 +4874:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +4875:skia_private::THashTable::AdaptedTraits>::removeIfExists\28skgpu::UniqueKey\20const&\29 +4876:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrTextureProxy*&&\29 +4877:skia_private::THashTable::AdaptedTraits>::set\28GrTextureProxy*\29 +4878:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +4879:skia_private::THashTable::AdaptedTraits>::findOrNull\28skgpu::UniqueKey\20const&\29\20const +4880:skia_private::THashTable::AdaptedTraits>::uncheckedSet\28GrGpuResource*&&\29 +4881:skia_private::THashTable::AdaptedTraits>::resize\28int\29 +4882:skia_private::THashTable::AdaptedTraits>::findOrNull\28skgpu::UniqueKey\20const&\29\20const +4883:skia_private::THashTable::Traits>::uncheckedSet\28FT_Opaque_Paint_&&\29 +4884:skia_private::THashTable::Traits>::resize\28int\29 +4885:skia_private::THashSet::contains\28int\20const&\29\20const +4886:skia_private::THashSet::contains\28FT_Opaque_Paint_\20const&\29\20const +4887:skia_private::THashSet::add\28FT_Opaque_Paint_\29 +4888:skia_private::THashMap::find\28unsigned\20int\20const&\29\20const +4889:skia_private::THashMap\2c\20SkGoodHash>::find\28int\20const&\29\20const +4890:skia_private::THashMap::find\28int\20const&\29\20const +4891:skia_private::THashMap\2c\20std::__2::allocator>\2c\20SkGoodHash>::set\28SkSL::Variable\20const*\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +4892:skia_private::THashMap::operator\5b\5d\28SkSL::Symbol\20const*\20const&\29 +4893:skia_private::THashMap::set\28SkSL::FunctionDeclaration\20const*\2c\20int\29 +4894:skia_private::THashMap::operator\5b\5d\28SkSL::FunctionDeclaration\20const*\20const&\29 +4895:skia_private::THashMap>\2c\20SkGoodHash>::remove\28SkImageFilter\20const*\20const&\29 +4896:skia_private::THashMap>\2c\20SkGoodHash>::Pair::Pair\28skia_private::THashMap>\2c\20SkGoodHash>::Pair&&\29 +4897:skia_private::THashMap::find\28GrSurfaceProxy*\20const&\29\20const +4898:skia_private::TArray::push_back_raw\28int\29 +4899:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4900:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +4901:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4902:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +4903:skia_private::TArray::initData\28int\29 +4904:skia_private::TArray::Allocate\28int\2c\20double\29 +4905:skia_private::TArray>\2c\20true>::~TArray\28\29 +4906:skia_private::TArray>\2c\20true>::operator=\28skia_private::TArray>\2c\20true>&&\29 +4907:skia_private::TArray>\2c\20true>::~TArray\28\29 +4908:skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +4909:skia_private::TArray\2c\20std::__2::allocator>\2c\20false>::checkRealloc\28int\2c\20double\29 +4910:skia_private::TArray\2c\20true>::preallocateNewData\28int\2c\20double\29 +4911:skia_private::TArray\2c\20true>::installDataAndUpdateCapacity\28SkSpan\29 +4912:skia_private::TArray::destroyAll\28\29 +4913:skia_private::TArray::destroyAll\28\29 +4914:skia_private::TArray\2c\20false>::~TArray\28\29 +4915:skia_private::TArray::~TArray\28\29 +4916:skia_private::TArray::destroyAll\28\29 +4917:skia_private::TArray::copy\28skia::textlayout::Run\20const*\29 +4918:skia_private::TArray::Allocate\28int\2c\20double\29 +4919:skia_private::TArray::destroyAll\28\29 +4920:skia_private::TArray::initData\28int\29 +4921:skia_private::TArray::destroyAll\28\29 +4922:skia_private::TArray::TArray\28skia_private::TArray&&\29 +4923:skia_private::TArray::Allocate\28int\2c\20double\29 +4924:skia_private::TArray::copy\28skia::textlayout::Cluster\20const*\29 +4925:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4926:skia_private::TArray::Allocate\28int\2c\20double\29 +4927:skia_private::TArray::initData\28int\29 +4928:skia_private::TArray::destroyAll\28\29 +4929:skia_private::TArray::TArray\28skia_private::TArray&&\29 +4930:skia_private::TArray::Allocate\28int\2c\20double\29 +4931:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4932:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4933:skia_private::TArray::push_back\28\29 +4934:skia_private::TArray::push_back\28\29 +4935:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4936:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4937:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4938:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4939:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4940:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4941:skia_private::TArray::destroyAll\28\29 +4942:skia_private::TArray::clear\28\29 +4943:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4944:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4945:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4946:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4947:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4948:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4949:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4950:skia_private::TArray::operator=\28skia_private::TArray&&\29 +4951:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4952:skia_private::TArray::destroyAll\28\29 +4953:skia_private::TArray::clear\28\29 +4954:skia_private::TArray::Allocate\28int\2c\20double\29 +4955:skia_private::TArray::BufferFinishedMessage\2c\20false>::operator=\28skia_private::TArray::BufferFinishedMessage\2c\20false>&&\29 +4956:skia_private::TArray::BufferFinishedMessage\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +4957:skia_private::TArray::BufferFinishedMessage\2c\20false>::destroyAll\28\29 +4958:skia_private::TArray::BufferFinishedMessage\2c\20false>::clear\28\29 +4959:skia_private::TArray::Plane\2c\20false>::preallocateNewData\28int\2c\20double\29 +4960:skia_private::TArray::Plane\2c\20false>::installDataAndUpdateCapacity\28SkSpan\29 +4961:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +4962:skia_private::TArray\2c\20true>::~TArray\28\29 +4963:skia_private::TArray\2c\20true>::~TArray\28\29 +4964:skia_private::TArray\2c\20true>::preallocateNewData\28int\2c\20double\29 +4965:skia_private::TArray\2c\20true>::clear\28\29 +4966:skia_private::TArray::push_back_raw\28int\29 +4967:skia_private::TArray::push_back\28hb_feature_t&&\29 +4968:skia_private::TArray::resize_back\28int\29 +4969:skia_private::TArray::reset\28int\29 +4970:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +4971:skia_private::TArray::operator=\28skia_private::TArray&&\29 +4972:skia_private::TArray::initData\28int\29 +4973:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4974:skia_private::TArray<\28anonymous\20namespace\29::DrawAtlasOpImpl::Geometry\2c\20true>::checkRealloc\28int\2c\20double\29 +4975:skia_private::TArray<\28anonymous\20namespace\29::DefaultPathOp::PathData\2c\20true>::preallocateNewData\28int\2c\20double\29 +4976:skia_private::TArray<\28anonymous\20namespace\29::AAHairlineOp::PathData\2c\20true>::preallocateNewData\28int\2c\20double\29 +4977:skia_private::TArray<\28anonymous\20namespace\29::AAHairlineOp::PathData\2c\20true>::installDataAndUpdateCapacity\28SkSpan\29 +4978:skia_private::TArray::push_back_n\28int\2c\20SkUnicode::CodeUnitFlags\20const&\29 +4979:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4980:skia_private::TArray::operator=\28skia_private::TArray&&\29 +4981:skia_private::TArray::destroyAll\28\29 +4982:skia_private::TArray::initData\28int\29 +4983:skia_private::TArray::TArray\28skia_private::TArray\20const&\29 +4984:skia_private::TArray\29::ReorderedArgument\2c\20false>::push_back\28SkSL::optimize_constructor_swizzle\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ConstructorCompound\20const&\2c\20skia_private::FixedArray<4\2c\20signed\20char>\29::ReorderedArgument&&\29 +4985:skia_private::TArray::reserve_exact\28int\29 +4986:skia_private::TArray::fromBack\28int\29 +4987:skia_private::TArray::TArray\28skia_private::TArray&&\29 +4988:skia_private::TArray::Allocate\28int\2c\20double\29 +4989:skia_private::TArray::push_back\28SkSL::Field&&\29 +4990:skia_private::TArray::initData\28int\29 +4991:skia_private::TArray::Allocate\28int\2c\20double\29 +4992:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +4993:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +4994:skia_private::TArray::checkRealloc\28int\2c\20double\29 +4995:skia_private::TArray\2c\20true>::push_back\28SkRGBA4f<\28SkAlphaType\292>&&\29 +4996:skia_private::TArray\2c\20true>::operator=\28skia_private::TArray\2c\20true>&&\29 +4997:skia_private::TArray\2c\20true>::checkRealloc\28int\2c\20double\29 +4998:skia_private::TArray::push_back\28SkPoint\20const&\29 +4999:skia_private::TArray::operator=\28skia_private::TArray\20const&\29 +5000:skia_private::TArray::copy\28SkPoint\20const*\29 +5001:skia_private::TArray::~TArray\28\29 +5002:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5003:skia_private::TArray::destroyAll\28\29 +5004:skia_private::TArray::~TArray\28\29 +5005:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5006:skia_private::TArray::destroyAll\28\29 +5007:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +5008:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5009:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +5010:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5011:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5012:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5013:skia_private::TArray::push_back\28\29 +5014:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5015:skia_private::TArray::push_back\28\29 +5016:skia_private::TArray::push_back_raw\28int\29 +5017:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5018:skia_private::TArray::~TArray\28\29 +5019:skia_private::TArray::operator=\28skia_private::TArray&&\29 +5020:skia_private::TArray::destroyAll\28\29 +5021:skia_private::TArray::clear\28\29 +5022:skia_private::TArray::Allocate\28int\2c\20double\29 +5023:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5024:skia_private::TArray::push_back\28\29 +5025:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5026:skia_private::TArray::pop_back\28\29 +5027:skia_private::TArray::checkRealloc\28int\2c\20double\29 +5028:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +5029:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +5030:skia_private::TArray::installDataAndUpdateCapacity\28SkSpan\29 +5031:skia_private::TArray::preallocateNewData\28int\2c\20double\29 +5032:skia_private::STArray<8\2c\20int\2c\20true>::STArray\28int\29 +5033:skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>::STArray\28skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>\20const&\29 +5034:skia_private::AutoTMalloc::realloc\28unsigned\20long\29 +5035:skia_private::AutoTMalloc::reset\28unsigned\20long\29 +5036:skia_private::AutoTArray::AutoTArray\28unsigned\20long\29 +5037:skia_private::AutoTArray::AutoTArray\28unsigned\20long\29 +5038:skia_private::AutoTArray::AutoTArray\28unsigned\20long\29 +5039:skia_private::AutoSTMalloc<256ul\2c\20unsigned\20short\2c\20void>::AutoSTMalloc\28unsigned\20long\29 +5040:skia_private::AutoSTArray<64\2c\20TriangulationVertex>::reset\28int\29 +5041:skia_private::AutoSTArray<64\2c\20SkGlyph\20const*>::reset\28int\29 +5042:skia_private::AutoSTArray<4\2c\20unsigned\20char>::reset\28int\29 +5043:skia_private::AutoSTArray<4\2c\20GrResourceHandle>::reset\28int\29 +5044:skia_private::AutoSTArray<3\2c\20std::__2::unique_ptr>>::reset\28int\29 +5045:skia_private::AutoSTArray<32\2c\20unsigned\20short>::~AutoSTArray\28\29 +5046:skia_private::AutoSTArray<32\2c\20unsigned\20short>::reset\28int\29 +5047:skia_private::AutoSTArray<32\2c\20SkRect>::reset\28int\29 +5048:skia_private::AutoSTArray<2\2c\20sk_sp>::reset\28int\29 +5049:skia_private::AutoSTArray<16\2c\20SkRect>::~AutoSTArray\28\29 +5050:skia_private::AutoSTArray<16\2c\20GrMipLevel>::reset\28int\29 +5051:skia_private::AutoSTArray<15\2c\20GrMipLevel>::reset\28int\29 +5052:skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>::~AutoSTArray\28\29 +5053:skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>::reset\28int\29 +5054:skia_private::AutoSTArray<14\2c\20GrMipLevel>::~AutoSTArray\28\29 +5055:skia_private::AutoSTArray<14\2c\20GrMipLevel>::reset\28int\29 +5056:skia_private::AutoSTArray<128\2c\20unsigned\20char>::~AutoSTArray\28\29 +5057:skia_png_set_longjmp_fn +5058:skia_png_read_finish_IDAT +5059:skia_png_read_chunk_header +5060:skia_png_read_IDAT_data +5061:skia_png_gamma_16bit_correct +5062:skia_png_do_strip_channel +5063:skia_png_do_gray_to_rgb +5064:skia_png_do_expand +5065:skia_png_destroy_gamma_table +5066:skia_png_colorspace_set_sRGB +5067:skia_png_check_IHDR +5068:skia_png_calculate_crc +5069:skia::textlayout::operator==\28skia::textlayout::FontArguments\20const&\2c\20skia::textlayout::FontArguments\20const&\29 +5070:skia::textlayout::\28anonymous\20namespace\29::littleRound\28float\29 +5071:skia::textlayout::\28anonymous\20namespace\29::LineBreakerWithLittleRounding::breakLine\28float\29\20const +5072:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29 +5073:skia::textlayout::TypefaceFontStyleSet::matchStyle\28SkFontStyle\20const&\29 +5074:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29 +5075:skia::textlayout::TypefaceFontProvider::registerTypeface\28sk_sp\2c\20SkString\20const&\29 +5076:skia::textlayout::TextWrapper::TextStretch::TextStretch\28skia::textlayout::Cluster*\2c\20skia::textlayout::Cluster*\2c\20bool\29 +5077:skia::textlayout::TextStyle::matchOneAttribute\28skia::textlayout::StyleType\2c\20skia::textlayout::TextStyle\20const&\29\20const +5078:skia::textlayout::TextStyle::equals\28skia::textlayout::TextStyle\20const&\29\20const +5079:skia::textlayout::TextShadow::operator!=\28skia::textlayout::TextShadow\20const&\29\20const +5080:skia::textlayout::TextLine::~TextLine\28\29 +5081:skia::textlayout::TextLine::spacesWidth\28\29\20const +5082:skia::textlayout::TextLine::shiftCluster\28skia::textlayout::Cluster\20const*\2c\20float\2c\20float\29 +5083:skia::textlayout::TextLine::iterateThroughClustersInGlyphsOrder\28bool\2c\20bool\2c\20std::__2::function\20const&\29\20const::$_0::operator\28\29\28unsigned\20long\20const&\29\20const::'lambda'\28skia::textlayout::Cluster&\29::operator\28\29\28skia::textlayout::Cluster&\29\20const +5084:skia::textlayout::TextLine::iterateThroughClustersInGlyphsOrder\28bool\2c\20bool\2c\20std::__2::function\20const&\29\20const +5085:skia::textlayout::TextLine::getRectsForRange\28skia::textlayout::SkRange\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkRect\29::operator\28\29\28SkRect\29\20const +5086:skia::textlayout::TextLine::getMetrics\28\29\20const +5087:skia::textlayout::TextLine::extendHeight\28skia::textlayout::TextLine::ClipContext\20const&\29\20const +5088:skia::textlayout::TextLine::ensureTextBlobCachePopulated\28\29 +5089:skia::textlayout::TextLine::endsWithHardLineBreak\28\29\20const +5090:skia::textlayout::TextLine::buildTextBlob\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +5091:skia::textlayout::TextLine::TextLine\28skia::textlayout::ParagraphImpl*\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20skia::textlayout::InternalLineMetrics\29 +5092:skia::textlayout::TextLine::TextBlobRecord::~TextBlobRecord\28\29 +5093:skia::textlayout::TextLine::TextBlobRecord::TextBlobRecord\28\29 +5094:skia::textlayout::TextLine&\20skia_private::TArray::emplace_back&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&>\28skia::textlayout::ParagraphImpl*&&\2c\20SkPoint&\2c\20SkPoint&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20skia::textlayout::SkRange&\2c\20float&\2c\20skia::textlayout::InternalLineMetrics&\29 +5095:skia::textlayout::StrutStyle::StrutStyle\28\29 +5096:skia::textlayout::Run::shift\28skia::textlayout::Cluster\20const*\2c\20float\29 +5097:skia::textlayout::Run::newRunBuffer\28\29 +5098:skia::textlayout::Run::clusterIndex\28unsigned\20long\29\20const +5099:skia::textlayout::Run::calculateMetrics\28\29 +5100:skia::textlayout::ParagraphStyle::ellipsized\28\29\20const +5101:skia::textlayout::ParagraphPainter::DecorationStyle::DecorationStyle\28unsigned\20int\2c\20float\2c\20std::__2::optional\29 +5102:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29 +5103:skia::textlayout::ParagraphImpl::resolveStrut\28\29 +5104:skia::textlayout::ParagraphImpl::paint\28skia::textlayout::ParagraphPainter*\2c\20float\2c\20float\29 +5105:skia::textlayout::ParagraphImpl::getGlyphInfoAtUTF16Offset\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +5106:skia::textlayout::ParagraphImpl::getGlyphClusterAt\28unsigned\20long\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +5107:skia::textlayout::ParagraphImpl::ensureUTF16Mapping\28\29::$_0::operator\28\29\28\29\20const::'lambda0'\28unsigned\20long\29::operator\28\29\28unsigned\20long\29\20const +5108:skia::textlayout::ParagraphImpl::computeEmptyMetrics\28\29 +5109:skia::textlayout::ParagraphImpl::buildClusterTable\28\29::$_0::operator\28\29\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20float\2c\20float\29\20const +5110:skia::textlayout::ParagraphCacheKey::ParagraphCacheKey\28skia::textlayout::ParagraphImpl\20const*\29 +5111:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29 +5112:skia::textlayout::ParagraphBuilderImpl::finalize\28\29 +5113:skia::textlayout::ParagraphBuilderImpl::ensureUTF16Mapping\28\29::$_0::operator\28\29\28\29\20const::'lambda0'\28unsigned\20long\29::operator\28\29\28unsigned\20long\29\20const +5114:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\2c\20bool\29 +5115:skia::textlayout::Paragraph::~Paragraph\28\29 +5116:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29 +5117:skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29::$_0::operator\28\29\28unsigned\20long\2c\20skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29::Dir\29\20const +5118:skia::textlayout::OneLineShaper::clusteredText\28skia::textlayout::SkRange&\29 +5119:skia::textlayout::OneLineShaper::FontKey::operator==\28skia::textlayout::OneLineShaper::FontKey\20const&\29\20const +5120:skia::textlayout::InternalLineMetrics::add\28skia::textlayout::InternalLineMetrics\29 +5121:skia::textlayout::FontFeature::operator==\28skia::textlayout::FontFeature\20const&\29\20const +5122:skia::textlayout::FontFeature::FontFeature\28skia::textlayout::FontFeature\20const&\29 +5123:skia::textlayout::FontCollection::~FontCollection\28\29 +5124:skia::textlayout::FontCollection::matchTypeface\28SkString\20const&\2c\20SkFontStyle\29 +5125:skia::textlayout::FontCollection::defaultFallback\28int\2c\20SkFontStyle\2c\20SkString\20const&\29 +5126:skia::textlayout::FontCollection::FamilyKey::operator==\28skia::textlayout::FontCollection::FamilyKey\20const&\29\20const +5127:skia::textlayout::FontCollection::FamilyKey::FamilyKey\28skia::textlayout::FontCollection::FamilyKey&&\29 +5128:skia::textlayout::FontArguments::~FontArguments\28\29 +5129:skia::textlayout::Decoration::operator==\28skia::textlayout::Decoration\20const&\29\20const +5130:skia::textlayout::Cluster::trimmedWidth\28unsigned\20long\29\20const +5131:skgpu::tess::\28anonymous\20namespace\29::write_curve_index_buffer_base_index\28skgpu::VertexWriter\2c\20unsigned\20long\2c\20unsigned\20short\29 +5132:skgpu::tess::StrokeParams::set\28SkStrokeRec\20const&\29 +5133:skgpu::tess::StrokeIterator::finishOpenContour\28\29 +5134:skgpu::tess::PreChopPathCurves\28float\2c\20SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\29 +5135:skgpu::tess::LinearTolerances::setStroke\28skgpu::tess::StrokeParams\20const&\2c\20float\29 +5136:skgpu::tess::LinearTolerances::requiredResolveLevel\28\29\20const +5137:skgpu::tess::GetJoinType\28SkStrokeRec\20const&\29 +5138:skgpu::tess::FixedCountCurves::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +5139:skgpu::tess::CullTest::areVisible3\28SkPoint\20const*\29\20const +5140:skgpu::tess::ConicHasCusp\28SkPoint\20const*\29 +5141:skgpu::tess::CalcNumRadialSegmentsPerRadian\28float\29 +5142:skgpu::make_unnormalized_half_kernel\28float*\2c\20int\2c\20float\29 +5143:skgpu::ganesh::\28anonymous\20namespace\29::add_line_to_segment\28SkPoint\20const&\2c\20skia_private::TArray*\29 +5144:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29 +5145:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::flush\28GrMeshDrawTarget*\2c\20skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::FlushInfo*\29\20const +5146:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::addToAtlasWithRetry\28GrMeshDrawTarget*\2c\20skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::FlushInfo*\2c\20skgpu::ganesh::SmallPathAtlasMgr*\2c\20int\2c\20int\2c\20void\20const*\2c\20SkRect\20const&\2c\20int\2c\20skgpu::ganesh::SmallPathShapeData*\29\20const +5147:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::SmallPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20GrUserStencilSettings\20const*\29 +5148:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29 +5149:skgpu::ganesh::\28anonymous\20namespace\29::ChopPathIfNecessary\28SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20SkStrokeRec\20const&\2c\20SkPath*\29 +5150:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29 +5151:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::recordDraw\28GrMeshDrawTarget*\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20int\2c\20unsigned\20short*\29 +5152:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::PathData::PathData\28skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::PathData&&\29 +5153:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::AAFlatteningConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20float\2c\20SkStrokeRec::Style\2c\20SkPaint::Join\2c\20float\2c\20GrUserStencilSettings\20const*\29 +5154:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29 +5155:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::PathData::PathData\28skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::PathData&&\29 +5156:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::AAConvexPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrUserStencilSettings\20const*\29 +5157:skgpu::ganesh::TextureOp::Make\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20SkBlendMode\2c\20GrAAType\2c\20DrawQuad*\2c\20SkRect\20const*\29 +5158:skgpu::ganesh::SurfaceFillContext::fillRectToRectWithFP\28SkRect\20const&\2c\20SkIRect\20const&\2c\20std::__2::unique_ptr>\29 +5159:skgpu::ganesh::SurfaceFillContext::blitTexture\28GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\29 +5160:skgpu::ganesh::SurfaceFillContext::arenas\28\29 +5161:skgpu::ganesh::SurfaceFillContext::addDrawOp\28std::__2::unique_ptr>\29 +5162:skgpu::ganesh::SurfaceFillContext::SurfaceFillContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorInfo\20const&\29 +5163:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29.1 +5164:skgpu::ganesh::SurfaceDrawContext::setNeedsStencil\28\29 +5165:skgpu::ganesh::SurfaceDrawContext::internalStencilClear\28SkIRect\20const*\2c\20bool\29 +5166:skgpu::ganesh::SurfaceDrawContext::fillRectWithEdgeAA\28GrClip\20const*\2c\20GrPaint&&\2c\20GrQuadAAFlags\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const*\29 +5167:skgpu::ganesh::SurfaceDrawContext::drawVertices\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20sk_sp\2c\20GrPrimitiveType*\2c\20bool\29 +5168:skgpu::ganesh::SurfaceDrawContext::drawTexturedQuad\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkBlendMode\2c\20DrawQuad*\2c\20SkRect\20const*\29 +5169:skgpu::ganesh::SurfaceDrawContext::drawTexture\28GrClip\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20SkBlendMode\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +5170:skgpu::ganesh::SurfaceDrawContext::drawStrokedLine\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkPoint\20const*\2c\20SkStrokeRec\20const&\29 +5171:skgpu::ganesh::SurfaceDrawContext::drawRegion\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrStyle\20const&\2c\20GrUserStencilSettings\20const*\29 +5172:skgpu::ganesh::SurfaceDrawContext::drawOval\28GrClip\20const*\2c\20GrPaint&&\2c\20GrAA\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20GrStyle\20const&\29 +5173:skgpu::ganesh::SurfaceDrawContext::drawAtlas\28GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20int\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\29 +5174:skgpu::ganesh::SurfaceDrawContext::attemptQuadOptimization\28GrClip\20const*\2c\20GrUserStencilSettings\20const*\2c\20DrawQuad*\2c\20GrPaint*\29::$_0::operator\28\29\28\29\20const +5175:skgpu::ganesh::SurfaceDrawContext::SurfaceDrawContext\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +5176:skgpu::ganesh::SurfaceContext::writePixels\28GrDirectContext*\2c\20GrCPixmap\2c\20SkIPoint\29 +5177:skgpu::ganesh::SurfaceContext::rescaleInto\28skgpu::ganesh::SurfaceFillContext*\2c\20SkIRect\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\29 +5178:skgpu::ganesh::SurfaceContext::copy\28sk_sp\2c\20SkIRect\2c\20SkIPoint\29 +5179:skgpu::ganesh::SurfaceContext::copyScaled\28sk_sp\2c\20SkIRect\2c\20SkIRect\2c\20SkFilterMode\29 +5180:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +5181:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::FinishContext::~FinishContext\28\29 +5182:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +5183:skgpu::ganesh::StrokeTessellator::draw\28GrOpFlushState*\29\20const +5184:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29 +5185:skgpu::ganesh::StrokeTessellateOp::prePrepareTessellator\28GrTessellationShader::ProgramArgs&&\2c\20GrAppliedClip&&\29 +5186:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::allowed_stroke\28GrCaps\20const*\2c\20SkStrokeRec\20const&\2c\20GrAA\2c\20bool*\29 +5187:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29 +5188:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::NonAAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrSimpleMeshDrawOpHelper::InputFlags\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkStrokeRec\20const&\2c\20GrAAType\29 +5189:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29 +5190:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::ClassID\28\29 +5191:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::AAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::RectInfo\20const&\2c\20bool\29 +5192:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::AAStrokeRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const&\29 +5193:skgpu::ganesh::SoftwarePathRenderer::DrawAroundInvPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29 +5194:skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +5195:skgpu::ganesh::SmallPathAtlasMgr::reset\28\29 +5196:skgpu::ganesh::SmallPathAtlasMgr::findOrCreate\28skgpu::ganesh::SmallPathShapeDataKey\20const&\29 +5197:skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +5198:skgpu::ganesh::SmallPathAtlasMgr::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +5199:skgpu::ganesh::ShadowRRectOp::Make\28GrRecordingContext*\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20float\2c\20float\29 +5200:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29 +5201:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::RegionOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRegion\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +5202:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::primitiveType\28\29\20const +5203:skgpu::ganesh::QuadPerEdgeAA::VertexSpec::VertexSpec\28GrQuad::Type\2c\20skgpu::ganesh::QuadPerEdgeAA::ColorType\2c\20GrQuad::Type\2c\20bool\2c\20skgpu::ganesh::QuadPerEdgeAA::Subset\2c\20GrAAType\2c\20bool\2c\20skgpu::ganesh::QuadPerEdgeAA::IndexBufferOption\29 +5204:skgpu::ganesh::QuadPerEdgeAA::Tessellator::append\28GrQuad*\2c\20GrQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20GrQuadAAFlags\29 +5205:skgpu::ganesh::QuadPerEdgeAA::Tessellator::Tessellator\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29 +5206:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29 +5207:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::initializeAttrs\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29 +5208:skgpu::ganesh::QuadPerEdgeAA::IssueDraw\28GrCaps\20const&\2c\20GrOpsRenderPass*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20int\2c\20int\2c\20int\2c\20int\29 +5209:skgpu::ganesh::QuadPerEdgeAA::GetIndexBuffer\28GrMeshDrawTarget*\2c\20skgpu::ganesh::QuadPerEdgeAA::IndexBufferOption\29 +5210:skgpu::ganesh::PathWedgeTessellator::Make\28SkArenaAlloc*\2c\20bool\2c\20skgpu::tess::PatchAttribs\29 +5211:skgpu::ganesh::PathTessellator::PathTessellator\28bool\2c\20skgpu::tess::PatchAttribs\29 +5212:skgpu::ganesh::PathTessellator::PathDrawList*\20SkArenaAlloc::make\20const&>\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29 +5213:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29 +5214:skgpu::ganesh::PathTessellateOp::usesMSAA\28\29\20const +5215:skgpu::ganesh::PathTessellateOp::prepareTessellator\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +5216:skgpu::ganesh::PathTessellateOp::PathTessellateOp\28SkArenaAlloc*\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\2c\20SkRect\20const&\29 +5217:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29 +5218:skgpu::ganesh::PathStencilCoverOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +5219:skgpu::ganesh::PathStencilCoverOp::ClassID\28\29 +5220:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29 +5221:skgpu::ganesh::PathInnerTriangulateOp::pushFanStencilProgram\28GrTessellationShader::ProgramArgs\20const&\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +5222:skgpu::ganesh::PathInnerTriangulateOp::prePreparePrograms\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAppliedClip&&\29 +5223:skgpu::ganesh::PathCurveTessellator::~PathCurveTessellator\28\29 +5224:skgpu::ganesh::PathCurveTessellator::prepareWithTriangles\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20GrTriangulator::BreadcrumbTriangleList*\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +5225:skgpu::ganesh::PathCurveTessellator::Make\28SkArenaAlloc*\2c\20bool\2c\20skgpu::tess::PatchAttribs\29 +5226:skgpu::ganesh::OpsTask::setColorLoadOp\28GrLoadOp\2c\20std::__2::array\29 +5227:skgpu::ganesh::OpsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +5228:skgpu::ganesh::OpsTask::onExecute\28GrOpFlushState*\29 +5229:skgpu::ganesh::OpsTask::addSampledTexture\28GrSurfaceProxy*\29 +5230:skgpu::ganesh::OpsTask::addDrawOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0::operator\28\29\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\20const +5231:skgpu::ganesh::OpsTask::addDrawOp\28GrDrawingManager*\2c\20std::__2::unique_ptr>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29 +5232:skgpu::ganesh::OpsTask::OpsTask\28GrDrawingManager*\2c\20GrSurfaceProxyView\2c\20GrAuditTrail*\2c\20sk_sp\29 +5233:skgpu::ganesh::OpsTask::OpChain::tryConcat\28skgpu::ganesh::OpsTask::OpChain::List*\2c\20GrProcessorSet::Analysis\2c\20GrDstProxyView\20const&\2c\20GrAppliedClip\20const*\2c\20SkRect\20const&\2c\20GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrAuditTrail*\29 +5234:skgpu::ganesh::OpsTask::OpChain::OpChain\28std::__2::unique_ptr>\2c\20GrProcessorSet::Analysis\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const*\29 +5235:skgpu::ganesh::MakeFragmentProcessorFromView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +5236:skgpu::ganesh::LockTextureProxyView\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20GrImageTexGenPolicy\2c\20skgpu::Mipmapped\29 +5237:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29 +5238:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::NonAALatticeOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20sk_sp\2c\20SkFilterMode\2c\20std::__2::unique_ptr>\2c\20SkRect\20const&\29 +5239:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29 +5240:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::can_use_hw_derivatives_with_coverage\28skvx::Vec<2\2c\20float>\20const&\2c\20SkPoint\20const&\29 +5241:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29 +5242:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Make\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20GrAA\29 +5243:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::FillRRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20SkRRect\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::LocalCoords\20const&\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29 +5244:skgpu::ganesh::DrawableOp::~DrawableOp\28\29 +5245:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29 +5246:skgpu::ganesh::DrawAtlasPathOp::prepareProgram\28GrCaps\20const&\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +5247:skgpu::ganesh::Device::~Device\28\29 +5248:skgpu::ganesh::Device::replaceBackingProxy\28SkSurface::ContentChangeMode\2c\20sk_sp\2c\20GrColorType\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20SkSurfaceProps\20const&\29 +5249:skgpu::ganesh::Device::makeSpecial\28SkBitmap\20const&\29 +5250:skgpu::ganesh::Device::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +5251:skgpu::ganesh::Device::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +5252:skgpu::ganesh::Device::drawEdgeAAImage\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20SkTileMode\29 +5253:skgpu::ganesh::Device::convertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +5254:skgpu::ganesh::Device::android_utils_clipAsRgn\28SkRegion*\29\20const +5255:skgpu::ganesh::DefaultPathRenderer::internalDrawPath\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrPaint&&\2c\20GrAAType\2c\20GrUserStencilSettings\20const&\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20bool\29 +5256:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +5257:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29 +5258:skgpu::ganesh::CopyView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\2c\20std::__2::basic_string_view>\29 +5259:skgpu::ganesh::ClipStack::clipPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrAA\2c\20SkClipOp\29 +5260:skgpu::ganesh::ClipStack::begin\28\29\20const +5261:skgpu::ganesh::ClipStack::SaveRecord::removeElements\28SkTBlockList*\29 +5262:skgpu::ganesh::ClipStack::RawElement::clipType\28\29\20const +5263:skgpu::ganesh::ClipStack::Mask::invalidate\28GrProxyProvider*\29 +5264:skgpu::ganesh::ClipStack::ElementIter::operator++\28\29 +5265:skgpu::ganesh::ClipStack::Element::Element\28skgpu::ganesh::ClipStack::Element\20const&\29 +5266:skgpu::ganesh::ClipStack::Draw::Draw\28SkRect\20const&\2c\20GrAA\29 +5267:skgpu::ganesh::ClearOp::ClearOp\28skgpu::ganesh::ClearOp::Buffer\2c\20GrScissorState\20const&\2c\20std::__2::array\2c\20bool\29 +5268:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29 +5269:skgpu::ganesh::AtlasTextOp::operator\20new\28unsigned\20long\29 +5270:skgpu::ganesh::AtlasTextOp::onPrepareDraws\28GrMeshDrawTarget*\29::$_0::operator\28\29\28\29\20const +5271:skgpu::ganesh::AtlasTextOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +5272:skgpu::ganesh::AtlasTextOp::ClassID\28\29 +5273:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29 +5274:skgpu::ganesh::AtlasRenderTask::stencilAtlasRect\28GrRecordingContext*\2c\20SkRect\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrUserStencilSettings\20const*\29 +5275:skgpu::ganesh::AtlasRenderTask::readView\28GrCaps\20const&\29\20const +5276:skgpu::ganesh::AtlasRenderTask::instantiate\28GrOnFlushResourceProvider*\2c\20sk_sp\29 +5277:skgpu::ganesh::AtlasRenderTask::addPath\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIPoint\2c\20int\2c\20int\2c\20bool\2c\20SkIPoint16*\29 +5278:skgpu::ganesh::AtlasRenderTask::addAtlasDrawOp\28std::__2::unique_ptr>\2c\20GrCaps\20const&\29 +5279:skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +5280:skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +5281:skgpu::ganesh::AtlasPathRenderer::pathFitsInAtlas\28SkRect\20const&\2c\20GrAAType\29\20const +5282:skgpu::ganesh::AtlasPathRenderer::addPathToAtlas\28GrRecordingContext*\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRect\20const&\2c\20SkIRect*\2c\20SkIPoint16*\2c\20bool*\2c\20std::__2::function\20const&\29 +5283:skgpu::ganesh::AtlasPathRenderer::AtlasPathKey::operator==\28skgpu::ganesh::AtlasPathRenderer::AtlasPathKey\20const&\29\20const +5284:skgpu::ganesh::AsFragmentProcessor\28GrRecordingContext*\2c\20SkImage\20const*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29 +5285:skgpu::TiledTextureUtils::OptimizeSampleArea\28SkISize\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkPoint\20const*\2c\20SkRect*\2c\20SkRect*\2c\20SkMatrix*\29 +5286:skgpu::TiledTextureUtils::CanDisableMipmap\28SkMatrix\20const&\2c\20SkMatrix\20const&\29 +5287:skgpu::TClientMappedBufferManager::process\28\29 +5288:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29 +5289:skgpu::TAsyncReadResult::count\28\29\20const +5290:skgpu::TAsyncReadResult::Plane::~Plane\28\29 +5291:skgpu::Swizzle::RGB1\28\29 +5292:skgpu::Swizzle::BGRA\28\29 +5293:skgpu::ScratchKey::ScratchKey\28skgpu::ScratchKey\20const&\29 +5294:skgpu::ResourceKey::operator=\28skgpu::ResourceKey\20const&\29 +5295:skgpu::RefCntedCallback::Make\28void\20\28*\29\28void*\29\2c\20void*\29 +5296:skgpu::RectanizerSkyline::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +5297:skgpu::RectanizerSkyline::RectanizerSkyline\28int\2c\20int\29 +5298:skgpu::Plot::~Plot\28\29 +5299:skgpu::Plot::resetRects\28\29 +5300:skgpu::Plot::Plot\28int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20SkColorType\2c\20unsigned\20long\29 +5301:skgpu::KeyBuilder::flush\28\29 +5302:skgpu::KeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +5303:skgpu::GetReducedBlendModeInfo\28SkBlendMode\29 +5304:skgpu::GetApproxSize\28SkISize\29::$_0::operator\28\29\28int\29\20const +5305:skgpu::CreateIntegralTable\28int\29 +5306:skgpu::ComputeIntegralTableWidth\28float\29 +5307:skgpu::AtlasLocator::updatePlotLocator\28skgpu::PlotLocator\29 +5308:skgpu::AtlasLocator::insetSrc\28int\29 +5309:skcms_Matrix3x3_invert +5310:sk_sp::~sk_sp\28\29 +5311:sk_sp<\28anonymous\20namespace\29::UniqueKeyInvalidator>\20sk_make_sp<\28anonymous\20namespace\29::UniqueKeyInvalidator\2c\20skgpu::UniqueKey&\2c\20unsigned\20int>\28skgpu::UniqueKey&\2c\20unsigned\20int&&\29 +5312:sk_sp<\28anonymous\20namespace\29::ShadowInvalidator>\20sk_make_sp<\28anonymous\20namespace\29::ShadowInvalidator\2c\20SkResourceCache::Key&>\28SkResourceCache::Key&\29 +5313:sk_sp::operator=\28sk_sp\20const&\29 +5314:sk_sp&\20std::__2::vector\2c\20std::__2::allocator>>::emplace_back>\28sk_sp&&\29 +5315:sk_sp\20sk_make_sp>\28sk_sp&&\29 +5316:sk_sp::~sk_sp\28\29 +5317:sk_sp::sk_sp\28sk_sp\20const&\29 +5318:sk_sp::operator=\28sk_sp&&\29 +5319:sk_sp::reset\28SkData\20const*\29 +5320:sk_sp::operator=\28sk_sp\20const&\29 +5321:sk_sp::operator=\28sk_sp\20const&\29 +5322:sk_sp::operator=\28sk_sp&&\29 +5323:sk_sp\20sk_make_sp\2c\20float\2c\20sk_sp>\28sk_sp&&\2c\20float&&\2c\20sk_sp&&\29 +5324:sk_sp::~sk_sp\28\29 +5325:sk_sp&\20sk_sp::operator=\28sk_sp&&\29 +5326:sk_sp::reset\28GrSurface::RefCntedReleaseProc*\29 +5327:sk_sp::operator=\28sk_sp&&\29 +5328:sk_sp::~sk_sp\28\29 +5329:sk_sp::operator=\28sk_sp&&\29 +5330:sk_sp::~sk_sp\28\29 +5331:sk_sp\20sk_make_sp\28\29 +5332:sk_sp::reset\28GrArenas*\29 +5333:sk_ft_free\28FT_MemoryRec_*\2c\20void*\29 +5334:sk_fopen\28char\20const*\2c\20SkFILE_Flags\29 +5335:sk_fgetsize\28_IO_FILE*\29 +5336:sk_determinant\28float\20const*\2c\20int\29 +5337:sk_blit_below\28SkBlitter*\2c\20SkIRect\20const&\2c\20SkRegion\20const&\29 +5338:sk_blit_above\28SkBlitter*\2c\20SkIRect\20const&\2c\20SkRegion\20const&\29 +5339:sid_to_gid_t\20const*\20hb_sorted_array_t::bsearch\28unsigned\20int\20const&\2c\20sid_to_gid_t\20const*\29 +5340:short\20sk_saturate_cast\28float\29 +5341:sharp_angle\28SkPoint\20const*\29 +5342:setup_masks_arabic_plan\28arabic_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_script_t\29 +5343:set_points\28float*\2c\20int*\2c\20int\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20float\2c\20float\2c\20bool\29 +5344:set_normal_unitnormal\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +5345:set_khr_debug_label\28GrGLGpu*\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +5346:setThrew +5347:setEmptyCheck\28SkRegion*\29 +5348:serialize_image\28SkImage\20const*\2c\20SkSerialProcs\29 +5349:sem_trywait +5350:sem_init +5351:sect_clamp_with_vertical\28SkPoint\20const*\2c\20float\29 +5352:scanexp +5353:scalbnl +5354:safe_picture_bounds\28SkRect\20const&\29 +5355:rt_has_msaa_render_buffer\28GrGLRenderTarget\20const*\2c\20GrGLCaps\20const&\29 +5356:rrect_type_to_vert_count\28RRectType\29 +5357:row_is_all_zeros\28unsigned\20char\20const*\2c\20int\29 +5358:round_up_to_int\28float\29 +5359:round_down_to_int\28float\29 +5360:rotate\28SkDCubic\20const&\2c\20int\2c\20int\2c\20SkDCubic&\29 +5361:rewind_if_necessary\28GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29 +5362:resolveImplicitLevels\28UBiDi*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +5363:renderbuffer_storage_msaa\28GrGLGpu*\2c\20int\2c\20unsigned\20int\2c\20int\2c\20int\29 +5364:remove_edge_below\28GrTriangulator::Edge*\29 +5365:remove_edge_above\28GrTriangulator::Edge*\29 +5366:reductionLineCount\28SkDQuad\20const&\29 +5367:recursive_edge_intersect\28GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Line\20const&\2c\20SkPoint\2c\20SkPoint\2c\20SkPoint*\2c\20double*\2c\20double*\29 +5368:rect_exceeds\28SkRect\20const&\2c\20float\29 +5369:reclassify_vertex\28TriangulationVertex*\2c\20SkPoint\20const*\2c\20int\2c\20ReflexHash*\2c\20SkTInternalLList*\29 +5370:radii_are_nine_patch\28SkPoint\20const*\29 +5371:quad_type_for_transformed_rect\28SkMatrix\20const&\29 +5372:quad_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5373:quad_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5374:quad_in_line\28SkPoint\20const*\29 +5375:pthread_mutex_destroy +5376:pthread_cond_broadcast +5377:psh_hint_table_record +5378:psh_hint_table_init +5379:psh_hint_table_find_strong_points +5380:psh_hint_table_done +5381:psh_hint_table_activate_mask +5382:psh_hint_align +5383:psh_glyph_load_points +5384:psh_globals_scale_widths +5385:psh_compute_dir +5386:psh_blues_set_zones_0 +5387:psh_blues_set_zones +5388:ps_table_realloc +5389:ps_parser_to_token_array +5390:ps_parser_load_field +5391:ps_mask_table_last +5392:ps_mask_table_done +5393:ps_hints_stem +5394:ps_dimension_end +5395:ps_dimension_done +5396:ps_dimension_add_t1stem +5397:ps_builder_start_point +5398:ps_builder_close_contour +5399:ps_builder_add_point1 +5400:printf_core +5401:prepare_to_draw_into_mask\28SkRect\20const&\2c\20SkMaskBuilder*\29 +5402:position_cluster\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\29 +5403:portable::uniform_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5404:portable::set_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5405:portable::copy_from_indirect_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5406:portable::copy_2_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5407:portable::check_decal_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5408:pop_arg +5409:pointInTriangle\28SkDPoint\20const*\2c\20SkDPoint\20const&\29 +5410:pntz +5411:png_rtran_ok +5412:png_malloc_array_checked +5413:png_inflate +5414:png_format_buffer +5415:png_decompress_chunk +5416:png_colorspace_check_gamma +5417:png_cache_unknown_chunk +5418:pin_offset_s32\28int\2c\20int\2c\20int\29 +5419:path_key_from_data_size\28SkPath\20const&\29 +5420:parse_private_use_subtag\28char\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20char\20const*\2c\20unsigned\20char\20\28*\29\28unsigned\20char\29\29 +5421:paint_color_to_dst\28SkPaint\20const&\2c\20SkPixmap\20const&\29 +5422:operator==\28SkRect\20const&\2c\20SkRect\20const&\29 +5423:operator==\28SkRRect\20const&\2c\20SkRRect\20const&\29 +5424:operator==\28SkPaint\20const&\2c\20SkPaint\20const&\29 +5425:operator!=\28SkRRect\20const&\2c\20SkRRect\20const&\29 +5426:open_face +5427:on_same_side\28SkPoint\20const*\2c\20int\2c\20int\29 +5428:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::~TransformedMaskSubRun\28\29.1 +5429:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::~TransformedMaskSubRun\28\29 +5430:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +5431:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::glyphs\28\29\20const +5432:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29.1 +5433:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +5434:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::size\28\29\20const +5435:non-virtual\20thunk\20to\20SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +5436:move_multiples\28SkOpContourHead*\29 +5437:mono_cubic_closestT\28float\20const*\2c\20float\29 +5438:mbsrtowcs +5439:matchesEnd\28SkDPoint\20const*\2c\20SkDPoint\20const&\29 +5440:map_rect_perspective\28SkRect\20const&\2c\20float\20const*\29::$_0::operator\28\29\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29\20const::'lambda'\28skvx::Vec<4\2c\20float>\20const&\29::operator\28\29\28skvx::Vec<4\2c\20float>\20const&\29\20const +5441:map_quad_to_rect\28SkRSXform\20const&\2c\20SkRect\20const&\29 +5442:map_quad_general\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20SkMatrix\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +5443:make_xrect\28SkRect\20const&\29 +5444:make_tiled_gradient\28GrFPArgs\20const&\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20bool\2c\20bool\29 +5445:make_premul_effect\28std::__2::unique_ptr>\29 +5446:make_paint_with_image\28SkPaint\20const&\2c\20SkBitmap\20const&\2c\20SkSamplingOptions\20const&\2c\20SkMatrix*\29 +5447:make_dual_interval_colorizer\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20float\29 +5448:make_clamped_gradient\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20bool\29 +5449:make_bmp_proxy\28GrProxyProvider*\2c\20SkBitmap\20const&\2c\20GrColorType\2c\20skgpu::Mipmapped\2c\20SkBackingFit\2c\20skgpu::Budgeted\29 +5450:long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +5451:long\20long\20std::__2::__num_get_signed_integral\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\2c\20int\29 +5452:long\20double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +5453:log2f_\28float\29 +5454:load_post_names +5455:line_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5456:line_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5457:lineMetrics_getLineNumber +5458:lineMetrics_getHardBreak +5459:lineBreakBuffer_free +5460:lin_srgb_to_oklab\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +5461:lang_find_or_insert\28char\20const*\29 +5462:is_zero_width_char\28hb_font_t*\2c\20unsigned\20int\29 +5463:is_simple_rect\28GrQuad\20const&\29 +5464:is_plane_config_compatible_with_subsampling\28SkYUVAInfo::PlaneConfig\2c\20SkYUVAInfo::Subsampling\29 +5465:is_overlap_edge\28GrTriangulator::Edge*\29 +5466:is_int\28float\29 +5467:is_halant_use\28hb_glyph_info_t\20const&\29 +5468:is_float_fp32\28GrGLContextInfo\20const&\2c\20GrGLInterface\20const*\2c\20unsigned\20int\29 +5469:iprintf +5470:invalidate_buffer\28GrGLGpu*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20long\29 +5471:interp_cubic_coords\28double\20const*\2c\20double*\2c\20double\29 +5472:int\20SkRecords::Pattern>::matchFirst>\28SkRecords::Is*\2c\20SkRecord*\2c\20int\29 +5473:int\20OT::IntType::cmp\28unsigned\20int\29\20const +5474:inside_triangle\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\29 +5475:init_mparams +5476:inflateEnd +5477:image_ref +5478:image_getWidth +5479:hb_vector_t::resize\28int\2c\20bool\2c\20bool\29 +5480:hb_vector_t\2c\20false>::shrink_vector\28unsigned\20int\29 +5481:hb_vector_t\2c\20false>::resize\28int\2c\20bool\2c\20bool\29 +5482:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +5483:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +5484:hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +5485:hb_vector_t::pop\28\29 +5486:hb_vector_t\2c\20false>::shrink_vector\28unsigned\20int\29 +5487:hb_vector_t\2c\20false>::fini\28\29 +5488:hb_vector_t::shrink_vector\28unsigned\20int\29 +5489:hb_vector_t::fini\28\29 +5490:hb_unicode_mirroring_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +5491:hb_unicode_funcs_t::is_default_ignorable\28unsigned\20int\29 +5492:hb_unicode_funcs_get_default +5493:hb_tag_from_string +5494:hb_shape_plan_key_t::init\28bool\2c\20hb_face_t*\2c\20hb_segment_properties_t\20const*\2c\20hb_feature_t\20const*\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20char\20const*\20const*\29 +5495:hb_shape_plan_key_t::fini\28\29 +5496:hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>::may_have\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>\20const&\29\20const +5497:hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>::add\28hb_set_digest_combiner_t\2c\20hb_set_digest_combiner_t\2c\20hb_set_digest_bits_pattern_t>>\20const&\29 +5498:hb_serialize_context_t::fini\28\29 +5499:hb_sanitize_context_t::return_t\20OT::Context::dispatch\28hb_sanitize_context_t*\29\20const +5500:hb_sanitize_context_t::return_t\20OT::ChainContext::dispatch\28hb_sanitize_context_t*\29\20const +5501:hb_paint_funcs_t::sweep_gradient\28void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5502:hb_paint_funcs_t::radial_gradient\28void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5503:hb_paint_funcs_t::push_skew\28void*\2c\20float\2c\20float\29 +5504:hb_paint_funcs_t::push_rotate\28void*\2c\20float\29 +5505:hb_paint_funcs_t::push_root_transform\28void*\2c\20hb_font_t\20const*\29 +5506:hb_paint_funcs_t::push_inverse_root_transform\28void*\2c\20hb_font_t*\29 +5507:hb_paint_funcs_t::push_group\28void*\29 +5508:hb_paint_funcs_t::pop_group\28void*\2c\20hb_paint_composite_mode_t\29 +5509:hb_paint_funcs_t::linear_gradient\28void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5510:hb_paint_extents_paint_linear_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +5511:hb_paint_extents_get_funcs\28\29 +5512:hb_paint_extents_context_t::~hb_paint_extents_context_t\28\29 +5513:hb_paint_extents_context_t::pop_clip\28\29 +5514:hb_paint_extents_context_t::hb_paint_extents_context_t\28\29 +5515:hb_ot_map_t::fini\28\29 +5516:hb_ot_map_builder_t::add_pause\28unsigned\20int\2c\20bool\20\28*\29\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29\29 +5517:hb_ot_map_builder_t::add_lookups\28hb_ot_map_t&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20unsigned\20int\29 +5518:hb_ot_layout_has_substitution +5519:hb_ot_font_set_funcs +5520:hb_lazy_loader_t\2c\20hb_face_t\2c\2038u\2c\20OT::sbix_accelerator_t>::get_stored\28\29\20const +5521:hb_lazy_loader_t\2c\20hb_face_t\2c\207u\2c\20OT::post_accelerator_t>::get_stored\28\29\20const +5522:hb_lazy_loader_t\2c\20hb_face_t\2c\207u\2c\20OT::post_accelerator_t>::do_destroy\28OT::post_accelerator_t*\29 +5523:hb_lazy_loader_t\2c\20hb_face_t\2c\2023u\2c\20hb_blob_t>::get_stored\28\29\20const +5524:hb_lazy_loader_t\2c\20hb_face_t\2c\205u\2c\20OT::hmtx_accelerator_t>::get_stored\28\29\20const +5525:hb_lazy_loader_t\2c\20hb_face_t\2c\2021u\2c\20OT::gvar_accelerator_t>::do_destroy\28OT::gvar_accelerator_t*\29 +5526:hb_lazy_loader_t\2c\20hb_face_t\2c\2015u\2c\20OT::glyf_accelerator_t>::do_destroy\28OT::glyf_accelerator_t*\29 +5527:hb_lazy_loader_t\2c\20hb_face_t\2c\203u\2c\20OT::cmap_accelerator_t>::do_destroy\28OT::cmap_accelerator_t*\29 +5528:hb_lazy_loader_t\2c\20hb_face_t\2c\2017u\2c\20OT::cff2_accelerator_t>::get_stored\28\29\20const +5529:hb_lazy_loader_t\2c\20hb_face_t\2c\2017u\2c\20OT::cff2_accelerator_t>::do_destroy\28OT::cff2_accelerator_t*\29 +5530:hb_lazy_loader_t\2c\20hb_face_t\2c\2016u\2c\20OT::cff1_accelerator_t>::do_destroy\28OT::cff1_accelerator_t*\29 +5531:hb_lazy_loader_t\2c\20hb_face_t\2c\2019u\2c\20hb_blob_t>::get\28\29\20const +5532:hb_lazy_loader_t\2c\20hb_face_t\2c\2024u\2c\20OT::GDEF_accelerator_t>::do_destroy\28OT::GDEF_accelerator_t*\29 +5533:hb_lazy_loader_t\2c\20hb_face_t\2c\2035u\2c\20hb_blob_t>::get\28\29\20const +5534:hb_lazy_loader_t\2c\20hb_face_t\2c\2037u\2c\20OT::CBDT_accelerator_t>::get_stored\28\29\20const +5535:hb_lazy_loader_t\2c\20hb_face_t\2c\2037u\2c\20OT::CBDT_accelerator_t>::do_destroy\28OT::CBDT_accelerator_t*\29 +5536:hb_lazy_loader_t\2c\20hb_face_t\2c\2032u\2c\20hb_blob_t>::get\28\29\20const +5537:hb_lazy_loader_t\2c\20hb_face_t\2c\2028u\2c\20hb_blob_t>::get_stored\28\29\20const +5538:hb_lazy_loader_t\2c\20hb_face_t\2c\2028u\2c\20hb_blob_t>::get\28\29\20const +5539:hb_lazy_loader_t\2c\20hb_face_t\2c\2029u\2c\20hb_blob_t>::get_stored\28\29\20const +5540:hb_lazy_loader_t\2c\20hb_face_t\2c\2029u\2c\20hb_blob_t>::get\28\29\20const +5541:hb_lazy_loader_t\2c\20hb_face_t\2c\2033u\2c\20hb_blob_t>::get\28\29\20const +5542:hb_lazy_loader_t\2c\20hb_face_t\2c\2030u\2c\20hb_blob_t>::get_stored\28\29\20const +5543:hb_language_matches +5544:hb_iter_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>\2c\20hb_pair_t>>::operator-=\28unsigned\20int\29\20& +5545:hb_iter_t\2c\20hb_filter_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>>\2c\20hb_pair_t>>::operator+=\28unsigned\20int\29\20& +5546:hb_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20hb_pair_t>::operator++\28\29\20& +5547:hb_iter_t\2c\20hb_array_t>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_glyph_info_t\20const&\29\2c\20$_6\20const&\2c\20\28void*\290>\2c\20find_syllables_use\28hb_buffer_t*\29::'lambda'\28hb_pair_t\29\2c\20$_5\20const&\2c\20\28void*\290>\2c\20hb_pair_t>::operator--\28\29\20& +5548:hb_indic_get_categories\28unsigned\20int\29 +5549:hb_hashmap_t::fetch_item\28unsigned\20int\20const&\2c\20unsigned\20int\29\20const +5550:hb_hashmap_t::fetch_item\28hb_serialize_context_t::object_t\20const*\20const&\2c\20unsigned\20int\29\20const +5551:hb_font_t::subtract_glyph_origin_for_direction\28unsigned\20int\2c\20hb_direction_t\2c\20int*\2c\20int*\29 +5552:hb_font_t::subtract_glyph_h_origin\28unsigned\20int\2c\20int*\2c\20int*\29 +5553:hb_font_t::guess_v_origin_minus_h_origin\28unsigned\20int\2c\20int*\2c\20int*\29 +5554:hb_font_t::get_variation_glyph\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\29 +5555:hb_font_t::get_glyph_v_origin_with_fallback\28unsigned\20int\2c\20int*\2c\20int*\29 +5556:hb_font_t::get_glyph_v_kerning\28unsigned\20int\2c\20unsigned\20int\29 +5557:hb_font_t::get_glyph_h_kerning\28unsigned\20int\2c\20unsigned\20int\29 +5558:hb_font_t::get_glyph_contour_point\28unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\29 +5559:hb_font_t::get_font_h_extents\28hb_font_extents_t*\29 +5560:hb_font_t::draw_glyph\28unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\29 +5561:hb_font_set_variations +5562:hb_font_set_funcs +5563:hb_font_get_variation_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +5564:hb_font_get_font_h_extents_nil\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +5565:hb_font_funcs_set_variation_glyph_func +5566:hb_font_funcs_set_nominal_glyphs_func +5567:hb_font_funcs_set_nominal_glyph_func +5568:hb_font_funcs_set_glyph_h_advances_func +5569:hb_font_funcs_set_glyph_extents_func +5570:hb_font_funcs_create +5571:hb_font_destroy +5572:hb_face_destroy +5573:hb_face_create_for_tables +5574:hb_draw_move_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +5575:hb_draw_funcs_t::emit_move_to\28void*\2c\20hb_draw_state_t&\2c\20float\2c\20float\29 +5576:hb_draw_funcs_set_quadratic_to_func +5577:hb_draw_funcs_set_move_to_func +5578:hb_draw_funcs_set_line_to_func +5579:hb_draw_funcs_set_cubic_to_func +5580:hb_draw_funcs_destroy +5581:hb_draw_funcs_create +5582:hb_draw_extents_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +5583:hb_cache_t<24u\2c\2016u\2c\208u\2c\20true>::clear\28\29 +5584:hb_buffer_t::sort\28unsigned\20int\2c\20unsigned\20int\2c\20int\20\28*\29\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29\29 +5585:hb_buffer_t::safe_to_insert_tatweel\28unsigned\20int\2c\20unsigned\20int\29 +5586:hb_buffer_t::next_glyphs\28unsigned\20int\29 +5587:hb_buffer_t::message_impl\28hb_font_t*\2c\20char\20const*\2c\20void*\29 +5588:hb_buffer_t::delete_glyphs_inplace\28bool\20\28*\29\28hb_glyph_info_t\20const*\29\29 +5589:hb_buffer_t::clear\28\29 +5590:hb_buffer_t::add\28unsigned\20int\2c\20unsigned\20int\29 +5591:hb_buffer_get_glyph_positions +5592:hb_buffer_diff +5593:hb_buffer_clear_contents +5594:hb_buffer_add_utf8 +5595:hb_bounds_t::union_\28hb_bounds_t\20const&\29 +5596:hb_blob_t::destroy_user_data\28\29 +5597:hb_blob_t*\20hb_sanitize_context_t::sanitize_blob\28hb_blob_t*\29 +5598:hb_array_t::hash\28\29\20const +5599:hb_array_t::cmp\28hb_array_t\20const&\29\20const +5600:hb_array_t>::qsort\28int\20\28*\29\28void\20const*\2c\20void\20const*\29\29 +5601:hb_array_t::__next__\28\29 +5602:hb_aat_map_builder_t::feature_info_t\20const*\20hb_vector_t::bsearch\28hb_aat_map_builder_t::feature_info_t\20const&\2c\20hb_aat_map_builder_t::feature_info_t\20const*\29\20const +5603:hb_aat_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +5604:hb_aat_map_builder_t::feature_info_t::cmp\28hb_aat_map_builder_t::feature_info_t\20const&\29\20const +5605:hb_aat_layout_remove_deleted_glyphs\28hb_buffer_t*\29 +5606:has_msaa_render_buffer\28GrSurfaceProxy\20const*\2c\20GrGLCaps\20const&\29 +5607:hair_cubic\28SkPoint\20const*\2c\20SkRegion\20const*\2c\20SkBlitter*\2c\20void\20\28*\29\28SkPoint\20const*\2c\20int\2c\20SkRegion\20const*\2c\20SkBlitter*\29\29 +5608:getint +5609:get_win_string +5610:get_tasks_for_thread +5611:get_paint\28GrAA\2c\20unsigned\20char\29 +5612:get_layer_mapping_and_bounds\28SkSpan>\2c\20SkMatrix\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\2c\20float\29::$_0::operator\28\29\28int\29\20const +5613:get_dst_swizzle_and_store\28GrColorType\2c\20SkRasterPipelineOp*\2c\20LumMode*\2c\20bool*\2c\20bool*\29 +5614:get_driver_and_version\28GrGLStandard\2c\20GrGLVendor\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +5615:get_apple_string +5616:getSingleRun\28UBiDi*\2c\20unsigned\20char\29 +5617:getRunFromLogicalIndex\28UBiDi*\2c\20int\29 +5618:getMirror\28int\2c\20unsigned\20short\29\20\28.8867\29 +5619:geometric_overlap\28SkRect\20const&\2c\20SkRect\20const&\29 +5620:geometric_contains\28SkRect\20const&\2c\20SkRect\20const&\29 +5621:gen_key\28skgpu::KeyBuilder*\2c\20GrProgramInfo\20const&\2c\20GrCaps\20const&\29 +5622:gen_fp_key\28GrFragmentProcessor\20const&\2c\20GrCaps\20const&\2c\20skgpu::KeyBuilder*\29 +5623:gather_uniforms_and_check_for_main\28SkSL::Program\20const&\2c\20std::__2::vector>*\2c\20std::__2::vector>*\2c\20SkRuntimeEffect::Uniform::Flags\2c\20unsigned\20long*\29 +5624:fwrite +5625:ft_var_to_normalized +5626:ft_var_load_item_variation_store +5627:ft_var_load_hvvar +5628:ft_var_load_avar +5629:ft_var_get_value_pointer +5630:ft_var_get_item_delta +5631:ft_var_apply_tuple +5632:ft_set_current_renderer +5633:ft_recompute_scaled_metrics +5634:ft_mem_strcpyn +5635:ft_mem_dup +5636:ft_hash_num_lookup +5637:ft_gzip_alloc +5638:ft_glyphslot_preset_bitmap +5639:ft_glyphslot_done +5640:ft_corner_orientation +5641:ft_corner_is_flat +5642:ft_cmap_done_internal +5643:frexp +5644:fread +5645:fquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +5646:fp_force_eval +5647:fp_barrier +5648:formulate_F1DotF2\28float\20const*\2c\20float*\29 +5649:formulate_F1DotF2\28double\20const*\2c\20double*\29 +5650:format_alignment\28SkMask::Format\29 +5651:format1_names\28unsigned\20int\29 +5652:fopen +5653:fold_opacity_layer_color_to_paint\28SkPaint\20const*\2c\20bool\2c\20SkPaint*\29 +5654:fmodl +5655:float\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +5656:float\20const*\20std::__2::min_element\5babi:v160004\5d>\28float\20const*\2c\20float\20const*\2c\20std::__2::__less\29 +5657:float\20const*\20std::__2::max_element\5babi:v160004\5d>\28float\20const*\2c\20float\20const*\2c\20std::__2::__less\29 +5658:fline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +5659:first_axis_intersection\28double\20const*\2c\20bool\2c\20double\2c\20double*\29 +5660:fiprintf +5661:find_unicode_charmap +5662:find_diff_pt\28SkPoint\20const*\2c\20int\2c\20int\2c\20int\29 +5663:find_a8_rowproc_pair\28SkBlendMode\29 +5664:fillable\28SkRect\20const&\29 +5665:fileno +5666:fcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +5667:fconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +5668:exp2f_\28float\29 +5669:eval_cubic_pts\28float\2c\20float\2c\20float\2c\20float\2c\20float\29 +5670:eval_cubic_derivative\28SkPoint\20const*\2c\20float\29 +5671:emscripten_async_run_in_main_thread +5672:emptyOnNull\28sk_sp&&\29 +5673:em_task_queue_free +5674:em_task_queue_enqueue +5675:em_task_queue_dequeue +5676:em_task_queue_create +5677:em_task_queue_cancel +5678:em_queued_call_malloc +5679:elliptical_effect_uses_scale\28GrShaderCaps\20const&\2c\20SkRRect\20const&\29 +5680:edges_too_close\28SkAnalyticEdge*\2c\20SkAnalyticEdge*\2c\20int\29 +5681:edge_line_needs_recursion\28SkPoint\20const&\2c\20SkPoint\20const&\29 +5682:eat_space_sep_strings\28skia_private::TArray*\2c\20char\20const*\29 +5683:draw_rect_as_path\28SkDrawBase\20const&\2c\20SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\29 +5684:draw_nine\28SkMask\20const&\2c\20SkIRect\20const&\2c\20SkIPoint\20const&\2c\20bool\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +5685:dquad_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +5686:double\20std::__2::__num_get_float\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20unsigned\20int&\29 +5687:do_fixed +5688:do_dispatch_to_thread +5689:doWriteReverse\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +5690:doWriteForward\28char16_t\20const*\2c\20int\2c\20char16_t*\2c\20int\2c\20unsigned\20short\2c\20UErrorCode*\29 +5691:dline_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +5692:distance_to_sentinel\28int\20const*\29 +5693:dispose_chunk +5694:diff_to_shift\28int\2c\20int\2c\20int\29 +5695:destroy_size +5696:destroy_charmaps +5697:demangling_terminate_handler\28\29 +5698:decompose_current_character\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\29 +5699:decompose\28hb_ot_shape_normalize_context_t\20const*\2c\20bool\2c\20unsigned\20int\29 +5700:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::Make\28SkArenaAlloc*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5701:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&\2c\20skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathCurveTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5702:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::MeshGP::Make\28SkArenaAlloc*\2c\20sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5703:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker\2c\20int&>\28int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5704:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkShaderBase&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTransformShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5705:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5706:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::UniqueKey\20const&\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29>\28GrThreadSafeCache::Entry&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5707:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrRRectShadowGeoProc::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5708:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28GrQuadEffect::Make\28SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrCaps\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5709:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrPipeline::InitArgs&\2c\20GrProcessorSet&&\2c\20GrAppliedClip&&\29::'lambda'\28void*\29>\28GrPipeline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5710:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldA8TextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20float\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5711:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28CircleGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +5712:decltype\28fp0\28\28SkRecords::NoOp\29\28\29\29\29\20SkRecord::visit\28int\2c\20SkRecords::Draw&\29\20const +5713:decltype\28fp0\28\28SkRecords::NoOp*\29\28nullptr\29\29\29\20SkRecord::mutate\28int\2c\20SkRecord::Destroyer&\29 +5714:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +5715:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>>::__generic_construct\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__ctor\2c\20std::__2::unique_ptr>>>&\2c\20std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&>\28std::__2::__variant_detail::__move_constructor\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&&\29 +5716:dcubic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +5717:dcubic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +5718:dconic_intersect_ray\28SkDCurve\20const&\2c\20SkDLine\20const&\2c\20SkIntersections*\29 +5719:data_destroy_arabic\28void*\29 +5720:data_create_arabic\28hb_ot_shape_plan_t\20const*\29 +5721:cycle +5722:cubic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5723:cubic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5724:cubic_delta_from_line\28int\2c\20int\2c\20int\2c\20int\29 +5725:crop_simple_rect\28SkRect\20const&\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +5726:crop_rect\28SkRect\20const&\2c\20float*\2c\20float*\2c\20float*\2c\20float*\2c\20float*\29 +5727:count_scalable_pixels\28int\20const*\2c\20int\2c\20bool\2c\20int\2c\20int\29 +5728:copysignl +5729:copy_mask_to_cacheddata\28SkMaskBuilder*\29 +5730:copy_bitmap_subset\28SkBitmap\20const&\2c\20SkIRect\20const&\29 +5731:contour_point_vector_t::extend\28hb_array_t\20const&\29 +5732:contourMeasure_length +5733:conservative_round_to_int\28SkRect\20const&\29 +5734:conic_intercept_v\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5735:conic_intercept_h\28SkPoint\20const*\2c\20float\2c\20float\2c\20double*\29 +5736:conic_eval_tan\28double\20const*\2c\20float\2c\20double\29 +5737:conic_deriv_coeff\28double\20const*\2c\20float\2c\20double*\29 +5738:compute_stroke_size\28SkPaint\20const&\2c\20SkMatrix\20const&\29 +5739:compute_pos_tan\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +5740:compute_normal\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20SkPoint*\29 +5741:compute_intersection\28OffsetSegment\20const&\2c\20OffsetSegment\20const&\2c\20SkPoint*\2c\20float*\2c\20float*\29 +5742:compute_anti_width\28short\20const*\29 +5743:compose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +5744:clip_to_limit\28SkRegion\20const&\2c\20SkRegion*\29 +5745:clip_line\28SkPoint*\2c\20SkRect\20const&\2c\20float\2c\20float\29 +5746:clipHandlesSprite\28SkRasterClip\20const&\2c\20int\2c\20int\2c\20SkPixmap\20const&\29 +5747:clean_sampling_for_constraint\28SkSamplingOptions\20const&\2c\20SkCanvas::SrcRectConstraint\29 +5748:clamp_to_zero\28SkPoint*\29 +5749:clamp\28SkPoint\2c\20SkPoint\2c\20SkPoint\2c\20GrTriangulator::Comparator\20const&\29 +5750:chop_mono_cubic_at_x\28SkPoint*\2c\20float\2c\20SkPoint*\29 +5751:chopMonoQuadAt\28float\2c\20float\2c\20float\2c\20float\2c\20float*\29 +5752:chopMonoQuadAtY\28SkPoint*\2c\20float\2c\20float*\29 +5753:chopMonoQuadAtX\28SkPoint*\2c\20float\2c\20float*\29 +5754:checkint +5755:check_write_and_transfer_input\28GrGLTexture*\29 +5756:check_name\28SkString\20const&\29 +5757:check_backend_texture\28GrBackendTexture\20const&\2c\20GrGLCaps\20const&\2c\20GrGLTexture::Desc*\2c\20bool\29 +5758:char*\20std::__2::copy\5babi:v160004\5d\2c\20char*>\28std::__2::__wrap_iter\2c\20std::__2::__wrap_iter\2c\20char*\29 +5759:char*\20std::__2::copy\5babi:v160004\5d\28char\20const*\2c\20char\20const*\2c\20char*\29 +5760:char*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29 +5761:cff_vstore_done +5762:cff_subfont_load +5763:cff_subfont_done +5764:cff_size_select +5765:cff_parser_run +5766:cff_parser_init +5767:cff_make_private_dict +5768:cff_load_private_dict +5769:cff_index_get_name +5770:cff_glyph_load +5771:cff_get_kerning +5772:cff_get_glyph_data +5773:cff_fd_select_get +5774:cff_charset_compute_cids +5775:cff_builder_init +5776:cff_builder_add_point1 +5777:cff_builder_add_point +5778:cff_builder_add_contour +5779:cff_blend_check_vector +5780:cff_blend_build_vector +5781:cff1_path_param_t::end_path\28\29 +5782:cf2_stack_pop +5783:cf2_hintmask_setCounts +5784:cf2_hintmask_read +5785:cf2_glyphpath_pushMove +5786:cf2_getSeacComponent +5787:cf2_freeSeacComponent +5788:cf2_computeDarkening +5789:cf2_arrstack_setNumElements +5790:cf2_arrstack_push +5791:cbrt +5792:can_use_hw_blend_equation\28skgpu::BlendEquation\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\29 +5793:can_proxy_use_scratch\28GrCaps\20const&\2c\20GrSurfaceProxy*\29 +5794:calculate_path_gap\28float\2c\20float\2c\20SkPath\20const&\29::$_3::operator\28\29\28float\29\20const +5795:calculate_path_gap\28float\2c\20float\2c\20SkPath\20const&\29::$_2::operator\28\29\28float\29\20const +5796:calculate_path_gap\28float\2c\20float\2c\20SkPath\20const&\29::$_0::operator\28\29\28float\29\20const +5797:byn$mgfn-shared$void\20extend_pts<\28SkPaint::Cap\292>\28SkPath::Verb\2c\20SkPath::Verb\2c\20SkPoint*\2c\20int\29 +5798:byn$mgfn-shared$t1_hints_open +5799:byn$mgfn-shared$std::__2::vector>::__base_destruct_at_end\5babi:v160004\5d\28SkString*\29 +5800:byn$mgfn-shared$std::__2::vector>::~vector\5babi:v160004\5d\28\29 +5801:byn$mgfn-shared$std::__2::vector>::__vallocate\5babi:v160004\5d\28unsigned\20long\29 +5802:byn$mgfn-shared$std::__2::unique_ptr\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d\2c\20std::__2::default_delete\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair\2c\20unsigned\20int\2c\20skia_private::THashMap\20\28*\29\28SkReadBuffer&\29\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>>::~unique_ptr\5babi:v160004\5d\28\29 +5803:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +5804:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +5805:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +5806:byn$mgfn-shared$std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +5807:byn$mgfn-shared$std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>::_EnableIfConvertible>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot>::type\20std::__2::default_delete>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot>\28skia_private::THashTable>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair\2c\20std::__2::basic_string_view>\2c\20skia_private::THashMap>\2c\20SkSL::IntrinsicKind\2c\20SkGoodHash>::Pair>::Slot*\29\20const +5808:byn$mgfn-shared$std::__2::default_delete::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::_EnableIfConvertible::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot>::type\20std::__2::default_delete::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot\20\5b\5d>::operator\28\29\5babi:v160004\5d::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot>\28skia_private::THashTable::Pair\2c\20char\20const*\2c\20skia_private::THashMap::Pair>::Slot*\29\20const +5809:byn$mgfn-shared$std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +5810:byn$mgfn-shared$std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +5811:byn$mgfn-shared$std::__2::__split_buffer&>::__split_buffer\28unsigned\20long\2c\20unsigned\20long\2c\20std::__2::allocator&\29 +5812:byn$mgfn-shared$std::__2::__hash_table\2c\20std::__2::__unordered_map_hasher\2c\20std::__2::hash\2c\20std::__2::equal_to\2c\20true>\2c\20std::__2::__unordered_map_equal\2c\20std::__2::equal_to\2c\20std::__2::hash\2c\20true>\2c\20std::__2::allocator>>::__deallocate_node\28std::__2::__hash_node_base\2c\20void*>*>*\29 +5813:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +5814:byn$mgfn-shared$std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +5815:byn$mgfn-shared$skia_private::THashTable::Pair\2c\20SkSL::Variable\20const*\2c\20skia_private::THashMap::Pair>::Iter>::operator++\28\29 +5816:byn$mgfn-shared$skia_private::THashTable::Pair\2c\20SkSL::Symbol\20const*\2c\20skia_private::THashMap::Pair>::firstPopulatedSlot\28\29\20const +5817:byn$mgfn-shared$skia_private::THashMap\2c\20SkGoodHash>::find\28int\20const&\29\20const +5818:byn$mgfn-shared$skia_private::THashMap::find\28SkSL::FunctionDeclaration\20const*\20const&\29\20const +5819:byn$mgfn-shared$skia_private::THashMap>\2c\20SkGoodHash>::find\28SkImageFilter\20const*\20const&\29\20const +5820:byn$mgfn-shared$skia_private::TArray::destroyAll\28\29 +5821:byn$mgfn-shared$skia_private::TArray::checkRealloc\28int\2c\20double\29 +5822:byn$mgfn-shared$skia_private::AutoSTArray<16\2c\20SkRect>::reset\28int\29 +5823:byn$mgfn-shared$skia_private::AutoSTArray<16\2c\20GrMipLevel>::reset\28int\29 +5824:byn$mgfn-shared$skia_png_gamma_8bit_correct +5825:byn$mgfn-shared$skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +5826:byn$mgfn-shared$setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +5827:byn$mgfn-shared$precisely_between\28double\2c\20double\2c\20double\29 +5828:byn$mgfn-shared$portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5829:byn$mgfn-shared$portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5830:byn$mgfn-shared$portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5831:byn$mgfn-shared$portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +5832:byn$mgfn-shared$paint_setImageFilter +5833:byn$mgfn-shared$paint_setColorFilter +5834:byn$mgfn-shared$make_unpremul_effect\28std::__2::unique_ptr>\29 +5835:byn$mgfn-shared$imageFilter_createDilate +5836:byn$mgfn-shared$hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +5837:byn$mgfn-shared$hb_vector_t::alloc\28unsigned\20int\2c\20bool\29 +5838:byn$mgfn-shared$hb_vector_t\2c\20false>::shrink_vector\28unsigned\20int\29 +5839:byn$mgfn-shared$hb_lazy_loader_t\2c\20hb_face_t\2c\204u\2c\20hb_blob_t>::get\28\29\20const +5840:byn$mgfn-shared$gl_target_to_binding_index\28unsigned\20int\29 +5841:byn$mgfn-shared$cf2_stack_pushInt +5842:byn$mgfn-shared$bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5843:byn$mgfn-shared$\28anonymous\20namespace\29::shift_left\28skvx::Vec<4\2c\20float>\20const&\2c\20int\29 +5844:byn$mgfn-shared$\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +5845:byn$mgfn-shared$\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +5846:byn$mgfn-shared$\28anonymous\20namespace\29::BitmapKey::BitmapKey\28SkBitmapCacheDesc\20const&\29 +5847:byn$mgfn-shared$SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +5848:byn$mgfn-shared$SkSL::ProgramUsage::remove\28SkSL::Expression\20const*\29 +5849:byn$mgfn-shared$SkSL::ProgramUsage::add\28SkSL::Statement\20const*\29 +5850:byn$mgfn-shared$SkSL::FunctionReference::clone\28SkSL::Position\29\20const +5851:byn$mgfn-shared$SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +5852:byn$mgfn-shared$SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +5853:byn$mgfn-shared$SkRuntimeEffect::findChild\28std::__2::basic_string_view>\29\20const +5854:byn$mgfn-shared$SkRuntimeEffect::ChildPtr::shader\28\29\20const +5855:byn$mgfn-shared$SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +5856:byn$mgfn-shared$SkRecorder::onDrawPaint\28SkPaint\20const&\29 +5857:byn$mgfn-shared$SkRecorder::didTranslate\28float\2c\20float\29 +5858:byn$mgfn-shared$SkRecorder::didConcat44\28SkM44\20const&\29 +5859:byn$mgfn-shared$SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +5860:byn$mgfn-shared$SkPictureRecord::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +5861:byn$mgfn-shared$SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +5862:byn$mgfn-shared$SkPictureRecord::didConcat44\28SkM44\20const&\29 +5863:byn$mgfn-shared$SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_blur_1D_effect\28int\2c\20SkRuntimeEffect::Options\20const&\29 +5864:byn$mgfn-shared$SkJSONWriter::endArray\28\29 +5865:byn$mgfn-shared$OT::cff1::sanitize\28hb_sanitize_context_t*\29\20const +5866:byn$mgfn-shared$OT::IntType*\20hb_serialize_context_t::extend_min>\28OT::IntType*\29 +5867:byn$mgfn-shared$OT::ArrayOf\2c\20OT::IntType>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +5868:byn$mgfn-shared$OT::ArrayOf\2c\20OT::IntType>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +5869:byn$mgfn-shared$GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +5870:byn$mgfn-shared$BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::Item::operator++\28\29 +5871:byn$mgfn-shared$AAT::StateTable::get_entry\28int\2c\20unsigned\20int\29\20const +5872:byn$mgfn-shared$AAT::StateTable::get_entry\28int\2c\20unsigned\20int\29\20const +5873:byn$mgfn-shared$AAT::Lookup::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +5874:build_key\28skgpu::ResourceKey::Builder*\2c\20GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\29 +5875:build_intervals\28int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const*\2c\20float\20const*\2c\20int\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20SkRGBA4f<\28SkAlphaType\292>*\2c\20float*\29 +5876:bracketProcessChar\28BracketData*\2c\20int\29 +5877:bracketInit\28UBiDi*\2c\20BracketData*\29 +5878:bounds_t::merge\28bounds_t\20const&\29 +5879:bottom_collinear\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\29 +5880:bool\20std::__2::operator==\5babi:v160004\5d>\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +5881:bool\20std::__2::operator==\5babi:v160004\5d\28std::__2::variant\20const&\2c\20std::__2::variant\20const&\29 +5882:bool\20std::__2::operator!=\5babi:v160004\5d\28std::__2::variant\20const&\2c\20std::__2::variant\20const&\29 +5883:bool\20std::__2::__insertion_sort_incomplete\28skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::RunBlock*\2c\20skia::textlayout::OneLineShaper::finish\28skia::textlayout::Block\20const&\2c\20float\2c\20float&\29::$_0&\29 +5884:bool\20std::__2::__insertion_sort_incomplete\28SkSL::ProgramElement\20const**\2c\20SkSL::ProgramElement\20const**\2c\20SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::sortNewElements\28\29::'lambda'\28SkSL::ProgramElement\20const*\2c\20SkSL::ProgramElement\20const*\29&\29 +5885:bool\20std::__2::__insertion_sort_incomplete\28SkSL::FunctionDefinition\20const**\2c\20SkSL::FunctionDefinition\20const**\2c\20SkSL::Transform::FindAndDeclareBuiltinFunctions\28SkSL::Program&\29::$_0&\29 +5886:bool\20set_point_length\28SkPoint*\2c\20float\2c\20float\2c\20float\2c\20float*\29 +5887:bool\20is_parallel\28SkDLine\20const&\2c\20SkTCurve\20const&\29 +5888:bool\20hb_sanitize_context_t::check_array>\28OT::IntType\20const*\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +5889:bool\20hb_sanitize_context_t::check_array\28OT::Index\20const*\2c\20unsigned\20int\29\20const +5890:bool\20hb_sanitize_context_t::check_array\28AAT::Feature\20const*\2c\20unsigned\20int\29\20const +5891:bool\20hb_sanitize_context_t::check_array>\28AAT::Entry\20const*\2c\20unsigned\20int\29\20const +5892:bool\20apply_string\28OT::hb_ot_apply_context_t*\2c\20GSUBProxy::Lookup\20const&\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\29 +5893:bool\20OT::hb_accelerate_subtables_context_t::cache_func_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\2c\20bool\29 +5894:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5895:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5896:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5897:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5898:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5899:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5900:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5901:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5902:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5903:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5904:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5905:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5906:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5907:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5908:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5909:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5910:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5911:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +5912:bool\20OT::chain_context_would_apply_lookup>\28OT::hb_would_apply_context_t*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20unsigned\20int\2c\20OT::IntType\20const*\2c\20unsigned\20int\2c\20OT::LookupRecord\20const*\2c\20OT::ChainContextApplyLookupContext\20const&\29 +5913:bool\20OT::Paint::sanitize<>\28hb_sanitize_context_t*\29\20const +5914:bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5915:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5916:bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5917:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5918:bool\20OT::OffsetTo\2c\20true>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\2c\20unsigned\20int&&\29\20const +5919:bool\20OT::OffsetTo\2c\20true>::serialize_serialize\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&>\28hb_serialize_context_t*\2c\20hb_map_iter_t\2c\20hb_array_t>\2c\20$_7\20const&\2c\20\28hb_function_sortedness_t\291\2c\20\28void*\290>&\29 +5920:bool\20OT::OffsetTo\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5921:bool\20OT::OffsetTo\2c\20true>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\2c\20unsigned\20int&&\29\20const +5922:bool\20OT::OffsetTo\2c\20OT::IntType\2c\20true>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5923:bool\20OT::OffsetTo\2c\20true>::sanitize\28hb_sanitize_context_t*\2c\20void\20const*\2c\20AAT::trak\20const*&&\29\20const +5924:bool\20OT::OffsetTo>\2c\20OT::IntType\2c\20false>::sanitize<>\28hb_sanitize_context_t*\2c\20void\20const*\29\20const +5925:bool\20OT::GSUBGPOS::sanitize\28hb_sanitize_context_t*\29\20const +5926:bool\20OT::GSUBGPOS::sanitize\28hb_sanitize_context_t*\29\20const +5927:bool\20GrTTopoSort_Visit\28GrRenderTask*\2c\20unsigned\20int*\29 +5928:blur_column\28void\20\28*\29\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29\2c\20skvx::Vec<8\2c\20unsigned\20short>\20\28*\29\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29\2c\20int\2c\20int\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20unsigned\20char\20const*\2c\20unsigned\20long\2c\20int\2c\20unsigned\20char*\2c\20unsigned\20long\29 +5929:blit_two_alphas\28AdditiveBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +5930:blit_full_alpha\28AdditiveBlitter*\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20bool\29 +5931:blender_requires_shader\28SkBlender\20const*\29 +5932:bits_to_runs\28SkBlitter*\2c\20int\2c\20int\2c\20unsigned\20char\20const*\2c\20unsigned\20char\2c\20long\2c\20unsigned\20char\29 +5933:between_closed\28double\2c\20double\2c\20double\2c\20double\2c\20bool\29 +5934:barycentric_coords\28float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\2c\20skvx::Vec<4\2c\20float>*\29 +5935:auto\20GrGLProgramBuilder::computeCountsAndStrides\28unsigned\20int\2c\20GrGeometryProcessor\20const&\2c\20bool\29::$_0::operator\28\29\28int\2c\20GrGeometryProcessor::Attribute\20const&\29\20const +5936:auto&&\20std::__2::__generic_get\5babi:v160004\5d<0ul\2c\20std::__2::variant\20const&>\28std::__2::variant\20const&\29 +5937:atanf +5938:are_radius_check_predicates_valid\28float\2c\20float\2c\20float\29 +5939:arabic_fallback_plan_destroy\28arabic_fallback_plan_t*\29 +5940:apply_forward\28OT::hb_ot_apply_context_t*\2c\20OT::hb_ot_layout_lookup_accelerator_t\20const&\2c\20unsigned\20int\29 +5941:apply_fill_type\28SkPathFillType\2c\20int\29 +5942:apply_fill_type\28SkPathFillType\2c\20GrTriangulator::Poly*\29 +5943:apply_alpha_and_colorfilter\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20SkPaint\20const&\29 +5944:append_texture_swizzle\28SkString*\2c\20skgpu::Swizzle\29 +5945:append_multitexture_lookup\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20int\2c\20GrGLSLVarying\20const&\2c\20char\20const*\2c\20char\20const*\29 +5946:append_color_output\28PorterDuffXferProcessor\20const&\2c\20GrGLSLXPFragmentBuilder*\2c\20skgpu::BlendFormula::OutputType\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29 +5947:antifilldot8\28int\2c\20int\2c\20int\2c\20int\2c\20SkBlitter*\2c\20bool\29 +5948:analysis_properties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\2c\20SkBlendMode\29 +5949:afm_stream_skip_spaces +5950:afm_stream_read_string +5951:afm_stream_read_one +5952:af_sort_and_quantize_widths +5953:af_shaper_get_elem +5954:af_loader_compute_darkening +5955:af_latin_metrics_scale_dim +5956:af_latin_hints_detect_features +5957:af_hint_normal_stem +5958:af_glyph_hints_align_weak_points +5959:af_glyph_hints_align_strong_points +5960:af_face_globals_new +5961:af_cjk_metrics_scale_dim +5962:af_cjk_metrics_scale +5963:af_cjk_metrics_init_widths +5964:af_cjk_metrics_check_digits +5965:af_cjk_hints_init +5966:af_cjk_hints_detect_features +5967:af_cjk_hints_compute_blue_edges +5968:af_cjk_hints_apply +5969:af_cjk_get_standard_widths +5970:af_cjk_compute_stem_width +5971:af_axis_hints_new_edge +5972:adjust_mipmapped\28skgpu::Mipmapped\2c\20SkBitmap\20const&\2c\20GrCaps\20const*\29 +5973:add_line\28SkPoint\20const*\2c\20skia_private::TArray*\29 +5974:add_const_color\28SkRasterPipeline_GradientCtx*\2c\20unsigned\20long\2c\20SkRGBA4f<\28SkAlphaType\292>\29 +5975:a_swap.9210 +5976:a_fetch_add.9171 +5977:a_fetch_add +5978:a_ctz_32 +5979:_pow10\28unsigned\20int\29 +5980:_hb_preprocess_text_vowel_constraints\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +5981:_hb_ot_shape +5982:_hb_options_init\28\29 +5983:_hb_grapheme_group_func\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29 +5984:_hb_font_create\28hb_face_t*\29 +5985:_hb_fallback_shape +5986:_glyf_get_advance_with_var_unscaled\28hb_font_t*\2c\20unsigned\20int\2c\20bool\29 +5987:_emscripten_yield +5988:_emscripten_thread_mailbox_init +5989:_do_call +5990:__wasm_init_tls +5991:__vm_wait +5992:__vfprintf_internal +5993:__trunctfsf2 +5994:__timedwait +5995:__tan +5996:__set_thread_state +5997:__rem_pio2_large +5998:__pthread_rwlock_unlock +5999:__pthread_rwlock_tryrdlock +6000:__pthread_rwlock_timedrdlock +6001:__newlocale +6002:__math_xflowf +6003:__math_uflowf +6004:__math_oflowf +6005:__math_invalidf +6006:__loc_is_allocated +6007:__isxdigit_l +6008:__getf2 +6009:__get_locale +6010:__ftello_unlocked +6011:__fseeko_unlocked +6012:__floatscan +6013:__expo2 +6014:__dynamic_cast +6015:__divtf3 +6016:__cxxabiv1::__base_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +6017:__cxxabiv1::\28anonymous\20namespace\29::InitByteGlobalMutex<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex\2c\20__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex>::instance\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar>::instance\2c\20\28unsigned\20int\20\28*\29\28\29\290>::LockGuard::~LockGuard\28\29 +6018:__cxxabiv1::\28anonymous\20namespace\29::InitByteGlobalMutex<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex\2c\20__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex>::instance\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar>::instance\2c\20\28unsigned\20int\20\28*\29\28\29\290>::LockGuard::LockGuard\28char\20const*\29 +6019:__cxxabiv1::\28anonymous\20namespace\29::GuardObject<__cxxabiv1::\28anonymous\20namespace\29::InitByteGlobalMutex<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex\2c\20__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppMutex>::instance\2c\20__cxxabiv1::\28anonymous\20namespace\29::GlobalStatic<__cxxabiv1::\28anonymous\20namespace\29::LibcppCondVar>::instance\2c\20\28unsigned\20int\20\28*\29\28\29\290>>::GuardObject\28unsigned\20int*\29 +6020:\28anonymous\20namespace\29::texture_color\28SkRGBA4f<\28SkAlphaType\293>\2c\20float\2c\20GrColorType\2c\20GrColorInfo\20const&\29 +6021:\28anonymous\20namespace\29::supported_aa\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrAA\29 +6022:\28anonymous\20namespace\29::set_uv_quad\28SkPoint\20const*\2c\20\28anonymous\20namespace\29::BezierVertex*\29 +6023:\28anonymous\20namespace\29::safe_to_ignore_subset_rect\28GrAAType\2c\20SkFilterMode\2c\20DrawQuad\20const&\2c\20SkRect\20const&\29 +6024:\28anonymous\20namespace\29::rrect_type_to_vert_count\28\28anonymous\20namespace\29::RRectType\29 +6025:\28anonymous\20namespace\29::proxy_normalization_params\28GrSurfaceProxy\20const*\2c\20GrSurfaceOrigin\29 +6026:\28anonymous\20namespace\29::prepare_for_direct_mask_drawing\28SkStrike*\2c\20SkMatrix\20const&\2c\20SkZip\2c\20SkZip\2c\20SkZip\29 +6027:\28anonymous\20namespace\29::normalize_src_quad\28\28anonymous\20namespace\29::NormalizationParams\20const&\2c\20GrQuad*\29 +6028:\28anonymous\20namespace\29::normalize_and_inset_subset\28SkFilterMode\2c\20\28anonymous\20namespace\29::NormalizationParams\20const&\2c\20SkRect\20const*\29 +6029:\28anonymous\20namespace\29::next_gen_id\28\29 +6030:\28anonymous\20namespace\29::morphology_pass\28skif::Context\20const&\2c\20skif::FilterResult\20const&\2c\20\28anonymous\20namespace\29::MorphType\2c\20\28anonymous\20namespace\29::MorphDirection\2c\20int\29 +6031:\28anonymous\20namespace\29::make_non_convex_fill_op\28GrRecordingContext*\2c\20SkArenaAlloc*\2c\20skgpu::ganesh::FillPathFlags\2c\20GrAAType\2c\20SkRect\20const&\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20GrPaint&&\29 +6032:\28anonymous\20namespace\29::is_visible\28SkRect\20const&\2c\20SkIRect\20const&\29 +6033:\28anonymous\20namespace\29::is_degen_quad_or_conic\28SkPoint\20const*\2c\20float*\29 +6034:\28anonymous\20namespace\29::init_vertices_paint\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkBlender*\2c\20bool\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +6035:\28anonymous\20namespace\29::get_hbFace_cache\28\29 +6036:\28anonymous\20namespace\29::gather_lines_and_quads\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\2c\20skia_private::TArray*\29::$_1::operator\28\29\28SkPoint\20const*\2c\20SkPoint\20const*\2c\20bool\29\20const +6037:\28anonymous\20namespace\29::draw_to_sw_mask\28GrSWMaskHelper*\2c\20skgpu::ganesh::ClipStack::Element\20const&\2c\20bool\29 +6038:\28anonymous\20namespace\29::draw_path\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20skgpu::ganesh::PathRenderer*\2c\20GrHardClip\20const&\2c\20SkIRect\20const&\2c\20GrUserStencilSettings\20const*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20GrAA\29 +6039:\28anonymous\20namespace\29::determine_clipped_src_rect\28SkIRect\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20SkISize\20const&\2c\20SkRect\20const*\29 +6040:\28anonymous\20namespace\29::create_data\28int\2c\20bool\2c\20float\29 +6041:\28anonymous\20namespace\29::cpu_blur\28skif::Context\20const&\2c\20skif::LayerSpace\2c\20sk_sp\20const&\2c\20skif::LayerSpace\2c\20skif::LayerSpace\29::$_0::operator\28\29\28double\29\20const +6042:\28anonymous\20namespace\29::copyFTBitmap\28FT_Bitmap_\20const&\2c\20SkMaskBuilder*\29 +6043:\28anonymous\20namespace\29::contains_scissor\28GrScissorState\20const&\2c\20GrScissorState\20const&\29 +6044:\28anonymous\20namespace\29::colrv1_start_glyph_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20unsigned\20short\2c\20FT_Color_Root_Transform_\2c\20skia_private::THashSet*\29 +6045:\28anonymous\20namespace\29::colrv1_start_glyph\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20unsigned\20short\2c\20FT_Color_Root_Transform_\2c\20skia_private::THashSet*\29 +6046:\28anonymous\20namespace\29::colrv1_draw_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_COLR_Paint_\20const&\29 +6047:\28anonymous\20namespace\29::colrv1_configure_skpaint\28FT_FaceRec_*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_COLR_Paint_\20const&\2c\20SkPaint*\29 +6048:\28anonymous\20namespace\29::can_use_draw_texture\28SkPaint\20const&\2c\20SkSamplingOptions\20const&\29 +6049:\28anonymous\20namespace\29::axis_aligned_quad_size\28GrQuad\20const&\29 +6050:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29 +6051:\28anonymous\20namespace\29::YUVPlanesKey::YUVPlanesKey\28unsigned\20int\29 +6052:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29 +6053:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29 +6054:\28anonymous\20namespace\29::TriangulatingPathOp::TriangulatingPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrAAType\2c\20GrUserStencilSettings\20const*\29 +6055:\28anonymous\20namespace\29::TriangulatingPathOp::Triangulate\28GrEagerVertexAllocator*\2c\20SkMatrix\20const&\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\2c\20float\2c\20bool*\29 +6056:\28anonymous\20namespace\29::TriangulatingPathOp::CreateKey\28skgpu::UniqueKey*\2c\20GrStyledShape\20const&\2c\20SkIRect\20const&\29 +6057:\28anonymous\20namespace\29::TransformedMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +6058:\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +6059:\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +6060:\28anonymous\20namespace\29::TransformedMaskSubRun::glyphCount\28\29\20const +6061:\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +6062:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29 +6063:\28anonymous\20namespace\29::TextureOpImpl::propagateCoverageAAThroughoutChain\28\29 +6064:\28anonymous\20namespace\29::TextureOpImpl::numChainedQuads\28\29\20const +6065:\28anonymous\20namespace\29::TextureOpImpl::characterize\28\28anonymous\20namespace\29::TextureOpImpl::Desc*\29\20const +6066:\28anonymous\20namespace\29::TextureOpImpl::appendQuad\28DrawQuad*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\29 +6067:\28anonymous\20namespace\29::TextureOpImpl::Make\28GrRecordingContext*\2c\20GrTextureSetEntry*\2c\20int\2c\20int\2c\20SkFilterMode\2c\20SkMipmapMode\2c\20skgpu::ganesh::TextureOp::Saturate\2c\20GrAAType\2c\20SkCanvas::SrcRectConstraint\2c\20SkMatrix\20const&\2c\20sk_sp\29 +6068:\28anonymous\20namespace\29::TextureOpImpl::FillInVertices\28GrCaps\20const&\2c\20\28anonymous\20namespace\29::TextureOpImpl*\2c\20\28anonymous\20namespace\29::TextureOpImpl::Desc*\2c\20char*\29 +6069:\28anonymous\20namespace\29::TextureOpImpl::Desc::totalSizeInBytes\28\29\20const +6070:\28anonymous\20namespace\29::TextureOpImpl::Desc*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc>\28\29 +6071:\28anonymous\20namespace\29::TextureOpImpl::ClassID\28\29 +6072:\28anonymous\20namespace\29::SpotVerticesFactory::makeVertices\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint*\29\20const +6073:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::hb_script_for_unichar\28int\29 +6074:\28anonymous\20namespace\29::SkQuadCoeff::SkQuadCoeff\28SkPoint\20const*\29 +6075:\28anonymous\20namespace\29::SkMorphologyImageFilter::requiredInput\28skif::Mapping\20const&\2c\20skif::LayerSpace\29\20const +6076:\28anonymous\20namespace\29::SkMorphologyImageFilter::kernelOutputBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\29\20const +6077:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::requiredInput\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\29\20const +6078:\28anonymous\20namespace\29::SkEmptyTypeface::onMakeClone\28SkFontArguments\20const&\29\20const +6079:\28anonymous\20namespace\29::SkCropImageFilter::requiredInput\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\29\20const +6080:\28anonymous\20namespace\29::SkConicCoeff::SkConicCoeff\28SkConic\20const&\29 +6081:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29 +6082:\28anonymous\20namespace\29::SkBlurImageFilter::mapSigma\28skif::Mapping\20const&\2c\20bool\29\20const +6083:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29 +6084:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29 +6085:\28anonymous\20namespace\29::ShaperHarfBuzz::~ShaperHarfBuzz\28\29 +6086:\28anonymous\20namespace\29::ShadowedPath::keyBytes\28\29\20const +6087:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29 +6088:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29 +6089:\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +6090:\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +6091:\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +6092:\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +6093:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29 +6094:\28anonymous\20namespace\29::RectsBlurKey::RectsBlurKey\28float\2c\20SkBlurStyle\2c\20SkRect\20const*\2c\20int\29 +6095:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29 +6096:\28anonymous\20namespace\29::RRectBlurKey::RRectBlurKey\28float\2c\20SkRRect\20const&\2c\20SkBlurStyle\29 +6097:\28anonymous\20namespace\29::PlanGauss::PlanGauss\28double\29 +6098:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29 +6099:\28anonymous\20namespace\29::PathOpSubmitter::~PathOpSubmitter\28\29 +6100:\28anonymous\20namespace\29::PathGeoBuilder::createMeshAndPutBackReserve\28\29 +6101:\28anonymous\20namespace\29::PathGeoBuilder::allocNewBuffers\28\29 +6102:\28anonymous\20namespace\29::PathGeoBuilder::addQuad\28SkPoint\20const*\2c\20float\2c\20float\29 +6103:\28anonymous\20namespace\29::Pass::blur\28int\2c\20int\2c\20int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +6104:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29 +6105:\28anonymous\20namespace\29::MipMapKey::MipMapKey\28SkBitmapCacheDesc\20const&\29 +6106:\28anonymous\20namespace\29::MipLevelHelper::allocAndInit\28SkArenaAlloc*\2c\20SkSamplingOptions\20const&\2c\20SkTileMode\2c\20SkTileMode\29 +6107:\28anonymous\20namespace\29::MipLevelHelper::MipLevelHelper\28\29 +6108:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29 +6109:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29 +6110:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20sk_sp\2c\20GrPrimitiveType\20const*\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +6111:\28anonymous\20namespace\29::MeshOp::MeshOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMesh\20const&\2c\20skia_private::TArray>\2c\20true>\2c\20GrAAType\2c\20sk_sp\2c\20SkMatrix\20const&\29 +6112:\28anonymous\20namespace\29::MeshOp::Mesh::indices\28\29\20const +6113:\28anonymous\20namespace\29::MeshOp::Mesh::Mesh\28SkMesh\20const&\29 +6114:\28anonymous\20namespace\29::MeshOp::ClassID\28\29 +6115:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29 +6116:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29 +6117:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineStruct\28char\20const*\29 +6118:\28anonymous\20namespace\29::Iter::next\28\29 +6119:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29 +6120:\28anonymous\20namespace\29::FillRectOpImpl::tessellate\28skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20char*\29\20const +6121:\28anonymous\20namespace\29::FillRectOpImpl::FillRectOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\2c\20GrAAType\2c\20DrawQuad*\2c\20GrUserStencilSettings\20const*\2c\20GrSimpleMeshDrawOpHelper::InputFlags\29 +6122:\28anonymous\20namespace\29::ExternalWebGLTexture::~ExternalWebGLTexture\28\29 +6123:\28anonymous\20namespace\29::EllipticalRRectEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +6124:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29 +6125:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29 +6126:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29 +6127:\28anonymous\20namespace\29::DrawAtlasOpImpl::DrawAtlasOpImpl\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20GrAAType\2c\20int\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\29 +6128:\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +6129:\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +6130:\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +6131:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29 +6132:\28anonymous\20namespace\29::DefaultPathOp::programInfo\28\29 +6133:\28anonymous\20namespace\29::DefaultPathOp::primType\28\29\20const +6134:\28anonymous\20namespace\29::DefaultPathOp::PathData::PathData\28\28anonymous\20namespace\29::DefaultPathOp::PathData&&\29 +6135:\28anonymous\20namespace\29::DefaultPathOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +6136:\28anonymous\20namespace\29::DefaultPathOp::DefaultPathOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkPath\20const&\2c\20float\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20bool\2c\20GrAAType\2c\20SkRect\20const&\2c\20GrUserStencilSettings\20const*\29 +6137:\28anonymous\20namespace\29::ClipGeometry\20\28anonymous\20namespace\29::get_clip_geometry\28skgpu::ganesh::ClipStack::SaveRecord\20const&\2c\20skgpu::ganesh::ClipStack::Draw\20const&\29 +6138:\28anonymous\20namespace\29::CircularRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20unsigned\20int\2c\20SkRRect\20const&\29 +6139:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29 +6140:\28anonymous\20namespace\29::CachedTessellationsRec::CachedTessellationsRec\28SkResourceCache::Key\20const&\2c\20sk_sp<\28anonymous\20namespace\29::CachedTessellations>\29 +6141:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29 +6142:\28anonymous\20namespace\29::CachedTessellations::CachedTessellations\28\29 +6143:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29 +6144:\28anonymous\20namespace\29::BitmapKey::BitmapKey\28SkBitmapCacheDesc\20const&\29 +6145:\28anonymous\20namespace\29::AmbientVerticesFactory::makeVertices\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint*\29\20const +6146:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29 +6147:\28anonymous\20namespace\29::AAHairlineOp::PathData::PathData\28\28anonymous\20namespace\29::AAHairlineOp::PathData&&\29 +6148:\28anonymous\20namespace\29::AAHairlineOp::AAHairlineOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20unsigned\20char\2c\20SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkIRect\2c\20float\2c\20GrUserStencilSettings\20const*\29 +6149:TextureSourceImageGenerator::~TextureSourceImageGenerator\28\29 +6150:TT_Set_Named_Instance +6151:TT_Save_Context +6152:TT_Hint_Glyph +6153:TT_DotFix14 +6154:TT_Done_Context +6155:StringBuffer\20apply_format_string<1024>\28char\20const*\2c\20void*\2c\20char\20\28&\29\20\5b1024\5d\2c\20SkString*\29 +6156:SortContourList\28SkOpContourHead**\2c\20bool\2c\20bool\29 +6157:Skwasm::Surface::_resizeCanvasToFit\28int\2c\20int\29 +6158:SkWriter32::writeString\28char\20const*\2c\20unsigned\20long\29 +6159:SkWriter32::writePoint3\28SkPoint3\20const&\29 +6160:SkWBuffer::padToAlign4\28\29 +6161:SkVertices::getSizes\28\29\20const +6162:SkVertices::Builder::init\28SkVertices::Desc\20const&\29 +6163:SkVertices::Builder::Builder\28SkVertices::VertexMode\2c\20int\2c\20int\2c\20unsigned\20int\29 +6164:SkUnicode_client::~SkUnicode_client\28\29 +6165:SkUnicode::convertUtf16ToUtf8\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +6166:SkUnicode::BidiRegion&\20std::__2::vector>::emplace_back\28unsigned\20long&\2c\20unsigned\20long&\2c\20unsigned\20char&\29 +6167:SkUTF::UTF16ToUTF8\28char*\2c\20int\2c\20unsigned\20short\20const*\2c\20unsigned\20long\29 +6168:SkUTF::ToUTF8\28int\2c\20char*\29 +6169:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29 +6170:SkTypeface_FreeTypeStream::SkTypeface_FreeTypeStream\28std::__2::unique_ptr>\2c\20SkString\2c\20SkFontStyle\20const&\2c\20bool\29 +6171:SkTypeface_FreeType::getFaceRec\28\29\20const +6172:SkTypeface_FreeType::SkTypeface_FreeType\28SkFontStyle\20const&\2c\20bool\29 +6173:SkTypeface_FreeType::GetUnitsPerEm\28FT_FaceRec_*\29 +6174:SkTypeface_Custom::~SkTypeface_Custom\28\29 +6175:SkTypeface_Custom::onGetFamilyName\28SkString*\29\20const +6176:SkTypeface::unicharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +6177:SkTypeface::MakeEmpty\28\29 +6178:SkTransformShader::update\28SkMatrix\20const&\29 +6179:SkTextBlobBuilder::reserve\28unsigned\20long\29 +6180:SkTextBlobBuilder::allocRunPos\28SkFont\20const&\2c\20int\2c\20SkRect\20const*\29 +6181:SkTextBlobBuilder::TightRunBounds\28SkTextBlob::RunRecord\20const&\29 +6182:SkTextBlob::getIntercepts\28float\20const*\2c\20float*\2c\20SkPaint\20const*\29\20const +6183:SkTaskGroup::add\28std::__2::function\29 +6184:SkTSpan::split\28SkTSpan*\2c\20SkArenaAlloc*\29 +6185:SkTSpan::splitAt\28SkTSpan*\2c\20double\2c\20SkArenaAlloc*\29 +6186:SkTSpan::linearIntersects\28SkTCurve\20const&\29\20const +6187:SkTSpan::hullCheck\28SkTSpan\20const*\2c\20bool*\2c\20bool*\29 +6188:SkTSpan::contains\28double\29\20const +6189:SkTSect::unlinkSpan\28SkTSpan*\29 +6190:SkTSect::removeAllBut\28SkTSpan\20const*\2c\20SkTSpan*\2c\20SkTSect*\29 +6191:SkTSect::recoverCollapsed\28\29 +6192:SkTSect::intersects\28SkTSpan*\2c\20SkTSect*\2c\20SkTSpan*\2c\20int*\29 +6193:SkTSect::coincidentHasT\28double\29 +6194:SkTSect::boundsMax\28\29 +6195:SkTSect::addSplitAt\28SkTSpan*\2c\20double\29 +6196:SkTSect::addForPerp\28SkTSpan*\2c\20double\29 +6197:SkTSect::EndsEqual\28SkTSect\20const*\2c\20SkTSect\20const*\2c\20SkIntersections*\29 +6198:SkTMultiMap::reset\28\29 +6199:SkTMaskGamma<3\2c\203\2c\203>::SkTMaskGamma\28float\2c\20float\29 +6200:SkTMaskGamma<3\2c\203\2c\203>::CanonicalColor\28unsigned\20int\29 +6201:SkTLazy::getMaybeNull\28\29 +6202:SkTInternalLList::remove\28skgpu::ganesh::SmallPathShapeData*\29 +6203:SkTInternalLList<\28anonymous\20namespace\29::CacheImpl::Value>::remove\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +6204:SkTInternalLList<\28anonymous\20namespace\29::CacheImpl::Value>::addToHead\28\28anonymous\20namespace\29::CacheImpl::Value*\29 +6205:SkTInternalLList::remove\28TriangulationVertex*\29 +6206:SkTInternalLList::addToTail\28TriangulationVertex*\29 +6207:SkTInternalLList::Entry>::addToHead\28SkLRUCache::Entry*\29 +6208:SkTInternalLList>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry>::addToHead\28SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::Entry*\29 +6209:SkTInternalLList>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry>::addToHead\28SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::Entry*\29 +6210:SkTDynamicHash<\28anonymous\20namespace\29::CacheImpl::Value\2c\20SkImageFilterCacheKey\2c\20\28anonymous\20namespace\29::CacheImpl::Value>::find\28SkImageFilterCacheKey\20const&\29\20const +6211:SkTDStorage::SkTDStorage\28SkTDStorage&&\29 +6212:SkTDPQueue<\28anonymous\20namespace\29::RunIteratorQueue::Entry\2c\20&\28anonymous\20namespace\29::RunIteratorQueue::CompareEntry\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\2c\20\28int*\20\28*\29\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\20const&\29\290>::insert\28\28anonymous\20namespace\29::RunIteratorQueue::Entry\29 +6213:SkTDPQueue::remove\28GrGpuResource*\29 +6214:SkTDPQueue::percolateUpIfNecessary\28int\29 +6215:SkTDPQueue::percolateDownIfNecessary\28int\29 +6216:SkTDPQueue::insert\28GrGpuResource*\29 +6217:SkTDArray::append\28int\29 +6218:SkTDArray::append\28int\29 +6219:SkTDArray::push_back\28SkRecords::FillBounds::SaveBounds\20const&\29 +6220:SkTCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +6221:SkTCopyOnFirstWrite::writable\28\29 +6222:SkTCopyOnFirstWrite::writable\28\29 +6223:SkTConic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +6224:SkTConic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +6225:SkTConic::controlsInside\28\29\20const +6226:SkTConic::collapsed\28\29\20const +6227:SkTBlockList::pushItem\28\29 +6228:SkTBlockList::pop_back\28\29 +6229:SkTBlockList::push_back\28skgpu::ganesh::ClipStack::RawElement&&\29 +6230:SkTBlockList::pushItem\28\29 +6231:SkTBlockList::~SkTBlockList\28\29 +6232:SkTBlockList::push_back\28GrGLProgramDataManager::GLUniformInfo\20const&\29 +6233:SkTBlockList::item\28int\29 +6234:SkSurface_Raster::~SkSurface_Raster\28\29 +6235:SkSurface_Ganesh::~SkSurface_Ganesh\28\29 +6236:SkSurface_Ganesh::onDiscard\28\29 +6237:SkSurface_Base::replaceBackendTexture\28GrBackendTexture\20const&\2c\20GrSurfaceOrigin\2c\20SkSurface::ContentChangeMode\2c\20void\20\28*\29\28void*\29\2c\20void*\29 +6238:SkSurface_Base::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +6239:SkSurface_Base::onCapabilities\28\29 +6240:SkSurfaceValidateRasterInfo\28SkImageInfo\20const&\2c\20unsigned\20long\29 +6241:SkStrokeRec::GetInflationRadius\28SkPaint::Join\2c\20float\2c\20SkPaint::Cap\2c\20float\29 +6242:SkString_from_UTF16BE\28unsigned\20char\20const*\2c\20unsigned\20long\2c\20SkString&\29 +6243:SkString::equals\28char\20const*\2c\20unsigned\20long\29\20const +6244:SkString::equals\28char\20const*\29\20const +6245:SkString::appendVAList\28char\20const*\2c\20void*\29 +6246:SkString::appendUnichar\28int\29 +6247:SkString::appendHex\28unsigned\20int\2c\20int\29 +6248:SkString::SkString\28unsigned\20long\29 +6249:SkStrikeSpec::SkStrikeSpec\28SkStrikeSpec\20const&\29 +6250:SkStrikeSpec::ShouldDrawAsPath\28SkPaint\20const&\2c\20SkFont\20const&\2c\20SkMatrix\20const&\29::$_0::operator\28\29\28int\2c\20int\29\20const +6251:SkStrikeSpec::ShouldDrawAsPath\28SkPaint\20const&\2c\20SkFont\20const&\2c\20SkMatrix\20const&\29 +6252:SkStrikeSpec::MakeTransformMask\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\29 +6253:SkStrikeCache::~SkStrikeCache\28\29 +6254:SkStrike::~SkStrike\28\29 +6255:SkStrike::prepareForImage\28SkGlyph*\29 +6256:SkStrike::prepareForDrawable\28SkGlyph*\29 +6257:SkStrike::internalPrepare\28SkSpan\2c\20SkStrike::PathDetail\2c\20SkGlyph\20const**\29 +6258:SkStrSplit\28char\20const*\2c\20char\20const*\2c\20SkStrSplitMode\2c\20skia_private::TArray*\29 +6259:SkStrAppendU32\28char*\2c\20unsigned\20int\29 +6260:SkStrAppendS32\28char*\2c\20int\29 +6261:SkSpriteBlitter_Memcpy::~SkSpriteBlitter_Memcpy\28\29 +6262:SkSpecialImages::MakeFromRaster\28SkIRect\20const&\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +6263:SkSpecialImages::AsBitmap\28SkSpecialImage\20const*\2c\20SkBitmap*\29 +6264:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29 +6265:SkSpecialImage_Raster::getROPixels\28SkBitmap*\29\20const +6266:SkSpecialImage_Raster::SkSpecialImage_Raster\28SkIRect\20const&\2c\20SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +6267:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29 +6268:SkSpecialImage::SkSpecialImage\28SkIRect\20const&\2c\20unsigned\20int\2c\20SkColorInfo\20const&\2c\20SkSurfaceProps\20const&\29 +6269:SkSize\20skif::Mapping::map\28SkSize\20const&\2c\20SkMatrix\20const&\29 +6270:SkShapers::unicode::BidiRunIterator\28sk_sp\2c\20char\20const*\2c\20unsigned\20long\2c\20unsigned\20char\29 +6271:SkShapers::HB::ShapeDontWrapOrReorder\28sk_sp\2c\20sk_sp\29 +6272:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29 +6273:SkShaper::MakeStdLanguageRunIterator\28char\20const*\2c\20unsigned\20long\29 +6274:SkShaper::MakeFontMgrRunIterator\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20sk_sp\29 +6275:SkShadowTessellator::MakeAmbient\28SkPath\20const&\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20bool\29 +6276:SkShaders::MatrixRec::totalMatrix\28\29\20const +6277:SkShaders::MatrixRec::concat\28SkMatrix\20const&\29\20const +6278:SkShaders::Empty\28\29 +6279:SkShaders::Color\28unsigned\20int\29 +6280:SkShaders::Blend\28sk_sp\2c\20sk_sp\2c\20sk_sp\29 +6281:SkShaderUtils::VisitLineByLine\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20std::__2::function\20const&\29 +6282:SkShaderUtils::GLSLPrettyPrint::undoNewlineAfter\28char\29 +6283:SkShaderUtils::GLSLPrettyPrint::parseUntil\28char\20const*\29 +6284:SkShaderUtils::GLSLPrettyPrint::parseUntilNewline\28\29 +6285:SkShaderBlurAlgorithm::renderBlur\28SkRuntimeShaderBuilder*\2c\20SkFilterMode\2c\20SkISize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +6286:SkShaderBlurAlgorithm::evalBlur1D\28float\2c\20int\2c\20SkV2\2c\20sk_sp\2c\20SkIRect\2c\20SkTileMode\2c\20SkIRect\29\20const +6287:SkShaderBlurAlgorithm::GetLinearBlur1DEffect\28int\29 +6288:SkShaderBlurAlgorithm::GetBlur2DEffect\28SkISize\20const&\29 +6289:SkShaderBlurAlgorithm::Compute2DBlurOffsets\28SkISize\2c\20std::__2::array&\29 +6290:SkShaderBlurAlgorithm::Compute2DBlurKernel\28SkSize\2c\20SkISize\2c\20std::__2::array&\29 +6291:SkShaderBlurAlgorithm::Compute2DBlurKernel\28SkSize\2c\20SkISize\2c\20SkSpan\29 +6292:SkShaderBlurAlgorithm::Compute1DBlurLinearKernel\28float\2c\20int\2c\20std::__2::array&\29 +6293:SkShaderBlurAlgorithm::Compute1DBlurKernel\28float\2c\20int\2c\20SkSpan\29 +6294:SkShaderBase::getFlattenableType\28\29\20const +6295:SkShader::makeWithColorFilter\28sk_sp\29\20const +6296:SkScan::PathRequiresTiling\28SkIRect\20const&\29 +6297:SkScan::HairLine\28SkPoint\20const*\2c\20int\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +6298:SkScan::FillXRect\28SkIRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +6299:SkScan::FillRect\28SkRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +6300:SkScan::AntiFrameRect\28SkRect\20const&\2c\20SkPoint\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +6301:SkScan::AntiFillRect\28SkRect\20const&\2c\20SkRegion\20const*\2c\20SkBlitter*\29 +6302:SkScan::AAAFillPath\28SkPath\20const&\2c\20SkBlitter*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +6303:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29 +6304:SkScalerContext_FreeType::shouldSubpixelBitmap\28SkGlyph\20const&\2c\20SkMatrix\20const&\29 +6305:SkScalerContext_FreeType::getCBoxForLetter\28char\2c\20FT_BBox_*\29 +6306:SkScalerContext_FreeType::getBoundsOfCurrentOutlineGlyph\28FT_GlyphSlotRec_*\2c\20SkRect*\29 +6307:SkScalerContextRec::setLuminanceColor\28unsigned\20int\29 +6308:SkScalerContextFTUtils::drawCOLRv1Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +6309:SkScalerContextFTUtils::drawCOLRv0Glyph\28FT_FaceRec_*\2c\20SkGlyph\20const&\2c\20unsigned\20int\2c\20SkSpan\2c\20SkCanvas*\29\20const +6310:SkScalerContext::makeGlyph\28SkPackedGlyphID\2c\20SkArenaAlloc*\29 +6311:SkScalerContext::internalGetPath\28SkGlyph&\2c\20SkArenaAlloc*\29 +6312:SkScalerContext::SkScalerContext\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +6313:SkScalerContext::SaturateGlyphBounds\28SkGlyph*\2c\20SkRect&&\29 +6314:SkScalerContext::MakeRecAndEffects\28SkFont\20const&\2c\20SkPaint\20const&\2c\20SkSurfaceProps\20const&\2c\20SkScalerContextFlags\2c\20SkMatrix\20const&\2c\20SkScalerContextRec*\2c\20SkScalerContextEffects*\29 +6315:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29 +6316:SkScalerContext::AutoDescriptorGivenRecAndEffects\28SkScalerContextRec\20const&\2c\20SkScalerContextEffects\20const&\2c\20SkAutoDescriptor*\29 +6317:SkScalarInterpFunc\28float\2c\20float\20const*\2c\20float\20const*\2c\20int\29 +6318:SkSTArenaAlloc<4096ul>::SkSTArenaAlloc\28unsigned\20long\29 +6319:SkSTArenaAlloc<256ul>::SkSTArenaAlloc\28unsigned\20long\29 +6320:SkSLCombinedSamplerTypeForTextureType\28GrTextureType\29 +6321:SkSL::type_to_sksltype\28SkSL::Context\20const&\2c\20SkSL::Type\20const&\2c\20SkSLType*\29 +6322:SkSL::stoi\28std::__2::basic_string_view>\2c\20long\20long*\29 +6323:SkSL::splat_scalar\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +6324:SkSL::simplify_constant_equality\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +6325:SkSL::short_circuit_boolean\28SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +6326:SkSL::remove_break_statements\28std::__2::unique_ptr>&\29::RemoveBreaksWriter::visitStatementPtr\28std::__2::unique_ptr>&\29 +6327:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_2::operator\28\29\28int\29\20const +6328:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_1::operator\28\29\28int\29\20const +6329:SkSL::optimize_intrinsic_call\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::IntrinsicKind\2c\20SkSL::ExpressionArray\20const&\2c\20SkSL::Type\20const&\29::$_0::operator\28\29\28int\29\20const +6330:SkSL::negate_expression\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Type\20const&\29 +6331:SkSL::make_reciprocal_expression\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29 +6332:SkSL::index_out_of_range\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20long\20long\2c\20SkSL::Expression\20const&\29 +6333:SkSL::hoist_vardecl_symbols_into_outer_scope\28SkSL::Context\20const&\2c\20SkSL::Block\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::SymbolTable*\29::SymbolHoister::visitStatement\28SkSL::Statement\20const&\29 +6334:SkSL::get_struct_definitions_from_module\28SkSL::Program&\2c\20SkSL::Module\20const&\2c\20std::__2::vector>*\29 +6335:SkSL::find_existing_declaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20SkSL::IntrinsicKind\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray>\2c\20true>&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration**\29::$_0::operator\28\29\28\29\20const +6336:SkSL::extract_matrix\28SkSL::Expression\20const*\2c\20float*\29 +6337:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +6338:SkSL::eliminate_no_op_boolean\28SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29 +6339:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_4::operator\28\29\28int\29\20const +6340:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_2::operator\28\29\28SkSL::Type\20const&\29\20const +6341:SkSL::check_main_signature\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20skia_private::TArray>\2c\20true>&\29::$_1::operator\28\29\28int\29\20const +6342:SkSL::argument_needs_scratch_variable\28SkSL::Expression\20const*\2c\20SkSL::Variable\20const*\2c\20SkSL::ProgramUsage\20const&\29 +6343:SkSL::argument_and_parameter_flags_match\28SkSL::Expression\20const&\2c\20SkSL::Variable\20const&\29 +6344:SkSL::apply_to_elements\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20double\20\28*\29\28double\29\29 +6345:SkSL::append_rtadjust_fixup_to_vertex_main\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::Block&\29::AppendRTAdjustFixupHelper::Adjust\28\29\20const +6346:SkSL::\28anonymous\20namespace\29::clone_with_ref_kind\28SkSL::Expression\20const&\2c\20SkSL::VariableRefKind\2c\20SkSL::Position\29 +6347:SkSL::\28anonymous\20namespace\29::check_valid_uniform_type\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Context\20const&\2c\20bool\29::$_0::operator\28\29\28\29\20const +6348:SkSL::\28anonymous\20namespace\29::caps_lookup_table\28\29 +6349:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +6350:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitStructFields\28SkSL::Type\20const&\29 +6351:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitStatement\28SkSL::Statement\20const&\29 +6352:SkSL::\28anonymous\20namespace\29::ProgramUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +6353:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitStatement\28SkSL::Statement\20const&\29 +6354:SkSL::\28anonymous\20namespace\29::IsAssignableVisitor::visitExpression\28SkSL::Expression&\2c\20SkSL::FieldAccess\20const*\29::'lambda'\28\29::operator\28\29\28\29\20const +6355:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +6356:SkSL::Variable::MakeScratchVariable\28SkSL::Context\20const&\2c\20SkSL::Mangler&\2c\20std::__2::basic_string_view>\2c\20SkSL::Type\20const*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>\29 +6357:SkSL::VarDeclaration::ErrorCheck\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Position\2c\20SkSL::Layout\20const&\2c\20SkSL::ModifierFlags\2c\20SkSL::Type\20const*\2c\20SkSL::Type\20const*\2c\20SkSL::VariableStorage\29 +6358:SkSL::TypeReference::description\28SkSL::OperatorPrecedence\29\20const +6359:SkSL::TypeReference::VerifyType\28SkSL::Context\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Position\29 +6360:SkSL::TypeReference::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\29 +6361:SkSL::Type::checkIfUsableInArray\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +6362:SkSL::Type::checkForOutOfRangeLiteral\28SkSL::Context\20const&\2c\20SkSL::Expression\20const&\29\20const +6363:SkSL::Type::MakeStructType\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20bool\29 +6364:SkSL::Type::MakeLiteralType\28char\20const*\2c\20SkSL::Type\20const&\2c\20signed\20char\29 +6365:SkSL::Transform::\28anonymous\20namespace\29::BuiltinVariableScanner::addDeclaringElement\28SkSL::Symbol\20const*\29 +6366:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::visitStatementPtr\28std::__2::unique_ptr>&\29 +6367:SkSL::Transform::EliminateDeadGlobalVariables\28SkSL::Program&\29::$_0::operator\28\29\28std::__2::unique_ptr>\20const&\29\20const +6368:SkSL::TernaryExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +6369:SkSL::SymbolTable::moveSymbolTo\28SkSL::SymbolTable*\2c\20SkSL::Symbol*\2c\20SkSL::Context\20const&\29 +6370:SkSL::SymbolTable::isBuiltinType\28std::__2::basic_string_view>\29\20const +6371:SkSL::SymbolTable::insertNewParent\28\29 +6372:SkSL::SymbolTable::addWithoutOwnership\28SkSL::Symbol*\29 +6373:SkSL::Symbol::instantiate\28SkSL::Context\20const&\2c\20SkSL::Position\29\20const +6374:SkSL::SwitchStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +6375:SkSL::SwitchCase::Make\28SkSL::Position\2c\20long\20long\2c\20std::__2::unique_ptr>\29 +6376:SkSL::SwitchCase::MakeDefault\28SkSL::Position\2c\20std::__2::unique_ptr>\29 +6377:SkSL::StructType::structNestingDepth\28\29\20const +6378:SkSL::StructType::slotCount\28\29\20const +6379:SkSL::StructType::StructType\28SkSL::Position\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20int\2c\20bool\2c\20bool\29 +6380:SkSL::String::vappendf\28std::__2::basic_string\2c\20std::__2::allocator>*\2c\20char\20const*\2c\20void*\29 +6381:SkSL::SingleArgumentConstructor::argumentSpan\28\29 +6382:SkSL::Setting::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20bool\20const\20SkSL::ShaderCaps::*\29 +6383:SkSL::RP::stack_usage\28SkSL::RP::Instruction\20const&\29 +6384:SkSL::RP::is_sliceable_swizzle\28SkSpan\29 +6385:SkSL::RP::is_immediate_op\28SkSL::RP::BuilderOp\29 +6386:SkSL::RP::UnownedLValueSlice::isWritable\28\29\20const +6387:SkSL::RP::UnownedLValueSlice::dynamicSlotRange\28\29 +6388:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29 +6389:SkSL::RP::ScratchLValue::~ScratchLValue\28\29 +6390:SkSL::RP::Program::appendStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkSL::RP::Callbacks*\2c\20SkSpan\29\20const +6391:SkSL::RP::Program::appendStackRewind\28skia_private::TArray*\29\20const +6392:SkSL::RP::Program::appendCopyImmutableUnmasked\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20std::byte*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\29\20const +6393:SkSL::RP::Program::appendAdjacentNWayTernaryOp\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20SkSL::RP::ProgramOp\2c\20std::byte*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\29\20const +6394:SkSL::RP::Program::appendAdjacentNWayBinaryOp\28skia_private::TArray*\2c\20SkArenaAlloc*\2c\20SkSL::RP::ProgramOp\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int\29\20const +6395:SkSL::RP::LValue::swizzle\28\29 +6396:SkSL::RP::ImmutableLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +6397:SkSL::RP::Generator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\29 +6398:SkSL::RP::Generator::writeFunction\28SkSL::IRNode\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSpan>\20const>\29 +6399:SkSL::RP::Generator::storeImmutableValueToSlots\28skia_private::TArray\20const&\2c\20SkSL::RP::SlotRange\29 +6400:SkSL::RP::Generator::returnComplexity\28SkSL::FunctionDefinition\20const*\29 +6401:SkSL::RP::Generator::pushVariableReferencePartial\28SkSL::VariableReference\20const&\2c\20SkSL::RP::SlotRange\29 +6402:SkSL::RP::Generator::pushTraceScopeMask\28\29 +6403:SkSL::RP::Generator::pushLengthIntrinsic\28int\29 +6404:SkSL::RP::Generator::pushLValueOrExpression\28SkSL::RP::LValue*\2c\20SkSL::Expression\20const&\29 +6405:SkSL::RP::Generator::pushIntrinsic\28SkSL::RP::BuilderOp\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +6406:SkSL::RP::Generator::pushIntrinsic\28SkSL::IntrinsicKind\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\2c\20SkSL::Expression\20const&\29 +6407:SkSL::RP::Generator::pushImmutableData\28SkSL::Expression\20const&\29 +6408:SkSL::RP::Generator::getImmutableValueForExpression\28SkSL::Expression\20const&\2c\20skia_private::TArray*\29 +6409:SkSL::RP::Generator::getImmutableBitsForSlot\28SkSL::Expression\20const&\2c\20unsigned\20long\29 +6410:SkSL::RP::Generator::findPreexistingImmutableData\28skia_private::TArray\20const&\29 +6411:SkSL::RP::Generator::discardTraceScopeMask\28\29 +6412:SkSL::RP::Builder::push_condition_mask\28\29 +6413:SkSL::RP::Builder::pop_slots_unmasked\28SkSL::RP::SlotRange\29 +6414:SkSL::RP::Builder::pop_condition_mask\28\29 +6415:SkSL::RP::Builder::pop_and_reenable_loop_mask\28\29 +6416:SkSL::RP::Builder::merge_loop_mask\28\29 +6417:SkSL::RP::Builder::merge_inv_condition_mask\28\29 +6418:SkSL::RP::Builder::mask_off_loop_mask\28\29 +6419:SkSL::RP::Builder::discard_stack\28int\2c\20int\29 +6420:SkSL::RP::Builder::copy_stack_to_slots_unmasked\28SkSL::RP::SlotRange\2c\20int\29 +6421:SkSL::RP::Builder::copy_stack_to_slots_unmasked\28SkSL::RP::SlotRange\29 +6422:SkSL::RP::Builder::copy_stack_to_slots\28SkSL::RP::SlotRange\29 +6423:SkSL::RP::Builder::branch_if_any_lanes_active\28int\29 +6424:SkSL::RP::AutoStack::pushClone\28SkSL::RP::SlotRange\2c\20int\29 +6425:SkSL::RP::AutoContinueMask::~AutoContinueMask\28\29 +6426:SkSL::RP::AutoContinueMask::exitLoopBody\28\29 +6427:SkSL::RP::AutoContinueMask::enterLoopBody\28\29 +6428:SkSL::RP::AutoContinueMask::enable\28\29 +6429:SkSL::ProgramUsage::remove\28SkSL::Expression\20const*\29 +6430:SkSL::ProgramUsage::get\28SkSL::FunctionDeclaration\20const&\29\20const +6431:SkSL::ProgramUsage::add\28SkSL::Statement\20const*\29 +6432:SkSL::ProgramUsage::add\28SkSL::Expression\20const*\29 +6433:SkSL::ProgramConfig::ProgramConfig\28\29 +6434:SkSL::Program::~Program\28\29 +6435:SkSL::PostfixExpression::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20SkSL::Operator\29 +6436:SkSL::PipelineStage::PipelineStageCodeGenerator::functionName\28SkSL::FunctionDeclaration\20const&\29 +6437:SkSL::PipelineStage::PipelineStageCodeGenerator::functionDeclaration\28SkSL::FunctionDeclaration\20const&\29 +6438:SkSL::Parser::~Parser\28\29 +6439:SkSL::Parser::varDeclarations\28\29 +6440:SkSL::Parser::varDeclarationsPrefix\28SkSL::Parser::VarDeclarationsPrefix*\29 +6441:SkSL::Parser::varDeclarationsOrExpressionStatement\28\29 +6442:SkSL::Parser::switchCaseBody\28SkSL::ExpressionArray*\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>*\2c\20std::__2::unique_ptr>\29 +6443:SkSL::Parser::shiftExpression\28\29 +6444:SkSL::Parser::relationalExpression\28\29 +6445:SkSL::Parser::multiplicativeExpression\28\29 +6446:SkSL::Parser::logicalXorExpression\28\29 +6447:SkSL::Parser::logicalAndExpression\28\29 +6448:SkSL::Parser::localVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +6449:SkSL::Parser::intLiteral\28long\20long*\29 +6450:SkSL::Parser::identifier\28std::__2::basic_string_view>*\29 +6451:SkSL::Parser::globalVarDeclarationEnd\28SkSL::Position\2c\20SkSL::Modifiers\20const&\2c\20SkSL::Type\20const*\2c\20SkSL::Token\29 +6452:SkSL::Parser::expressionStatement\28\29 +6453:SkSL::Parser::expectNewline\28\29 +6454:SkSL::Parser::equalityExpression\28\29 +6455:SkSL::Parser::directive\28bool\29 +6456:SkSL::Parser::declarations\28\29 +6457:SkSL::Parser::bitwiseXorExpression\28\29 +6458:SkSL::Parser::bitwiseOrExpression\28\29 +6459:SkSL::Parser::bitwiseAndExpression\28\29 +6460:SkSL::Parser::additiveExpression\28\29 +6461:SkSL::Parser::addGlobalVarDeclaration\28std::__2::unique_ptr>\29 +6462:SkSL::Parser::Parser\28SkSL::Compiler*\2c\20SkSL::ProgramSettings\20const&\2c\20SkSL::ProgramKind\2c\20std::__2::unique_ptr\2c\20std::__2::allocator>\2c\20std::__2::default_delete\2c\20std::__2::allocator>>>\29 +6463:SkSL::MultiArgumentConstructor::argumentSpan\28\29 +6464:SkSL::ModuleLoader::loadSharedModule\28SkSL::Compiler*\29 +6465:SkSL::ModuleLoader::loadPublicModule\28SkSL::Compiler*\29 +6466:SkSL::ModuleLoader::Get\28\29 +6467:SkSL::Module::~Module\28\29 +6468:SkSL::MatrixType::bitWidth\28\29\20const +6469:SkSL::MakeRasterPipelineProgram\28SkSL::Program\20const&\2c\20SkSL::FunctionDefinition\20const&\2c\20SkSL::DebugTracePriv*\2c\20bool\29 +6470:SkSL::Layout::operator!=\28SkSL::Layout\20const&\29\20const +6471:SkSL::Layout::description\28\29\20const +6472:SkSL::Intrinsics::\28anonymous\20namespace\29::finalize_distance\28double\29 +6473:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_matrixCompMult\28double\2c\20double\2c\20double\29 +6474:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_length\28std::__2::array\20const&\29 +6475:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_add\28SkSL::Context\20const&\2c\20std::__2::array\20const&\29 +6476:SkSL::Inliner::inlineStatement\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Analysis::ReturnComplexity\2c\20SkSL::Statement\20const&\2c\20SkSL::ProgramUsage\20const&\2c\20bool\29 +6477:SkSL::Inliner::inlineExpression\28SkSL::Position\2c\20skia_private::THashMap>\2c\20SkGoodHash>*\2c\20SkSL::SymbolTable*\2c\20SkSL::Expression\20const&\29 +6478:SkSL::Inliner::buildCandidateList\28std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\2c\20SkSL::InlineCandidateList*\29::$_1::operator\28\29\28SkSL::InlineCandidate\20const&\29\20const +6479:SkSL::Inliner::buildCandidateList\28std::__2::vector>\2c\20std::__2::allocator>>>\20const&\2c\20SkSL::SymbolTable*\2c\20SkSL::ProgramUsage*\2c\20SkSL::InlineCandidateList*\29::$_0::operator\28\29\28SkSL::InlineCandidate\20const&\29\20const +6480:SkSL::Inliner::InlinedCall::~InlinedCall\28\29 +6481:SkSL::IndexExpression::~IndexExpression\28\29 +6482:SkSL::IfStatement::~IfStatement\28\29 +6483:SkSL::IRHelpers::Ref\28SkSL::Variable\20const*\29\20const +6484:SkSL::IRHelpers::Mul\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29\20const +6485:SkSL::IRHelpers::Assign\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29\20const +6486:SkSL::GLSLCodeGenerator::writeVarDeclaration\28SkSL::VarDeclaration\20const&\2c\20bool\29 +6487:SkSL::GLSLCodeGenerator::writeProgramElement\28SkSL::ProgramElement\20const&\29 +6488:SkSL::GLSLCodeGenerator::writeMinAbsHack\28SkSL::Expression&\2c\20SkSL::Expression&\29 +6489:SkSL::GLSLCodeGenerator::generateCode\28\29 +6490:SkSL::FunctionDefinition::~FunctionDefinition\28\29.1 +6491:SkSL::FunctionDefinition::~FunctionDefinition\28\29 +6492:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::visitStatementPtr\28std::__2::unique_ptr>&\29 +6493:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::addLocalVariable\28SkSL::Variable\20const*\2c\20SkSL::Position\29 +6494:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29.1 +6495:SkSL::FunctionDeclaration::~FunctionDeclaration\28\29 +6496:SkSL::FunctionDeclaration::mangledName\28\29\20const +6497:SkSL::FunctionDeclaration::getMainInputColorParameter\28\29\20const +6498:SkSL::FunctionDeclaration::getMainDestColorParameter\28\29\20const +6499:SkSL::FunctionDeclaration::determineFinalTypes\28SkSL::ExpressionArray\20const&\2c\20skia_private::STArray<8\2c\20SkSL::Type\20const*\2c\20true>*\2c\20SkSL::Type\20const**\29\20const +6500:SkSL::FunctionDeclaration::FunctionDeclaration\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ModifierFlags\2c\20std::__2::basic_string_view>\2c\20skia_private::TArray\2c\20SkSL::Type\20const*\2c\20SkSL::IntrinsicKind\29 +6501:SkSL::FunctionCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +6502:SkSL::FunctionCall::FunctionCall\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::FunctionDeclaration\20const*\2c\20SkSL::ExpressionArray\29 +6503:SkSL::FunctionCall::FindBestFunctionForCall\28SkSL::Context\20const&\2c\20SkSL::FunctionDeclaration\20const*\2c\20SkSL::ExpressionArray\20const&\29 +6504:SkSL::FunctionCall::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20SkSL::ExpressionArray\29 +6505:SkSL::ForStatement::~ForStatement\28\29 +6506:SkSL::ForStatement::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +6507:SkSL::FindIntrinsicKind\28std::__2::basic_string_view>\29 +6508:SkSL::FieldAccess::~FieldAccess\28\29.1 +6509:SkSL::FieldAccess::~FieldAccess\28\29 +6510:SkSL::FieldAccess::description\28SkSL::OperatorPrecedence\29\20const +6511:SkSL::ExtendedVariable::~ExtendedVariable\28\29 +6512:SkSL::Expression::isFloatLiteral\28\29\20const +6513:SkSL::Expression::coercionCost\28SkSL::Type\20const&\29\20const +6514:SkSL::DoStatement::~DoStatement\28\29.1 +6515:SkSL::DoStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +6516:SkSL::DiscardStatement::Make\28SkSL::Context\20const&\2c\20SkSL::Position\29 +6517:SkSL::ContinueStatement::Make\28SkSL::Position\29 +6518:SkSL::ConstructorStruct::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +6519:SkSL::ConstructorScalarCast::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +6520:SkSL::ConstructorMatrixResize::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20std::__2::unique_ptr>\29 +6521:SkSL::Constructor::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const&\2c\20SkSL::ExpressionArray\29 +6522:SkSL::Compiler::resetErrors\28\29 +6523:SkSL::Compiler::initializeContext\28SkSL::Module\20const*\2c\20SkSL::ProgramKind\2c\20SkSL::ProgramSettings\2c\20std::__2::basic_string_view>\2c\20bool\29 +6524:SkSL::Compiler::cleanupContext\28\29 +6525:SkSL::CoercionCost::operator<\28SkSL::CoercionCost\29\20const +6526:SkSL::ChildCall::~ChildCall\28\29.1 +6527:SkSL::ChildCall::~ChildCall\28\29 +6528:SkSL::ChildCall::Make\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Variable\20const&\2c\20SkSL::ExpressionArray\29 +6529:SkSL::ChildCall::ChildCall\28SkSL::Position\2c\20SkSL::Type\20const*\2c\20SkSL::Variable\20const*\2c\20SkSL::ExpressionArray\29 +6530:SkSL::BreakStatement::Make\28SkSL::Position\29 +6531:SkSL::Block::Block\28SkSL::Position\2c\20skia_private::STArray<2\2c\20std::__2::unique_ptr>\2c\20true>\2c\20SkSL::Block::Kind\2c\20std::__2::unique_ptr>\29 +6532:SkSL::BinaryExpression::isAssignmentIntoVariable\28\29 +6533:SkSL::ArrayType::columns\28\29\20const +6534:SkSL::Analysis::\28anonymous\20namespace\29::LoopControlFlowVisitor::visitStatement\28SkSL::Statement\20const&\29 +6535:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29::IsDynamicallyUniformExpressionVisitor::visitExpression\28SkSL::Expression\20const&\29 +6536:SkSL::Analysis::IsDynamicallyUniformExpression\28SkSL::Expression\20const&\29 +6537:SkSL::Analysis::IsConstantExpression\28SkSL::Expression\20const&\29 +6538:SkSL::Analysis::IsCompileTimeConstant\28SkSL::Expression\20const&\29::IsCompileTimeConstantVisitor::visitExpression\28SkSL::Expression\20const&\29 +6539:SkSL::Analysis::IsAssignable\28SkSL::Expression&\2c\20SkSL::Analysis::AssignmentInfo*\2c\20SkSL::ErrorReporter*\29 +6540:SkSL::Analysis::HasSideEffects\28SkSL::Expression\20const&\29::HasSideEffectsVisitor::visitExpression\28SkSL::Expression\20const&\29 +6541:SkSL::Analysis::GetLoopUnrollInfo\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::ForLoopPositions\20const&\2c\20SkSL::Statement\20const*\2c\20std::__2::unique_ptr>*\2c\20SkSL::Expression\20const*\2c\20SkSL::Statement\20const*\2c\20SkSL::ErrorReporter*\29 +6542:SkSL::Analysis::GetLoopControlFlowInfo\28SkSL::Statement\20const&\29 +6543:SkSL::Analysis::ContainsVariable\28SkSL::Expression\20const&\2c\20SkSL::Variable\20const&\29::ContainsVariableVisitor::visitExpression\28SkSL::Expression\20const&\29 +6544:SkSL::Analysis::ContainsRTAdjust\28SkSL::Expression\20const&\29::ContainsRTAdjustVisitor::visitExpression\28SkSL::Expression\20const&\29 +6545:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +6546:SkSL::AliasType::numberKind\28\29\20const +6547:SkSL::AliasType::isAllowedInES2\28\29\20const +6548:SkSBlockAllocator<80ul>::SkSBlockAllocator\28SkBlockAllocator::GrowthPolicy\2c\20unsigned\20long\29 +6549:SkRuntimeShader::~SkRuntimeShader\28\29 +6550:SkRuntimeEffectPriv::VarAsChild\28SkSL::Variable\20const&\2c\20int\29 +6551:SkRuntimeEffect::~SkRuntimeEffect\28\29 +6552:SkRuntimeEffect::getRPProgram\28SkSL::DebugTracePriv*\29\20const +6553:SkRuntimeEffect::MakeForShader\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +6554:SkRuntimeEffect::ChildPtr::type\28\29\20const +6555:SkRuntimeEffect::ChildPtr::shader\28\29\20const +6556:SkRuntimeEffect::ChildPtr::colorFilter\28\29\20const +6557:SkRuntimeEffect::ChildPtr::blender\28\29\20const +6558:SkRgnBuilder::collapsWithPrev\28\29 +6559:SkResourceCache::release\28SkResourceCache::Rec*\29 +6560:SkResourceCache::PostPurgeSharedID\28unsigned\20long\20long\29 +6561:SkResourceCache::NewCachedData\28unsigned\20long\29 +6562:SkResourceCache::GetDiscardableFactory\28\29 +6563:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29 +6564:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +6565:SkRegion::quickReject\28SkIRect\20const&\29\20const +6566:SkRegion::quickContains\28SkIRect\20const&\29\20const +6567:SkRegion::op\28SkIRect\20const&\2c\20SkRegion::Op\29 +6568:SkRegion::getRuns\28int*\2c\20int*\29\20const +6569:SkRegion::Spanerator::next\28int*\2c\20int*\29 +6570:SkRegion::Spanerator::Spanerator\28SkRegion\20const&\2c\20int\2c\20int\2c\20int\29 +6571:SkRegion::RunHead::ensureWritable\28\29 +6572:SkRegion::RunHead::computeRunBounds\28SkIRect*\29 +6573:SkRegion::RunHead::Alloc\28int\2c\20int\2c\20int\29 +6574:SkRegion::Oper\28SkRegion\20const&\2c\20SkRegion\20const&\2c\20SkRegion::Op\2c\20SkRegion*\29 +6575:SkRefCntBase::internal_dispose\28\29\20const +6576:SkReduceOrder::Conic\28SkConic\20const&\2c\20SkPoint*\29 +6577:SkRectPriv::Subtract\28SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkIRect*\29 +6578:SkRectPriv::QuadContainsRect\28SkM44\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20float\29 +6579:SkRectPriv::QuadContainsRectMask\28SkM44\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20float\29 +6580:SkRectPriv::FitsInFixed\28SkRect\20const&\29 +6581:SkRectClipBlitter::requestRowsPreserved\28\29\20const +6582:SkRectClipBlitter::allocBlitMemory\28unsigned\20long\29 +6583:SkRect::roundOut\28SkRect*\29\20const +6584:SkRect::roundIn\28\29\20const +6585:SkRect::roundIn\28SkIRect*\29\20const +6586:SkRect::makeOffset\28float\2c\20float\29\20const +6587:SkRect::joinNonEmptyArg\28SkRect\20const&\29 +6588:SkRect::intersect\28SkRect\20const&\2c\20SkRect\20const&\29 +6589:SkRect::contains\28float\2c\20float\29\20const +6590:SkRect::contains\28SkIRect\20const&\29\20const +6591:SkRect*\20SkRecord::alloc\28unsigned\20long\29 +6592:SkRecords::FillBounds::popSaveBlock\28\29 +6593:SkRecords::FillBounds::popControl\28SkRect\20const&\29 +6594:SkRecords::FillBounds::AdjustForPaint\28SkPaint\20const*\2c\20SkRect*\29 +6595:SkRecorder::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +6596:SkRecordedDrawable::~SkRecordedDrawable\28\29 +6597:SkRecordOptimize\28SkRecord*\29 +6598:SkRecordFillBounds\28SkRect\20const&\2c\20SkRecord\20const&\2c\20SkRect*\2c\20SkBBoxHierarchy::Metadata*\29 +6599:SkRecord::~SkRecord\28\29 +6600:SkReadBuffer::skipByteArray\28unsigned\20long*\29 +6601:SkReadBuffer::readPad32\28void*\2c\20unsigned\20long\29 +6602:SkReadBuffer::SkReadBuffer\28void\20const*\2c\20unsigned\20long\29 +6603:SkRasterPipeline_UniformColorCtx*\20SkArenaAlloc::make\28\29 +6604:SkRasterPipeline_TileCtx*\20SkArenaAlloc::make\28\29 +6605:SkRasterPipeline_RewindCtx*\20SkArenaAlloc::make\28\29 +6606:SkRasterPipeline_DecalTileCtx*\20SkArenaAlloc::make\28\29 +6607:SkRasterPipeline_CopyIndirectCtx*\20SkArenaAlloc::make\28\29 +6608:SkRasterPipeline_2PtConicalCtx*\20SkArenaAlloc::make\28\29 +6609:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29 +6610:SkRasterPipeline::buildPipeline\28SkRasterPipelineStage*\29\20const +6611:SkRasterPipeline::appendSetRGB\28SkArenaAlloc*\2c\20float\20const*\29 +6612:SkRasterPipeline::appendLoad\28SkColorType\2c\20SkRasterPipeline_MemoryCtx\20const*\29 +6613:SkRasterClipStack::Rec::Rec\28SkRasterClip\20const&\29 +6614:SkRasterClip::setEmpty\28\29 +6615:SkRasterClip::computeIsRect\28\29\20const +6616:SkRandom::nextULessThan\28unsigned\20int\29 +6617:SkRTreeFactory::operator\28\29\28\29\20const +6618:SkRTree::~SkRTree\28\29 +6619:SkRTree::search\28SkRTree::Node*\2c\20SkRect\20const&\2c\20std::__2::vector>*\29\20const +6620:SkRTree::bulkLoad\28std::__2::vector>*\2c\20int\29 +6621:SkRTree::allocateNodeAtLevel\28unsigned\20short\29 +6622:SkRRectPriv::ConservativeIntersect\28SkRRect\20const&\2c\20SkRRect\20const&\29::$_2::operator\28\29\28SkRRect::Corner\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29\20const +6623:SkRRect::setRectXY\28SkRect\20const&\2c\20float\2c\20float\29 +6624:SkRRect::isValid\28\29\20const +6625:SkRRect::computeType\28\29 +6626:SkRGBA4f<\28SkAlphaType\292>\20skgpu::Swizzle::applyTo<\28SkAlphaType\292>\28SkRGBA4f<\28SkAlphaType\292>\29\20const +6627:SkRGBA4f<\28SkAlphaType\292>::unpremul\28\29\20const +6628:SkQuads::Roots\28double\2c\20double\2c\20double\29 +6629:SkQuadraticEdge::setQuadraticWithoutUpdate\28SkPoint\20const*\2c\20int\29 +6630:SkQuadConstruct::init\28float\2c\20float\29 +6631:SkPtrSet::add\28void*\29 +6632:SkPoint::Normalize\28SkPoint*\29 +6633:SkPixmap::readPixels\28SkPixmap\20const&\29\20const +6634:SkPixmap::readPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\29\20const +6635:SkPixmap::erase\28unsigned\20int\29\20const +6636:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const +6637:SkPixelRef::callGenIDChangeListeners\28\29 +6638:SkPictureShader::CachedImageInfo::makeImage\28sk_sp\2c\20SkPicture\20const*\29\20const +6639:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20sk_sp\29 +6640:SkPictureRecorder::beginRecording\28SkRect\20const&\2c\20SkBBHFactory*\29 +6641:SkPictureRecord::fillRestoreOffsetPlaceholdersForCurrentStackLevel\28unsigned\20int\29 +6642:SkPictureRecord::endRecording\28\29 +6643:SkPictureRecord::beginRecording\28\29 +6644:SkPictureRecord::addPath\28SkPath\20const&\29 +6645:SkPictureRecord::addPathToHeap\28SkPath\20const&\29 +6646:SkPictureRecord::SkPictureRecord\28SkIRect\20const&\2c\20unsigned\20int\29 +6647:SkPictureImageGenerator::~SkPictureImageGenerator\28\29 +6648:SkPictureData::~SkPictureData\28\29 +6649:SkPictureData::flatten\28SkWriteBuffer&\29\20const +6650:SkPictureData::SkPictureData\28SkPictureRecord\20const&\2c\20SkPictInfo\20const&\29 +6651:SkPicture::SkPicture\28\29 +6652:SkPathWriter::moveTo\28\29 +6653:SkPathWriter::init\28\29 +6654:SkPathWriter::assemble\28\29 +6655:SkPathStroker::setQuadEndNormal\28SkPoint\20const*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint*\2c\20SkPoint*\29 +6656:SkPathStroker::cubicQuadEnds\28SkPoint\20const*\2c\20SkQuadConstruct*\29 +6657:SkPathRef::resetToSize\28int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\29 +6658:SkPathRef::isRRect\28SkRRect*\2c\20bool*\2c\20unsigned\20int*\29\20const +6659:SkPathRef::isOval\28SkRect*\2c\20bool*\2c\20unsigned\20int*\29\20const +6660:SkPathRef::commonReset\28\29 +6661:SkPathRef::Iter::next\28SkPoint*\29 +6662:SkPathRef::CreateEmpty\28\29 +6663:SkPathPriv::LeadingMoveToCount\28SkPath\20const&\29 +6664:SkPathPriv::IsRRect\28SkPath\20const&\2c\20SkRRect*\2c\20SkPathDirection*\2c\20unsigned\20int*\29 +6665:SkPathPriv::IsOval\28SkPath\20const&\2c\20SkRect*\2c\20SkPathDirection*\2c\20unsigned\20int*\29 +6666:SkPathPriv::IsNestedFillRects\28SkPath\20const&\2c\20SkRect*\2c\20SkPathDirection*\29 +6667:SkPathPriv::CreateDrawArcPath\28SkPath*\2c\20SkArc\20const&\2c\20bool\29 +6668:SkPathOpsBounds::Intersects\28SkPathOpsBounds\20const&\2c\20SkPathOpsBounds\20const&\29 +6669:SkPathMeasure::~SkPathMeasure\28\29 +6670:SkPathMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29 +6671:SkPathMeasure::SkPathMeasure\28SkPath\20const&\2c\20bool\2c\20float\29 +6672:SkPathEffectBase::getFlattenableType\28\29\20const +6673:SkPathEffectBase::PointData::~PointData\28\29 +6674:SkPathEdgeIter::next\28\29::'lambda'\28\29::operator\28\29\28\29\20const +6675:SkPathBuilder::reset\28\29 +6676:SkPathBuilder::lineTo\28float\2c\20float\29 +6677:SkPathBuilder::addRect\28SkRect\20const&\2c\20SkPathDirection\29 +6678:SkPathBuilder::addOval\28SkRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +6679:SkPath::writeToMemory\28void*\29\20const +6680:SkPath::reverseAddPath\28SkPath\20const&\29 +6681:SkPath::offset\28float\2c\20float\29 +6682:SkPath::makeTransform\28SkMatrix\20const&\2c\20SkApplyPerspectiveClip\29\20const +6683:SkPath::isZeroLengthSincePoint\28int\29\20const +6684:SkPath::isRRect\28SkRRect*\29\20const +6685:SkPath::isOval\28SkRect*\29\20const +6686:SkPath::copyFields\28SkPath\20const&\29 +6687:SkPath::conservativelyContainsRect\28SkRect\20const&\29\20const +6688:SkPath::arcTo\28float\2c\20float\2c\20float\2c\20SkPath::ArcSize\2c\20SkPathDirection\2c\20float\2c\20float\29 +6689:SkPath::addRect\28float\2c\20float\2c\20float\2c\20float\2c\20SkPathDirection\29 +6690:SkPath::addRRect\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\29 +6691:SkPath::addCircle\28float\2c\20float\2c\20float\2c\20SkPathDirection\29 +6692:SkPath::Polygon\28std::initializer_list\20const&\2c\20bool\2c\20SkPathFillType\2c\20bool\29 +6693:SkPaintToGrPaintWithBlend\28GrRecordingContext*\2c\20GrColorInfo\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkBlender*\2c\20SkSurfaceProps\20const&\2c\20GrPaint*\29 +6694:SkPaintPriv::ShouldDither\28SkPaint\20const&\2c\20SkColorType\29 +6695:SkPackedGlyphID::PackIDSkPoint\28unsigned\20short\2c\20SkPoint\2c\20SkIPoint\29 +6696:SkOpSpanBase::merge\28SkOpSpan*\29 +6697:SkOpSpanBase::initBase\28SkOpSegment*\2c\20SkOpSpan*\2c\20double\2c\20SkPoint\20const&\29 +6698:SkOpSpan::sortableTop\28SkOpContour*\29 +6699:SkOpSpan::setOppSum\28int\29 +6700:SkOpSpan::insertCoincidence\28SkOpSpan*\29 +6701:SkOpSpan::insertCoincidence\28SkOpSegment\20const*\2c\20bool\2c\20bool\29 +6702:SkOpSpan::init\28SkOpSegment*\2c\20SkOpSpan*\2c\20double\2c\20SkPoint\20const&\29 +6703:SkOpSpan::containsCoincidence\28SkOpSegment\20const*\29\20const +6704:SkOpSpan::computeWindSum\28\29 +6705:SkOpSegment::updateOppWindingReverse\28SkOpAngle\20const*\29\20const +6706:SkOpSegment::ptsDisjoint\28double\2c\20SkPoint\20const&\2c\20double\2c\20SkPoint\20const&\29\20const +6707:SkOpSegment::markWinding\28SkOpSpan*\2c\20int\29 +6708:SkOpSegment::isClose\28double\2c\20SkOpSegment\20const*\29\20const +6709:SkOpSegment::computeSum\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkOpAngle::IncludeType\29 +6710:SkOpSegment::collapsed\28double\2c\20double\29\20const +6711:SkOpSegment::addExpanded\28double\2c\20SkOpSpanBase\20const*\2c\20bool*\29 +6712:SkOpSegment::activeWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\29 +6713:SkOpSegment::activeOp\28int\2c\20int\2c\20SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20SkPathOp\2c\20int*\2c\20int*\29 +6714:SkOpSegment::activeAngle\28SkOpSpanBase*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +6715:SkOpSegment::activeAngleInner\28SkOpSpanBase*\2c\20SkOpSpanBase**\2c\20SkOpSpanBase**\2c\20bool*\29 +6716:SkOpPtT::ptAlreadySeen\28SkOpPtT\20const*\29\20const +6717:SkOpEdgeBuilder::~SkOpEdgeBuilder\28\29 +6718:SkOpEdgeBuilder::preFetch\28\29 +6719:SkOpEdgeBuilder::finish\28\29 +6720:SkOpEdgeBuilder::SkOpEdgeBuilder\28SkPath\20const&\2c\20SkOpContourHead*\2c\20SkOpGlobalState*\29 +6721:SkOpContourBuilder::addQuad\28SkPoint*\29 +6722:SkOpContourBuilder::addLine\28SkPoint\20const*\29 +6723:SkOpContourBuilder::addCubic\28SkPoint*\29 +6724:SkOpContourBuilder::addConic\28SkPoint*\2c\20float\29 +6725:SkOpCoincidence::restoreHead\28\29 +6726:SkOpCoincidence::releaseDeleted\28SkCoincidentSpans*\29 +6727:SkOpCoincidence::mark\28\29 +6728:SkOpCoincidence::markCollapsed\28SkCoincidentSpans*\2c\20SkOpPtT*\29 +6729:SkOpCoincidence::fixUp\28SkCoincidentSpans*\2c\20SkOpPtT*\2c\20SkOpPtT\20const*\29 +6730:SkOpCoincidence::contains\28SkCoincidentSpans\20const*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\29\20const +6731:SkOpCoincidence::checkOverlap\28SkCoincidentSpans*\2c\20SkOpSegment\20const*\2c\20SkOpSegment\20const*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20SkTDArray*\29\20const +6732:SkOpCoincidence::addOrOverlap\28SkOpSegment*\2c\20SkOpSegment*\2c\20double\2c\20double\2c\20double\2c\20double\2c\20bool*\29 +6733:SkOpCoincidence::addMissing\28bool*\29 +6734:SkOpCoincidence::addEndMovedSpans\28SkOpSpan\20const*\2c\20SkOpSpanBase\20const*\29 +6735:SkOpAngle::tangentsDiverge\28SkOpAngle\20const*\2c\20double\29 +6736:SkOpAngle::setSpans\28\29 +6737:SkOpAngle::setSector\28\29 +6738:SkOpAngle::previous\28\29\20const +6739:SkOpAngle::midToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +6740:SkOpAngle::merge\28SkOpAngle*\29 +6741:SkOpAngle::loopContains\28SkOpAngle\20const*\29\20const +6742:SkOpAngle::lineOnOneSide\28SkOpAngle\20const*\2c\20bool\29 +6743:SkOpAngle::lastMarked\28\29\20const +6744:SkOpAngle::findSector\28SkPath::Verb\2c\20double\2c\20double\29\20const +6745:SkOpAngle::endToSide\28SkOpAngle\20const*\2c\20bool*\29\20const +6746:SkOpAngle::checkCrossesZero\28\29\20const +6747:SkOpAngle::alignmentSameSide\28SkOpAngle\20const*\2c\20int*\29\20const +6748:SkOpAngle::after\28SkOpAngle*\29 +6749:SkOffsetSimplePolygon\28SkPoint\20const*\2c\20int\2c\20SkRect\20const&\2c\20float\2c\20SkTDArray*\2c\20SkTDArray*\29 +6750:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29 +6751:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29 +6752:SkNullBlitter*\20SkArenaAlloc::make\28\29 +6753:SkNotifyBitmapGenIDIsStale\28unsigned\20int\29 +6754:SkNoPixelsDevice::~SkNoPixelsDevice\28\29 +6755:SkNoPixelsDevice::SkNoPixelsDevice\28SkIRect\20const&\2c\20SkSurfaceProps\20const&\29 +6756:SkNoDestructor::SkNoDestructor\2c\20sk_sp>\28sk_sp&&\2c\20sk_sp&&\29 +6757:SkNVRefCnt::unref\28\29\20const +6758:SkNVRefCnt::unref\28\29\20const +6759:SkNVRefCnt::unref\28\29\20const +6760:SkNVRefCnt::unref\28\29\20const +6761:SkNVRefCnt::unref\28\29\20const +6762:SkMipmapAccessor::SkMipmapAccessor\28SkImage_Base\20const*\2c\20SkMatrix\20const&\2c\20SkMipmapMode\29::$_1::operator\28\29\28SkPixmap\20const&\29\20const +6763:SkMipmap::~SkMipmap\28\29 +6764:SkMessageBus::Get\28\29 +6765:SkMessageBus::Get\28\29 +6766:SkMeshSpecification::Attribute::Attribute\28SkMeshSpecification::Attribute\20const&\29 +6767:SkMeshPriv::CpuBuffer::~CpuBuffer\28\29 +6768:SkMeshPriv::CpuBuffer::size\28\29\20const +6769:SkMeshPriv::CpuBuffer::peek\28\29\20const +6770:SkMeshPriv::CpuBuffer::onUpdate\28GrDirectContext*\2c\20void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\29 +6771:SkMemoryStream::~SkMemoryStream\28\29 +6772:SkMemoryStream::SkMemoryStream\28sk_sp\29 +6773:SkMatrixPriv::MapPointsWithStride\28SkMatrix\20const&\2c\20SkPoint*\2c\20unsigned\20long\2c\20int\29 +6774:SkMatrix::updateTranslateMask\28\29 +6775:SkMatrix::setTranslate\28float\2c\20float\29 +6776:SkMatrix::setScale\28float\2c\20float\29 +6777:SkMatrix::postSkew\28float\2c\20float\29 +6778:SkMatrix::mapHomogeneousPoints\28SkPoint3*\2c\20SkPoint3\20const*\2c\20int\29\20const +6779:SkMatrix::getMinScale\28\29\20const +6780:SkMatrix::computeTypeMask\28\29\20const +6781:SkMatrix::Rot_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +6782:SkMatrix*\20SkRecord::alloc\28unsigned\20long\29 +6783:SkMaskFilterBase::NinePatch::~NinePatch\28\29 +6784:SkMask*\20SkTLazy::init\28unsigned\20char\20const*&&\2c\20SkIRect\20const&\2c\20unsigned\20int\20const&\2c\20SkMask::Format\20const&\29 +6785:SkMask*\20SkTLazy::init\28SkMaskBuilder&\29 +6786:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29 +6787:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29 +6788:SkMakeBitmapShaderForPaint\28SkPaint\20const&\2c\20SkBitmap\20const&\2c\20SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const*\2c\20SkCopyPixelsMode\29 +6789:SkM44::preTranslate\28float\2c\20float\2c\20float\29 +6790:SkM44::postTranslate\28float\2c\20float\2c\20float\29 +6791:SkLocalMatrixShader::type\28\29\20const +6792:SkLinearColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +6793:SkLineParameters::normalize\28\29 +6794:SkLineParameters::cubicEndPoints\28SkDCubic\20const&\29 +6795:SkLineClipper::ClipLine\28SkPoint\20const*\2c\20SkRect\20const&\2c\20SkPoint*\2c\20bool\29 +6796:SkLatticeIter::~SkLatticeIter\28\29 +6797:SkLatticeIter::next\28SkIRect*\2c\20SkRect*\2c\20bool*\2c\20unsigned\20int*\29 +6798:SkLatticeIter::SkLatticeIter\28SkCanvas::Lattice\20const&\2c\20SkRect\20const&\29 +6799:SkLRUCache>\2c\20skia::textlayout::ParagraphCache::KeyHash>::find\28skia::textlayout::ParagraphCacheKey\20const&\29 +6800:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::insert\28GrProgramDesc\20const&\2c\20std::__2::unique_ptr>\29 +6801:SkLRUCache>\2c\20GrGLGpu::ProgramCache::DescHash>::find\28GrProgramDesc\20const&\29 +6802:SkKnownRuntimeEffects::\28anonymous\20namespace\29::make_matrix_conv_effect\28SkKnownRuntimeEffects::\28anonymous\20namespace\29::MatrixConvolutionImpl\2c\20SkRuntimeEffect::Options\20const&\29::$_0::operator\28\29\28int\2c\20SkRuntimeEffect::Options\20const&\29\20const +6803:SkJSONWriter::appendf\28char\20const*\2c\20...\29 +6804:SkIsSimplePolygon\28SkPoint\20const*\2c\20int\29 +6805:SkIsConvexPolygon\28SkPoint\20const*\2c\20int\29 +6806:SkInvert4x4Matrix\28float\20const*\2c\20float*\29 +6807:SkInvert3x3Matrix\28float\20const*\2c\20float*\29 +6808:SkIntersections::quadVertical\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6809:SkIntersections::quadLine\28SkPoint\20const*\2c\20SkPoint\20const*\29 +6810:SkIntersections::quadHorizontal\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6811:SkIntersections::mostOutside\28double\2c\20double\2c\20SkDPoint\20const&\29\20const +6812:SkIntersections::lineVertical\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6813:SkIntersections::lineHorizontal\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6814:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDQuad\20const&\29 +6815:SkIntersections::intersect\28SkDCubic\20const&\2c\20SkDConic\20const&\29 +6816:SkIntersections::intersect\28SkDConic\20const&\2c\20SkDQuad\20const&\29 +6817:SkIntersections::insertCoincident\28double\2c\20double\2c\20SkDPoint\20const&\29 +6818:SkIntersections::cubicVertical\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6819:SkIntersections::cubicLine\28SkPoint\20const*\2c\20SkPoint\20const*\29 +6820:SkIntersections::cubicHorizontal\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6821:SkIntersections::conicVertical\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6822:SkIntersections::conicLine\28SkPoint\20const*\2c\20float\2c\20SkPoint\20const*\29 +6823:SkIntersections::conicHorizontal\28SkPoint\20const*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20bool\29 +6824:SkImages::RasterFromPixmap\28SkPixmap\20const&\2c\20void\20\28*\29\28void\20const*\2c\20void*\29\2c\20void*\29 +6825:SkImages::RasterFromData\28SkImageInfo\20const&\2c\20sk_sp\2c\20unsigned\20long\29 +6826:SkImage_Raster::~SkImage_Raster\28\29 +6827:SkImage_Raster::onPeekBitmap\28\29\20const +6828:SkImage_Raster::SkImage_Raster\28SkBitmap\20const&\2c\20bool\29 +6829:SkImage_Lazy::~SkImage_Lazy\28\29 +6830:SkImage_Lazy::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +6831:SkImage_GaneshBase::~SkImage_GaneshBase\28\29 +6832:SkImage_GaneshBase::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +6833:SkImage_GaneshBase::SkImage_GaneshBase\28sk_sp\2c\20SkImageInfo\2c\20unsigned\20int\29 +6834:SkImage_Base::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +6835:SkImage_Base::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +6836:SkImageShader::~SkImageShader\28\29 +6837:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_3::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +6838:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const::$_1::operator\28\29\28\28anonymous\20namespace\29::MipLevelHelper\20const*\29\20const +6839:SkImageInfoValidConversion\28SkImageInfo\20const&\2c\20SkImageInfo\20const&\29 +6840:SkImageGenerator::SkImageGenerator\28SkImageInfo\20const&\2c\20unsigned\20int\29 +6841:SkImageFilters::Crop\28SkRect\20const&\2c\20sk_sp\29 +6842:SkImageFilters::Blur\28float\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +6843:SkImageFilter_Base::getInputBounds\28skif::Mapping\20const&\2c\20skif::DeviceSpace\20const&\2c\20std::__2::optional>\29\20const +6844:SkImageFilter_Base::getCTMCapability\28\29\20const +6845:SkImageFilterCache::Get\28SkImageFilterCache::CreateIfNecessary\29 +6846:SkImageFilterCache::Create\28unsigned\20long\29 +6847:SkImage::~SkImage\28\29 +6848:SkGradientShader::MakeTwoPointConical\28SkPoint\20const&\2c\20float\2c\20SkPoint\20const&\2c\20float\2c\20unsigned\20int\20const*\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20SkMatrix\20const*\29 +6849:SkGradientShader::MakeTwoPointConical\28SkPoint\20const&\2c\20float\2c\20SkPoint\20const&\2c\20float\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +6850:SkGradientShader::MakeSweep\28float\2c\20float\2c\20unsigned\20int\20const*\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20float\2c\20float\2c\20unsigned\20int\2c\20SkMatrix\20const*\29 +6851:SkGradientShader::MakeRadial\28SkPoint\20const&\2c\20float\2c\20unsigned\20int\20const*\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20SkMatrix\20const*\29 +6852:SkGradientShader::MakeLinear\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20unsigned\20int\2c\20SkMatrix\20const*\29 +6853:SkGradientShader::MakeLinear\28SkPoint\20const*\2c\20SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20sk_sp\2c\20float\20const*\2c\20int\2c\20SkTileMode\2c\20SkGradientShader::Interpolation\20const&\2c\20SkMatrix\20const*\29 +6854:SkGradientBaseShader::~SkGradientBaseShader\28\29 +6855:SkGradientBaseShader::getPos\28int\29\20const +6856:SkGradientBaseShader::AppendGradientFillStages\28SkRasterPipeline*\2c\20SkArenaAlloc*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const*\2c\20float\20const*\2c\20int\29 +6857:SkGlyph::mask\28SkPoint\29\20const +6858:SkGlyph::ensureIntercepts\28float\20const*\2c\20float\2c\20float\2c\20float*\2c\20int*\2c\20SkArenaAlloc*\29::$_1::operator\28\29\28SkGlyph::Intercept\20const*\2c\20float*\2c\20int*\29\20const +6859:SkGenerateDistanceFieldFromA8Image\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\2c\20int\2c\20unsigned\20long\29 +6860:SkGaussFilter::SkGaussFilter\28double\29 +6861:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29 +6862:SkFontStyleSet::CreateEmpty\28\29 +6863:SkFontStyle::SkFontStyle\28int\2c\20int\2c\20SkFontStyle::Slant\29 +6864:SkFontScanner_FreeType::scanInstance\28SkStreamAsset*\2c\20int\2c\20int\2c\20SkString*\2c\20SkFontStyle*\2c\20bool*\2c\20skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>*\29\20const +6865:SkFontScanner_FreeType::computeAxisValues\28skia_private::STArray<4\2c\20SkFontScanner::AxisDefinition\2c\20true>\2c\20SkFontArguments::VariationPosition\2c\20int*\2c\20SkString\20const&\2c\20SkFontStyle*\2c\20SkFontArguments::VariationPosition::Coordinate\20const*\29 +6866:SkFontScanner_FreeType::SkFontScanner_FreeType\28\29 +6867:SkFontPriv::MakeTextMatrix\28float\2c\20float\2c\20float\29 +6868:SkFontPriv::GetFontBounds\28SkFont\20const&\29 +6869:SkFontMgr_Custom::~SkFontMgr_Custom\28\29 +6870:SkFontDescriptor::SkFontStyleWidthForWidthAxisValue\28float\29 +6871:SkFontData::~SkFontData\28\29 +6872:SkFontData::SkFontData\28std::__2::unique_ptr>\2c\20int\2c\20int\2c\20int\20const*\2c\20int\2c\20SkFontArguments::Palette::Override\20const*\2c\20int\29 +6873:SkFont::operator==\28SkFont\20const&\29\20const +6874:SkFont::getWidths\28unsigned\20short\20const*\2c\20int\2c\20float*\29\20const +6875:SkFont::getPaths\28unsigned\20short\20const*\2c\20int\2c\20void\20\28*\29\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29\2c\20void*\29\20const +6876:SkFindCubicInflections\28SkPoint\20const*\2c\20float*\29 +6877:SkFindCubicExtrema\28float\2c\20float\2c\20float\2c\20float\2c\20float*\29 +6878:SkFindBisector\28SkPoint\2c\20SkPoint\29 +6879:SkFibBlockSizes<4294967295u>::SkFibBlockSizes\28unsigned\20int\2c\20unsigned\20int\29::'lambda0'\28\29::operator\28\29\28\29\20const +6880:SkFibBlockSizes<4294967295u>::SkFibBlockSizes\28unsigned\20int\2c\20unsigned\20int\29::'lambda'\28\29::operator\28\29\28\29\20const +6881:SkFILEStream::~SkFILEStream\28\29 +6882:SkEvalQuadTangentAt\28SkPoint\20const*\2c\20float\29 +6883:SkEvalQuadAt\28SkPoint\20const*\2c\20float\2c\20SkPoint*\2c\20SkPoint*\29 +6884:SkEdgeClipper::next\28SkPoint*\29 +6885:SkEdgeClipper::clipQuad\28SkPoint\20const*\2c\20SkRect\20const&\29 +6886:SkEdgeClipper::clipLine\28SkPoint\2c\20SkPoint\2c\20SkRect\20const&\29 +6887:SkEdgeClipper::appendCubic\28SkPoint\20const*\2c\20bool\29 +6888:SkEdgeClipper::ClipPath\28SkPath\20const&\2c\20SkRect\20const&\2c\20bool\2c\20void\20\28*\29\28SkEdgeClipper*\2c\20bool\2c\20void*\29\2c\20void*\29 +6889:SkEdgeBuilder::build\28SkPath\20const&\2c\20SkIRect\20const*\2c\20bool\29::$_1::operator\28\29\28SkPoint\20const*\29\20const +6890:SkEdgeBuilder::buildEdges\28SkPath\20const&\2c\20SkIRect\20const*\29 +6891:SkEdgeBuilder::SkEdgeBuilder\28\29 +6892:SkEdge::updateLine\28int\2c\20int\2c\20int\2c\20int\29 +6893:SkEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20int\29 +6894:SkDynamicMemoryWStream::reset\28\29 +6895:SkDynamicMemoryWStream::Block::append\28void\20const*\2c\20unsigned\20long\29 +6896:SkDrawableList::newDrawableSnapshot\28\29 +6897:SkDrawTreatAsHairline\28SkPaint\20const&\2c\20SkMatrix\20const&\2c\20float*\29 +6898:SkDrawShadowMetrics::GetSpotShadowTransform\28SkPoint3\20const&\2c\20float\2c\20SkMatrix\20const&\2c\20SkPoint3\20const&\2c\20SkRect\20const&\2c\20bool\2c\20SkMatrix*\2c\20float*\29 +6899:SkDrawBase::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20SkRect\20const*\29\20const +6900:SkDrawBase::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const*\2c\20bool\2c\20bool\2c\20SkBlitter*\29\20const +6901:SkDrawBase::drawPaint\28SkPaint\20const&\29\20const +6902:SkDrawBase::SkDrawBase\28SkDrawBase\20const&\29 +6903:SkDrawBase::DrawToMask\28SkPath\20const&\2c\20SkIRect\20const&\2c\20SkMaskFilter\20const*\2c\20SkMatrix\20const*\2c\20SkMaskBuilder*\2c\20SkMaskBuilder::CreateMode\2c\20SkStrokeRec::InitStyle\29 +6904:SkDraw::drawSprite\28SkBitmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29\20const +6905:SkDraw::drawBitmap\28SkBitmap\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29\20const +6906:SkDraw::SkDraw\28SkDraw\20const&\29 +6907:SkDevice::setOrigin\28SkM44\20const&\2c\20int\2c\20int\29 +6908:SkDevice::setDeviceCoordinateSystem\28SkM44\20const&\2c\20SkM44\20const&\2c\20SkM44\20const&\2c\20int\2c\20int\29 +6909:SkDevice::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +6910:SkDevice::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +6911:SkDevice::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +6912:SkDescriptor::addEntry\28unsigned\20int\2c\20unsigned\20long\2c\20void\20const*\29 +6913:SkDeque::push_back\28\29 +6914:SkDeque::allocateBlock\28int\29 +6915:SkDeque::Iter::Iter\28SkDeque\20const&\2c\20SkDeque::Iter::IterStart\29 +6916:SkDashPathEffect::Make\28float\20const*\2c\20int\2c\20float\29 +6917:SkDashPath::InternalFilter\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20float\20const*\2c\20int\2c\20float\2c\20int\2c\20float\2c\20float\2c\20SkDashPath::StrokeRecApplication\29 +6918:SkDashPath::CalcDashParameters\28float\2c\20float\20const*\2c\20int\2c\20float*\2c\20int*\2c\20float*\2c\20float*\29 +6919:SkDashImpl::~SkDashImpl\28\29 +6920:SkDRect::setBounds\28SkDQuad\20const&\2c\20SkDQuad\20const&\2c\20double\2c\20double\29 +6921:SkDRect::setBounds\28SkDCubic\20const&\2c\20SkDCubic\20const&\2c\20double\2c\20double\29 +6922:SkDRect::setBounds\28SkDConic\20const&\2c\20SkDConic\20const&\2c\20double\2c\20double\29 +6923:SkDQuad::subDivide\28double\2c\20double\29\20const +6924:SkDQuad::otherPts\28int\2c\20SkDPoint\20const**\29\20const +6925:SkDQuad::isLinear\28int\2c\20int\29\20const +6926:SkDQuad::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +6927:SkDQuad::AddValidTs\28double*\2c\20int\2c\20double*\29 +6928:SkDPoint::roughlyEqual\28SkDPoint\20const&\29\20const +6929:SkDPoint::approximatelyDEqual\28SkDPoint\20const&\29\20const +6930:SkDCurveSweep::setCurveHullSweep\28SkPath::Verb\29 +6931:SkDCubic::monotonicInY\28\29\20const +6932:SkDCubic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +6933:SkDCubic::hullIntersects\28SkDPoint\20const*\2c\20int\2c\20bool*\29\20const +6934:SkDCubic::Coefficients\28double\20const*\2c\20double*\2c\20double*\2c\20double*\2c\20double*\29 +6935:SkDConic::subDivide\28double\2c\20double\29\20const +6936:SkCubics::RootsReal\28double\2c\20double\2c\20double\2c\20double\2c\20double*\29 +6937:SkCubicEdge::setCubicWithoutUpdate\28SkPoint\20const*\2c\20int\2c\20bool\29 +6938:SkCubicClipper::ChopMonoAtY\28SkPoint\20const*\2c\20float\2c\20float*\29 +6939:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20SkArenaAlloc*\2c\20sk_sp\29 +6940:SkCreateRasterPipelineBlitter\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkMatrix\20const&\2c\20SkArenaAlloc*\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +6941:SkContourMeasure_segTo\28SkPoint\20const*\2c\20unsigned\20int\2c\20float\2c\20float\2c\20SkPath*\29 +6942:SkContourMeasureIter::SkContourMeasureIter\28SkPath\20const&\2c\20bool\2c\20float\29 +6943:SkContourMeasureIter::Impl::compute_line_seg\28SkPoint\2c\20SkPoint\2c\20float\2c\20unsigned\20int\29 +6944:SkContourMeasure::~SkContourMeasure\28\29 +6945:SkContourMeasure::getSegment\28float\2c\20float\2c\20SkPath*\2c\20bool\29\20const +6946:SkConicalGradient::getCenterX1\28\29\20const +6947:SkConic::evalTangentAt\28float\29\20const +6948:SkConic::chop\28SkConic*\29\20const +6949:SkConic::chopIntoQuadsPOW2\28SkPoint*\2c\20int\29\20const +6950:SkConic::BuildUnitArc\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkRotationDirection\2c\20SkMatrix\20const*\2c\20SkConic*\29 +6951:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29 +6952:SkColorSpaceSingletonFactory::Make\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +6953:SkColorSpaceLuminance::Fetch\28float\29 +6954:SkColorSpace::makeLinearGamma\28\29\20const +6955:SkColorSpace::computeLazyDstFields\28\29\20const +6956:SkColorSpace::SkColorSpace\28skcms_TransferFunction\20const&\2c\20skcms_Matrix3x3\20const&\29 +6957:SkColorFilters::Compose\28sk_sp\20const&\2c\20sk_sp\29 +6958:SkColorFilters::Blend\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20sk_sp\2c\20SkBlendMode\29 +6959:SkColorFilterShader::~SkColorFilterShader\28\29 +6960:SkColorFilterShader::flatten\28SkWriteBuffer&\29\20const +6961:SkColor4fXformer::~SkColor4fXformer\28\29 +6962:SkColor4fXformer::SkColor4fXformer\28SkGradientBaseShader\20const*\2c\20SkColorSpace*\2c\20bool\29 +6963:SkColor4Shader::~SkColor4Shader\28\29 +6964:SkCoincidentSpans::contains\28SkOpPtT\20const*\2c\20SkOpPtT\20const*\29\20const +6965:SkChopQuadAtMaxCurvature\28SkPoint\20const*\2c\20SkPoint*\29 +6966:SkChopQuadAtHalf\28SkPoint\20const*\2c\20SkPoint*\29 +6967:SkChopCubicAt\28SkPoint\20const*\2c\20SkPoint*\2c\20float\2c\20float\29 +6968:SkChopCubicAtInflections\28SkPoint\20const*\2c\20SkPoint*\29 +6969:SkCharToGlyphCache::reset\28\29 +6970:SkCharToGlyphCache::findGlyphIndex\28int\29\20const +6971:SkCanvasVirtualEnforcer::SkCanvasVirtualEnforcer\28SkIRect\20const&\29 +6972:SkCanvasPriv::WriteLattice\28void*\2c\20SkCanvas::Lattice\20const&\29 +6973:SkCanvasPriv::GetDstClipAndMatrixCounts\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20int*\2c\20int*\29 +6974:SkCanvas::setMatrix\28SkM44\20const&\29 +6975:SkCanvas::internalSaveLayer\28SkCanvas::SaveLayerRec\20const&\2c\20SkCanvas::SaveLayerStrategy\2c\20bool\29 +6976:SkCanvas::internalDrawPaint\28SkPaint\20const&\29 +6977:SkCanvas::getDeviceClipBounds\28\29\20const +6978:SkCanvas::experimental_DrawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +6979:SkCanvas::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +6980:SkCanvas::drawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +6981:SkCanvas::drawPicture\28sk_sp\20const&\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +6982:SkCanvas::drawPicture\28SkPicture\20const*\29 +6983:SkCanvas::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +6984:SkCanvas::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +6985:SkCanvas::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +6986:SkCanvas::drawColor\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +6987:SkCanvas::drawAtlas\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +6988:SkCanvas::drawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +6989:SkCanvas::didTranslate\28float\2c\20float\29 +6990:SkCanvas::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +6991:SkCanvas::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +6992:SkCanvas::SkCanvas\28sk_sp\29 +6993:SkCanvas::SkCanvas\28SkBitmap\20const&\2c\20SkSurfaceProps\20const&\29 +6994:SkCanvas::SkCanvas\28SkBitmap\20const&\29 +6995:SkCachedData::setData\28void*\29 +6996:SkCachedData::internalUnref\28bool\29\20const +6997:SkCachedData::internalRef\28bool\29\20const +6998:SkCachedData::SkCachedData\28void*\2c\20unsigned\20long\29 +6999:SkCachedData::SkCachedData\28unsigned\20long\2c\20SkDiscardableMemory*\29 +7000:SkCTMShader::isOpaque\28\29\20const +7001:SkBulkGlyphMetricsAndPaths::glyphs\28SkSpan\29 +7002:SkBreakIterator_client::~SkBreakIterator_client\28\29 +7003:SkBlurMaskFilterImpl::filterRectMask\28SkMaskBuilder*\2c\20SkRect\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\2c\20SkMaskBuilder::CreateMode\29\20const +7004:SkBlurMask::ComputeBlurredScanline\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20unsigned\20int\2c\20float\29 +7005:SkBlockAllocator::addBlock\28int\2c\20int\29 +7006:SkBlockAllocator::BlockIter::Item::advance\28SkBlockAllocator::Block*\29 +7007:SkBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +7008:SkBlitter::blitRectRegion\28SkIRect\20const&\2c\20SkRegion\20const&\29 +7009:SkBlitter::Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +7010:SkBlitter::ChooseSprite\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkPixmap\20const&\2c\20int\2c\20int\2c\20SkArenaAlloc*\2c\20sk_sp\29 +7011:SkBlenderBase::affectsTransparentBlack\28\29\20const +7012:SkBlendShader::~SkBlendShader\28\29.1 +7013:SkBitmapDevice::~SkBitmapDevice\28\29 +7014:SkBitmapDevice::Create\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\2c\20SkRasterHandleAllocator*\29 +7015:SkBitmapCache::Rec::~Rec\28\29 +7016:SkBitmapCache::Rec::install\28SkBitmap*\29 +7017:SkBitmapCache::Rec::diagnostic_only_getDiscardable\28\29\20const +7018:SkBitmapCache::Find\28SkBitmapCacheDesc\20const&\2c\20SkBitmap*\29 +7019:SkBitmapCache::Alloc\28SkBitmapCacheDesc\20const&\2c\20SkImageInfo\20const&\2c\20SkPixmap*\29 +7020:SkBitmap::tryAllocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29 +7021:SkBitmap::readPixels\28SkPixmap\20const&\29\20const +7022:SkBitmap::makeShader\28SkTileMode\2c\20SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\29\20const +7023:SkBitmap::getAddr\28int\2c\20int\29\20const +7024:SkBitmap::allocPixels\28SkImageInfo\20const&\2c\20unsigned\20long\29 +7025:SkBitmap::allocPixels\28SkImageInfo\20const&\29 +7026:SkBinaryWriteBuffer::writeFlattenable\28SkFlattenable\20const*\29 +7027:SkBinaryWriteBuffer::writeColor4f\28SkRGBA4f<\28SkAlphaType\293>\20const&\29 +7028:SkBigPicture::~SkBigPicture\28\29 +7029:SkBigPicture::SnapshotArray::~SnapshotArray\28\29 +7030:SkBigPicture::SkBigPicture\28SkRect\20const&\2c\20sk_sp\2c\20std::__2::unique_ptr>\2c\20sk_sp\2c\20unsigned\20long\29 +7031:SkBidiFactory::MakeIterator\28unsigned\20short\20const*\2c\20int\2c\20SkBidiIterator::Direction\29\20const +7032:SkBezierCubic::Subdivide\28double\20const*\2c\20double\2c\20double*\29 +7033:SkBasicEdgeBuilder::~SkBasicEdgeBuilder\28\29 +7034:SkBasicEdgeBuilder::combineVertical\28SkEdge\20const*\2c\20SkEdge*\29 +7035:SkBaseShadowTessellator::releaseVertices\28\29 +7036:SkBaseShadowTessellator::handleQuad\28SkPoint\20const*\29 +7037:SkBaseShadowTessellator::handleQuad\28SkMatrix\20const&\2c\20SkPoint*\29 +7038:SkBaseShadowTessellator::handleLine\28SkMatrix\20const&\2c\20SkPoint*\29 +7039:SkBaseShadowTessellator::handleCubic\28SkMatrix\20const&\2c\20SkPoint*\29 +7040:SkBaseShadowTessellator::handleConic\28SkMatrix\20const&\2c\20SkPoint*\2c\20float\29 +7041:SkBaseShadowTessellator::finishPathPolygon\28\29 +7042:SkBaseShadowTessellator::computeConvexShadow\28float\2c\20float\2c\20bool\29 +7043:SkBaseShadowTessellator::computeConcaveShadow\28float\2c\20float\29 +7044:SkBaseShadowTessellator::clipUmbraPoint\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint*\29 +7045:SkBaseShadowTessellator::checkConvexity\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\29 +7046:SkBaseShadowTessellator::appendQuad\28unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +7047:SkBaseShadowTessellator::addInnerPoint\28SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20int*\29 +7048:SkBaseShadowTessellator::addEdge\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20int\2c\20SkTDArray\20const&\2c\20bool\2c\20bool\29 +7049:SkBaseShadowTessellator::addArc\28SkPoint\20const&\2c\20float\2c\20bool\29 +7050:SkBaseShadowTessellator::accumulateCentroid\28SkPoint\20const&\2c\20SkPoint\20const&\29 +7051:SkAutoSMalloc<1024ul>::reset\28unsigned\20long\2c\20SkAutoMalloc::OnShrink\2c\20bool*\29 +7052:SkAutoPixmapStorage::reset\28SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\29 +7053:SkAutoMalloc::SkAutoMalloc\28unsigned\20long\29 +7054:SkAutoDescriptor::reset\28unsigned\20long\29 +7055:SkAutoDescriptor::reset\28SkDescriptor\20const&\29 +7056:SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint\28\29 +7057:SkAutoCanvasMatrixPaint::SkAutoCanvasMatrixPaint\28SkCanvas*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\2c\20SkRect\20const&\29 +7058:SkAutoBlitterChoose::choose\28SkDrawBase\20const&\2c\20SkMatrix\20const*\2c\20SkPaint\20const&\2c\20bool\29 +7059:SkArenaAlloc::ensureSpace\28unsigned\20int\2c\20unsigned\20int\29 +7060:SkAnySubclass::reset\28\29 +7061:SkAnalyticEdgeBuilder::combineVertical\28SkAnalyticEdge\20const*\2c\20SkAnalyticEdge*\29 +7062:SkAnalyticEdge::update\28int\2c\20bool\29 +7063:SkAnalyticEdge::updateLine\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +7064:SkAnalyticEdge::setLine\28SkPoint\20const&\2c\20SkPoint\20const&\29 +7065:SkAlphaRuns::BreakAt\28short*\2c\20unsigned\20char*\2c\20int\29 +7066:SkAAClip::operator=\28SkAAClip\20const&\29 +7067:SkAAClip::op\28SkIRect\20const&\2c\20SkClipOp\29 +7068:SkAAClip::isRect\28\29\20const +7069:SkAAClip::RunHead::Iterate\28SkAAClip\20const&\29 +7070:SkAAClip::Builder::~Builder\28\29 +7071:SkAAClip::Builder::flushRow\28bool\29 +7072:SkAAClip::Builder::finish\28SkAAClip*\29 +7073:SkAAClip::Builder::Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +7074:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29 +7075:SkA8_Coverage_Blitter*\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29 +7076:SkA8_Blitter::~SkA8_Blitter\28\29 +7077:Simplify\28SkPath\20const&\2c\20SkPath*\29 +7078:SharedGenerator::Make\28std::__2::unique_ptr>\29 +7079:SetSuperRound +7080:RuntimeEffectRPCallbacks::applyColorSpaceXform\28SkColorSpaceXformSteps\20const&\2c\20void\20const*\29 +7081:RunBasedAdditiveBlitter::~RunBasedAdditiveBlitter\28\29.1 +7082:RunBasedAdditiveBlitter::advanceRuns\28\29 +7083:RunBasedAdditiveBlitter::RunBasedAdditiveBlitter\28SkBlitter*\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20bool\29 +7084:RgnOper::addSpan\28int\2c\20int\20const*\2c\20int\20const*\29 +7085:ReflexHash::hash\28TriangulationVertex*\29\20const +7086:PorterDuffXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +7087:PathSegment::init\28\29 +7088:PS_Conv_Strtol +7089:PS_Conv_ASCIIHexDecode +7090:PDLCDXferProcessor::Make\28SkBlendMode\2c\20GrProcessorAnalysisColor\20const&\29 +7091:OpAsWinding::markReverse\28Contour*\2c\20Contour*\29 +7092:OpAsWinding::getDirection\28Contour&\29 +7093:OpAsWinding::checkContainerChildren\28Contour*\2c\20Contour*\29 +7094:OffsetEdge::computeCrossingDistance\28OffsetEdge\20const*\29 +7095:OT::sbix::sanitize\28hb_sanitize_context_t*\29\20const +7096:OT::sbix::accelerator_t::reference_png\28hb_font_t*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20unsigned\20int*\29\20const +7097:OT::sbix::accelerator_t::has_data\28\29\20const +7098:OT::sbix::accelerator_t::get_png_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +7099:OT::post::sanitize\28hb_sanitize_context_t*\29\20const +7100:OT::maxp::sanitize\28hb_sanitize_context_t*\29\20const +7101:OT::kern::sanitize\28hb_sanitize_context_t*\29\20const +7102:OT::hmtxvmtx::accelerator_t::get_advance_with_var_unscaled\28unsigned\20int\2c\20hb_font_t*\2c\20float*\29\20const +7103:OT::head::sanitize\28hb_sanitize_context_t*\29\20const +7104:OT::hb_ot_layout_lookup_accelerator_t*\20OT::hb_ot_layout_lookup_accelerator_t::create\28OT::Layout::GSUB_impl::SubstLookup\20const&\29 +7105:OT::hb_ot_apply_context_t::skipping_iterator_t::may_skip\28hb_glyph_info_t\20const&\29\20const +7106:OT::hb_ot_apply_context_t::skipping_iterator_t::init\28OT::hb_ot_apply_context_t*\2c\20bool\29 +7107:OT::hb_ot_apply_context_t::matcher_t::may_skip\28OT::hb_ot_apply_context_t\20const*\2c\20hb_glyph_info_t\20const&\29\20const +7108:OT::hb_kern_machine_t::kern\28hb_font_t*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20bool\29\20const +7109:OT::hb_accelerate_subtables_context_t::return_t\20OT::Context::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +7110:OT::hb_accelerate_subtables_context_t::return_t\20OT::ChainContext::dispatch\28OT::hb_accelerate_subtables_context_t*\29\20const +7111:OT::gvar::sanitize_shallow\28hb_sanitize_context_t*\29\20const +7112:OT::gvar::get_offset\28unsigned\20int\2c\20unsigned\20int\29\20const +7113:OT::gvar::accelerator_t::infer_delta\28hb_array_t\2c\20hb_array_t\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\20contour_point_t::*\29 +7114:OT::glyf_impl::composite_iter_tmpl::set_current\28OT::glyf_impl::CompositeGlyphRecord\20const*\29 +7115:OT::glyf_impl::composite_iter_tmpl::__next__\28\29 +7116:OT::glyf_impl::SimpleGlyph::read_points\28OT::IntType\20const*&\2c\20hb_array_t\2c\20OT::IntType\20const*\2c\20float\20contour_point_t::*\2c\20OT::glyf_impl::SimpleGlyph::simple_glyph_flag_t\2c\20OT::glyf_impl::SimpleGlyph::simple_glyph_flag_t\29 +7117:OT::glyf_impl::Glyph::get_composite_iterator\28\29\20const +7118:OT::glyf_impl::CompositeGlyphRecord::transform\28float\20const\20\28&\29\20\5b4\5d\2c\20hb_array_t\29 +7119:OT::glyf_impl::CompositeGlyphRecord::get_transformation\28float\20\28&\29\20\5b4\5d\2c\20contour_point_t&\29\20const +7120:OT::glyf_accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\29\20const +7121:OT::fvar::sanitize\28hb_sanitize_context_t*\29\20const +7122:OT::cmap::sanitize\28hb_sanitize_context_t*\29\20const +7123:OT::cmap::accelerator_t::get_nominal_glyph\28unsigned\20int\2c\20unsigned\20int*\2c\20hb_cache_t<21u\2c\2016u\2c\208u\2c\20true>*\29\20const +7124:OT::cmap::accelerator_t::_cached_get\28unsigned\20int\2c\20unsigned\20int*\2c\20hb_cache_t<21u\2c\2016u\2c\208u\2c\20true>*\29\20const +7125:OT::cff2::sanitize\28hb_sanitize_context_t*\29\20const +7126:OT::cff2::accelerator_templ_t>::_fini\28\29 +7127:OT::cff1::sanitize\28hb_sanitize_context_t*\29\20const +7128:OT::cff1::accelerator_templ_t>::glyph_to_sid\28unsigned\20int\2c\20CFF::code_pair_t*\29\20const +7129:OT::cff1::accelerator_templ_t>::_fini\28\29 +7130:OT::cff1::accelerator_t::gname_t::cmp\28void\20const*\2c\20void\20const*\29 +7131:OT::avar::sanitize\28hb_sanitize_context_t*\29\20const +7132:OT::VariationDevice::get_delta\28hb_font_t*\2c\20OT::VariationStore\20const&\2c\20float*\29\20const +7133:OT::VarData::get_row_size\28\29\20const +7134:OT::VVAR::sanitize\28hb_sanitize_context_t*\29\20const +7135:OT::VORG::sanitize\28hb_sanitize_context_t*\29\20const +7136:OT::UnsizedArrayOf\2c\2014u>>\20const&\20OT::operator+\2c\20\28void*\290>\28hb_blob_ptr_t\20const&\2c\20OT::OffsetTo\2c\2014u>>\2c\20OT::IntType\2c\20false>\20const&\29 +7137:OT::TupleVariationHeader::get_size\28unsigned\20int\29\20const +7138:OT::TupleVariationData::unpack_points\28OT::IntType\20const*&\2c\20hb_vector_t&\2c\20OT::IntType\20const*\29 +7139:OT::TupleVariationData::unpack_deltas\28OT::IntType\20const*&\2c\20hb_vector_t&\2c\20OT::IntType\20const*\29 +7140:OT::TupleVariationData::tuple_iterator_t::is_valid\28\29\20const +7141:OT::SortedArrayOf\2c\20OT::IntType>::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\29 +7142:OT::SVG::sanitize\28hb_sanitize_context_t*\29\20const +7143:OT::RuleSet::would_apply\28OT::hb_would_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +7144:OT::RuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ContextApplyLookupContext\20const&\29\20const +7145:OT::ResourceMap::get_type_record\28unsigned\20int\29\20const +7146:OT::ResourceMap::get_type_count\28\29\20const +7147:OT::RecordArrayOf::find_index\28unsigned\20int\2c\20unsigned\20int*\29\20const +7148:OT::PaintTranslate::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7149:OT::PaintSolid::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7150:OT::PaintSkewAroundCenter::sanitize\28hb_sanitize_context_t*\29\20const +7151:OT::PaintSkewAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7152:OT::PaintSkew::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7153:OT::PaintScaleUniformAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7154:OT::PaintScaleUniform::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7155:OT::PaintScaleAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7156:OT::PaintScale::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7157:OT::PaintRotateAroundCenter::sanitize\28hb_sanitize_context_t*\29\20const +7158:OT::PaintRotateAroundCenter::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7159:OT::PaintRotate::sanitize\28hb_sanitize_context_t*\29\20const +7160:OT::PaintRotate::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7161:OT::OpenTypeFontFile::sanitize\28hb_sanitize_context_t*\29\20const +7162:OT::OffsetTo\2c\20true>::neuter\28hb_sanitize_context_t*\29\20const +7163:OT::OS2::sanitize\28hb_sanitize_context_t*\29\20const +7164:OT::MVAR::sanitize\28hb_sanitize_context_t*\29\20const +7165:OT::Lookup::serialize\28hb_serialize_context_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +7166:OT::Lookup*\20hb_serialize_context_t::extend_size\28OT::Lookup*\2c\20unsigned\20long\2c\20bool\29 +7167:OT::Layout::propagate_attachment_offsets\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +7168:OT::Layout::GPOS_impl::reverse_cursive_minor_offset\28hb_glyph_position_t*\2c\20unsigned\20int\2c\20hb_direction_t\2c\20unsigned\20int\29 +7169:OT::Layout::GPOS_impl::ValueFormat::sanitize_value_devices\28hb_sanitize_context_t*\2c\20void\20const*\2c\20OT::IntType\20const*\29\20const +7170:OT::Layout::Common::RangeRecord\20const&\20OT::SortedArrayOf\2c\20OT::IntType>::bsearch\28unsigned\20int\20const&\2c\20OT::Layout::Common::RangeRecord\20const&\29\20const +7171:OT::Layout::Common::CoverageFormat2_4*\20hb_serialize_context_t::extend_min>\28OT::Layout::Common::CoverageFormat2_4*\29 +7172:OT::Layout::Common::Coverage::sanitize\28hb_sanitize_context_t*\29\20const +7173:OT::Layout::Common::Coverage::get_population\28\29\20const +7174:OT::LangSys::sanitize\28hb_sanitize_context_t*\2c\20OT::Record_sanitize_closure_t\20const*\29\20const +7175:OT::IndexSubtableRecord::get_image_data\28unsigned\20int\2c\20void\20const*\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +7176:OT::IndexArray::get_indexes\28unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +7177:OT::HintingDevice::get_delta\28unsigned\20int\2c\20int\29\20const +7178:OT::HVARVVAR::get_advance_delta_unscaled\28unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\2c\20float*\29\20const +7179:OT::GSUBGPOS::get_script_list\28\29\20const +7180:OT::GSUBGPOS::get_feature_variations\28\29\20const +7181:OT::GSUBGPOS::accelerator_t::get_accel\28unsigned\20int\29\20const +7182:OT::GDEF::sanitize\28hb_sanitize_context_t*\29\20const +7183:OT::GDEF::get_mark_glyph_sets\28\29\20const +7184:OT::GDEF::accelerator_t::get_glyph_props\28unsigned\20int\29\20const +7185:OT::Feature::sanitize\28hb_sanitize_context_t*\2c\20OT::Record_sanitize_closure_t\20const*\29\20const +7186:OT::ContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +7187:OT::ColorStop::get_color_stop\28OT::hb_paint_context_t*\2c\20hb_color_stop_t*\2c\20unsigned\20int\2c\20OT::VarStoreInstancer\20const&\29\20const +7188:OT::ColorLine::static_get_extend\28hb_color_line_t*\2c\20void*\2c\20void*\29 +7189:OT::CmapSubtableLongSegmented::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +7190:OT::CmapSubtableLongGroup\20const&\20OT::SortedArrayOf>::bsearch\28unsigned\20int\20const&\2c\20OT::CmapSubtableLongGroup\20const&\29\20const +7191:OT::CmapSubtableFormat4::accelerator_t::init\28OT::CmapSubtableFormat4\20const*\29 +7192:OT::CmapSubtableFormat4::accelerator_t::get_glyph\28unsigned\20int\2c\20unsigned\20int*\29\20const +7193:OT::ClipBoxFormat1::get_clip_box\28OT::ClipBoxData&\2c\20OT::VarStoreInstancer\20const&\29\20const +7194:OT::ClassDef::cost\28\29\20const +7195:OT::ChainRuleSet::would_apply\28OT::hb_would_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +7196:OT::ChainRuleSet::apply\28OT::hb_ot_apply_context_t*\2c\20OT::ChainContextApplyLookupContext\20const&\29\20const +7197:OT::ChainContextFormat2_5::_apply\28OT::hb_ot_apply_context_t*\2c\20bool\29\20const +7198:OT::CPAL::sanitize\28hb_sanitize_context_t*\29\20const +7199:OT::COLR::sanitize\28hb_sanitize_context_t*\29\20const +7200:OT::COLR::get_base_glyph_paint\28unsigned\20int\29\20const +7201:OT::CBLC::sanitize\28hb_sanitize_context_t*\29\20const +7202:OT::CBLC::choose_strike\28hb_font_t*\29\20const +7203:OT::CBDT::sanitize\28hb_sanitize_context_t*\29\20const +7204:OT::CBDT::accelerator_t::get_extents\28hb_font_t*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20bool\29\20const +7205:OT::BitmapSizeTable::find_table\28unsigned\20int\2c\20void\20const*\2c\20void\20const**\29\20const +7206:OT::ArrayOf>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +7207:OT::ArrayOf\2c\20OT::IntType>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +7208:OT::ArrayOf>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +7209:OT::ArrayOf>>::sanitize_shallow\28hb_sanitize_context_t*\29\20const +7210:OT::Affine2x3::paint_glyph\28OT::hb_paint_context_t*\2c\20unsigned\20int\29\20const +7211:MaskValue*\20SkTLazy::init\28MaskValue\20const&\29 +7212:MakeRasterCopyPriv\28SkPixmap\20const&\2c\20unsigned\20int\29 +7213:Load_SBit_Png +7214:LineQuadraticIntersections::verticalIntersect\28double\2c\20double*\29 +7215:LineQuadraticIntersections::intersectRay\28double*\29 +7216:LineQuadraticIntersections::horizontalIntersect\28double\2c\20double*\29 +7217:LineCubicIntersections::intersectRay\28double*\29 +7218:LineCubicIntersections::VerticalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +7219:LineCubicIntersections::HorizontalIntersect\28SkDCubic\20const&\2c\20double\2c\20double*\29 +7220:LineConicIntersections::verticalIntersect\28double\2c\20double*\29 +7221:LineConicIntersections::intersectRay\28double*\29 +7222:LineConicIntersections::horizontalIntersect\28double\2c\20double*\29 +7223:Ins_UNKNOWN +7224:Ins_SxVTL +7225:HandleCoincidence\28SkOpContourHead*\2c\20SkOpCoincidence*\29 +7226:GrWritePixelsTask::~GrWritePixelsTask\28\29 +7227:GrWindowRectsState::operator=\28GrWindowRectsState\20const&\29 +7228:GrWindowRectsState::operator==\28GrWindowRectsState\20const&\29\20const +7229:GrWindowRectangles::GrWindowRectangles\28GrWindowRectangles\20const&\29 +7230:GrWaitRenderTask::~GrWaitRenderTask\28\29 +7231:GrVertexBufferAllocPool::makeSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +7232:GrVertexBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +7233:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20SkPathFillType\2c\20skgpu::VertexWriter\29\20const +7234:GrTriangulator::polysToTriangles\28GrTriangulator::Poly*\2c\20GrEagerVertexAllocator*\29\20const +7235:GrTriangulator::mergeEdgesBelow\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +7236:GrTriangulator::mergeEdgesAbove\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::EdgeList*\2c\20GrTriangulator::Vertex**\2c\20GrTriangulator::Comparator\20const&\29\20const +7237:GrTriangulator::makeSortedVertex\28SkPoint\20const&\2c\20unsigned\20char\2c\20GrTriangulator::VertexList*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::Comparator\20const&\29\20const +7238:GrTriangulator::makeEdge\28GrTriangulator::Vertex*\2c\20GrTriangulator::Vertex*\2c\20GrTriangulator::EdgeType\2c\20GrTriangulator::Comparator\20const&\29 +7239:GrTriangulator::computeBisector\28GrTriangulator::Edge*\2c\20GrTriangulator::Edge*\2c\20GrTriangulator::Vertex*\29\20const +7240:GrTriangulator::appendQuadraticToContour\28SkPoint\20const*\2c\20float\2c\20GrTriangulator::VertexList*\29\20const +7241:GrTriangulator::allocateMonotonePoly\28GrTriangulator::Edge*\2c\20GrTriangulator::Side\2c\20int\29 +7242:GrTriangulator::Edge::recompute\28\29 +7243:GrTriangulator::Edge::intersect\28GrTriangulator::Edge\20const&\2c\20SkPoint*\2c\20unsigned\20char*\29\20const +7244:GrTriangulator::CountPoints\28GrTriangulator::Poly*\2c\20SkPathFillType\29 +7245:GrTriangulator::BreadcrumbTriangleList::concat\28GrTriangulator::BreadcrumbTriangleList&&\29 +7246:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29 +7247:GrThreadSafeCache::makeNewEntryMRU\28GrThreadSafeCache::Entry*\29 +7248:GrThreadSafeCache::makeExistingEntryMRU\28GrThreadSafeCache::Entry*\29 +7249:GrThreadSafeCache::findVertsWithData\28skgpu::UniqueKey\20const&\29 +7250:GrThreadSafeCache::addVertsWithData\28skgpu::UniqueKey\20const&\2c\20sk_sp\2c\20bool\20\28*\29\28SkData*\2c\20SkData*\29\29 +7251:GrThreadSafeCache::Trampoline::~Trampoline\28\29 +7252:GrThreadSafeCache::Entry::set\28skgpu::UniqueKey\20const&\2c\20sk_sp\29 +7253:GrThreadSafeCache::Entry::makeEmpty\28\29 +7254:GrThreadSafeCache::CreateLazyView\28GrDirectContext*\2c\20GrColorType\2c\20SkISize\2c\20GrSurfaceOrigin\2c\20SkBackingFit\29 +7255:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29 +7256:GrTextureRenderTargetProxy::initSurfaceFlags\28GrCaps\20const&\29 +7257:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29 +7258:GrTextureRenderTargetProxy::GrTextureRenderTargetProxy\28GrCaps\20const&\2c\20std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20int\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\2c\20std::__2::basic_string_view>\29 +7259:GrTextureProxy::~GrTextureProxy\28\29.2 +7260:GrTextureProxy::~GrTextureProxy\28\29.1 +7261:GrTextureProxy::setUniqueKey\28GrProxyProvider*\2c\20skgpu::UniqueKey\20const&\29 +7262:GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +7263:GrTextureProxy::instantiate\28GrResourceProvider*\29 +7264:GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +7265:GrTextureProxy::callbackDesc\28\29\20const +7266:GrTextureProxy::ProxiesAreCompatibleAsDynamicState\28GrSurfaceProxy\20const*\2c\20GrSurfaceProxy\20const*\29 +7267:GrTextureProxy::GrTextureProxy\28sk_sp\2c\20GrSurfaceProxy::UseAllocator\2c\20GrDDLProvider\29 +7268:GrTextureEffect::~GrTextureEffect\28\29 +7269:GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::$_1::operator\28\29\28int\2c\20GrSamplerState::WrapMode\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20GrTextureEffect::Sampling::Sampling\28GrSurfaceProxy\20const&\2c\20GrSamplerState\2c\20SkRect\20const&\2c\20SkRect\20const*\2c\20float\20const*\2c\20bool\2c\20GrCaps\20const&\2c\20SkPoint\29::Span\2c\20float\29\20const +7270:GrTextureEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29::$_0::operator\28\29\28float*\2c\20GrResourceHandle\29\20const +7271:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::$_2::operator\28\29\28GrTextureEffect::ShaderMode\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +7272:GrTexture::onGpuMemorySize\28\29\20const +7273:GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +7274:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29 +7275:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29 +7276:GrSurfaceProxyView::operator=\28GrSurfaceProxyView\20const&\29 +7277:GrSurfaceProxyView::operator==\28GrSurfaceProxyView\20const&\29\20const +7278:GrSurfaceProxyPriv::exactify\28\29 +7279:GrSurfaceProxyPriv::assign\28sk_sp\29 +7280:GrSurfaceProxy::GrSurfaceProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +7281:GrSurfaceProxy::GrSurfaceProxy\28GrBackendFormat\20const&\2c\20SkISize\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrInternalSurfaceFlags\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +7282:GrSurface::onRelease\28\29 +7283:GrStyledShape::setInheritedKey\28GrStyledShape\20const&\2c\20GrStyle::Apply\2c\20float\29 +7284:GrStyledShape::asRRect\28SkRRect*\2c\20bool*\29\20const +7285:GrStyledShape::asLine\28SkPoint*\2c\20bool*\29\20const +7286:GrStyledShape::GrStyledShape\28SkRRect\20const&\2c\20SkPathDirection\2c\20unsigned\20int\2c\20bool\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +7287:GrStyledShape::GrStyledShape\28SkRRect\20const&\2c\20GrStyle\20const&\2c\20GrStyledShape::DoSimplify\29 +7288:GrStyledShape::GrStyledShape\28SkPath\20const&\2c\20SkPaint\20const&\2c\20GrStyledShape::DoSimplify\29 +7289:GrStyle::resetToInitStyle\28SkStrokeRec::InitStyle\29 +7290:GrStyle::applyToPath\28SkPath*\2c\20SkStrokeRec::InitStyle*\2c\20SkPath\20const&\2c\20float\29\20const +7291:GrStyle::applyPathEffect\28SkPath*\2c\20SkStrokeRec*\2c\20SkPath\20const&\29\20const +7292:GrStyle::MatrixToScaleFactor\28SkMatrix\20const&\29 +7293:GrStyle::DashInfo::operator=\28GrStyle::DashInfo\20const&\29 +7294:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29 +7295:GrStrokeTessellationShader::Impl::~Impl\28\29 +7296:GrStagingBufferManager::detachBuffers\28\29 +7297:GrSkSLFP::~GrSkSLFP\28\29 +7298:GrSkSLFP::Impl::~Impl\28\29 +7299:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineStruct\28char\20const*\29 +7300:GrSimpleMesh::~GrSimpleMesh\28\29 +7301:GrShape::simplify\28unsigned\20int\29 +7302:GrShape::setArc\28SkArc\20const&\29 +7303:GrShape::conservativeContains\28SkRect\20const&\29\20const +7304:GrShape::closed\28\29\20const +7305:GrShape::GrShape\28SkRect\20const&\29 +7306:GrShape::GrShape\28SkRRect\20const&\29 +7307:GrShape::GrShape\28SkPath\20const&\29 +7308:GrShaderVar::GrShaderVar\28SkString\2c\20SkSLType\2c\20GrShaderVar::TypeModifier\2c\20int\2c\20SkString\2c\20SkString\29 +7309:GrScissorState::operator==\28GrScissorState\20const&\29\20const +7310:GrScissorState::intersect\28SkIRect\20const&\29 +7311:GrSWMaskHelper::toTextureView\28GrRecordingContext*\2c\20SkBackingFit\29 +7312:GrSWMaskHelper::drawShape\28GrStyledShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +7313:GrSWMaskHelper::drawShape\28GrShape\20const&\2c\20SkMatrix\20const&\2c\20GrAA\2c\20unsigned\20char\29 +7314:GrResourceProvider::writePixels\28sk_sp\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\29\20const +7315:GrResourceProvider::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +7316:GrResourceProvider::prepareLevels\28GrBackendFormat\20const&\2c\20GrColorType\2c\20SkISize\2c\20GrMipLevel\20const*\2c\20int\2c\20skia_private::AutoSTArray<14\2c\20GrMipLevel>*\2c\20skia_private::AutoSTArray<14\2c\20std::__2::unique_ptr>>*\29\20const +7317:GrResourceProvider::getExactScratch\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7318:GrResourceProvider::findAndRefScratchTexture\28skgpu::ScratchKey\20const&\2c\20std::__2::basic_string_view>\29 +7319:GrResourceProvider::findAndRefScratchTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7320:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7321:GrResourceProvider::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20GrColorType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMipLevel\20const*\2c\20std::__2::basic_string_view>\29 +7322:GrResourceProvider::createBuffer\28void\20const*\2c\20unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +7323:GrResourceProvider::createApproxTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7324:GrResourceCache::removeResource\28GrGpuResource*\29 +7325:GrResourceCache::removeFromNonpurgeableArray\28GrGpuResource*\29 +7326:GrResourceCache::releaseAll\28\29 +7327:GrResourceCache::refAndMakeResourceMRU\28GrGpuResource*\29 +7328:GrResourceCache::processFreedGpuResources\28\29 +7329:GrResourceCache::insertResource\28GrGpuResource*\29 +7330:GrResourceCache::findAndRefUniqueResource\28skgpu::UniqueKey\20const&\29 +7331:GrResourceCache::didChangeBudgetStatus\28GrGpuResource*\29 +7332:GrResourceCache::addToNonpurgeableArray\28GrGpuResource*\29 +7333:GrResourceAllocator::~GrResourceAllocator\28\29 +7334:GrResourceAllocator::planAssignment\28\29 +7335:GrResourceAllocator::expire\28unsigned\20int\29 +7336:GrResourceAllocator::Register*\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29 +7337:GrResourceAllocator::IntervalList::popHead\28\29 +7338:GrResourceAllocator::IntervalList::insertByIncreasingStart\28GrResourceAllocator::Interval*\29 +7339:GrRenderTask::makeSkippable\28\29 +7340:GrRenderTask::isUsed\28GrSurfaceProxy*\29\20const +7341:GrRenderTask::isInstantiated\28\29\20const +7342:GrRenderTargetProxy::~GrRenderTargetProxy\28\29.2 +7343:GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +7344:GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +7345:GrRenderTargetProxy::isMSAADirty\28\29\20const +7346:GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +7347:GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +7348:GrRenderTargetProxy::callbackDesc\28\29\20const +7349:GrRenderTarget::GrRenderTarget\28GrGpu*\2c\20SkISize\20const&\2c\20int\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\2c\20sk_sp\29 +7350:GrRecordingContext::init\28\29 +7351:GrRecordingContext::destroyDrawingManager\28\29 +7352:GrRecordingContext::colorTypeSupportedAsSurface\28SkColorType\29\20const +7353:GrRecordingContext::abandoned\28\29 +7354:GrRecordingContext::abandonContext\28\29 +7355:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29 +7356:GrRRectEffect::Make\28std::__2::unique_ptr>\2c\20GrClipEdgeType\2c\20SkRRect\20const&\2c\20GrShaderCaps\20const&\29 +7357:GrQuadUtils::TessellationHelper::outset\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuad*\2c\20GrQuad*\29 +7358:GrQuadUtils::TessellationHelper::getOutsetRequest\28skvx::Vec<4\2c\20float>\20const&\29 +7359:GrQuadUtils::TessellationHelper::adjustVertices\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuadUtils::TessellationHelper::Vertices*\29 +7360:GrQuadUtils::TessellationHelper::adjustDegenerateVertices\28skvx::Vec<4\2c\20float>\20const&\2c\20GrQuadUtils::TessellationHelper::Vertices*\29 +7361:GrQuadUtils::TessellationHelper::Vertices::moveTo\28skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20float>\20const&\2c\20skvx::Vec<4\2c\20int>\20const&\29 +7362:GrQuadUtils::ClipToW0\28DrawQuad*\2c\20DrawQuad*\29 +7363:GrQuadBuffer<\28anonymous\20namespace\29::TextureOpImpl::ColorSubsetAndAA>::append\28GrQuad\20const&\2c\20\28anonymous\20namespace\29::TextureOpImpl::ColorSubsetAndAA&&\2c\20GrQuad\20const*\29 +7364:GrQuadBuffer<\28anonymous\20namespace\29::TextureOpImpl::ColorSubsetAndAA>::GrQuadBuffer\28int\2c\20bool\29 +7365:GrQuad::point\28int\29\20const +7366:GrQuad::bounds\28\29\20const::'lambda0'\28float\20const*\29::operator\28\29\28float\20const*\29\20const +7367:GrQuad::bounds\28\29\20const::'lambda'\28float\20const*\29::operator\28\29\28float\20const*\29\20const +7368:GrProxyProvider::removeUniqueKeyFromProxy\28GrTextureProxy*\29 +7369:GrProxyProvider::processInvalidUniqueKeyImpl\28skgpu::UniqueKey\20const&\2c\20GrTextureProxy*\2c\20GrProxyProvider::InvalidateGPUResource\2c\20GrProxyProvider::RemoveTableEntry\29 +7370:GrProxyProvider::createLazyProxy\28std::__2::function&&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20GrMipmapStatus\2c\20GrInternalSurfaceFlags\2c\20SkBackingFit\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20GrSurfaceProxy::UseAllocator\2c\20std::__2::basic_string_view>\29 +7371:GrProxyProvider::adoptUniqueKeyFromSurface\28GrTextureProxy*\2c\20GrSurface\20const*\29 +7372:GrProcessorSet::operator==\28GrProcessorSet\20const&\29\20const +7373:GrPorterDuffXPFactory::Get\28SkBlendMode\29 +7374:GrPixmap::GrPixmap\28SkPixmap\20const&\29 +7375:GrPipeline::peekDstTexture\28\29\20const +7376:GrPipeline::GrPipeline\28GrPipeline::InitArgs\20const&\2c\20sk_sp\2c\20GrAppliedHardClip\20const&\29 +7377:GrPersistentCacheUtils::ShaderMetadata::~ShaderMetadata\28\29 +7378:GrPersistentCacheUtils::GetType\28SkReadBuffer*\29 +7379:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29 +7380:GrPathUtils::QuadUVMatrix::set\28SkPoint\20const*\29 +7381:GrPathUtils::QuadUVMatrix::apply\28void*\2c\20int\2c\20unsigned\20long\2c\20unsigned\20long\29\20const +7382:GrPathTessellationShader::MakeStencilOnlyPipeline\28GrTessellationShader::ProgramArgs\20const&\2c\20GrAAType\2c\20GrAppliedHardClip\20const&\2c\20GrPipeline::InputFlags\29 +7383:GrPathTessellationShader::Impl::~Impl\28\29 +7384:GrOpsRenderPass::~GrOpsRenderPass\28\29 +7385:GrOpsRenderPass::resetActiveBuffers\28\29 +7386:GrOpsRenderPass::draw\28int\2c\20int\29 +7387:GrOpsRenderPass::drawIndexPattern\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +7388:GrOpFlushState::~GrOpFlushState\28\29.1 +7389:GrOpFlushState::smallPathAtlasManager\28\29\20const +7390:GrOpFlushState::reset\28\29 +7391:GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +7392:GrOpFlushState::putBackIndices\28int\29 +7393:GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp\28GrOp\20const*\2c\20SkRect\20const&\2c\20GrPipeline\20const*\2c\20GrUserStencilSettings\20const*\29 +7394:GrOpFlushState::drawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +7395:GrOpFlushState::doUpload\28std::__2::function&\29>&\2c\20bool\29 +7396:GrOpFlushState::addASAPUpload\28std::__2::function&\29>&&\29 +7397:GrOpFlushState::OpArgs::OpArgs\28GrOp*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7398:GrOp::setTransformedBounds\28SkRect\20const&\2c\20SkMatrix\20const&\2c\20GrOp::HasAABloat\2c\20GrOp::IsHairline\29 +7399:GrOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7400:GrOp::combineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +7401:GrNonAtomicRef::unref\28\29\20const +7402:GrNonAtomicRef::unref\28\29\20const +7403:GrNonAtomicRef::unref\28\29\20const +7404:GrNativeRect::operator!=\28GrNativeRect\20const&\29\20const +7405:GrMeshDrawTarget::allocPrimProcProxyPtrs\28int\29 +7406:GrMeshDrawOp::PatternHelper::init\28GrMeshDrawTarget*\2c\20GrPrimitiveType\2c\20unsigned\20long\2c\20sk_sp\2c\20int\2c\20int\2c\20int\2c\20int\29 +7407:GrMemoryPool::allocate\28unsigned\20long\29 +7408:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29 +7409:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::changed\28\29 +7410:GrMakeCachedBitmapProxyView\28GrRecordingContext*\2c\20SkBitmap\20const&\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\29::$_0::operator\28\29\28GrTextureProxy*\29\20const +7411:GrIndexBufferAllocPool::makeSpace\28int\2c\20sk_sp*\2c\20int*\29 +7412:GrIndexBufferAllocPool::makeSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +7413:GrImageInfo::operator=\28GrImageInfo&&\29 +7414:GrImageInfo::GrImageInfo\28GrColorType\2c\20SkAlphaType\2c\20sk_sp\2c\20int\2c\20int\29 +7415:GrImageContext::abandonContext\28\29 +7416:GrHashMapWithCache::find\28unsigned\20int\20const&\29\20const +7417:GrGradientBitmapCache::release\28GrGradientBitmapCache::Entry*\29\20const +7418:GrGradientBitmapCache::Entry::~Entry\28\29 +7419:GrGpuResource::setLabel\28std::__2::basic_string_view>\29 +7420:GrGpuResource::makeBudgeted\28\29 +7421:GrGpuResource::GrGpuResource\28GrGpu*\2c\20std::__2::basic_string_view>\29 +7422:GrGpuResource::CacheAccess::abandon\28\29 +7423:GrGpuBuffer::ComputeScratchKeyForDynamicBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20skgpu::ScratchKey*\29 +7424:GrGpu::~GrGpu\28\29 +7425:GrGpu::regenerateMipMapLevels\28GrTexture*\29 +7426:GrGpu::executeFlushInfo\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +7427:GrGpu::createTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7428:GrGpu::createTextureCommon\28SkISize\2c\20GrBackendFormat\20const&\2c\20GrTextureType\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +7429:GrGpu::createBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +7430:GrGpu::callSubmittedProcs\28bool\29 +7431:GrGeometryProcessor::AttributeSet::addToKey\28skgpu::KeyBuilder*\29\20const +7432:GrGeometryProcessor::AttributeSet::Iter::skipUninitialized\28\29 +7433:GrGeometryProcessor::Attribute&\20skia_private::TArray::emplace_back\28char\20const\20\28&\29\20\5b26\5d\2c\20GrVertexAttribType&&\2c\20SkSLType&&\29 +7434:GrGLVertexArray::bind\28GrGLGpu*\29 +7435:GrGLTextureParameters::invalidate\28\29 +7436:GrGLTextureParameters::SamplerOverriddenState::SamplerOverriddenState\28\29 +7437:GrGLTexture::~GrGLTexture\28\29.2 +7438:GrGLTexture::~GrGLTexture\28\29.1 +7439:GrGLTexture::MakeWrapped\28GrGLGpu*\2c\20GrMipmapStatus\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrWrapCacheable\2c\20GrIOType\2c\20std::__2::basic_string_view>\29 +7440:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20skgpu::Budgeted\2c\20GrGLTexture::Desc\20const&\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +7441:GrGLTexture::GrGLTexture\28GrGLGpu*\2c\20GrGLTexture::Desc\20const&\2c\20sk_sp\2c\20GrMipmapStatus\2c\20std::__2::basic_string_view>\29 +7442:GrGLSemaphore::~GrGLSemaphore\28\29 +7443:GrGLSLVaryingHandler::addAttribute\28GrShaderVar\20const&\29 +7444:GrGLSLVarying::vsOutVar\28\29\20const +7445:GrGLSLVarying::fsInVar\28\29\20const +7446:GrGLSLUniformHandler::liftUniformToVertexShader\28GrProcessor\20const&\2c\20SkString\29 +7447:GrGLSLShaderBuilder::nextStage\28\29 +7448:GrGLSLShaderBuilder::finalize\28unsigned\20int\29 +7449:GrGLSLShaderBuilder::emitFunction\28char\20const*\2c\20char\20const*\29 +7450:GrGLSLShaderBuilder::emitFunctionPrototype\28char\20const*\29 +7451:GrGLSLShaderBuilder::appendTextureLookupAndBlend\28char\20const*\2c\20SkBlendMode\2c\20GrResourceHandle\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29 +7452:GrGLSLShaderBuilder::appendDecls\28SkTBlockList\20const&\2c\20SkString*\29\20const +7453:GrGLSLShaderBuilder::appendColorGamutXform\28SkString*\2c\20char\20const*\2c\20GrGLSLColorSpaceXformHelper*\29::$_0::operator\28\29\28char\20const*\2c\20GrResourceHandle\2c\20skcms_TFType\29\20const +7454:GrGLSLShaderBuilder::GrGLSLShaderBuilder\28GrGLSLProgramBuilder*\29 +7455:GrGLSLProgramDataManager::setRuntimeEffectUniforms\28SkSpan\2c\20SkSpan\20const>\2c\20SkSpan\2c\20void\20const*\29\20const +7456:GrGLSLProgramBuilder::~GrGLSLProgramBuilder\28\29 +7457:GrGLSLFragmentShaderBuilder::onFinalize\28\29 +7458:GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +7459:GrGLSLColorSpaceXformHelper::isNoop\28\29\20const +7460:GrGLSLBlend::SetBlendModeUniformData\28GrGLSLProgramDataManager\20const&\2c\20GrResourceHandle\2c\20SkBlendMode\29 +7461:GrGLSLBlend::BlendExpression\28GrProcessor\20const*\2c\20GrGLSLUniformHandler*\2c\20GrResourceHandle*\2c\20char\20const*\2c\20char\20const*\2c\20SkBlendMode\29 +7462:GrGLRenderTarget::~GrGLRenderTarget\28\29.2 +7463:GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +7464:GrGLRenderTarget::setFlags\28GrGLCaps\20const&\2c\20GrGLRenderTarget::IDs\20const&\29 +7465:GrGLRenderTarget::onGpuMemorySize\28\29\20const +7466:GrGLRenderTarget::bind\28bool\29 +7467:GrGLRenderTarget::backendFormat\28\29\20const +7468:GrGLRenderTarget::GrGLRenderTarget\28GrGLGpu*\2c\20SkISize\20const&\2c\20GrGLFormat\2c\20int\2c\20GrGLRenderTarget::IDs\20const&\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +7469:GrGLProgramDataManager::set4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +7470:GrGLProgramDataManager::set2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +7471:GrGLProgramBuilder::uniformHandler\28\29 +7472:GrGLProgramBuilder::compileAndAttachShaders\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\2c\20unsigned\20int\2c\20SkTDArray*\2c\20bool\2c\20skgpu::ShaderErrorHandler*\29 +7473:GrGLProgramBuilder::PrecompileProgram\28GrDirectContext*\2c\20GrGLPrecompiledProgram*\2c\20SkData\20const&\29::$_0::operator\28\29\28SkSL::ProgramKind\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\2c\20unsigned\20int\29\20const +7474:GrGLProgramBuilder::CreateProgram\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrGLPrecompiledProgram\20const*\29 +7475:GrGLProgram::~GrGLProgram\28\29 +7476:GrGLInterfaces::MakeWebGL\28\29 +7477:GrGLInterface::~GrGLInterface\28\29 +7478:GrGLGpu::~GrGLGpu\28\29 +7479:GrGLGpu::waitSemaphore\28GrSemaphore*\29 +7480:GrGLGpu::uploadTexData\28SkISize\2c\20unsigned\20int\2c\20SkIRect\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20long\2c\20GrMipLevel\20const*\2c\20int\29 +7481:GrGLGpu::uploadCompressedTexData\28SkTextureCompressionType\2c\20GrGLFormat\2c\20SkISize\2c\20skgpu::Mipmapped\2c\20unsigned\20int\2c\20void\20const*\2c\20unsigned\20long\29 +7482:GrGLGpu::uploadColorToTex\28GrGLFormat\2c\20SkISize\2c\20unsigned\20int\2c\20std::__2::array\2c\20unsigned\20int\29 +7483:GrGLGpu::readOrTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20int\29 +7484:GrGLGpu::onFBOChanged\28\29 +7485:GrGLGpu::getCompatibleStencilIndex\28GrGLFormat\29 +7486:GrGLGpu::flushWireframeState\28bool\29 +7487:GrGLGpu::flushScissorRect\28SkIRect\20const&\2c\20int\2c\20GrSurfaceOrigin\29 +7488:GrGLGpu::flushProgram\28unsigned\20int\29 +7489:GrGLGpu::flushProgram\28sk_sp\29 +7490:GrGLGpu::flushFramebufferSRGB\28bool\29 +7491:GrGLGpu::flushConservativeRasterState\28bool\29 +7492:GrGLGpu::deleteSync\28__GLsync*\29 +7493:GrGLGpu::deleteFence\28__GLsync*\29 +7494:GrGLGpu::createRenderTargetObjects\28GrGLTexture::Desc\20const&\2c\20int\2c\20GrGLRenderTarget::IDs*\29 +7495:GrGLGpu::createCompressedTexture2D\28SkISize\2c\20SkTextureCompressionType\2c\20GrGLFormat\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrGLTextureParameters::SamplerOverriddenState*\29 +7496:GrGLGpu::bindVertexArray\28unsigned\20int\29 +7497:GrGLGpu::TextureUnitBindings::setBoundID\28unsigned\20int\2c\20GrGpuResource::UniqueID\29 +7498:GrGLGpu::TextureUnitBindings::invalidateAllTargets\28bool\29 +7499:GrGLGpu::TextureToCopyProgramIdx\28GrTexture*\29 +7500:GrGLGpu::ProgramCache::~ProgramCache\28\29 +7501:GrGLGpu::ProgramCache::findOrCreateProgramImpl\28GrDirectContext*\2c\20GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\2c\20GrThreadSafePipelineBuilder::Stats::ProgramCacheResult*\29 +7502:GrGLGpu::HWVertexArrayState::invalidate\28\29 +7503:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void\20const*\29 +7504:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\29 +7505:GrGLFinishCallbacks::check\28\29 +7506:GrGLContext::~GrGLContext\28\29.1 +7507:GrGLCaps::~GrGLCaps\28\29 +7508:GrGLCaps::getTexSubImageExternalFormatAndType\28GrGLFormat\2c\20GrColorType\2c\20GrColorType\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +7509:GrGLCaps::getExternalFormat\28GrGLFormat\2c\20GrColorType\2c\20GrColorType\2c\20GrGLCaps::ExternalFormatUsage\2c\20unsigned\20int*\2c\20unsigned\20int*\29\20const +7510:GrGLCaps::canCopyTexSubImage\28GrGLFormat\2c\20bool\2c\20GrTextureType\20const*\2c\20GrGLFormat\2c\20bool\2c\20GrTextureType\20const*\29\20const +7511:GrGLCaps::canCopyAsBlit\28GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20GrGLFormat\2c\20int\2c\20GrTextureType\20const*\2c\20SkRect\20const&\2c\20bool\2c\20SkIRect\20const&\2c\20SkIRect\20const&\29\20const +7512:GrGLBuffer::~GrGLBuffer\28\29.1 +7513:GrGLAttribArrayState::resize\28int\29 +7514:GrGLAttribArrayState::GrGLAttribArrayState\28int\29 +7515:GrFragmentProcessors::MakeChildFP\28SkRuntimeEffect::ChildPtr\20const&\2c\20GrFPArgs\20const&\29 +7516:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::Make\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +7517:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29 +7518:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::Make\28\29 +7519:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::Make\28std::__2::unique_ptr>\29 +7520:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::DeviceSpace\28std::__2::unique_ptr>\29 +7521:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::Make\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +7522:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29 +7523:GrFragmentProcessor::ClampOutput\28std::__2::unique_ptr>\29 +7524:GrFixedClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +7525:GrFixedClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +7526:GrEagerDynamicVertexAllocator::unlock\28int\29 +7527:GrDynamicAtlas::~GrDynamicAtlas\28\29 +7528:GrDynamicAtlas::Node::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +7529:GrDrawingManager::flush\28SkSpan\2c\20SkSurfaces::BackendSurfaceAccess\2c\20GrFlushInfo\20const&\2c\20skgpu::MutableTextureState\20const*\29 +7530:GrDrawingManager::closeAllTasks\28\29 +7531:GrDrawOpAtlas::uploadToPage\28unsigned\20int\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +7532:GrDrawOpAtlas::updatePlot\28GrDeferredUploadTarget*\2c\20skgpu::AtlasLocator*\2c\20skgpu::Plot*\29 +7533:GrDrawOpAtlas::setLastUseToken\28skgpu::AtlasLocator\20const&\2c\20skgpu::AtlasToken\29 +7534:GrDrawOpAtlas::processEviction\28skgpu::PlotLocator\29 +7535:GrDrawOpAtlas::hasID\28skgpu::PlotLocator\20const&\29 +7536:GrDrawOpAtlas::compact\28skgpu::AtlasToken\29 +7537:GrDrawOpAtlas::addToAtlas\28GrResourceProvider*\2c\20GrDeferredUploadTarget*\2c\20int\2c\20int\2c\20void\20const*\2c\20skgpu::AtlasLocator*\29 +7538:GrDrawOpAtlas::Make\28GrProxyProvider*\2c\20GrBackendFormat\20const&\2c\20SkColorType\2c\20unsigned\20long\2c\20int\2c\20int\2c\20int\2c\20int\2c\20skgpu::AtlasGenerationCounter*\2c\20GrDrawOpAtlas::AllowMultitexturing\2c\20skgpu::PlotEvictionCallback*\2c\20std::__2::basic_string_view>\29 +7539:GrDrawIndirectBufferAllocPool::putBack\28int\29 +7540:GrDrawIndirectBufferAllocPool::putBackIndexed\28int\29 +7541:GrDrawIndirectBufferAllocPool::makeSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +7542:GrDrawIndirectBufferAllocPool::makeIndexedSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +7543:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29 +7544:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29 +7545:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29 +7546:GrDistanceFieldA8TextGeoProc::onTextureSampler\28int\29\20const +7547:GrDisableColorXPFactory::MakeXferProcessor\28\29 +7548:GrDirectContextPriv::validPMUPMConversionExists\28\29 +7549:GrDirectContext::~GrDirectContext\28\29 +7550:GrDirectContext::syncAllOutstandingGpuWork\28bool\29 +7551:GrDirectContext::submit\28GrSyncCpu\29 +7552:GrDirectContext::flush\28SkSurface*\29 +7553:GrDirectContext::abandoned\28\29 +7554:GrDeferredProxyUploader::signalAndFreeData\28\29 +7555:GrDeferredProxyUploader::GrDeferredProxyUploader\28\29 +7556:GrCopyRenderTask::~GrCopyRenderTask\28\29 +7557:GrCopyRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +7558:GrCopyBaseMipMapToView\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20skgpu::Budgeted\29 +7559:GrCopyBaseMipMapToTextureProxy\28GrRecordingContext*\2c\20sk_sp\2c\20GrSurfaceOrigin\2c\20std::__2::basic_string_view>\2c\20skgpu::Budgeted\29 +7560:GrContext_Base::~GrContext_Base\28\29.1 +7561:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29 +7562:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29 +7563:GrColorInfo::makeColorType\28GrColorType\29\20const +7564:GrColorInfo::isLinearlyBlended\28\29\20const +7565:GrColorFragmentProcessorAnalysis::GrColorFragmentProcessorAnalysis\28GrProcessorAnalysisColor\20const&\2c\20std::__2::unique_ptr>\20const*\2c\20int\29 +7566:GrCaps::~GrCaps\28\29 +7567:GrCaps::surfaceSupportsWritePixels\28GrSurface\20const*\29\20const +7568:GrCaps::getDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\2c\20bool\29\20const +7569:GrCPixmap::GrCPixmap\28GrPixmap\20const&\29 +7570:GrBufferAllocPool::resetCpuData\28unsigned\20long\29 +7571:GrBufferAllocPool::makeSpaceAtLeast\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20sk_sp*\2c\20unsigned\20long*\2c\20unsigned\20long*\29 +7572:GrBufferAllocPool::flushCpuData\28GrBufferAllocPool::BufferBlock\20const&\2c\20unsigned\20long\29 +7573:GrBufferAllocPool::destroyBlock\28\29 +7574:GrBufferAllocPool::deleteBlocks\28\29 +7575:GrBufferAllocPool::createBlock\28unsigned\20long\29 +7576:GrBufferAllocPool::CpuBufferCache::makeBuffer\28unsigned\20long\2c\20bool\29 +7577:GrBlurUtils::mask_release_proc\28void*\2c\20void*\29 +7578:GrBlurUtils::draw_shape_with_mask_filter\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkMaskFilterBase\20const*\2c\20GrStyledShape\20const&\29 +7579:GrBlurUtils::draw_mask\28skgpu::ganesh::SurfaceDrawContext*\2c\20GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20GrPaint&&\2c\20GrSurfaceProxyView\29 +7580:GrBlurUtils::create_data\28SkIRect\20const&\2c\20SkIRect\20const&\29 +7581:GrBlurUtils::convolve_gaussian_1d\28skgpu::ganesh::SurfaceFillContext*\2c\20GrSurfaceProxyView\2c\20SkIRect\20const&\2c\20SkIPoint\2c\20SkIRect\20const&\2c\20SkAlphaType\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\29 +7582:GrBlurUtils::convolve_gaussian\28GrRecordingContext*\2c\20GrSurfaceProxyView\2c\20GrColorType\2c\20SkAlphaType\2c\20SkIRect\2c\20SkIRect\2c\20GrBlurUtils::\28anonymous\20namespace\29::Direction\2c\20int\2c\20float\2c\20SkTileMode\2c\20sk_sp\2c\20SkBackingFit\29 +7583:GrBlurUtils::clip_bounds_quick_reject\28SkIRect\20const&\2c\20SkIRect\20const&\29 +7584:GrBlurUtils::\28anonymous\20namespace\29::make_texture_effect\28GrCaps\20const*\2c\20GrSurfaceProxyView\2c\20SkAlphaType\2c\20GrSamplerState\20const&\2c\20SkIRect\20const&\2c\20SkIRect\20const&\2c\20SkISize\20const&\29 +7585:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29 +7586:GrBitmapTextGeoProc::addNewViews\28GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\29 +7587:GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29 +7588:GrBicubicEffect::Make\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +7589:GrBicubicEffect::MakeSubset\28GrSurfaceProxyView\2c\20SkAlphaType\2c\20SkMatrix\20const&\2c\20GrSamplerState::WrapMode\2c\20GrSamplerState::WrapMode\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkCubicResampler\2c\20GrBicubicEffect::Direction\2c\20GrCaps\20const&\29 +7590:GrBackendTexture::operator=\28GrBackendTexture\20const&\29 +7591:GrBackendTexture::GrBackendTexture\28int\2c\20int\2c\20std::__2::basic_string_view>\2c\20skgpu::Mipmapped\2c\20GrBackendApi\2c\20GrTextureType\2c\20GrGLBackendTextureData\20const&\29 +7592:GrBackendRenderTarget::isProtected\28\29\20const +7593:GrBackendFormatBytesPerBlock\28GrBackendFormat\20const&\29 +7594:GrBackendFormat::operator!=\28GrBackendFormat\20const&\29\20const +7595:GrBackendFormat::makeTexture2D\28\29\20const +7596:GrBackendFormat::isMockStencilFormat\28\29\20const +7597:GrAuditTrail::opsCombined\28GrOp\20const*\2c\20GrOp\20const*\29 +7598:GrAttachment::ComputeSharedAttachmentUniqueKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\2c\20skgpu::UniqueKey*\29 +7599:GrAttachment::ComputeScratchKey\28GrCaps\20const&\2c\20GrBackendFormat\20const&\2c\20SkISize\2c\20GrAttachment::UsageFlags\2c\20int\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20GrMemoryless\2c\20skgpu::ScratchKey*\29 +7600:GrAtlasManager::~GrAtlasManager\28\29 +7601:GrAtlasManager::getViews\28skgpu::MaskFormat\2c\20unsigned\20int*\29 +7602:GrAtlasManager::atlasGeneration\28skgpu::MaskFormat\29\20const +7603:GrAppliedClip::visitProxies\28std::__2::function\20const&\29\20const +7604:GrAppliedClip::addCoverageFP\28std::__2::unique_ptr>\29 +7605:GrAATriangulator::makeEvent\28GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::SSEdge*\2c\20GrTriangulator::Vertex*\2c\20GrAATriangulator::EventList*\2c\20GrTriangulator::Comparator\20const&\29\20const +7606:GrAATriangulator::connectPartners\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\29 +7607:GrAATriangulator::collapseOverlapRegions\28GrTriangulator::VertexList*\2c\20GrTriangulator::Comparator\20const&\2c\20GrAATriangulator::EventComparator\29 +7608:GrAATriangulator::Event*\20SkArenaAlloc::make\28GrAATriangulator::SSEdge*&\2c\20SkPoint&\2c\20unsigned\20char&\29 +7609:GrAAConvexTessellator::~GrAAConvexTessellator\28\29 +7610:GrAAConvexTessellator::quadTo\28SkPoint\20const*\29 +7611:GrAAConvexTessellator::fanRing\28GrAAConvexTessellator::Ring\20const&\29 +7612:GetVariationDesignPosition\28AutoFTAccess&\2c\20SkFontArguments::VariationPosition::Coordinate*\2c\20int\29 +7613:GetShortIns +7614:FontMgrRunIterator::~FontMgrRunIterator\28\29 +7615:FontMgrRunIterator::endOfCurrentRun\28\29\20const +7616:FontMgrRunIterator::atEnd\28\29\20const +7617:FindSortableTop\28SkOpContourHead*\29 +7618:FT_Vector_NormLen +7619:FT_Sfnt_Table_Info +7620:FT_Select_Size +7621:FT_Render_Glyph +7622:FT_Remove_Module +7623:FT_Outline_Get_Orientation +7624:FT_Outline_EmboldenXY +7625:FT_Outline_Decompose +7626:FT_Open_Face +7627:FT_New_Library +7628:FT_New_GlyphSlot +7629:FT_Match_Size +7630:FT_GlyphLoader_Reset +7631:FT_GlyphLoader_Prepare +7632:FT_GlyphLoader_CheckSubGlyphs +7633:FT_Get_Var_Design_Coordinates +7634:FT_Get_Postscript_Name +7635:FT_Get_Paint_Layers +7636:FT_Get_PS_Font_Info +7637:FT_Get_Glyph_Name +7638:FT_Get_FSType_Flags +7639:FT_Get_Color_Glyph_ClipBox +7640:FT_Done_Size +7641:FT_Done_Library +7642:FT_Done_GlyphSlot +7643:FT_Bitmap_Done +7644:FT_Bitmap_Convert +7645:FT_Add_Default_Modules +7646:EmptyFontLoader::loadSystemFonts\28SkFontScanner\20const*\2c\20skia_private::TArray\2c\20true>*\29\20const +7647:EllipticalRRectOp::~EllipticalRRectOp\28\29.1 +7648:EllipticalRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +7649:EllipticalRRectOp::EllipticalRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20SkPoint\2c\20bool\29 +7650:EllipseOp::EllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20EllipseOp::DeviceSpaceParams\20const&\2c\20SkStrokeRec\20const&\29 +7651:EllipseGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7652:Dot2AngleType\28float\29 +7653:DIEllipseOp::~DIEllipseOp\28\29 +7654:DIEllipseOp::DIEllipseOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20DIEllipseOp::DeviceSpaceParams\20const&\2c\20SkMatrix\20const&\29 +7655:CustomXP::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +7656:CustomXP::makeProgramImpl\28\29\20const::Impl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +7657:Cr_z_inflateReset2 +7658:Cr_z_inflateReset +7659:CoverageSetOpXP::onIsEqual\28GrXferProcessor\20const&\29\20const +7660:Convexicator::close\28\29 +7661:Convexicator::addVec\28SkPoint\20const&\29 +7662:Convexicator::addPt\28SkPoint\20const&\29 +7663:ContourIter::next\28\29 +7664:Contour&\20std::__2::vector>::emplace_back\28SkRect&\2c\20int&\2c\20int&\29 +7665:CircularRRectOp::~CircularRRectOp\28\29.1 +7666:CircularRRectOp::CircularRRectOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const&\2c\20float\2c\20float\2c\20bool\29 +7667:CircleOp::~CircleOp\28\29 +7668:CircleOp::Make\28GrRecordingContext*\2c\20GrPaint&&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +7669:CircleOp::CircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20GrStyle\20const&\2c\20CircleOp::ArcParams\20const*\29 +7670:CircleGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29 +7671:CircleGeometryProcessor::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +7672:CFF::dict_interpreter_t\2c\20CFF::interp_env_t>::interpret\28CFF::cff1_private_dict_values_base_t&\29 +7673:CFF::cs_opset_t\2c\20cff2_path_param_t\2c\20cff2_path_procs_path_t>::process_op\28unsigned\20int\2c\20CFF::cff2_cs_interp_env_t&\2c\20cff2_path_param_t&\29 +7674:CFF::cs_opset_t\2c\20cff2_extents_param_t\2c\20cff2_path_procs_extents_t>::process_op\28unsigned\20int\2c\20CFF::cff2_cs_interp_env_t&\2c\20cff2_extents_param_t&\29 +7675:CFF::cff_stack_t::cff_stack_t\28\29 +7676:CFF::cff2_cs_interp_env_t::process_vsindex\28\29 +7677:CFF::cff2_cs_interp_env_t::process_blend\28\29 +7678:CFF::cff2_cs_interp_env_t::fetch_op\28\29 +7679:CFF::cff2_cs_interp_env_t::cff2_cs_interp_env_t\28hb_array_t\20const&\2c\20OT::cff2::accelerator_t\20const&\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29 +7680:CFF::cff2_cs_interp_env_t::blend_deltas\28hb_array_t\29\20const +7681:CFF::cff1_top_dict_values_t::init\28\29 +7682:CFF::cff1_cs_interp_env_t::cff1_cs_interp_env_t\28hb_array_t\20const&\2c\20OT::cff1::accelerator_t\20const&\2c\20unsigned\20int\2c\20int\20const*\2c\20unsigned\20int\29 +7683:CFF::biased_subrs_t>>::init\28CFF::Subrs>\20const*\29 +7684:CFF::biased_subrs_t>>::init\28CFF::Subrs>\20const*\29 +7685:CFF::FDSelect::get_fd\28unsigned\20int\29\20const +7686:CFF::FDSelect3_4\2c\20OT::IntType>::sentinel\28\29\20const +7687:CFF::FDSelect3_4\2c\20OT::IntType>::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +7688:CFF::FDSelect3_4\2c\20OT::IntType>::get_fd\28unsigned\20int\29\20const +7689:CFF::FDSelect0::sanitize\28hb_sanitize_context_t*\2c\20unsigned\20int\29\20const +7690:CFF::Charset::get_glyph\28unsigned\20int\2c\20unsigned\20int\29\20const +7691:CFF::CFF2FDSelect::get_fd\28unsigned\20int\29\20const +7692:ButtCapDashedCircleOp::ButtCapDashedCircleOp\28GrProcessorSet*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\29 +7693:BlockIndexIterator::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Decrement\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::begin\28\29\20const +7694:BlockIndexIterator::First\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Last\28SkBlockAllocator::Block\20const*\29\2c\20&SkTBlockList::Increment\28SkBlockAllocator::Block\20const*\2c\20int\29\2c\20&SkTBlockList::GetItem\28SkBlockAllocator::Block\20const*\2c\20int\29>::Item::operator++\28\29 +7695:AutoRestoreInverseness::~AutoRestoreInverseness\28\29 +7696:AutoRestoreInverseness::AutoRestoreInverseness\28GrShape*\2c\20GrStyle\20const&\29 +7697:AutoLayerForImageFilter::addMaskFilterLayer\28SkRect\20const*\29 +7698:AutoLayerForImageFilter::addLayer\28SkPaint\20const&\2c\20SkRect\20const*\2c\20bool\29 +7699:AngleWinding\28SkOpSpanBase*\2c\20SkOpSpanBase*\2c\20int*\2c\20bool*\29 +7700:AddIntersectTs\28SkOpContour*\2c\20SkOpContour*\2c\20SkOpCoincidence*\29 +7701:ActiveEdgeList::replace\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\2c\20unsigned\20short\29 +7702:ActiveEdgeList::remove\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +7703:ActiveEdgeList::insert\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +7704:ActiveEdgeList::allocate\28SkPoint\20const&\2c\20SkPoint\20const&\2c\20unsigned\20short\2c\20unsigned\20short\29 +7705:AAT::trak::sanitize\28hb_sanitize_context_t*\29\20const +7706:AAT::mortmorx::sanitize\28hb_sanitize_context_t*\29\20const +7707:AAT::mortmorx::sanitize\28hb_sanitize_context_t*\29\20const +7708:AAT::ltag::sanitize\28hb_sanitize_context_t*\29\20const +7709:AAT::ltag::get_language\28unsigned\20int\29\20const +7710:AAT::feat::sanitize\28hb_sanitize_context_t*\29\20const +7711:AAT::ankr::sanitize\28hb_sanitize_context_t*\29\20const +7712:AAT::ankr::get_anchor\28unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\20const +7713:AAT::TrackData::get_tracking\28void\20const*\2c\20float\29\20const +7714:AAT::Lookup>::get_value_or_null\28unsigned\20int\2c\20unsigned\20int\29\20const +7715:AAT::Lookup>::get_value\28unsigned\20int\2c\20unsigned\20int\29\20const +7716:AAT::Lookup>::get_value_or_null\28unsigned\20int\2c\20unsigned\20int\29\20const +7717:AAT::KerxTable::sanitize\28hb_sanitize_context_t*\29\20const +7718:AAT::KernPair\20const*\20hb_sorted_array_t::bsearch\28AAT::hb_glyph_pair_t\20const&\2c\20AAT::KernPair\20const*\29 +7719:AAT::KernPair\20const&\20OT::SortedArrayOf>>::bsearch\28AAT::hb_glyph_pair_t\20const&\2c\20AAT::KernPair\20const&\29\20const +7720:AAT::ChainSubtable::apply\28AAT::hb_aat_apply_context_t*\29\20const +7721:AAT::ChainSubtable::apply\28AAT::hb_aat_apply_context_t*\29\20const +7722:xyzd50_to_hcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +7723:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +7724:void\20mergeT\28void\20const*\2c\20int\2c\20unsigned\20char\20const*\2c\20int\2c\20void*\29 +7725:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7726:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7727:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7728:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7729:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7730:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7731:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7732:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7733:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7734:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7735:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7736:void\20\28anonymous\20namespace\29::downsample_3_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7737:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7738:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7739:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7740:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7741:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7742:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7743:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7744:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7745:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7746:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7747:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7748:void\20\28anonymous\20namespace\29::downsample_3_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7749:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7750:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7751:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7752:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7753:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7754:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7755:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7756:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7757:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7758:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7759:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7760:void\20\28anonymous\20namespace\29::downsample_3_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7761:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7762:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7763:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7764:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7765:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7766:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7767:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7768:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7769:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7770:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7771:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7772:void\20\28anonymous\20namespace\29::downsample_2_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7773:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7774:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7775:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7776:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7777:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7778:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7779:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7780:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7781:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7782:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7783:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7784:void\20\28anonymous\20namespace\29::downsample_2_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7785:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7786:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7787:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7788:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7789:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7790:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7791:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7792:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7793:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7794:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7795:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7796:void\20\28anonymous\20namespace\29::downsample_2_1<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7797:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7798:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7799:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7800:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7801:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7802:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7803:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7804:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7805:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7806:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7807:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7808:void\20\28anonymous\20namespace\29::downsample_1_3<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7809:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_RGBA_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7810:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_F16F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7811:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_Alpha_F16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7812:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7813:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_88>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7814:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_8888>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7815:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_565>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7816:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_4444>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7817:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7818:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7819:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_16161616>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7820:void\20\28anonymous\20namespace\29::downsample_1_2<\28anonymous\20namespace\29::ColorTypeFilter_1010102>\28void*\2c\20void\20const*\2c\20unsigned\20long\2c\20int\29 +7821:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +7822:virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +7823:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29.1 +7824:virtual\20thunk\20to\20std::__2::basic_istream>::~basic_istream\28\29 +7825:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +7826:virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +7827:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +7828:virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +7829:virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +7830:virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +7831:virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +7832:virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +7833:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29.1 +7834:virtual\20thunk\20to\20GrTextureProxy::~GrTextureProxy\28\29 +7835:virtual\20thunk\20to\20GrTextureProxy::onUninstantiatedGpuMemorySize\28\29\20const +7836:virtual\20thunk\20to\20GrTextureProxy::instantiate\28GrResourceProvider*\29 +7837:virtual\20thunk\20to\20GrTextureProxy::getUniqueKey\28\29\20const +7838:virtual\20thunk\20to\20GrTextureProxy::createSurface\28GrResourceProvider*\29\20const +7839:virtual\20thunk\20to\20GrTextureProxy::callbackDesc\28\29\20const +7840:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29\20const +7841:virtual\20thunk\20to\20GrTextureProxy::asTextureProxy\28\29 +7842:virtual\20thunk\20to\20GrTexture::onGpuMemorySize\28\29\20const +7843:virtual\20thunk\20to\20GrTexture::computeScratchKey\28skgpu::ScratchKey*\29\20const +7844:virtual\20thunk\20to\20GrTexture::asTexture\28\29\20const +7845:virtual\20thunk\20to\20GrTexture::asTexture\28\29 +7846:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29.1 +7847:virtual\20thunk\20to\20GrRenderTargetProxy::~GrRenderTargetProxy\28\29 +7848:virtual\20thunk\20to\20GrRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +7849:virtual\20thunk\20to\20GrRenderTargetProxy::instantiate\28GrResourceProvider*\29 +7850:virtual\20thunk\20to\20GrRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +7851:virtual\20thunk\20to\20GrRenderTargetProxy::callbackDesc\28\29\20const +7852:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29\20const +7853:virtual\20thunk\20to\20GrRenderTargetProxy::asRenderTargetProxy\28\29 +7854:virtual\20thunk\20to\20GrRenderTarget::onRelease\28\29 +7855:virtual\20thunk\20to\20GrRenderTarget::onAbandon\28\29 +7856:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29\20const +7857:virtual\20thunk\20to\20GrRenderTarget::asRenderTarget\28\29 +7858:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +7859:virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +7860:virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +7861:virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +7862:virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +7863:virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +7864:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29.1 +7865:virtual\20thunk\20to\20GrGLTexture::~GrGLTexture\28\29 +7866:virtual\20thunk\20to\20GrGLTexture::onRelease\28\29 +7867:virtual\20thunk\20to\20GrGLTexture::onAbandon\28\29 +7868:virtual\20thunk\20to\20GrGLTexture::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +7869:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +7870:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +7871:virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::onFinalize\28\29 +7872:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29.1 +7873:virtual\20thunk\20to\20GrGLRenderTarget::~GrGLRenderTarget\28\29 +7874:virtual\20thunk\20to\20GrGLRenderTarget::onRelease\28\29 +7875:virtual\20thunk\20to\20GrGLRenderTarget::onGpuMemorySize\28\29\20const +7876:virtual\20thunk\20to\20GrGLRenderTarget::onAbandon\28\29 +7877:virtual\20thunk\20to\20GrGLRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +7878:virtual\20thunk\20to\20GrGLRenderTarget::backendFormat\28\29\20const +7879:vertices_dispose +7880:vertices_create +7881:unicodePositionBuffer_create +7882:typefaces_filterCoveredCodePoints +7883:typeface_create +7884:tt_vadvance_adjust +7885:tt_slot_init +7886:tt_size_request +7887:tt_size_init +7888:tt_size_done +7889:tt_sbit_decoder_load_png +7890:tt_sbit_decoder_load_compound +7891:tt_sbit_decoder_load_byte_aligned +7892:tt_sbit_decoder_load_bit_aligned +7893:tt_property_set +7894:tt_property_get +7895:tt_name_ascii_from_utf16 +7896:tt_name_ascii_from_other +7897:tt_hadvance_adjust +7898:tt_glyph_load +7899:tt_get_var_blend +7900:tt_get_interface +7901:tt_get_glyph_name +7902:tt_get_cmap_info +7903:tt_get_advances +7904:tt_face_set_sbit_strike +7905:tt_face_load_strike_metrics +7906:tt_face_load_sbit_image +7907:tt_face_load_sbit +7908:tt_face_load_post +7909:tt_face_load_pclt +7910:tt_face_load_os2 +7911:tt_face_load_name +7912:tt_face_load_maxp +7913:tt_face_load_kern +7914:tt_face_load_hmtx +7915:tt_face_load_hhea +7916:tt_face_load_head +7917:tt_face_load_gasp +7918:tt_face_load_font_dir +7919:tt_face_load_cpal +7920:tt_face_load_colr +7921:tt_face_load_cmap +7922:tt_face_load_bhed +7923:tt_face_load_any +7924:tt_face_init +7925:tt_face_get_paint_layers +7926:tt_face_get_paint +7927:tt_face_get_kerning +7928:tt_face_get_colr_layer +7929:tt_face_get_colr_glyph_paint +7930:tt_face_get_colorline_stops +7931:tt_face_get_color_glyph_clipbox +7932:tt_face_free_sbit +7933:tt_face_free_ps_names +7934:tt_face_free_name +7935:tt_face_free_cpal +7936:tt_face_free_colr +7937:tt_face_done +7938:tt_face_colr_blend_layer +7939:tt_driver_init +7940:tt_cmap_unicode_init +7941:tt_cmap_unicode_char_next +7942:tt_cmap_unicode_char_index +7943:tt_cmap_init +7944:tt_cmap8_validate +7945:tt_cmap8_get_info +7946:tt_cmap8_char_next +7947:tt_cmap8_char_index +7948:tt_cmap6_validate +7949:tt_cmap6_get_info +7950:tt_cmap6_char_next +7951:tt_cmap6_char_index +7952:tt_cmap4_validate +7953:tt_cmap4_init +7954:tt_cmap4_get_info +7955:tt_cmap4_char_next +7956:tt_cmap4_char_index +7957:tt_cmap2_validate +7958:tt_cmap2_get_info +7959:tt_cmap2_char_next +7960:tt_cmap2_char_index +7961:tt_cmap14_variants +7962:tt_cmap14_variant_chars +7963:tt_cmap14_validate +7964:tt_cmap14_init +7965:tt_cmap14_get_info +7966:tt_cmap14_done +7967:tt_cmap14_char_variants +7968:tt_cmap14_char_var_isdefault +7969:tt_cmap14_char_var_index +7970:tt_cmap14_char_next +7971:tt_cmap13_validate +7972:tt_cmap13_get_info +7973:tt_cmap13_char_next +7974:tt_cmap13_char_index +7975:tt_cmap12_validate +7976:tt_cmap12_get_info +7977:tt_cmap12_char_next +7978:tt_cmap12_char_index +7979:tt_cmap10_validate +7980:tt_cmap10_get_info +7981:tt_cmap10_char_next +7982:tt_cmap10_char_index +7983:tt_cmap0_validate +7984:tt_cmap0_get_info +7985:tt_cmap0_char_next +7986:tt_cmap0_char_index +7987:textStyle_setWordSpacing +7988:textStyle_setTextBaseline +7989:textStyle_setLocale +7990:textStyle_setLetterSpacing +7991:textStyle_setHeight +7992:textStyle_setHalfLeading +7993:textStyle_setForeground +7994:textStyle_setFontVariations +7995:textStyle_setFontStyle +7996:textStyle_setFontSize +7997:textStyle_setDecorationColor +7998:textStyle_setColor +7999:textStyle_setBackground +8000:textStyle_dispose +8001:textStyle_create +8002:textStyle_copy +8003:textStyle_clearFontFamilies +8004:textStyle_addShadow +8005:textStyle_addFontFeature +8006:textStyle_addFontFamilies +8007:textBoxList_getLength +8008:textBoxList_getBoxAtIndex +8009:textBoxList_dispose +8010:t2_hints_stems +8011:t2_hints_open +8012:t1_make_subfont +8013:t1_hints_stem +8014:t1_hints_open +8015:t1_decrypt +8016:t1_decoder_parse_metrics +8017:t1_decoder_init +8018:t1_decoder_done +8019:t1_cmap_unicode_init +8020:t1_cmap_unicode_char_next +8021:t1_cmap_unicode_char_index +8022:t1_cmap_std_done +8023:t1_cmap_std_char_next +8024:t1_cmap_standard_init +8025:t1_cmap_expert_init +8026:t1_cmap_custom_init +8027:t1_cmap_custom_done +8028:t1_cmap_custom_char_next +8029:t1_cmap_custom_char_index +8030:t1_builder_start_point +8031:swizzle_or_premul\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\2c\20SkColorSpaceXformSteps\20const&\29 +8032:surface_renderPicturesOnWorker +8033:surface_renderPictures +8034:surface_rasterizeImageOnWorker +8035:surface_rasterizeImage +8036:surface_onRenderComplete +8037:surface_onRasterizeComplete +8038:surface_dispose +8039:surface_destroy +8040:surface_create +8041:strutStyle_setLeading +8042:strutStyle_setHeight +8043:strutStyle_setHalfLeading +8044:strutStyle_setForceStrutHeight +8045:strutStyle_setFontStyle +8046:strutStyle_setFontFamilies +8047:strutStyle_dispose +8048:strutStyle_create +8049:string_read +8050:std::exception::what\28\29\20const +8051:std::bad_variant_access::what\28\29\20const +8052:std::bad_optional_access::what\28\29\20const +8053:std::bad_array_new_length::what\28\29\20const +8054:std::bad_alloc::what\28\29\20const +8055:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20tm\20const*\2c\20char\2c\20char\29\20const +8056:std::__2::time_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20tm\20const*\2c\20char\2c\20char\29\20const +8057:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8058:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8059:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8060:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8061:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8062:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +8063:std::__2::time_get>>::do_get_year\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8064:std::__2::time_get>>::do_get_weekday\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8065:std::__2::time_get>>::do_get_time\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8066:std::__2::time_get>>::do_get_monthname\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8067:std::__2::time_get>>::do_get_date\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\29\20const +8068:std::__2::time_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20tm*\2c\20char\2c\20char\29\20const +8069:std::__2::numpunct::~numpunct\28\29 +8070:std::__2::numpunct::do_truename\28\29\20const +8071:std::__2::numpunct::do_grouping\28\29\20const +8072:std::__2::numpunct::do_falsename\28\29\20const +8073:std::__2::numpunct::~numpunct\28\29 +8074:std::__2::numpunct::do_truename\28\29\20const +8075:std::__2::numpunct::do_thousands_sep\28\29\20const +8076:std::__2::numpunct::do_grouping\28\29\20const +8077:std::__2::numpunct::do_falsename\28\29\20const +8078:std::__2::numpunct::do_decimal_point\28\29\20const +8079:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20void\20const*\29\20const +8080:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\29\20const +8081:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20unsigned\20long\20long\29\20const +8082:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\29\20const +8083:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20long\29\20const +8084:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +8085:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20double\29\20const +8086:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20bool\29\20const +8087:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20void\20const*\29\20const +8088:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\29\20const +8089:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20unsigned\20long\20long\29\20const +8090:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\29\20const +8091:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20long\29\20const +8092:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +8093:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20double\29\20const +8094:std::__2::num_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20std::__2::ios_base&\2c\20char\2c\20bool\29\20const +8095:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +8096:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +8097:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +8098:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +8099:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +8100:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +8101:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +8102:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +8103:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +8104:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20void*&\29\20const +8105:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20short&\29\20const +8106:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20unsigned\20long\20long&\29\20const +8107:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20long&\29\20const +8108:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +8109:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long&\29\20const +8110:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20float&\29\20const +8111:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20double&\29\20const +8112:std::__2::num_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20bool&\29\20const +8113:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +8114:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20wchar_t\2c\20long\20double\29\20const +8115:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +8116:std::__2::money_put>>::do_put\28std::__2::ostreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20char\2c\20long\20double\29\20const +8117:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +8118:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +8119:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20std::__2::basic_string\2c\20std::__2::allocator>&\29\20const +8120:std::__2::money_get>>::do_get\28std::__2::istreambuf_iterator>\2c\20std::__2::istreambuf_iterator>\2c\20bool\2c\20std::__2::ios_base&\2c\20unsigned\20int&\2c\20long\20double&\29\20const +8121:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +8122:std::__2::messages::do_get\28long\2c\20int\2c\20int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\20const&\29\20const +8123:std::__2::locale::id::__init\28\29 +8124:std::__2::locale::__imp::~__imp\28\29 +8125:std::__2::ios_base::~ios_base\28\29.1 +8126:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20wchar_t*\29\20const +8127:std::__2::ctype::do_toupper\28wchar_t\29\20const +8128:std::__2::ctype::do_toupper\28wchar_t*\2c\20wchar_t\20const*\29\20const +8129:std::__2::ctype::do_tolower\28wchar_t\29\20const +8130:std::__2::ctype::do_tolower\28wchar_t*\2c\20wchar_t\20const*\29\20const +8131:std::__2::ctype::do_scan_not\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +8132:std::__2::ctype::do_scan_is\28unsigned\20long\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +8133:std::__2::ctype::do_narrow\28wchar_t\2c\20char\29\20const +8134:std::__2::ctype::do_narrow\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20char\2c\20char*\29\20const +8135:std::__2::ctype::do_is\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20unsigned\20long*\29\20const +8136:std::__2::ctype::do_is\28unsigned\20long\2c\20wchar_t\29\20const +8137:std::__2::ctype::~ctype\28\29 +8138:std::__2::ctype::do_widen\28char\20const*\2c\20char\20const*\2c\20char*\29\20const +8139:std::__2::ctype::do_toupper\28char\29\20const +8140:std::__2::ctype::do_toupper\28char*\2c\20char\20const*\29\20const +8141:std::__2::ctype::do_tolower\28char\29\20const +8142:std::__2::ctype::do_tolower\28char*\2c\20char\20const*\29\20const +8143:std::__2::ctype::do_narrow\28char\2c\20char\29\20const +8144:std::__2::ctype::do_narrow\28char\20const*\2c\20char\20const*\2c\20char\2c\20char*\29\20const +8145:std::__2::collate::do_transform\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +8146:std::__2::collate::do_hash\28wchar_t\20const*\2c\20wchar_t\20const*\29\20const +8147:std::__2::collate::do_compare\28wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*\29\20const +8148:std::__2::collate::do_transform\28char\20const*\2c\20char\20const*\29\20const +8149:std::__2::collate::do_hash\28char\20const*\2c\20char\20const*\29\20const +8150:std::__2::collate::do_compare\28char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\29\20const +8151:std::__2::codecvt::~codecvt\28\29 +8152:std::__2::codecvt::do_unshift\28__mbstate_t&\2c\20char*\2c\20char*\2c\20char*&\29\20const +8153:std::__2::codecvt::do_out\28__mbstate_t&\2c\20wchar_t\20const*\2c\20wchar_t\20const*\2c\20wchar_t\20const*&\2c\20char*\2c\20char*\2c\20char*&\29\20const +8154:std::__2::codecvt::do_max_length\28\29\20const +8155:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +8156:std::__2::codecvt::do_in\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*&\2c\20wchar_t*\2c\20wchar_t*\2c\20wchar_t*&\29\20const +8157:std::__2::codecvt::do_encoding\28\29\20const +8158:std::__2::codecvt::do_length\28__mbstate_t&\2c\20char\20const*\2c\20char\20const*\2c\20unsigned\20long\29\20const +8159:std::__2::basic_stringbuf\2c\20std::__2::allocator>::~basic_stringbuf\28\29.1 +8160:std::__2::basic_stringbuf\2c\20std::__2::allocator>::underflow\28\29 +8161:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +8162:std::__2::basic_stringbuf\2c\20std::__2::allocator>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +8163:std::__2::basic_stringbuf\2c\20std::__2::allocator>::pbackfail\28int\29 +8164:std::__2::basic_stringbuf\2c\20std::__2::allocator>::overflow\28int\29 +8165:std::__2::basic_streambuf>::~basic_streambuf\28\29.1 +8166:std::__2::basic_streambuf>::xsputn\28char\20const*\2c\20long\29 +8167:std::__2::basic_streambuf>::xsgetn\28char*\2c\20long\29 +8168:std::__2::basic_streambuf>::uflow\28\29 +8169:std::__2::basic_streambuf>::setbuf\28char*\2c\20long\29 +8170:std::__2::basic_streambuf>::seekpos\28std::__2::fpos<__mbstate_t>\2c\20unsigned\20int\29 +8171:std::__2::basic_streambuf>::seekoff\28long\20long\2c\20std::__2::ios_base::seekdir\2c\20unsigned\20int\29 +8172:std::__2::bad_function_call::what\28\29\20const +8173:std::__2::__time_get_c_storage::__x\28\29\20const +8174:std::__2::__time_get_c_storage::__weeks\28\29\20const +8175:std::__2::__time_get_c_storage::__r\28\29\20const +8176:std::__2::__time_get_c_storage::__months\28\29\20const +8177:std::__2::__time_get_c_storage::__c\28\29\20const +8178:std::__2::__time_get_c_storage::__am_pm\28\29\20const +8179:std::__2::__time_get_c_storage::__X\28\29\20const +8180:std::__2::__time_get_c_storage::__x\28\29\20const +8181:std::__2::__time_get_c_storage::__weeks\28\29\20const +8182:std::__2::__time_get_c_storage::__r\28\29\20const +8183:std::__2::__time_get_c_storage::__months\28\29\20const +8184:std::__2::__time_get_c_storage::__c\28\29\20const +8185:std::__2::__time_get_c_storage::__am_pm\28\29\20const +8186:std::__2::__time_get_c_storage::__X\28\29\20const +8187:std::__2::__shared_ptr_pointer<_IO_FILE*\2c\20void\20\28*\29\28_IO_FILE*\29\2c\20std::__2::allocator<_IO_FILE>>::__on_zero_shared\28\29 +8188:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +8189:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +8190:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +8191:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +8192:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +8193:std::__2::__shared_ptr_emplace>::__on_zero_shared\28\29 +8194:std::__2::__shared_ptr_emplace>::~__shared_ptr_emplace\28\29 +8195:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8196:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8197:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8198:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8199:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8200:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8201:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8202:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8203:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8204:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8205:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8206:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8207:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8208:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8209:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8210:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8211:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8212:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8213:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +8214:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +8215:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +8216:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::operator\28\29\28skia::textlayout::Cluster\20const*&&\2c\20unsigned\20long&&\2c\20bool&&\29 +8217:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +8218:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Cluster\20const*\2c\20unsigned\20long\2c\20bool\29>::__clone\28\29\20const +8219:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8220:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8221:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8222:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8223:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8224:std::__2::__function::__func\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\2c\20std::__2::vector>&\29\20const::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8225:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8226:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8227:std::__2::__function::__func>&\29::$_0\2c\20std::__2::allocator>&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8228:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8229:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8230:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8231:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8232:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8233:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8234:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8235:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8236:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8237:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8238:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8239:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8240:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8241:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8242:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8243:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8244:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8245:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8246:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8247:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8248:std::__2::__function::__func\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8249:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8250:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8251:std::__2::__function::__func\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8252:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::operator\28\29\28skia::textlayout::Run\20const*&&\2c\20float&&\2c\20skia::textlayout::SkRange&&\2c\20float*&&\29 +8253:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28std::__2::__function::__base\2c\20float*\29>*\29\20const +8254:std::__2::__function::__func\20const&\29::$_0\2c\20std::__2::allocator\20const&\29::$_0>\2c\20bool\20\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29>::__clone\28\29\20const +8255:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29 +8256:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>*\29\20const +8257:std::__2::__function::__func\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\2c\20std::__2::allocator\20const&\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29>::__clone\28\29\20const +8258:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20skia::textlayout::SkRange&&\2c\20float&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20SkPoint&&\2c\20SkPoint&&\2c\20skia::textlayout::InternalLineMetrics&&\2c\20bool&&\29 +8259:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28std::__2::__function::__base\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>*\29\20const +8260:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20skia::textlayout::SkRange\2c\20float\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkPoint\2c\20SkPoint\2c\20skia::textlayout::InternalLineMetrics\2c\20bool\29>::__clone\28\29\20const +8261:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::operator\28\29\28skia::textlayout::Cluster*&&\29 +8262:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28std::__2::__function::__base*\29\20const +8263:std::__2::__function::__func\2c\20void\20\28skia::textlayout::Cluster*\29>::__clone\28\29\20const +8264:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +8265:std::__2::__function::__func\2c\20void\20\28skia::textlayout::ParagraphImpl*\2c\20char\20const*\2c\20bool\29>::__clone\28\29\20const +8266:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::operator\28\29\28skia::textlayout::SkRange&&\2c\20SkSpan&&\2c\20float&\2c\20unsigned\20long&&\2c\20unsigned\20char&&\29 +8267:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28std::__2::__function::__base\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>*\29\20const +8268:std::__2::__function::__func\2c\20float\20\28skia::textlayout::SkRange\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29>::__clone\28\29\20const +8269:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::operator\28\29\28skia::textlayout::Block&&\2c\20skia_private::TArray&&\29 +8270:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28std::__2::__function::__base\29>*\29\20const +8271:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29>\2c\20void\20\28skia::textlayout::Block\2c\20skia_private::TArray\29>::__clone\28\29\20const +8272:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::operator\28\29\28sk_sp&&\29 +8273:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28std::__2::__function::__base\29>*\29\20const +8274:std::__2::__function::__func\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29\2c\20std::__2::allocator\2c\20SkSpan\2c\20float&\2c\20unsigned\20long\2c\20unsigned\20char\29\20const::'lambda'\28skia::textlayout::Block\2c\20skia_private::TArray\29::operator\28\29\28skia::textlayout::Block\2c\20skia_private::TArray\29\20const::'lambda'\28sk_sp\29>\2c\20skia::textlayout::OneLineShaper::Resolved\20\28sk_sp\29>::__clone\28\29\20const +8275:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::operator\28\29\28skia::textlayout::SkRange&&\29 +8276:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28std::__2::__function::__base\29>*\29\20const +8277:std::__2::__function::__func\2c\20void\20\28skia::textlayout::SkRange\29>::__clone\28\29\20const +8278:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +8279:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +8280:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +8281:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::~__func\28\29.1 +8282:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::operator\28\29\28void*&&\2c\20void\20const*&&\29 +8283:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy_deallocate\28\29 +8284:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::destroy\28\29 +8285:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +8286:std::__2::__function::__func\2c\20void\20\28void*\2c\20void\20const*\29>::__clone\28\29\20const +8287:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +8288:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8289:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +8290:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +8291:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8292:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +8293:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +8294:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +8295:std::__2::__function::__func\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +8296:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +8297:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +8298:std::__2::__function::__func>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +8299:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::operator\28\29\28GrSurfaceProxy*&&\2c\20skgpu::Mipmapped&&\29 +8300:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +8301:std::__2::__function::__func>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0\2c\20std::__2::allocator>\2c\20bool\2c\20GrProcessorSet::Analysis\20const&\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrTextureResolveManager\2c\20GrCaps\20const&\29::$_0>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +8302:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::operator\28\29\28sktext::gpu::AtlasSubRun\20const*&&\2c\20SkPoint&&\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20sktext::gpu::RendererData&&\29 +8303:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28std::__2::__function::__base\2c\20sktext::gpu::RendererData\29>*\29\20const +8304:std::__2::__function::__func\2c\20void\20\28sktext::gpu::AtlasSubRun\20const*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20sktext::gpu::RendererData\29>::__clone\28\29\20const +8305:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::operator\28\29\28sktext::gpu::GlyphVector*&&\2c\20int&&\2c\20int&&\2c\20skgpu::MaskFormat&&\2c\20int&&\29 +8306:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28std::__2::__function::__base\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>*\29\20const +8307:std::__2::__function::__func\2c\20std::__2::tuple\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>::__clone\28\29\20const +8308:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::operator\28\29\28GrSurfaceProxy\20const*&&\29 +8309:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +8310:std::__2::__function::__func>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0\2c\20std::__2::allocator>\2c\20SkIRect\20const&\2c\20SkMatrix\20const&\2c\20SkPath\20const&\29::$_0>\2c\20bool\20\28GrSurfaceProxy\20const*\29>::__clone\28\29\20const +8311:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +8312:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +8313:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +8314:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +8315:std::__2::__function::__func\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrOp\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +8316:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28std::__2::__function::__base*\29\20const +8317:std::__2::__function::__func\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29\2c\20std::__2::allocator\28GrFragmentProcessor\20const*\2c\20GrSurfaceProxy\20const*\29::'lambda'\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>\2c\20void\20\28GrSurfaceProxy*\2c\20skgpu::Mipmapped\29>::__clone\28\29\20const +8318:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +8319:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8320:std::__2::__function::__func<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::render_sw_mask\28GrRecordingContext*\2c\20SkIRect\20const&\2c\20skgpu::ganesh::ClipStack::Element\20const**\2c\20int\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +8321:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::operator\28\29\28\29 +8322:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8323:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_1>\2c\20void\20\28\29>::__clone\28\29\20const +8324:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8325:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint_bounds\28SkMatrix*\2c\20SkRect*\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +8326:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8327:std::__2::__function::__func<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::colrv1_traverse_paint\28SkCanvas*\2c\20SkSpan\20const&\2c\20unsigned\20int\2c\20FT_FaceRec_*\2c\20FT_Opaque_Paint_\2c\20skia_private::THashSet*\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +8328:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +8329:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8330:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +8331:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +8332:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8333:std::__2::__function::__func<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +8334:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +8335:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8336:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::MeshGP\28sk_sp\2c\20sk_sp\2c\20SkMatrix\20const&\2c\20std::__2::optional>\20const&\2c\20bool\2c\20sk_sp\2c\20SkSpan>>\29::'lambda'\28GrTextureEffect\20const&\29>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +8337:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +8338:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +8339:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +8340:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +8341:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +8342:std::__2::__function::__func<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29\2c\20std::__2::allocator<\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29::'lambda'\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +8343:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::~__func\28\29.1 +8344:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::operator\28\29\28\29 +8345:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy_deallocate\28\29 +8346:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::destroy\28\29 +8347:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8348:std::__2::__function::__func\29::$_0\2c\20std::__2::allocator\29::$_0>\2c\20void\20\28\29>::__clone\28\29\20const +8349:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::operator\28\29\28int&&\2c\20char\20const*&&\29 +8350:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28std::__2::__function::__base*\29\20const +8351:std::__2::__function::__func\2c\20void\20\28int\2c\20char\20const*\29>::__clone\28\29\20const +8352:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::operator\28\29\28unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\2c\20unsigned\20long&&\29 +8353:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +8354:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +8355:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +8356:std::__2::__function::__func\2c\20void\20\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\29>::__clone\28\29\20const +8357:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::operator\28\29\28SkVertices\20const*&&\2c\20SkBlendMode&&\2c\20SkPaint\20const&\2c\20float&&\2c\20float&&\2c\20bool&&\29 +8358:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28std::__2::__function::__base*\29\20const +8359:std::__2::__function::__func\2c\20void\20\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\2c\20float\2c\20float\2c\20bool\29>::__clone\28\29\20const +8360:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::operator\28\29\28SkIRect\20const&\29 +8361:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8362:std::__2::__function::__func\2c\20void\20\28SkIRect\20const&\29>::__clone\28\29\20const +8363:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +8364:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +8365:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +8366:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +8367:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8368:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +8369:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +8370:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +8371:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +8372:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +8373:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8374:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +8375:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::~__func\28\29.1 +8376:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +8377:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy_deallocate\28\29 +8378:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::destroy\28\29 +8379:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8380:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +8381:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::operator\28\29\28GrTextureProxy*&&\2c\20SkIRect&&\2c\20GrColorType&&\2c\20void\20const*&&\2c\20unsigned\20long&&\29 +8382:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28std::__2::__function::__base*\29\20const +8383:std::__2::__function::__func&\29>&\2c\20bool\29::$_0\2c\20std::__2::allocator&\29>&\2c\20bool\29::$_0>\2c\20bool\20\28GrTextureProxy*\2c\20SkIRect\2c\20GrColorType\2c\20void\20const*\2c\20unsigned\20long\29>::__clone\28\29\20const +8384:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::operator\28\29\28GrBackendTexture&&\29 +8385:std::__2::__function::__func*\29::$_0\2c\20std::__2::allocator*\29::$_0>\2c\20void\20\28GrBackendTexture\29>::__clone\28\29\20const +8386:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +8387:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +8388:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +8389:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::operator\28\29\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29 +8390:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28std::__2::__function::__base*\29\20const +8391:std::__2::__function::__func\2c\20void\20\28GrFragmentProcessor\20const&\2c\20GrFragmentProcessor::ProgramImpl&\29>::__clone\28\29\20const +8392:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +8393:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8394:std::__2::__function::__func\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +8395:std::__2::__function::__func\2c\20void\20\28\29>::operator\28\29\28\29 +8396:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28std::__2::__function::__base*\29\20const +8397:std::__2::__function::__func\2c\20void\20\28\29>::__clone\28\29\20const +8398:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::operator\28\29\28GrTextureEffect\20const&\29 +8399:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8400:std::__2::__function::__func\20const&\29\20const::$_0\2c\20std::__2::allocator\20const&\29\20const::$_0>\2c\20void\20\28GrTextureEffect\20const&\29>::__clone\28\29\20const +8401:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::operator\28\29\28GrResourceProvider*&&\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29 +8402:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28std::__2::__function::__base*\29\20const +8403:std::__2::__function::__func\2c\20GrSurfaceProxy::LazyCallbackResult\20\28GrResourceProvider*\2c\20GrSurfaceProxy::LazySurfaceDesc\20const&\29>::__clone\28\29\20const +8404:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +8405:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +8406:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +8407:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::~__func\28\29.1 +8408:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +8409:std::__2::__function::__func\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +8410:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::operator\28\29\28std::__2::function&\29 +8411:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28std::__2::__function::__base&\29>*\29\20const +8412:std::__2::__function::__func&\29\2c\20std::__2::allocator&\29>\2c\20void\20\28std::__2::function&\29>::__clone\28\29\20const +8413:stackSave +8414:stackRestore +8415:stackAlloc +8416:srgb_to_hwb\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +8417:srcover_p\28unsigned\20char\2c\20unsigned\20char\29 +8418:sn_write +8419:sktext::gpu::post_purge_blob_message\28unsigned\20int\2c\20unsigned\20int\29 +8420:sktext::gpu::TextBlob::~TextBlob\28\29.1 +8421:sktext::gpu::SlugImpl::~SlugImpl\28\29.1 +8422:sktext::gpu::SlugImpl::sourceBounds\28\29\20const +8423:sktext::gpu::SlugImpl::sourceBoundsWithOrigin\28\29\20const +8424:sktext::gpu::SlugImpl::doFlatten\28SkWriteBuffer&\29\20const +8425:sktext::gpu::SDFMaskFilterImpl::getTypeName\28\29\20const +8426:sktext::gpu::SDFMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +8427:sktext::gpu::SDFMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +8428:skif::\28anonymous\20namespace\29::RasterBackend::~RasterBackend\28\29 +8429:skif::\28anonymous\20namespace\29::RasterBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +8430:skif::\28anonymous\20namespace\29::RasterBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +8431:skif::\28anonymous\20namespace\29::RasterBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +8432:skif::\28anonymous\20namespace\29::GaneshBackend::makeImage\28SkIRect\20const&\2c\20sk_sp\29\20const +8433:skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkISize\2c\20sk_sp\2c\20SkSurfaceProps\20const*\29\20const +8434:skif::\28anonymous\20namespace\29::GaneshBackend::getCachedBitmap\28SkBitmap\20const&\29\20const +8435:skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +8436:skia_png_zfree +8437:skia_png_zalloc +8438:skia_png_set_read_fn +8439:skia_png_set_expand_gray_1_2_4_to_8 +8440:skia_png_read_start_row +8441:skia_png_read_finish_row +8442:skia_png_handle_zTXt +8443:skia_png_handle_unknown +8444:skia_png_handle_tRNS +8445:skia_png_handle_tIME +8446:skia_png_handle_tEXt +8447:skia_png_handle_sRGB +8448:skia_png_handle_sPLT +8449:skia_png_handle_sCAL +8450:skia_png_handle_sBIT +8451:skia_png_handle_pHYs +8452:skia_png_handle_pCAL +8453:skia_png_handle_oFFs +8454:skia_png_handle_iTXt +8455:skia_png_handle_iCCP +8456:skia_png_handle_hIST +8457:skia_png_handle_gAMA +8458:skia_png_handle_cHRM +8459:skia_png_handle_bKGD +8460:skia_png_handle_PLTE +8461:skia_png_handle_IHDR +8462:skia_png_handle_IEND +8463:skia_png_get_IHDR +8464:skia_png_do_read_transformations +8465:skia_png_destroy_read_struct +8466:skia_png_default_read_data +8467:skia_png_create_png_struct +8468:skia_png_combine_row +8469:skia::textlayout::TypefaceFontStyleSet::~TypefaceFontStyleSet\28\29.1 +8470:skia::textlayout::TypefaceFontStyleSet::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +8471:skia::textlayout::TypefaceFontProvider::~TypefaceFontProvider\28\29.1 +8472:skia::textlayout::TypefaceFontProvider::onMatchFamily\28char\20const*\29\20const +8473:skia::textlayout::TypefaceFontProvider::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +8474:skia::textlayout::TypefaceFontProvider::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +8475:skia::textlayout::TypefaceFontProvider::onGetFamilyName\28int\2c\20SkString*\29\20const +8476:skia::textlayout::TypefaceFontProvider::onCreateStyleSet\28int\29\20const +8477:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::~ShapeHandler\28\29.1 +8478:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +8479:skia::textlayout::TextLine::shapeEllipsis\28SkString\20const&\2c\20skia::textlayout::Cluster\20const*\29::ShapeHandler::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +8480:skia::textlayout::ParagraphImpl::~ParagraphImpl\28\29.1 +8481:skia::textlayout::ParagraphImpl::visit\28std::__2::function\20const&\29 +8482:skia::textlayout::ParagraphImpl::updateTextAlign\28skia::textlayout::TextAlign\29 +8483:skia::textlayout::ParagraphImpl::updateForegroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +8484:skia::textlayout::ParagraphImpl::updateFontSize\28unsigned\20long\2c\20unsigned\20long\2c\20float\29 +8485:skia::textlayout::ParagraphImpl::updateBackgroundPaint\28unsigned\20long\2c\20unsigned\20long\2c\20SkPaint\29 +8486:skia::textlayout::ParagraphImpl::unresolvedGlyphs\28\29 +8487:skia::textlayout::ParagraphImpl::unresolvedCodepoints\28\29 +8488:skia::textlayout::ParagraphImpl::paint\28SkCanvas*\2c\20float\2c\20float\29 +8489:skia::textlayout::ParagraphImpl::markDirty\28\29 +8490:skia::textlayout::ParagraphImpl::lineNumber\28\29 +8491:skia::textlayout::ParagraphImpl::layout\28float\29 +8492:skia::textlayout::ParagraphImpl::getWordBoundary\28unsigned\20int\29 +8493:skia::textlayout::ParagraphImpl::getRectsForRange\28unsigned\20int\2c\20unsigned\20int\2c\20skia::textlayout::RectHeightStyle\2c\20skia::textlayout::RectWidthStyle\29 +8494:skia::textlayout::ParagraphImpl::getRectsForPlaceholders\28\29 +8495:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29::$_0::operator\28\29\28skia::textlayout::Run\20const*\2c\20float\2c\20skia::textlayout::SkRange\2c\20float*\29\20const::'lambda'\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29::operator\28\29\28skia::textlayout::SkRange\2c\20skia::textlayout::TextStyle\20const&\2c\20skia::textlayout::TextLine::ClipContext\20const&\29\20const::'lambda'\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +8496:skia::textlayout::ParagraphImpl::getPath\28int\2c\20SkPath*\29 +8497:skia::textlayout::ParagraphImpl::getLineNumberAtUTF16Offset\28unsigned\20long\29 +8498:skia::textlayout::ParagraphImpl::getLineMetrics\28std::__2::vector>&\29 +8499:skia::textlayout::ParagraphImpl::getLineMetricsAt\28int\2c\20skia::textlayout::LineMetrics*\29\20const +8500:skia::textlayout::ParagraphImpl::getFonts\28\29\20const +8501:skia::textlayout::ParagraphImpl::getFontAt\28unsigned\20long\29\20const +8502:skia::textlayout::ParagraphImpl::getFontAtUTF16Offset\28unsigned\20long\29 +8503:skia::textlayout::ParagraphImpl::getClosestUTF16GlyphInfoAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphInfo*\29 +8504:skia::textlayout::ParagraphImpl::getClosestGlyphClusterAt\28float\2c\20float\2c\20skia::textlayout::Paragraph::GlyphClusterInfo*\29 +8505:skia::textlayout::ParagraphImpl::getActualTextRange\28int\2c\20bool\29\20const +8506:skia::textlayout::ParagraphImpl::extendedVisit\28std::__2::function\20const&\29 +8507:skia::textlayout::ParagraphImpl::containsEmoji\28SkTextBlob*\29 +8508:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29::$_0::__invoke\28SkPath\20const*\2c\20SkMatrix\20const&\2c\20void*\29 +8509:skia::textlayout::ParagraphImpl::containsColorFontOrBitmap\28SkTextBlob*\29 +8510:skia::textlayout::ParagraphBuilderImpl::~ParagraphBuilderImpl\28\29.1 +8511:skia::textlayout::ParagraphBuilderImpl::setWordsUtf8\28std::__2::vector>\29 +8512:skia::textlayout::ParagraphBuilderImpl::setWordsUtf16\28std::__2::vector>\29 +8513:skia::textlayout::ParagraphBuilderImpl::setLineBreaksUtf8\28std::__2::vector>\29 +8514:skia::textlayout::ParagraphBuilderImpl::setLineBreaksUtf16\28std::__2::vector>\29 +8515:skia::textlayout::ParagraphBuilderImpl::setGraphemeBreaksUtf8\28std::__2::vector>\29 +8516:skia::textlayout::ParagraphBuilderImpl::setGraphemeBreaksUtf16\28std::__2::vector>\29 +8517:skia::textlayout::ParagraphBuilderImpl::pushStyle\28skia::textlayout::TextStyle\20const&\29 +8518:skia::textlayout::ParagraphBuilderImpl::pop\28\29 +8519:skia::textlayout::ParagraphBuilderImpl::peekStyle\28\29 +8520:skia::textlayout::ParagraphBuilderImpl::getText\28\29 +8521:skia::textlayout::ParagraphBuilderImpl::getParagraphStyle\28\29\20const +8522:skia::textlayout::ParagraphBuilderImpl::getClientICUData\28\29\20const +8523:skia::textlayout::ParagraphBuilderImpl::addText\28std::__2::basic_string\2c\20std::__2::allocator>\20const&\29 +8524:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\2c\20unsigned\20long\29 +8525:skia::textlayout::ParagraphBuilderImpl::addText\28char\20const*\29 +8526:skia::textlayout::ParagraphBuilderImpl::addPlaceholder\28skia::textlayout::PlaceholderStyle\20const&\29 +8527:skia::textlayout::ParagraphBuilderImpl::SetUnicode\28sk_sp\29 +8528:skia::textlayout::ParagraphBuilderImpl::Reset\28\29 +8529:skia::textlayout::ParagraphBuilderImpl::Build\28\29 +8530:skia::textlayout::Paragraph::FontInfo::~FontInfo\28\29.1 +8531:skia::textlayout::OneLineShaper::~OneLineShaper\28\29.1 +8532:skia::textlayout::OneLineShaper::runBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +8533:skia::textlayout::OneLineShaper::commitRunBuffer\28SkShaper::RunHandler::RunInfo\20const&\29 +8534:skia::textlayout::LangIterator::~LangIterator\28\29.1 +8535:skia::textlayout::LangIterator::~LangIterator\28\29 +8536:skia::textlayout::LangIterator::endOfCurrentRun\28\29\20const +8537:skia::textlayout::LangIterator::currentLanguage\28\29\20const +8538:skia::textlayout::LangIterator::consume\28\29 +8539:skia::textlayout::LangIterator::atEnd\28\29\20const +8540:skia::textlayout::FontCollection::~FontCollection\28\29.1 +8541:skia::textlayout::CanvasParagraphPainter::translate\28float\2c\20float\29 +8542:skia::textlayout::CanvasParagraphPainter::save\28\29 +8543:skia::textlayout::CanvasParagraphPainter::restore\28\29 +8544:skia::textlayout::CanvasParagraphPainter::drawTextShadow\28sk_sp\20const&\2c\20float\2c\20float\2c\20unsigned\20int\2c\20float\29 +8545:skia::textlayout::CanvasParagraphPainter::drawTextBlob\28sk_sp\20const&\2c\20float\2c\20float\2c\20std::__2::variant\20const&\29 +8546:skia::textlayout::CanvasParagraphPainter::drawRect\28SkRect\20const&\2c\20std::__2::variant\20const&\29 +8547:skia::textlayout::CanvasParagraphPainter::drawPath\28SkPath\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +8548:skia::textlayout::CanvasParagraphPainter::drawLine\28float\2c\20float\2c\20float\2c\20float\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +8549:skia::textlayout::CanvasParagraphPainter::drawFilledRect\28SkRect\20const&\2c\20skia::textlayout::ParagraphPainter::DecorationStyle\20const&\29 +8550:skia::textlayout::CanvasParagraphPainter::clipRect\28SkRect\20const&\29 +8551:skgpu::tess::FixedCountWedges::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +8552:skgpu::tess::FixedCountWedges::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +8553:skgpu::tess::FixedCountStrokes::WriteVertexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +8554:skgpu::tess::FixedCountCurves::WriteIndexBuffer\28skgpu::VertexWriter\2c\20unsigned\20long\29 +8555:skgpu::ganesh::texture_proxy_view_from_planes\28GrRecordingContext*\2c\20SkImage_Lazy\20const*\2c\20skgpu::Budgeted\29::$_0::__invoke\28void*\2c\20void*\29 +8556:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::~SmallPathOp\28\29.1 +8557:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::visitProxies\28std::__2::function\20const&\29\20const +8558:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8559:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8560:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8561:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::name\28\29\20const +8562:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::fixedFunctionFlags\28\29\20const +8563:skgpu::ganesh::\28anonymous\20namespace\29::SmallPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8564:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::name\28\29\20const +8565:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8566:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8567:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8568:skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8569:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::~HullShader\28\29.1 +8570:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::name\28\29\20const +8571:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8572:skgpu::ganesh::\28anonymous\20namespace\29::HullShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8573:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::~AAFlatteningConvexPathOp\28\29.1 +8574:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +8575:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8576:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8577:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8578:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8579:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::name\28\29\20const +8580:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::fixedFunctionFlags\28\29\20const +8581:skgpu::ganesh::\28anonymous\20namespace\29::AAFlatteningConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8582:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::~AAConvexPathOp\28\29.1 +8583:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::visitProxies\28std::__2::function\20const&\29\20const +8584:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8585:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8586:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8587:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8588:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::name\28\29\20const +8589:skgpu::ganesh::\28anonymous\20namespace\29::AAConvexPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8590:skgpu::ganesh::TriangulatingPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8591:skgpu::ganesh::TriangulatingPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8592:skgpu::ganesh::TriangulatingPathRenderer::name\28\29\20const +8593:skgpu::ganesh::TessellationPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +8594:skgpu::ganesh::TessellationPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +8595:skgpu::ganesh::TessellationPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8596:skgpu::ganesh::TessellationPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8597:skgpu::ganesh::TessellationPathRenderer::name\28\29\20const +8598:skgpu::ganesh::SurfaceDrawContext::~SurfaceDrawContext\28\29 +8599:skgpu::ganesh::SurfaceDrawContext::willReplaceOpsTask\28skgpu::ganesh::OpsTask*\2c\20skgpu::ganesh::OpsTask*\29 +8600:skgpu::ganesh::SurfaceDrawContext::canDiscardPreviousOpsOnFullClear\28\29\20const +8601:skgpu::ganesh::SurfaceContext::~SurfaceContext\28\29.1 +8602:skgpu::ganesh::SurfaceContext::asyncRescaleAndReadPixelsYUV420\28GrDirectContext*\2c\20SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +8603:skgpu::ganesh::SurfaceContext::asyncReadPixels\28GrDirectContext*\2c\20SkIRect\20const&\2c\20SkColorType\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::$_0::__invoke\28void*\29 +8604:skgpu::ganesh::StrokeTessellateOp::~StrokeTessellateOp\28\29.1 +8605:skgpu::ganesh::StrokeTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +8606:skgpu::ganesh::StrokeTessellateOp::usesStencil\28\29\20const +8607:skgpu::ganesh::StrokeTessellateOp::onPrepare\28GrOpFlushState*\29 +8608:skgpu::ganesh::StrokeTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8609:skgpu::ganesh::StrokeTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8610:skgpu::ganesh::StrokeTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8611:skgpu::ganesh::StrokeTessellateOp::name\28\29\20const +8612:skgpu::ganesh::StrokeTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8613:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::~NonAAStrokeRectOp\28\29.1 +8614:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +8615:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::programInfo\28\29 +8616:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8617:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8618:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8619:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::name\28\29\20const +8620:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::NonAAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8621:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::~AAStrokeRectOp\28\29.1 +8622:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::visitProxies\28std::__2::function\20const&\29\20const +8623:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::programInfo\28\29 +8624:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8625:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8626:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8627:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8628:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::name\28\29\20const +8629:skgpu::ganesh::StrokeRectOp::\28anonymous\20namespace\29::AAStrokeRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8630:skgpu::ganesh::StencilClip::~StencilClip\28\29.1 +8631:skgpu::ganesh::StencilClip::~StencilClip\28\29 +8632:skgpu::ganesh::StencilClip::preApply\28SkRect\20const&\2c\20GrAA\29\20const +8633:skgpu::ganesh::StencilClip::getConservativeBounds\28\29\20const +8634:skgpu::ganesh::StencilClip::apply\28GrAppliedHardClip*\2c\20SkIRect*\29\20const +8635:skgpu::ganesh::SoftwarePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8636:skgpu::ganesh::SoftwarePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8637:skgpu::ganesh::SoftwarePathRenderer::name\28\29\20const +8638:skgpu::ganesh::SmallPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8639:skgpu::ganesh::SmallPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8640:skgpu::ganesh::SmallPathRenderer::name\28\29\20const +8641:skgpu::ganesh::SmallPathAtlasMgr::postFlush\28skgpu::AtlasToken\29 +8642:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::~RegionOpImpl\28\29.1 +8643:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::visitProxies\28std::__2::function\20const&\29\20const +8644:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::programInfo\28\29 +8645:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8646:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8647:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8648:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8649:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::name\28\29\20const +8650:skgpu::ganesh::RegionOp::\28anonymous\20namespace\29::RegionOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8651:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_quad_generic\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8652:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8653:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8654:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8655:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_cov_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8656:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv_strict\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8657:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color_uv\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8658:skgpu::ganesh::QuadPerEdgeAA::\28anonymous\20namespace\29::write_2d_color\28skgpu::VertexWriter*\2c\20skgpu::ganesh::QuadPerEdgeAA::VertexSpec\20const&\2c\20GrQuad\20const*\2c\20GrQuad\20const*\2c\20float\20const*\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkRect\20const&\2c\20SkRect\20const&\29 +8659:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::~QuadPerEdgeAAGeometryProcessor\28\29.1 +8660:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::onTextureSampler\28int\29\20const +8661:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::name\28\29\20const +8662:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8663:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8664:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8665:skgpu::ganesh::QuadPerEdgeAA::QuadPerEdgeAAGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8666:skgpu::ganesh::PathWedgeTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +8667:skgpu::ganesh::PathTessellateOp::~PathTessellateOp\28\29.1 +8668:skgpu::ganesh::PathTessellateOp::visitProxies\28std::__2::function\20const&\29\20const +8669:skgpu::ganesh::PathTessellateOp::usesStencil\28\29\20const +8670:skgpu::ganesh::PathTessellateOp::onPrepare\28GrOpFlushState*\29 +8671:skgpu::ganesh::PathTessellateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8672:skgpu::ganesh::PathTessellateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8673:skgpu::ganesh::PathTessellateOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8674:skgpu::ganesh::PathTessellateOp::name\28\29\20const +8675:skgpu::ganesh::PathTessellateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8676:skgpu::ganesh::PathStencilCoverOp::~PathStencilCoverOp\28\29.1 +8677:skgpu::ganesh::PathStencilCoverOp::visitProxies\28std::__2::function\20const&\29\20const +8678:skgpu::ganesh::PathStencilCoverOp::onPrepare\28GrOpFlushState*\29 +8679:skgpu::ganesh::PathStencilCoverOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8680:skgpu::ganesh::PathStencilCoverOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8681:skgpu::ganesh::PathStencilCoverOp::name\28\29\20const +8682:skgpu::ganesh::PathStencilCoverOp::fixedFunctionFlags\28\29\20const +8683:skgpu::ganesh::PathStencilCoverOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8684:skgpu::ganesh::PathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +8685:skgpu::ganesh::PathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +8686:skgpu::ganesh::PathInnerTriangulateOp::~PathInnerTriangulateOp\28\29.1 +8687:skgpu::ganesh::PathInnerTriangulateOp::visitProxies\28std::__2::function\20const&\29\20const +8688:skgpu::ganesh::PathInnerTriangulateOp::onPrepare\28GrOpFlushState*\29 +8689:skgpu::ganesh::PathInnerTriangulateOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8690:skgpu::ganesh::PathInnerTriangulateOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8691:skgpu::ganesh::PathInnerTriangulateOp::name\28\29\20const +8692:skgpu::ganesh::PathInnerTriangulateOp::fixedFunctionFlags\28\29\20const +8693:skgpu::ganesh::PathInnerTriangulateOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8694:skgpu::ganesh::PathCurveTessellator::prepare\28GrMeshDrawTarget*\2c\20SkMatrix\20const&\2c\20skgpu::ganesh::PathTessellator::PathDrawList\20const&\2c\20int\29 +8695:skgpu::ganesh::OpsTask::~OpsTask\28\29.1 +8696:skgpu::ganesh::OpsTask::onPrepare\28GrOpFlushState*\29 +8697:skgpu::ganesh::OpsTask::onPrePrepare\28GrRecordingContext*\29 +8698:skgpu::ganesh::OpsTask::onMakeSkippable\28\29 +8699:skgpu::ganesh::OpsTask::onIsUsed\28GrSurfaceProxy*\29\20const +8700:skgpu::ganesh::OpsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +8701:skgpu::ganesh::OpsTask::endFlush\28GrDrawingManager*\29 +8702:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::~NonAALatticeOp\28\29.1 +8703:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::visitProxies\28std::__2::function\20const&\29\20const +8704:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8705:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8706:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8707:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8708:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::name\28\29\20const +8709:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::NonAALatticeOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8710:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::~LatticeGP\28\29.1 +8711:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::onTextureSampler\28int\29\20const +8712:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::name\28\29\20const +8713:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8714:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8715:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8716:skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8717:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::~FillRRectOpImpl\28\29.1 +8718:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +8719:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::programInfo\28\29 +8720:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8721:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8722:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8723:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8724:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::name\28\29\20const +8725:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8726:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::clipToShape\28skgpu::ganesh::SurfaceDrawContext*\2c\20SkClipOp\2c\20SkMatrix\20const&\2c\20GrShape\20const&\2c\20GrAA\29 +8727:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29.1 +8728:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::~Processor\28\29 +8729:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::name\28\29\20const +8730:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8731:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +8732:skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8733:skgpu::ganesh::DrawableOp::~DrawableOp\28\29.1 +8734:skgpu::ganesh::DrawableOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8735:skgpu::ganesh::DrawableOp::name\28\29\20const +8736:skgpu::ganesh::DrawAtlasPathOp::~DrawAtlasPathOp\28\29.1 +8737:skgpu::ganesh::DrawAtlasPathOp::visitProxies\28std::__2::function\20const&\29\20const +8738:skgpu::ganesh::DrawAtlasPathOp::onPrepare\28GrOpFlushState*\29 +8739:skgpu::ganesh::DrawAtlasPathOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8740:skgpu::ganesh::DrawAtlasPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8741:skgpu::ganesh::DrawAtlasPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8742:skgpu::ganesh::DrawAtlasPathOp::name\28\29\20const +8743:skgpu::ganesh::DrawAtlasPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8744:skgpu::ganesh::Device::~Device\28\29.1 +8745:skgpu::ganesh::Device::strikeDeviceInfo\28\29\20const +8746:skgpu::ganesh::Device::snapSpecial\28SkIRect\20const&\2c\20bool\29 +8747:skgpu::ganesh::Device::snapSpecialScaled\28SkIRect\20const&\2c\20SkISize\20const&\29 +8748:skgpu::ganesh::Device::replaceClip\28SkIRect\20const&\29 +8749:skgpu::ganesh::Device::recordingContext\28\29\20const +8750:skgpu::ganesh::Device::pushClipStack\28\29 +8751:skgpu::ganesh::Device::popClipStack\28\29 +8752:skgpu::ganesh::Device::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +8753:skgpu::ganesh::Device::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +8754:skgpu::ganesh::Device::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +8755:skgpu::ganesh::Device::onClipShader\28sk_sp\29 +8756:skgpu::ganesh::Device::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +8757:skgpu::ganesh::Device::makeSpecial\28SkImage\20const*\29 +8758:skgpu::ganesh::Device::isClipWideOpen\28\29\20const +8759:skgpu::ganesh::Device::isClipRect\28\29\20const +8760:skgpu::ganesh::Device::isClipEmpty\28\29\20const +8761:skgpu::ganesh::Device::isClipAntiAliased\28\29\20const +8762:skgpu::ganesh::Device::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +8763:skgpu::ganesh::Device::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +8764:skgpu::ganesh::Device::drawShadow\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +8765:skgpu::ganesh::Device::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +8766:skgpu::ganesh::Device::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +8767:skgpu::ganesh::Device::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +8768:skgpu::ganesh::Device::drawPaint\28SkPaint\20const&\29 +8769:skgpu::ganesh::Device::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +8770:skgpu::ganesh::Device::drawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +8771:skgpu::ganesh::Device::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +8772:skgpu::ganesh::Device::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +8773:skgpu::ganesh::Device::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +8774:skgpu::ganesh::Device::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +8775:skgpu::ganesh::Device::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +8776:skgpu::ganesh::Device::drawDevice\28SkDevice*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +8777:skgpu::ganesh::Device::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +8778:skgpu::ganesh::Device::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +8779:skgpu::ganesh::Device::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +8780:skgpu::ganesh::Device::drawArc\28SkArc\20const&\2c\20SkPaint\20const&\29 +8781:skgpu::ganesh::Device::devClipBounds\28\29\20const +8782:skgpu::ganesh::Device::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +8783:skgpu::ganesh::Device::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +8784:skgpu::ganesh::Device::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +8785:skgpu::ganesh::Device::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +8786:skgpu::ganesh::Device::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +8787:skgpu::ganesh::Device::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +8788:skgpu::ganesh::Device::android_utils_clipWithStencil\28\29 +8789:skgpu::ganesh::DefaultPathRenderer::onStencilPath\28skgpu::ganesh::PathRenderer::StencilPathArgs\20const&\29 +8790:skgpu::ganesh::DefaultPathRenderer::onGetStencilSupport\28GrStyledShape\20const&\29\20const +8791:skgpu::ganesh::DefaultPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8792:skgpu::ganesh::DefaultPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8793:skgpu::ganesh::DefaultPathRenderer::name\28\29\20const +8794:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::name\28\29\20const +8795:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8796:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8797:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingLineEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8798:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::name\28\29\20const +8799:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +8800:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +8801:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashingCircleEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +8802:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::~DashOpImpl\28\29.1 +8803:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::visitProxies\28std::__2::function\20const&\29\20const +8804:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::programInfo\28\29 +8805:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +8806:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8807:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +8808:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8809:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::name\28\29\20const +8810:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::fixedFunctionFlags\28\29\20const +8811:skgpu::ganesh::DashOp::\28anonymous\20namespace\29::DashOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8812:skgpu::ganesh::DashLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8813:skgpu::ganesh::DashLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8814:skgpu::ganesh::DashLinePathRenderer::name\28\29\20const +8815:skgpu::ganesh::ClipStack::~ClipStack\28\29.1 +8816:skgpu::ganesh::ClipStack::preApply\28SkRect\20const&\2c\20GrAA\29\20const +8817:skgpu::ganesh::ClipStack::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +8818:skgpu::ganesh::ClearOp::~ClearOp\28\29 +8819:skgpu::ganesh::ClearOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8820:skgpu::ganesh::ClearOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8821:skgpu::ganesh::ClearOp::name\28\29\20const +8822:skgpu::ganesh::AtlasTextOp::~AtlasTextOp\28\29.1 +8823:skgpu::ganesh::AtlasTextOp::visitProxies\28std::__2::function\20const&\29\20const +8824:skgpu::ganesh::AtlasTextOp::onPrepareDraws\28GrMeshDrawTarget*\29 +8825:skgpu::ganesh::AtlasTextOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +8826:skgpu::ganesh::AtlasTextOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +8827:skgpu::ganesh::AtlasTextOp::name\28\29\20const +8828:skgpu::ganesh::AtlasTextOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +8829:skgpu::ganesh::AtlasRenderTask::~AtlasRenderTask\28\29.1 +8830:skgpu::ganesh::AtlasRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +8831:skgpu::ganesh::AtlasRenderTask::onExecute\28GrOpFlushState*\29 +8832:skgpu::ganesh::AtlasPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8833:skgpu::ganesh::AtlasPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8834:skgpu::ganesh::AtlasPathRenderer::name\28\29\20const +8835:skgpu::ganesh::AALinearizingConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8836:skgpu::ganesh::AALinearizingConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8837:skgpu::ganesh::AALinearizingConvexPathRenderer::name\28\29\20const +8838:skgpu::ganesh::AAHairLinePathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8839:skgpu::ganesh::AAHairLinePathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8840:skgpu::ganesh::AAHairLinePathRenderer::name\28\29\20const +8841:skgpu::ganesh::AAConvexPathRenderer::onDrawPath\28skgpu::ganesh::PathRenderer::DrawPathArgs\20const&\29 +8842:skgpu::ganesh::AAConvexPathRenderer::onCanDrawPath\28skgpu::ganesh::PathRenderer::CanDrawPathArgs\20const&\29\20const +8843:skgpu::ganesh::AAConvexPathRenderer::name\28\29\20const +8844:skgpu::TAsyncReadResult::~TAsyncReadResult\28\29.1 +8845:skgpu::TAsyncReadResult::rowBytes\28int\29\20const +8846:skgpu::TAsyncReadResult::data\28int\29\20const +8847:skgpu::StringKeyBuilder::~StringKeyBuilder\28\29.1 +8848:skgpu::StringKeyBuilder::appendComment\28char\20const*\29 +8849:skgpu::StringKeyBuilder::addBits\28unsigned\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +8850:skgpu::ShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\2c\20bool\29 +8851:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29.1 +8852:skgpu::RectanizerSkyline::~RectanizerSkyline\28\29 +8853:skgpu::RectanizerSkyline::percentFull\28\29\20const +8854:skgpu::RectanizerPow2::reset\28\29 +8855:skgpu::RectanizerPow2::percentFull\28\29\20const +8856:skgpu::RectanizerPow2::addRect\28int\2c\20int\2c\20SkIPoint16*\29 +8857:skgpu::Plot::~Plot\28\29.1 +8858:skgpu::KeyBuilder::~KeyBuilder\28\29 +8859:skgpu::DefaultShaderErrorHandler\28\29::DefaultShaderErrorHandler::compileError\28char\20const*\2c\20char\20const*\29 +8860:sk_mmap_releaseproc\28void\20const*\2c\20void*\29 +8861:sk_ft_stream_io\28FT_StreamRec_*\2c\20unsigned\20long\2c\20unsigned\20char*\2c\20unsigned\20long\29 +8862:sk_ft_realloc\28FT_MemoryRec_*\2c\20long\2c\20long\2c\20void*\29 +8863:sk_ft_alloc\28FT_MemoryRec_*\2c\20long\29 +8864:sk_fclose\28_IO_FILE*\29 +8865:skString_getData +8866:skString_free +8867:skString_allocate +8868:skString16_getData +8869:skString16_free +8870:skString16_allocate +8871:skData_dispose +8872:skData_create +8873:shader_createSweepGradient +8874:shader_createRuntimeEffectShader +8875:shader_createRadialGradient +8876:shader_createLinearGradient +8877:shader_createFromImage +8878:shader_createConicalGradient +8879:sfnt_table_info +8880:sfnt_stream_close +8881:sfnt_load_face +8882:sfnt_is_postscript +8883:sfnt_is_alphanumeric +8884:sfnt_init_face +8885:sfnt_get_ps_name +8886:sfnt_get_name_index +8887:sfnt_get_interface +8888:sfnt_get_glyph_name +8889:sfnt_get_charset_id +8890:sfnt_done_face +8891:setup_syllables_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8892:setup_syllables_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8893:setup_syllables_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8894:setup_syllables_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8895:setup_masks_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8896:setup_masks_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8897:setup_masks_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8898:setup_masks_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8899:setup_masks_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8900:setup_masks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8901:runtimeEffect_getUniformSize +8902:runtimeEffect_create +8903:reverse_hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +8904:reverse_hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +8905:reorder_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8906:reorder_myanmar\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8907:reorder_marks_hebrew\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +8908:reorder_marks_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20unsigned\20int\2c\20unsigned\20int\29 +8909:reorder_khmer\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8910:release_data\28void*\2c\20void*\29 +8911:rect_memcpy\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\2c\20SkColorSpaceXformSteps\20const&\29 +8912:record_stch\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8913:record_rphf_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8914:record_pref_use\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +8915:receive_notification +8916:read_data_from_FT_Stream +8917:pthread_self +8918:psnames_get_service +8919:pshinter_get_t2_funcs +8920:pshinter_get_t1_funcs +8921:pshinter_get_globals_funcs +8922:psh_globals_new +8923:psh_globals_destroy +8924:psaux_get_glyph_name +8925:ps_table_release +8926:ps_table_new +8927:ps_table_done +8928:ps_table_add +8929:ps_property_set +8930:ps_property_get +8931:ps_parser_to_int +8932:ps_parser_to_fixed_array +8933:ps_parser_to_fixed +8934:ps_parser_to_coord_array +8935:ps_parser_to_bytes +8936:ps_parser_load_field_table +8937:ps_parser_init +8938:ps_hints_t2mask +8939:ps_hints_t2counter +8940:ps_hints_t1stem3 +8941:ps_hints_t1reset +8942:ps_hints_close +8943:ps_hints_apply +8944:ps_hinter_init +8945:ps_hinter_done +8946:ps_get_standard_strings +8947:ps_get_macintosh_name +8948:ps_decoder_init +8949:preprocess_text_use\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8950:preprocess_text_thai\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8951:preprocess_text_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8952:preprocess_text_hangul\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8953:premultiply_data +8954:premul_rgb\28SkRGBA4f<\28SkAlphaType\292>\29 +8955:premul_polar\28SkRGBA4f<\28SkAlphaType\292>\29 +8956:postprocess_glyphs_arabic\28hb_ot_shape_plan_t\20const*\2c\20hb_buffer_t*\2c\20hb_font_t*\29 +8957:portable::xy_to_unit_angle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8958:portable::xy_to_radius\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8959:portable::xy_to_2pt_conical_well_behaved\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8960:portable::xy_to_2pt_conical_strip\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8961:portable::xy_to_2pt_conical_smaller\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8962:portable::xy_to_2pt_conical_greater\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8963:portable::xy_to_2pt_conical_focal_on_circle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8964:portable::xor_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8965:portable::white_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8966:portable::unpremul_polar\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8967:portable::unpremul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8968:portable::uniform_color_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8969:portable::trace_var\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8970:portable::trace_scope\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8971:portable::trace_line\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8972:portable::trace_exit\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8973:portable::trace_enter\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8974:portable::tan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8975:portable::swizzle_copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8976:portable::swizzle_copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8977:portable::swizzle_copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8978:portable::swizzle_copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8979:portable::swizzle_copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8980:portable::swizzle_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8981:portable::swizzle_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8982:portable::swizzle_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8983:portable::swizzle_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8984:portable::swizzle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8985:portable::swap_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8986:portable::swap_rb_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8987:portable::swap_rb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8988:portable::sub_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8989:portable::sub_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8990:portable::sub_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8991:portable::sub_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8992:portable::sub_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8993:portable::sub_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8994:portable::sub_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8995:portable::sub_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8996:portable::sub_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8997:portable::sub_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8998:portable::store_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +8999:portable::store_src_a\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9000:portable::store_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9001:portable::store_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9002:portable::store_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9003:portable::store_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9004:portable::store_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9005:portable::store_r8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9006:portable::store_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9007:portable::store_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9008:portable::store_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9009:portable::store_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9010:portable::store_device_xy01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9011:portable::store_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9012:portable::store_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9013:portable::store_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9014:portable::store_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9015:portable::store_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9016:portable::store_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9017:portable::store_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9018:portable::store_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9019:portable::store_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9020:portable::store_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9021:portable::store_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9022:portable::store_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9023:portable::start_pipeline\28unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20unsigned\20long\2c\20SkRasterPipelineStage*\2c\20SkSpan\2c\20unsigned\20char*\29 +9024:portable::stack_rewind\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9025:portable::stack_checkpoint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9026:portable::srcover_rgba_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9027:portable::srcover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9028:portable::srcout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9029:portable::srcin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9030:portable::srcatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9031:portable::sqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9032:portable::splat_4_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9033:portable::splat_3_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9034:portable::splat_2_constants\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9035:portable::softlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9036:portable::smoothstep_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9037:portable::sin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9038:portable::shuffle\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9039:portable::set_base_pointer\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9040:portable::seed_shader\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9041:portable::screen\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9042:portable::scale_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9043:portable::scale_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9044:portable::scale_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9045:portable::scale_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9046:portable::saturation\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9047:portable::rgb_to_hsl\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9048:portable::repeat_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9049:portable::repeat_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9050:portable::repeat_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9051:portable::refract_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9052:portable::reenable_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9053:portable::premul_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9054:portable::premul\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9055:portable::pow_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9056:portable::plus_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9057:portable::perlin_noise\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9058:portable::parametric\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9059:portable::overlay\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9060:portable::negate_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9061:portable::multiply\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9062:portable::mul_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9063:portable::mul_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9064:portable::mul_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9065:portable::mul_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9066:portable::mul_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9067:portable::mul_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9068:portable::mul_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9069:portable::mul_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9070:portable::mul_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9071:portable::mul_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9072:portable::mul_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9073:portable::mul_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9074:portable::move_src_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9075:portable::move_dst_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9076:portable::modulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9077:portable::mod_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9078:portable::mod_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9079:portable::mod_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9080:portable::mod_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9081:portable::mod_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9082:portable::mix_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9083:portable::mix_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9084:portable::mix_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9085:portable::mix_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9086:portable::mix_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9087:portable::mix_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9088:portable::mix_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9089:portable::mix_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9090:portable::mix_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9091:portable::mix_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9092:portable::mirror_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9093:portable::mirror_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9094:portable::mirror_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9095:portable::mipmap_linear_update\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9096:portable::mipmap_linear_init\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9097:portable::mipmap_linear_finish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9098:portable::min_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9099:portable::min_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9100:portable::min_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9101:portable::min_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9102:portable::min_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9103:portable::min_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9104:portable::min_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9105:portable::min_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9106:portable::min_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9107:portable::min_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9108:portable::min_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9109:portable::min_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9110:portable::min_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9111:portable::min_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9112:portable::min_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9113:portable::min_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9114:portable::merge_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9115:portable::merge_inv_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9116:portable::merge_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9117:portable::max_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9118:portable::max_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9119:portable::max_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9120:portable::max_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9121:portable::max_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9122:portable::max_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9123:portable::max_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9124:portable::max_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9125:portable::max_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9126:portable::max_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9127:portable::max_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9128:portable::max_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9129:portable::max_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9130:portable::max_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9131:portable::max_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9132:portable::max_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9133:portable::matrix_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9134:portable::matrix_scale_translate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9135:portable::matrix_perspective\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9136:portable::matrix_multiply_4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9137:portable::matrix_multiply_3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9138:portable::matrix_multiply_2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9139:portable::matrix_4x5\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9140:portable::matrix_4x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9141:portable::matrix_3x4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9142:portable::matrix_3x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9143:portable::matrix_2x3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9144:portable::mask_off_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9145:portable::mask_off_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9146:portable::mask_2pt_conical_nan\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9147:portable::mask_2pt_conical_degenerates\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9148:portable::luminosity\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9149:portable::log_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9150:portable::log2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9151:portable::load_src_rg\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9152:portable::load_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9153:portable::load_rgf16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9154:portable::load_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9155:portable::load_rg88_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9156:portable::load_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9157:portable::load_rg1616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9158:portable::load_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9159:portable::load_return_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9160:portable::load_loop_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9161:portable::load_f32_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9162:portable::load_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9163:portable::load_f16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9164:portable::load_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9165:portable::load_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9166:portable::load_condition_mask\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9167:portable::load_af16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9168:portable::load_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9169:portable::load_a8_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9170:portable::load_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9171:portable::load_a16_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9172:portable::load_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9173:portable::load_8888_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9174:portable::load_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9175:portable::load_565_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9176:portable::load_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9177:portable::load_4444_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9178:portable::load_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9179:portable::load_16161616_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9180:portable::load_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9181:portable::load_10x6_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9182:portable::load_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9183:portable::load_1010102_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9184:portable::load_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9185:portable::load_1010102_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9186:portable::load_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9187:portable::load_10101010_xr_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9188:portable::load_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9189:portable::lighten\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9190:portable::lerp_u8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9191:portable::lerp_native\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9192:portable::lerp_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9193:portable::lerp_1_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9194:portable::just_return\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9195:portable::jump\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9196:portable::invsqrt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9197:portable::invsqrt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9198:portable::invsqrt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9199:portable::invsqrt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9200:portable::inverse_mat4\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9201:portable::inverse_mat3\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9202:portable::inverse_mat2\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9203:portable::init_lane_masks\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9204:portable::hue\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9205:portable::hsl_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9206:portable::hardlight\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9207:portable::gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9208:portable::gauss_a_to_rgba\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9209:portable::gather_rgf16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9210:portable::gather_rg88\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9211:portable::gather_rg1616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9212:portable::gather_f32\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9213:portable::gather_f16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9214:portable::gather_af16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9215:portable::gather_a8\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9216:portable::gather_a16\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9217:portable::gather_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9218:portable::gather_565\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9219:portable::gather_4444\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9220:portable::gather_16161616\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9221:portable::gather_10x6\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9222:portable::gather_1010102_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9223:portable::gather_1010102\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9224:portable::gather_10101010_xr\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9225:portable::gamma_\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9226:portable::force_opaque_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9227:portable::force_opaque\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9228:portable::floor_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9229:portable::floor_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9230:portable::floor_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9231:portable::floor_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9232:portable::exp_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9233:portable::exp2_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9234:portable::exclusion\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9235:portable::exchange_src\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9236:portable::evenly_spaced_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9237:portable::evenly_spaced_2_stop_gradient\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9238:portable::emboss\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9239:portable::dstover\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9240:portable::dstout\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9241:portable::dstin\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9242:portable::dstatop\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9243:portable::dot_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9244:portable::dot_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9245:portable::dot_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9246:portable::div_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9247:portable::div_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9248:portable::div_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9249:portable::div_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9250:portable::div_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9251:portable::div_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9252:portable::div_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9253:portable::div_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9254:portable::div_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9255:portable::div_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9256:portable::div_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9257:portable::div_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9258:portable::div_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9259:portable::div_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9260:portable::div_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9261:portable::dither\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9262:portable::difference\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9263:portable::decal_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9264:portable::decal_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9265:portable::decal_x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9266:portable::darken\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9267:portable::css_oklab_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9268:portable::css_oklab_gamut_map_to_linear_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9269:portable::css_lab_to_xyz\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9270:portable::css_hwb_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9271:portable::css_hsl_to_srgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9272:portable::css_hcl_to_lab\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9273:portable::cos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9274:portable::copy_uniform\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9275:portable::copy_to_indirect_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9276:portable::copy_slot_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9277:portable::copy_slot_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9278:portable::copy_immutable_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9279:portable::copy_constant\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9280:portable::copy_4_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9281:portable::copy_4_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9282:portable::copy_4_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9283:portable::copy_4_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9284:portable::copy_3_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9285:portable::copy_3_slots_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9286:portable::copy_3_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9287:portable::copy_3_immutables_unmasked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9288:portable::copy_2_uniforms\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9289:portable::copy_2_slots_masked\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9290:portable::continue_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9291:portable::colordodge\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9292:portable::colorburn\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9293:portable::color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9294:portable::cmpne_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9295:portable::cmpne_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9296:portable::cmpne_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9297:portable::cmpne_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9298:portable::cmpne_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9299:portable::cmpne_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9300:portable::cmpne_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9301:portable::cmpne_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9302:portable::cmpne_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9303:portable::cmpne_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9304:portable::cmpne_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9305:portable::cmpne_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9306:portable::cmplt_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9307:portable::cmplt_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9308:portable::cmplt_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9309:portable::cmplt_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9310:portable::cmplt_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9311:portable::cmplt_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9312:portable::cmplt_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9313:portable::cmplt_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9314:portable::cmplt_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9315:portable::cmplt_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9316:portable::cmplt_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9317:portable::cmplt_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9318:portable::cmplt_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9319:portable::cmplt_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9320:portable::cmplt_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9321:portable::cmplt_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9322:portable::cmplt_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9323:portable::cmplt_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9324:portable::cmple_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9325:portable::cmple_n_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9326:portable::cmple_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9327:portable::cmple_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9328:portable::cmple_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9329:portable::cmple_imm_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9330:portable::cmple_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9331:portable::cmple_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9332:portable::cmple_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9333:portable::cmple_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9334:portable::cmple_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9335:portable::cmple_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9336:portable::cmple_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9337:portable::cmple_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9338:portable::cmple_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9339:portable::cmple_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9340:portable::cmple_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9341:portable::cmple_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9342:portable::cmpeq_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9343:portable::cmpeq_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9344:portable::cmpeq_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9345:portable::cmpeq_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9346:portable::cmpeq_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9347:portable::cmpeq_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9348:portable::cmpeq_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9349:portable::cmpeq_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9350:portable::cmpeq_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9351:portable::cmpeq_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9352:portable::cmpeq_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9353:portable::cmpeq_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9354:portable::clear\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9355:portable::clamp_x_and_y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9356:portable::clamp_x_1\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9357:portable::clamp_gamut\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9358:portable::clamp_01\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9359:portable::ceil_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9360:portable::ceil_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9361:portable::ceil_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9362:portable::ceil_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9363:portable::cast_to_uint_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9364:portable::cast_to_uint_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9365:portable::cast_to_uint_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9366:portable::cast_to_uint_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9367:portable::cast_to_int_from_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9368:portable::cast_to_int_from_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9369:portable::cast_to_int_from_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9370:portable::cast_to_int_from_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9371:portable::cast_to_float_from_uint\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9372:portable::cast_to_float_from_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9373:portable::cast_to_float_from_4_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9374:portable::cast_to_float_from_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9375:portable::cast_to_float_from_3_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9376:portable::cast_to_float_from_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9377:portable::cast_to_float_from_2_uints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9378:portable::cast_to_float_from_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9379:portable::case_op\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9380:portable::callback\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9381:portable::byte_tables\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9382:portable::bt709_luminance_or_luma_to_rgb\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9383:portable::bt709_luminance_or_luma_to_alpha\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9384:portable::branch_if_no_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9385:portable::branch_if_no_active_lanes_eq\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9386:portable::branch_if_any_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9387:portable::branch_if_all_lanes_active\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9388:portable::blit_row_s32a_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +9389:portable::black_color\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9390:portable::bitwise_xor_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9391:portable::bitwise_xor_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9392:portable::bitwise_xor_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9393:portable::bitwise_xor_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9394:portable::bitwise_xor_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9395:portable::bitwise_xor_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9396:portable::bitwise_or_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9397:portable::bitwise_or_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9398:portable::bitwise_or_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9399:portable::bitwise_or_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9400:portable::bitwise_or_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9401:portable::bitwise_and_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9402:portable::bitwise_and_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9403:portable::bitwise_and_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9404:portable::bitwise_and_imm_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9405:portable::bitwise_and_imm_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9406:portable::bitwise_and_imm_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9407:portable::bitwise_and_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9408:portable::bitwise_and_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9409:portable::bitwise_and_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9410:portable::bilinear_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9411:portable::bilinear_py\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9412:portable::bilinear_px\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9413:portable::bilinear_ny\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9414:portable::bilinear_nx\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9415:portable::bilerp_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9416:portable::bicubic_setup\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9417:portable::bicubic_p3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9418:portable::bicubic_p3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9419:portable::bicubic_p1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9420:portable::bicubic_p1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9421:portable::bicubic_n3y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9422:portable::bicubic_n3x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9423:portable::bicubic_n1y\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9424:portable::bicubic_n1x\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9425:portable::bicubic_clamp_8888\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9426:portable::atan_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9427:portable::atan2_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9428:portable::asin_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9429:portable::alter_2pt_conical_unswap\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9430:portable::alter_2pt_conical_compensate_focal\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9431:portable::alpha_to_red_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9432:portable::alpha_to_red\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9433:portable::alpha_to_gray_dst\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9434:portable::alpha_to_gray\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9435:portable::add_n_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9436:portable::add_n_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9437:portable::add_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9438:portable::add_imm_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9439:portable::add_imm_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9440:portable::add_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9441:portable::add_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9442:portable::add_4_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9443:portable::add_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9444:portable::add_3_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9445:portable::add_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9446:portable::add_2_floats\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9447:portable::acos_float\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9448:portable::accumulate\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9449:portable::abs_int\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9450:portable::abs_4_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9451:portable::abs_3_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9452:portable::abs_2_ints\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9453:portable::RGBA_to_rgbA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +9454:portable::RGBA_to_bgrA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +9455:portable::RGBA_to_BGRA\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\29 +9456:portable::PQish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9457:portable::HLGish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9458:portable::HLGinvish\28portable::Params*\2c\20SkRasterPipelineStage*\2c\20float\2c\20float\2c\20float\2c\20float\29 +9459:pop_arg_long_double +9460:png_read_filter_row_up +9461:png_read_filter_row_sub +9462:png_read_filter_row_paeth_multibyte_pixel +9463:png_read_filter_row_paeth_1byte_pixel +9464:png_read_filter_row_avg +9465:picture_getCullRect +9466:pictureRecorder_endRecording +9467:pictureRecorder_dispose +9468:pictureRecorder_create +9469:pictureRecorder_beginRecording +9470:path_transform +9471:path_setFillType +9472:path_reset +9473:path_relativeQuadraticBezierTo +9474:path_relativeMoveTo +9475:path_relativeLineTo +9476:path_relativeCubicTo +9477:path_relativeConicTo +9478:path_relativeArcToRotated +9479:path_moveTo +9480:path_lineTo +9481:path_getFillType +9482:path_getBounds +9483:path_dispose +9484:path_create +9485:path_copy +9486:path_contains +9487:path_conicTo +9488:path_combine +9489:path_close +9490:path_arcToRotated +9491:path_arcToOval +9492:path_addRect +9493:path_addRRect +9494:path_addPolygon +9495:path_addPath +9496:path_addArc +9497:paragraph_layout +9498:paragraph_getWordBoundary +9499:paragraph_getWidth +9500:paragraph_getUnresolvedCodePoints +9501:paragraph_getPositionForOffset +9502:paragraph_getMinIntrinsicWidth +9503:paragraph_getMaxIntrinsicWidth +9504:paragraph_getLongestLine +9505:paragraph_getLineNumberAt +9506:paragraph_getLineMetricsAtIndex +9507:paragraph_getLineCount +9508:paragraph_getIdeographicBaseline +9509:paragraph_getHeight +9510:paragraph_getGlyphInfoAt +9511:paragraph_getDidExceedMaxLines +9512:paragraph_getClosestGlyphInfoAtCoordinate +9513:paragraph_getBoxesForRange +9514:paragraph_getBoxesForPlaceholders +9515:paragraph_getAlphabeticBaseline +9516:paragraphStyle_setTextStyle +9517:paragraphStyle_setTextHeightBehavior +9518:paragraphStyle_setTextDirection +9519:paragraphStyle_setTextAlign +9520:paragraphStyle_setStrutStyle +9521:paragraphStyle_setMaxLines +9522:paragraphStyle_setHeight +9523:paragraphStyle_setEllipsis +9524:paragraphStyle_setApplyRoundingHack +9525:paragraphStyle_dispose +9526:paragraphStyle_create +9527:paragraphBuilder_setWordBreaksUtf16 +9528:paragraphBuilder_setLineBreaksUtf16 +9529:paragraphBuilder_setGraphemeBreaksUtf16 +9530:paragraphBuilder_pushStyle +9531:paragraphBuilder_pop +9532:paragraphBuilder_getUtf8Text +9533:paragraphBuilder_create +9534:paragraphBuilder_build +9535:paragraphBuilder_addText +9536:paragraphBuilder_addPlaceholder +9537:paint_setStyle +9538:paint_setStrokeWidth +9539:paint_setStrokeJoin +9540:paint_setStrokeCap +9541:paint_setShader +9542:paint_setMiterLimit +9543:paint_setMaskFilter +9544:paint_setImageFilter +9545:paint_setColorInt +9546:paint_setColorFilter +9547:paint_setBlendMode +9548:paint_setAntiAlias +9549:paint_getStyle +9550:paint_getStrokeJoin +9551:paint_getStrokeCap +9552:paint_getMiterLimit +9553:paint_getColorInt +9554:paint_getAntiAlias +9555:paint_dispose +9556:paint_create +9557:override_features_khmer\28hb_ot_shape_planner_t*\29 +9558:override_features_indic\28hb_ot_shape_planner_t*\29 +9559:override_features_hangul\28hb_ot_shape_planner_t*\29 +9560:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29.1 +9561:non-virtual\20thunk\20to\20std::__2::basic_stringstream\2c\20std::__2::allocator>::~basic_stringstream\28\29 +9562:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29.1 +9563:non-virtual\20thunk\20to\20std::__2::basic_iostream>::~basic_iostream\28\29 +9564:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.3 +9565:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.2 +9566:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29.1 +9567:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::~GaneshBackend\28\29 +9568:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::makeDevice\28SkImageInfo\20const&\29\20const +9569:non-virtual\20thunk\20to\20skif::\28anonymous\20namespace\29::GaneshBackend::findAlgorithm\28SkSize\2c\20SkColorType\29\20const +9570:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29.1 +9571:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::~SmallPathAtlasMgr\28\29 +9572:non-virtual\20thunk\20to\20skgpu::ganesh::SmallPathAtlasMgr::evict\28skgpu::PlotLocator\29 +9573:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29.1 +9574:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::~AtlasPathRenderer\28\29 +9575:non-virtual\20thunk\20to\20skgpu::ganesh::AtlasPathRenderer::preFlush\28GrOnFlushResourceProvider*\29 +9576:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +9577:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9578:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +9579:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +9580:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::TransformedMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9581:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29.1 +9582:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::~SDFTSubRun\28\29 +9583:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9584:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +9585:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::glyphCount\28\29\20const +9586:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::SDFTSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9587:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +9588:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::regenerateAtlas\28int\2c\20int\2c\20std::__2::function\20\28sktext::gpu::GlyphVector*\2c\20int\2c\20int\2c\20skgpu::MaskFormat\2c\20int\29>\29\20const +9589:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::makeAtlasTextOp\28GrClip\20const*\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp&&\2c\20skgpu::ganesh::SurfaceDrawContext*\29\20const +9590:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +9591:non-virtual\20thunk\20to\20\28anonymous\20namespace\29::DirectMaskSubRun::fillVertexData\28void*\2c\20int\2c\20int\2c\20unsigned\20int\2c\20SkMatrix\20const&\2c\20SkPoint\2c\20SkIRect\29\20const +9592:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29.1 +9593:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy\28\29 +9594:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::onUninstantiatedGpuMemorySize\28\29\20const +9595:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::instantiate\28GrResourceProvider*\29 +9596:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::createSurface\28GrResourceProvider*\29\20const +9597:non-virtual\20thunk\20to\20GrTextureRenderTargetProxy::callbackDesc\28\29\20const +9598:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29.1 +9599:non-virtual\20thunk\20to\20GrOpFlushState::~GrOpFlushState\28\29 +9600:non-virtual\20thunk\20to\20GrOpFlushState::writeView\28\29\20const +9601:non-virtual\20thunk\20to\20GrOpFlushState::usesMSAASurface\28\29\20const +9602:non-virtual\20thunk\20to\20GrOpFlushState::threadSafeCache\28\29\20const +9603:non-virtual\20thunk\20to\20GrOpFlushState::strikeCache\28\29\20const +9604:non-virtual\20thunk\20to\20GrOpFlushState::smallPathAtlasManager\28\29\20const +9605:non-virtual\20thunk\20to\20GrOpFlushState::sampledProxyArray\28\29 +9606:non-virtual\20thunk\20to\20GrOpFlushState::rtProxy\28\29\20const +9607:non-virtual\20thunk\20to\20GrOpFlushState::resourceProvider\28\29\20const +9608:non-virtual\20thunk\20to\20GrOpFlushState::renderPassBarriers\28\29\20const +9609:non-virtual\20thunk\20to\20GrOpFlushState::recordDraw\28GrGeometryProcessor\20const*\2c\20GrSimpleMesh\20const*\2c\20int\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPrimitiveType\29 +9610:non-virtual\20thunk\20to\20GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +9611:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndirectDraws\28int\29 +9612:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndices\28int\29 +9613:non-virtual\20thunk\20to\20GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +9614:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +9615:non-virtual\20thunk\20to\20GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +9616:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +9617:non-virtual\20thunk\20to\20GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +9618:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +9619:non-virtual\20thunk\20to\20GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +9620:non-virtual\20thunk\20to\20GrOpFlushState::dstProxyView\28\29\20const +9621:non-virtual\20thunk\20to\20GrOpFlushState::detachAppliedClip\28\29 +9622:non-virtual\20thunk\20to\20GrOpFlushState::colorLoadOp\28\29\20const +9623:non-virtual\20thunk\20to\20GrOpFlushState::caps\28\29\20const +9624:non-virtual\20thunk\20to\20GrOpFlushState::atlasManager\28\29\20const +9625:non-virtual\20thunk\20to\20GrOpFlushState::appliedClip\28\29\20const +9626:non-virtual\20thunk\20to\20GrGpuBuffer::unref\28\29\20const +9627:non-virtual\20thunk\20to\20GrGpuBuffer::ref\28\29\20const +9628:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29.1 +9629:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::~GrGLTextureRenderTarget\28\29 +9630:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onSetLabel\28\29 +9631:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onRelease\28\29 +9632:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onGpuMemorySize\28\29\20const +9633:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::onAbandon\28\29 +9634:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +9635:non-virtual\20thunk\20to\20GrGLTextureRenderTarget::backendFormat\28\29\20const +9636:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29.1 +9637:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +9638:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +9639:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded\28skgpu::BlendEquation\29 +9640:non-virtual\20thunk\20to\20GrGLSLFragmentShaderBuilder::dstColor\28\29 +9641:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29.1 +9642:non-virtual\20thunk\20to\20GrGLBuffer::~GrGLBuffer\28\29 +9643:maskFilter_createBlur +9644:lineMetrics_getWidth +9645:lineMetrics_getUnscaledAscent +9646:lineMetrics_getLeft +9647:lineMetrics_getHeight +9648:lineMetrics_getDescent +9649:lineMetrics_getBaseline +9650:lineMetrics_getAscent +9651:lineMetrics_dispose +9652:lineMetrics_create +9653:lineBreakBuffer_create +9654:lin_srgb_to_okhcl\28SkRGBA4f<\28SkAlphaType\292>\2c\20bool*\29 +9655:legalfunc$glWaitSync +9656:legalfunc$glClientWaitSync +9657:lcd_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +9658:is_deleted_glyph\28hb_glyph_info_t\20const*\29 +9659:initial_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9660:image_getHeight +9661:image_createFromTextureSource +9662:image_createFromPixels +9663:image_createFromPicture +9664:imageFilter_getFilterBounds +9665:imageFilter_createMatrix +9666:imageFilter_createFromColorFilter +9667:imageFilter_createErode +9668:imageFilter_createDilate +9669:imageFilter_createBlur +9670:imageFilter_compose +9671:hit_compare_y\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +9672:hit_compare_x\28SkOpRayHit\20const*\2c\20SkOpRayHit\20const*\29 +9673:hb_unicode_script_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9674:hb_unicode_general_category_nil\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9675:hb_ucd_script\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9676:hb_ucd_mirroring\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9677:hb_ucd_general_category\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9678:hb_ucd_decompose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\2c\20void*\29 +9679:hb_ucd_compose\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9680:hb_ucd_combining_class\28hb_unicode_funcs_t*\2c\20unsigned\20int\2c\20void*\29 +9681:hb_syllabic_clear_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9682:hb_paint_sweep_gradient_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9683:hb_paint_push_transform_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9684:hb_paint_push_clip_rectangle_nil\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9685:hb_paint_image_nil\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +9686:hb_paint_extents_push_transform\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9687:hb_paint_extents_push_group\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +9688:hb_paint_extents_push_clip_rectangle\28hb_paint_funcs_t*\2c\20void*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9689:hb_paint_extents_push_clip_glyph\28hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_font_t*\2c\20void*\29 +9690:hb_paint_extents_pop_transform\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +9691:hb_paint_extents_pop_group\28hb_paint_funcs_t*\2c\20void*\2c\20hb_paint_composite_mode_t\2c\20void*\29 +9692:hb_paint_extents_pop_clip\28hb_paint_funcs_t*\2c\20void*\2c\20void*\29 +9693:hb_paint_extents_paint_sweep_gradient\28hb_paint_funcs_t*\2c\20void*\2c\20hb_color_line_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9694:hb_paint_extents_paint_image\28hb_paint_funcs_t*\2c\20void*\2c\20hb_blob_t*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\2c\20hb_glyph_extents_t*\2c\20void*\29 +9695:hb_paint_extents_paint_color\28hb_paint_funcs_t*\2c\20void*\2c\20int\2c\20unsigned\20int\2c\20void*\29 +9696:hb_outline_recording_pen_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9697:hb_outline_recording_pen_move_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +9698:hb_outline_recording_pen_line_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +9699:hb_outline_recording_pen_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9700:hb_outline_recording_pen_close_path\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +9701:hb_ot_paint_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +9702:hb_ot_map_t::lookup_map_t::cmp\28void\20const*\2c\20void\20const*\29 +9703:hb_ot_map_t::feature_map_t::cmp\28void\20const*\2c\20void\20const*\29 +9704:hb_ot_map_builder_t::feature_info_t::cmp\28void\20const*\2c\20void\20const*\29 +9705:hb_ot_get_variation_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9706:hb_ot_get_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +9707:hb_ot_get_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9708:hb_ot_get_glyph_v_origin\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9709:hb_ot_get_glyph_v_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9710:hb_ot_get_glyph_name\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +9711:hb_ot_get_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9712:hb_ot_get_glyph_from_name\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +9713:hb_ot_get_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +9714:hb_ot_get_font_v_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +9715:hb_ot_get_font_h_extents\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +9716:hb_ot_draw_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +9717:hb_font_paint_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +9718:hb_font_paint_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_paint_funcs_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +9719:hb_font_get_variation_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9720:hb_font_get_nominal_glyphs_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +9721:hb_font_get_nominal_glyph_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9722:hb_font_get_nominal_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +9723:hb_font_get_glyph_v_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9724:hb_font_get_glyph_v_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9725:hb_font_get_glyph_v_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +9726:hb_font_get_glyph_v_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9727:hb_font_get_glyph_v_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9728:hb_font_get_glyph_v_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9729:hb_font_get_glyph_name_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +9730:hb_font_get_glyph_name_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20char*\2c\20unsigned\20int\2c\20void*\29 +9731:hb_font_get_glyph_h_origin_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9732:hb_font_get_glyph_h_origin_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9733:hb_font_get_glyph_h_kerning_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20void*\29 +9734:hb_font_get_glyph_h_advances_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +9735:hb_font_get_glyph_h_advance_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9736:hb_font_get_glyph_h_advance_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +9737:hb_font_get_glyph_from_name_default\28hb_font_t*\2c\20void*\2c\20char\20const*\2c\20int\2c\20unsigned\20int*\2c\20void*\29 +9738:hb_font_get_glyph_extents_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +9739:hb_font_get_glyph_extents_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +9740:hb_font_get_glyph_contour_point_nil\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9741:hb_font_get_glyph_contour_point_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20int*\2c\20int*\2c\20void*\29 +9742:hb_font_get_font_v_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +9743:hb_font_get_font_h_extents_default\28hb_font_t*\2c\20void*\2c\20hb_font_extents_t*\2c\20void*\29 +9744:hb_font_draw_glyph_default\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_draw_funcs_t*\2c\20void*\2c\20void*\29 +9745:hb_draw_quadratic_to_nil\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9746:hb_draw_quadratic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9747:hb_draw_move_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +9748:hb_draw_line_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20void*\29 +9749:hb_draw_extents_quadratic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9750:hb_draw_extents_cubic_to\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9751:hb_draw_cubic_to_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20float\2c\20void*\29 +9752:hb_draw_close_path_default\28hb_draw_funcs_t*\2c\20void*\2c\20hb_draw_state_t*\2c\20void*\29 +9753:hb_buffer_t::_cluster_group_func\28hb_glyph_info_t\20const&\2c\20hb_glyph_info_t\20const&\29 +9754:hb_aat_map_builder_t::feature_event_t::cmp\28void\20const*\2c\20void\20const*\29 +9755:gray_raster_render +9756:gray_raster_new +9757:gray_raster_done +9758:gray_move_to +9759:gray_line_to +9760:gray_cubic_to +9761:gray_conic_to +9762:get_sfnt_table +9763:ft_smooth_transform +9764:ft_smooth_set_mode +9765:ft_smooth_render +9766:ft_smooth_overlap_spans +9767:ft_smooth_lcd_spans +9768:ft_smooth_init +9769:ft_smooth_get_cbox +9770:ft_gzip_free +9771:ft_ansi_stream_io +9772:ft_ansi_stream_close +9773:fquad_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9774:fontCollection_registerTypeface +9775:fontCollection_dispose +9776:fontCollection_create +9777:fontCollection_clearCaches +9778:fmt_fp +9779:fline_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9780:final_reordering_indic\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9781:fcubic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9782:fconic_dxdy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9783:error_callback +9784:emscripten_stack_set_limits +9785:emscripten_dispatch_to_thread_ +9786:emscripten_current_thread_process_queued_calls +9787:dquad_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9788:dline_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9789:dispose_external_texture\28void*\29 +9790:decompose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +9791:decompose_khmer\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +9792:decompose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int*\29 +9793:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::\28anonymous\20namespace\29::QuadEdgeEffect::Make\28SkArenaAlloc*\2c\20SkMatrix\20const&\2c\20bool\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9794:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\2c\20GrShaderCaps\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::\28anonymous\20namespace\29::HullShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9795:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator::PathStrokeList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9796:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::tess::PatchAttribs&\29::'lambda'\28void*\29>\28skgpu::ganesh::StrokeTessellator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9797:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&>\28SkMatrix\20const&\2c\20SkPath\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28skgpu::ganesh::PathTessellator::PathDrawList&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9798:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29>\28skgpu::ganesh::LatticeOp::\28anonymous\20namespace\29::LatticeGP::Make\28SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20sk_sp\2c\20SkFilterMode\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9799:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::Processor::Make\28SkArenaAlloc*\2c\20GrAAType\2c\20skgpu::ganesh::FillRRectOp::\28anonymous\20namespace\29::FillRRectOpImpl::ProcessorFlags\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9800:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerSkyline&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9801:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28int&\2c\20int&\29::'lambda'\28void*\29>\28skgpu::RectanizerPow2&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9802:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TextureOpImpl::Desc>\28\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TextureOpImpl::Desc&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9803:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::TentPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::TentPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9804:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::SimpleTriangleShader\2c\20SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&>\28SkMatrix\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::SimpleTriangleShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9805:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass*\20SkArenaAlloc::make<\28anonymous\20namespace\29::GaussPass\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&>\28skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20skvx::Vec<4\2c\20unsigned\20int>*&\2c\20int&\2c\20int&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::GaussPass&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9806:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::DrawAtlasPathShader\2c\20bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*\2c\20GrShaderCaps\20const&>\28bool&\2c\20skgpu::ganesh::AtlasInstancedHelper*&&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::DrawAtlasPathShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9807:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader*\20SkArenaAlloc::make<\28anonymous\20namespace\29::BoundingBoxShader\2c\20SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&>\28SkRGBA4f<\28SkAlphaType\292>&\2c\20GrShaderCaps\20const&\29::'lambda'\28void*\29>\28\28anonymous\20namespace\29::BoundingBoxShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9808:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20unsigned\20char&&\29::'lambda'\28void*\29>\28Sprite_D32_S32&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9809:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28bool&&\2c\20bool\20const&\29::'lambda'\28void*\29>\28SkTriColorShader&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9810:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTCubic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9811:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkTConic&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9812:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\29::'lambda'\28void*\29>\28SkSpriteBlitter_Memcpy&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9813:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&>\28SkPixmap\20const&\2c\20SkArenaAlloc*&\2c\20sk_sp&\29::'lambda'\28void*\29>\28SkRasterPipelineSpriteBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9814:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkArenaAlloc*&\29::'lambda'\28void*\29>\28SkRasterPipelineBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9815:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkNullBlitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9816:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkImage_Base\20const*&&\2c\20SkMatrix\20const&\2c\20SkMipmapMode&\29::'lambda'\28void*\29>\28SkMipmapAccessor&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9817:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::PathData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9818:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28SkGlyph::DrawableData&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9819:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkGlyph&&\29::'lambda'\28void*\29>\28SkGlyph&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9820:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make&\29>>::Node*\20SkArenaAlloc::make&\29>>::Node\2c\20std::__2::function&\29>>\28std::__2::function&\29>&&\29::'lambda'\28void*\29>\28SkArenaAllocList&\29>>::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9821:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node\2c\20std::__2::function&\29>\2c\20skgpu::AtlasToken>\28std::__2::function&\29>&&\2c\20skgpu::AtlasToken&&\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9822:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make::Node*\20SkArenaAlloc::make::Node>\28\29::'lambda'\28void*\29>\28SkArenaAllocList::Node&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9823:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPixmap\20const&\2c\20SkPaint\20const&\29::'lambda'\28void*\29>\28SkA8_Coverage_Blitter&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9824:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28\29::'lambda'\28void*\29>\28GrSimpleMesh&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9825:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrSurfaceProxy*&\2c\20skgpu::ScratchKey&&\2c\20GrResourceProvider*&\29::'lambda'\28void*\29>\28GrResourceAllocator::Register&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9826:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28SkPath\20const&\2c\20SkArenaAlloc*\20const&\29::'lambda'\28void*\29>\28GrInnerFanTriangulator&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9827:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrDistanceFieldLCDTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20GrDistanceFieldLCDTextGeoProc::DistanceAdjust\2c\20unsigned\20int\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9828:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29>\28GrBitmapTextGeoProc::Make\28SkArenaAlloc*\2c\20GrShaderCaps\20const&\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20bool\2c\20sk_sp\2c\20GrSurfaceProxyView\20const*\2c\20int\2c\20GrSamplerState\2c\20skgpu::MaskFormat\2c\20SkMatrix\20const&\2c\20bool\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9829:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28GrAppliedClip&&\29::'lambda'\28void*\29>\28GrAppliedClip&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9830:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\28EllipseGeometryProcessor::Make\28SkArenaAlloc*\2c\20bool\2c\20bool\2c\20bool\2c\20SkMatrix\20const&\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9831:decltype\28fp\28nullptr\29\29\20SkArenaAlloc::make\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29>\28DefaultGeoProc::Make\28SkArenaAlloc*\2c\20unsigned\20int\2c\20SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkMatrix\20const&\2c\20SkMatrix\20const&\2c\20bool\2c\20unsigned\20char\29::'lambda'\28void*\29&&\29::'lambda'\28char*\29::__invoke\28char*\29 +9832:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9833:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9834:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul\2c\201ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9835:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<1ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +9836:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_construct\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__ctor>&\2c\20std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_constructor\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9837:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&&\29::'lambda'\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&>\28std::__2::__variant_detail::__move_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&&\29 +9838:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>::__generic_assign\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\29::'lambda'\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20auto&&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__copy_assignment\2c\20\28std::__2::__variant_detail::_Trait\291>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9839:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9840:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul\2c\200ul>::__dispatch\5babi:v160004\5d>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&>\28std::__2::__variant_detail::__visitation::__variant::__value_visitor>>&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>\20const&\29 +9841:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20std::__2::unique_ptr>>\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20sk_sp\2c\20std::__2::unique_ptr>>&\29 +9842:decltype\28auto\29\20std::__2::__variant_detail::__visitation::__base::__dispatcher<0ul>::__dispatch\5babi:v160004\5d\2c\20\28std::__2::__variant_detail::_Trait\291>::__destroy\5babi:v160004\5d\28\29::'lambda'\28auto&\29&&\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&>\28auto\2c\20std::__2::__variant_detail::__base<\28std::__2::__variant_detail::_Trait\291\2c\20SkPaint\2c\20int>&\29 +9843:deallocate_buffer_var\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +9844:ddquad_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9845:ddquad_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9846:ddline_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9847:ddline_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9848:ddcubic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9849:ddcubic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9850:ddconic_xy_at_t\28SkDCurve\20const&\2c\20double\29 +9851:ddconic_dxdy_at_t\28SkDCurve\20const&\2c\20double\29 +9852:dconic_xy_at_t\28SkPoint\20const*\2c\20float\2c\20double\29 +9853:data_destroy_use\28void*\29 +9854:data_create_use\28hb_ot_shape_plan_t\20const*\29 +9855:data_create_khmer\28hb_ot_shape_plan_t\20const*\29 +9856:data_create_indic\28hb_ot_shape_plan_t\20const*\29 +9857:data_create_hangul\28hb_ot_shape_plan_t\20const*\29 +9858:convert_to_alpha8\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageInfo\20const&\2c\20void\20const*\2c\20unsigned\20long\2c\20SkColorSpaceXformSteps\20const&\29 +9859:convert_bytes_to_data +9860:contourMeasure_isClosed +9861:contourMeasure_getSegment +9862:contourMeasure_getPosTan +9863:contourMeasureIter_next +9864:contourMeasureIter_dispose +9865:contourMeasureIter_create +9866:compose_unicode\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9867:compose_indic\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9868:compose_hebrew\28hb_ot_shape_normalize_context_t\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9869:compare_ppem +9870:compare_offsets +9871:compare_myanmar_order\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +9872:compare_combining_class\28hb_glyph_info_t\20const*\2c\20hb_glyph_info_t\20const*\29 +9873:colorFilter_createSRGBToLinearGamma +9874:colorFilter_createMode +9875:colorFilter_createMatrix +9876:colorFilter_createLinearToSRGBGamma +9877:colorFilter_compose +9878:collect_features_use\28hb_ot_shape_planner_t*\29 +9879:collect_features_myanmar\28hb_ot_shape_planner_t*\29 +9880:collect_features_khmer\28hb_ot_shape_planner_t*\29 +9881:collect_features_indic\28hb_ot_shape_planner_t*\29 +9882:collect_features_hangul\28hb_ot_shape_planner_t*\29 +9883:collect_features_arabic\28hb_ot_shape_planner_t*\29 +9884:clip\28SkPath\20const&\2c\20SkHalfPlane\20const&\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +9885:cleanup +9886:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitStatement\28SkSL::Statement\20const&\29 +9887:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +9888:check_for_passthrough_local_coords_and_dead_varyings\28SkSL::Program\20const&\2c\20unsigned\20int*\29::Visitor::visitExpression\28SkSL::Expression\20const&\29 +9889:cff_slot_init +9890:cff_slot_done +9891:cff_size_request +9892:cff_size_init +9893:cff_size_done +9894:cff_sid_to_glyph_name +9895:cff_set_var_design +9896:cff_set_mm_weightvector +9897:cff_set_mm_blend +9898:cff_set_instance +9899:cff_random +9900:cff_ps_has_glyph_names +9901:cff_ps_get_font_info +9902:cff_ps_get_font_extra +9903:cff_parse_vsindex +9904:cff_parse_private_dict +9905:cff_parse_multiple_master +9906:cff_parse_maxstack +9907:cff_parse_font_matrix +9908:cff_parse_font_bbox +9909:cff_parse_cid_ros +9910:cff_parse_blend +9911:cff_metrics_adjust +9912:cff_hadvance_adjust +9913:cff_get_var_design +9914:cff_get_var_blend +9915:cff_get_standard_encoding +9916:cff_get_ros +9917:cff_get_ps_name +9918:cff_get_name_index +9919:cff_get_mm_weightvector +9920:cff_get_mm_var +9921:cff_get_mm_blend +9922:cff_get_is_cid +9923:cff_get_interface +9924:cff_get_glyph_name +9925:cff_get_cmap_info +9926:cff_get_cid_from_glyph_index +9927:cff_get_advances +9928:cff_free_glyph_data +9929:cff_face_init +9930:cff_face_done +9931:cff_driver_init +9932:cff_done_blend +9933:cff_decoder_prepare +9934:cff_decoder_init +9935:cff_cmap_unicode_init +9936:cff_cmap_unicode_char_next +9937:cff_cmap_unicode_char_index +9938:cff_cmap_encoding_init +9939:cff_cmap_encoding_done +9940:cff_cmap_encoding_char_next +9941:cff_cmap_encoding_char_index +9942:cff_builder_start_point +9943:cf2_free_instance +9944:cf2_decoder_parse_charstrings +9945:cf2_builder_moveTo +9946:cf2_builder_lineTo +9947:cf2_builder_cubeTo +9948:canvas_translate +9949:canvas_transform +9950:canvas_skew +9951:canvas_scale +9952:canvas_saveLayer +9953:canvas_save +9954:canvas_rotate +9955:canvas_restoreToCount +9956:canvas_restore +9957:canvas_getTransform +9958:canvas_getSaveCount +9959:canvas_getLocalClipBounds +9960:canvas_getDeviceClipBounds +9961:canvas_drawVertices +9962:canvas_drawShadow +9963:canvas_drawRect +9964:canvas_drawRRect +9965:canvas_drawPoints +9966:canvas_drawPicture +9967:canvas_drawPath +9968:canvas_drawParagraph +9969:canvas_drawPaint +9970:canvas_drawOval +9971:canvas_drawLine +9972:canvas_drawImageRect +9973:canvas_drawImageNine +9974:canvas_drawImage +9975:canvas_drawDRRect +9976:canvas_drawColor +9977:canvas_drawCircle +9978:canvas_drawAtlas +9979:canvas_drawArc +9980:canvas_clipRect +9981:canvas_clipRRect +9982:canvas_clipPath +9983:cancel_notification +9984:bw_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +9985:bw_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9986:bw_pt_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9987:bw_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9988:bw_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +9989:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::SpotVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +9990:bool\20\28anonymous\20namespace\29::FindVisitor<\28anonymous\20namespace\29::AmbientVerticesFactory>\28SkResourceCache::Rec\20const&\2c\20void*\29 +9991:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9992:bool\20OT::hb_accelerate_subtables_context_t::apply_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9993:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9994:bool\20OT::hb_accelerate_subtables_context_t::apply_cached_to>\28void\20const*\2c\20OT::hb_ot_apply_context_t*\29 +9995:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9996:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9997:bool\20OT::cmap::accelerator_t::get_glyph_from_symbol\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9998:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +9999:bool\20OT::cmap::accelerator_t::get_glyph_from\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +10000:blur_y_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10001:blur_y_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10002:blur_y_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10003:blur_y_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10004:blur_x_radius_4\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10005:blur_x_radius_3\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10006:blur_x_radius_2\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10007:blur_x_radius_1\28skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>\20const&\2c\20skvx::Vec<8\2c\20unsigned\20short>*\2c\20skvx::Vec<8\2c\20unsigned\20short>*\29 +10008:blit_row_s32a_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +10009:blit_row_s32_opaque\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +10010:blit_row_s32_blend\28unsigned\20int*\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int\29 +10011:argb32_to_a8\28unsigned\20char*\2c\20unsigned\20char\20const*\2c\20int\29 +10012:arabic_fallback_shape\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +10013:afm_parser_parse +10014:afm_parser_init +10015:afm_parser_done +10016:afm_compare_kern_pairs +10017:af_property_set +10018:af_property_get +10019:af_latin_metrics_scale +10020:af_latin_metrics_init +10021:af_latin_hints_init +10022:af_latin_hints_apply +10023:af_latin_get_standard_widths +10024:af_indic_metrics_scale +10025:af_indic_metrics_init +10026:af_indic_hints_init +10027:af_indic_hints_apply +10028:af_get_interface +10029:af_face_globals_free +10030:af_dummy_hints_init +10031:af_dummy_hints_apply +10032:af_cjk_metrics_init +10033:af_autofitter_load_glyph +10034:af_autofitter_init +10035:aa_square_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +10036:aa_poly_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +10037:aa_line_hair_proc\28PtProcRec\20const&\2c\20SkPoint\20const*\2c\20int\2c\20SkBlitter*\29 +10038:_hb_ot_font_destroy\28void*\29 +10039:_hb_glyph_info_is_default_ignorable\28hb_glyph_info_t\20const*\29 +10040:_hb_face_for_data_reference_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +10041:_hb_face_for_data_closure_destroy\28void*\29 +10042:_hb_clear_substitution_flags\28hb_ot_shape_plan_t\20const*\2c\20hb_font_t*\2c\20hb_buffer_t*\29 +10043:_hb_blob_destroy\28void*\29 +10044:_emscripten_tls_init +10045:_emscripten_thread_init +10046:_emscripten_thread_free_data +10047:_emscripten_thread_exit +10048:_emscripten_thread_crashed +10049:_emscripten_run_in_main_runtime_thread_js +10050:_emscripten_check_mailbox +10051:__wasm_init_memory +10052:__wasm_call_ctors +10053:__stdio_write +10054:__stdio_seek +10055:__stdio_read +10056:__stdio_close +10057:__emscripten_stdout_seek +10058:__cxxabiv1::__vmi_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10059:__cxxabiv1::__vmi_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10060:__cxxabiv1::__vmi_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +10061:__cxxabiv1::__si_class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10062:__cxxabiv1::__si_class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10063:__cxxabiv1::__si_class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +10064:__cxxabiv1::__class_type_info::search_below_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10065:__cxxabiv1::__class_type_info::search_above_dst\28__cxxabiv1::__dynamic_cast_info*\2c\20void\20const*\2c\20void\20const*\2c\20int\2c\20bool\29\20const +10066:__cxxabiv1::__class_type_info::has_unambiguous_public_base\28__cxxabiv1::__dynamic_cast_info*\2c\20void*\2c\20int\29\20const +10067:__cxxabiv1::__class_type_info::can_catch\28__cxxabiv1::__shim_type_info\20const*\2c\20void*&\29\20const +10068:__cxx_global_array_dtor.9479 +10069:__cxx_global_array_dtor.87 +10070:__cxx_global_array_dtor.8001 +10071:__cxx_global_array_dtor.72 +10072:__cxx_global_array_dtor.6137 +10073:__cxx_global_array_dtor.57 +10074:__cxx_global_array_dtor.5078 +10075:__cxx_global_array_dtor.4767 +10076:__cxx_global_array_dtor.44 +10077:__cxx_global_array_dtor.4207 +10078:__cxx_global_array_dtor.42 +10079:__cxx_global_array_dtor.403 +10080:__cxx_global_array_dtor.40 +10081:__cxx_global_array_dtor.38 +10082:__cxx_global_array_dtor.3789 +10083:__cxx_global_array_dtor.36 +10084:__cxx_global_array_dtor.340 +10085:__cxx_global_array_dtor.34 +10086:__cxx_global_array_dtor.32 +10087:__cxx_global_array_dtor.1988 +10088:__cxx_global_array_dtor.138 +10089:__cxx_global_array_dtor.135 +10090:__cxx_global_array_dtor.111 +10091:__cxx_global_array_dtor.1 +10092:__cxx_global_array_dtor +10093:__cxa_is_pointer_type +10094:\28anonymous\20namespace\29::skhb_nominal_glyphs\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20unsigned\20int\2c\20void*\29 +10095:\28anonymous\20namespace\29::skhb_nominal_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +10096:\28anonymous\20namespace\29::skhb_glyph_h_advances\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\20const*\2c\20unsigned\20int\2c\20int*\2c\20unsigned\20int\2c\20void*\29 +10097:\28anonymous\20namespace\29::skhb_glyph_h_advance\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20void*\29 +10098:\28anonymous\20namespace\29::skhb_glyph_extents\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20hb_glyph_extents_t*\2c\20void*\29 +10099:\28anonymous\20namespace\29::skhb_glyph\28hb_font_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20void*\29 +10100:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29::$_0::__invoke\28void*\29 +10101:\28anonymous\20namespace\29::skhb_get_table\28hb_face_t*\2c\20unsigned\20int\2c\20void*\29 +10102:\28anonymous\20namespace\29::make_morphology\28\28anonymous\20namespace\29::MorphType\2c\20SkSize\2c\20sk_sp\2c\20SkImageFilters::CropRect\20const&\29 +10103:\28anonymous\20namespace\29::create_sub_hb_font\28SkFont\20const&\2c\20std::__2::unique_ptr>\20const&\29::$_0::__invoke\28void*\29 +10104:\28anonymous\20namespace\29::YUVPlanesRec::~YUVPlanesRec\28\29.1 +10105:\28anonymous\20namespace\29::YUVPlanesRec::getCategory\28\29\20const +10106:\28anonymous\20namespace\29::YUVPlanesRec::diagnostic_only_getDiscardable\28\29\20const +10107:\28anonymous\20namespace\29::YUVPlanesRec::bytesUsed\28\29\20const +10108:\28anonymous\20namespace\29::YUVPlanesRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +10109:\28anonymous\20namespace\29::UniqueKeyInvalidator::~UniqueKeyInvalidator\28\29.1 +10110:\28anonymous\20namespace\29::TriangulatingPathOp::~TriangulatingPathOp\28\29.1 +10111:\28anonymous\20namespace\29::TriangulatingPathOp::visitProxies\28std::__2::function\20const&\29\20const +10112:\28anonymous\20namespace\29::TriangulatingPathOp::programInfo\28\29 +10113:\28anonymous\20namespace\29::TriangulatingPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10114:\28anonymous\20namespace\29::TriangulatingPathOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10115:\28anonymous\20namespace\29::TriangulatingPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10116:\28anonymous\20namespace\29::TriangulatingPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10117:\28anonymous\20namespace\29::TriangulatingPathOp::name\28\29\20const +10118:\28anonymous\20namespace\29::TriangulatingPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10119:\28anonymous\20namespace\29::TransformedMaskSubRun::unflattenSize\28\29\20const +10120:\28anonymous\20namespace\29::TransformedMaskSubRun::instanceFlags\28\29\20const +10121:\28anonymous\20namespace\29::TransformedMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +10122:\28anonymous\20namespace\29::TransformedMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +10123:\28anonymous\20namespace\29::TransformedMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +10124:\28anonymous\20namespace\29::TextureOpImpl::~TextureOpImpl\28\29.1 +10125:\28anonymous\20namespace\29::TextureOpImpl::visitProxies\28std::__2::function\20const&\29\20const +10126:\28anonymous\20namespace\29::TextureOpImpl::programInfo\28\29 +10127:\28anonymous\20namespace\29::TextureOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +10128:\28anonymous\20namespace\29::TextureOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10129:\28anonymous\20namespace\29::TextureOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10130:\28anonymous\20namespace\29::TextureOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10131:\28anonymous\20namespace\29::TextureOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10132:\28anonymous\20namespace\29::TextureOpImpl::name\28\29\20const +10133:\28anonymous\20namespace\29::TextureOpImpl::fixedFunctionFlags\28\29\20const +10134:\28anonymous\20namespace\29::TextureOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10135:\28anonymous\20namespace\29::TentPass::startBlur\28\29 +10136:\28anonymous\20namespace\29::TentPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +10137:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +10138:\28anonymous\20namespace\29::TentPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +10139:\28anonymous\20namespace\29::StaticVertexAllocator::~StaticVertexAllocator\28\29.1 +10140:\28anonymous\20namespace\29::StaticVertexAllocator::unlock\28int\29 +10141:\28anonymous\20namespace\29::StaticVertexAllocator::lock\28unsigned\20long\2c\20int\29 +10142:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::currentScript\28\29\20const +10143:\28anonymous\20namespace\29::SkUnicodeHbScriptRunIterator::consume\28\29 +10144:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10145:\28anonymous\20namespace\29::SkMorphologyImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10146:\28anonymous\20namespace\29::SkMorphologyImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10147:\28anonymous\20namespace\29::SkMorphologyImageFilter::getTypeName\28\29\20const +10148:\28anonymous\20namespace\29::SkMorphologyImageFilter::flatten\28SkWriteBuffer&\29\20const +10149:\28anonymous\20namespace\29::SkMorphologyImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10150:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10151:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10152:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10153:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::getTypeName\28\29\20const +10154:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::flatten\28SkWriteBuffer&\29\20const +10155:\28anonymous\20namespace\29::SkMatrixTransformImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10156:\28anonymous\20namespace\29::SkFTGeometrySink::Quad\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +10157:\28anonymous\20namespace\29::SkFTGeometrySink::Move\28FT_Vector_\20const*\2c\20void*\29 +10158:\28anonymous\20namespace\29::SkFTGeometrySink::Line\28FT_Vector_\20const*\2c\20void*\29 +10159:\28anonymous\20namespace\29::SkFTGeometrySink::Cubic\28FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20FT_Vector_\20const*\2c\20void*\29 +10160:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +10161:\28anonymous\20namespace\29::SkEmptyTypeface::onGetFamilyName\28SkString*\29\20const +10162:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +10163:\28anonymous\20namespace\29::SkEmptyTypeface::onCreateFamilyNameIterator\28\29\20const +10164:\28anonymous\20namespace\29::SkEmptyTypeface::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +10165:\28anonymous\20namespace\29::SkCropImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10166:\28anonymous\20namespace\29::SkCropImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10167:\28anonymous\20namespace\29::SkCropImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10168:\28anonymous\20namespace\29::SkCropImageFilter::onAffectsTransparentBlack\28\29\20const +10169:\28anonymous\20namespace\29::SkCropImageFilter::getTypeName\28\29\20const +10170:\28anonymous\20namespace\29::SkCropImageFilter::flatten\28SkWriteBuffer&\29\20const +10171:\28anonymous\20namespace\29::SkCropImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10172:\28anonymous\20namespace\29::SkComposeImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10173:\28anonymous\20namespace\29::SkComposeImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10174:\28anonymous\20namespace\29::SkComposeImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10175:\28anonymous\20namespace\29::SkComposeImageFilter::getTypeName\28\29\20const +10176:\28anonymous\20namespace\29::SkComposeImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10177:\28anonymous\20namespace\29::SkColorFilterImageFilter::~SkColorFilterImageFilter\28\29.1 +10178:\28anonymous\20namespace\29::SkColorFilterImageFilter::onIsColorFilterNode\28SkColorFilter**\29\20const +10179:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10180:\28anonymous\20namespace\29::SkColorFilterImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10181:\28anonymous\20namespace\29::SkColorFilterImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10182:\28anonymous\20namespace\29::SkColorFilterImageFilter::onAffectsTransparentBlack\28\29\20const +10183:\28anonymous\20namespace\29::SkColorFilterImageFilter::getTypeName\28\29\20const +10184:\28anonymous\20namespace\29::SkColorFilterImageFilter::flatten\28SkWriteBuffer&\29\20const +10185:\28anonymous\20namespace\29::SkColorFilterImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10186:\28anonymous\20namespace\29::SkBlurImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10187:\28anonymous\20namespace\29::SkBlurImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10188:\28anonymous\20namespace\29::SkBlurImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10189:\28anonymous\20namespace\29::SkBlurImageFilter::getTypeName\28\29\20const +10190:\28anonymous\20namespace\29::SkBlurImageFilter::flatten\28SkWriteBuffer&\29\20const +10191:\28anonymous\20namespace\29::SkBlurImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10192:\28anonymous\20namespace\29::SkBlendImageFilter::~SkBlendImageFilter\28\29.1 +10193:\28anonymous\20namespace\29::SkBlendImageFilter::onGetOutputLayerBounds\28skif::Mapping\20const&\2c\20std::__2::optional>\29\20const +10194:\28anonymous\20namespace\29::SkBlendImageFilter::onGetInputLayerBounds\28skif::Mapping\20const&\2c\20skif::LayerSpace\20const&\2c\20std::__2::optional>\29\20const +10195:\28anonymous\20namespace\29::SkBlendImageFilter::onFilterImage\28skif::Context\20const&\29\20const +10196:\28anonymous\20namespace\29::SkBlendImageFilter::onAffectsTransparentBlack\28\29\20const +10197:\28anonymous\20namespace\29::SkBlendImageFilter::getTypeName\28\29\20const +10198:\28anonymous\20namespace\29::SkBlendImageFilter::flatten\28SkWriteBuffer&\29\20const +10199:\28anonymous\20namespace\29::SkBlendImageFilter::computeFastBounds\28SkRect\20const&\29\20const +10200:\28anonymous\20namespace\29::SkBidiIterator_icu::~SkBidiIterator_icu\28\29.1 +10201:\28anonymous\20namespace\29::SkBidiIterator_icu::getLevelAt\28int\29 +10202:\28anonymous\20namespace\29::SkBidiIterator_icu::getLength\28\29 +10203:\28anonymous\20namespace\29::SimpleTriangleShader::name\28\29\20const +10204:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10205:\28anonymous\20namespace\29::SimpleTriangleShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10206:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20float\2c\20SkShaper::RunHandler*\29\20const +10207:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::FontRunIterator&\2c\20SkShaper::BiDiRunIterator&\2c\20SkShaper::ScriptRunIterator&\2c\20SkShaper::LanguageRunIterator&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +10208:\28anonymous\20namespace\29::ShaperHarfBuzz::shape\28char\20const*\2c\20unsigned\20long\2c\20SkFont\20const&\2c\20bool\2c\20float\2c\20SkShaper::RunHandler*\29\20const +10209:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::~ShapeDontWrapOrReorder\28\29 +10210:\28anonymous\20namespace\29::ShapeDontWrapOrReorder::wrap\28char\20const*\2c\20unsigned\20long\2c\20SkShaper::BiDiRunIterator\20const&\2c\20SkShaper::LanguageRunIterator\20const&\2c\20SkShaper::ScriptRunIterator\20const&\2c\20SkShaper::FontRunIterator\20const&\2c\20\28anonymous\20namespace\29::RunIteratorQueue&\2c\20SkShaper::Feature\20const*\2c\20unsigned\20long\2c\20float\2c\20SkShaper::RunHandler*\29\20const +10211:\28anonymous\20namespace\29::ShadowInvalidator::~ShadowInvalidator\28\29.1 +10212:\28anonymous\20namespace\29::ShadowInvalidator::changed\28\29 +10213:\28anonymous\20namespace\29::ShadowCircularRRectOp::~ShadowCircularRRectOp\28\29.1 +10214:\28anonymous\20namespace\29::ShadowCircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +10215:\28anonymous\20namespace\29::ShadowCircularRRectOp::programInfo\28\29 +10216:\28anonymous\20namespace\29::ShadowCircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10217:\28anonymous\20namespace\29::ShadowCircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10218:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10219:\28anonymous\20namespace\29::ShadowCircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10220:\28anonymous\20namespace\29::ShadowCircularRRectOp::name\28\29\20const +10221:\28anonymous\20namespace\29::ShadowCircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10222:\28anonymous\20namespace\29::SDFTSubRun::vertexStride\28SkMatrix\20const&\29\20const +10223:\28anonymous\20namespace\29::SDFTSubRun::vertexFiller\28\29\20const +10224:\28anonymous\20namespace\29::SDFTSubRun::unflattenSize\28\29\20const +10225:\28anonymous\20namespace\29::SDFTSubRun::testingOnly_packedGlyphIDToGlyph\28sktext::gpu::StrikeCache*\29\20const +10226:\28anonymous\20namespace\29::SDFTSubRun::glyphs\28\29\20const +10227:\28anonymous\20namespace\29::SDFTSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +10228:\28anonymous\20namespace\29::SDFTSubRun::doFlatten\28SkWriteBuffer&\29\20const +10229:\28anonymous\20namespace\29::SDFTSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +10230:\28anonymous\20namespace\29::RectsBlurRec::~RectsBlurRec\28\29.1 +10231:\28anonymous\20namespace\29::RectsBlurRec::getCategory\28\29\20const +10232:\28anonymous\20namespace\29::RectsBlurRec::diagnostic_only_getDiscardable\28\29\20const +10233:\28anonymous\20namespace\29::RectsBlurRec::bytesUsed\28\29\20const +10234:\28anonymous\20namespace\29::RectsBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +10235:\28anonymous\20namespace\29::RRectBlurRec::~RRectBlurRec\28\29.1 +10236:\28anonymous\20namespace\29::RRectBlurRec::getCategory\28\29\20const +10237:\28anonymous\20namespace\29::RRectBlurRec::diagnostic_only_getDiscardable\28\29\20const +10238:\28anonymous\20namespace\29::RRectBlurRec::bytesUsed\28\29\20const +10239:\28anonymous\20namespace\29::RRectBlurRec::Visitor\28SkResourceCache::Rec\20const&\2c\20void*\29 +10240:\28anonymous\20namespace\29::PathSubRun::~PathSubRun\28\29.1 +10241:\28anonymous\20namespace\29::PathSubRun::unflattenSize\28\29\20const +10242:\28anonymous\20namespace\29::PathSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +10243:\28anonymous\20namespace\29::PathSubRun::doFlatten\28SkWriteBuffer&\29\20const +10244:\28anonymous\20namespace\29::MipMapRec::~MipMapRec\28\29.1 +10245:\28anonymous\20namespace\29::MipMapRec::getCategory\28\29\20const +10246:\28anonymous\20namespace\29::MipMapRec::diagnostic_only_getDiscardable\28\29\20const +10247:\28anonymous\20namespace\29::MipMapRec::bytesUsed\28\29\20const +10248:\28anonymous\20namespace\29::MipMapRec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +10249:\28anonymous\20namespace\29::MiddleOutShader::~MiddleOutShader\28\29.1 +10250:\28anonymous\20namespace\29::MiddleOutShader::name\28\29\20const +10251:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::emitVertexCode\28GrShaderCaps\20const&\2c\20GrPathTessellationShader\20const&\2c\20GrGLSLVertexBuilder*\2c\20GrGLSLVaryingHandler*\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10252:\28anonymous\20namespace\29::MiddleOutShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10253:\28anonymous\20namespace\29::MiddleOutShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10254:\28anonymous\20namespace\29::MeshOp::~MeshOp\28\29.1 +10255:\28anonymous\20namespace\29::MeshOp::visitProxies\28std::__2::function\20const&\29\20const +10256:\28anonymous\20namespace\29::MeshOp::programInfo\28\29 +10257:\28anonymous\20namespace\29::MeshOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10258:\28anonymous\20namespace\29::MeshOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10259:\28anonymous\20namespace\29::MeshOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10260:\28anonymous\20namespace\29::MeshOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10261:\28anonymous\20namespace\29::MeshOp::name\28\29\20const +10262:\28anonymous\20namespace\29::MeshOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10263:\28anonymous\20namespace\29::MeshGP::~MeshGP\28\29.1 +10264:\28anonymous\20namespace\29::MeshGP::onTextureSampler\28int\29\20const +10265:\28anonymous\20namespace\29::MeshGP::name\28\29\20const +10266:\28anonymous\20namespace\29::MeshGP::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10267:\28anonymous\20namespace\29::MeshGP::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10268:\28anonymous\20namespace\29::MeshGP::Impl::~Impl\28\29.1 +10269:\28anonymous\20namespace\29::MeshGP::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10270:\28anonymous\20namespace\29::MeshGP::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10271:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +10272:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10273:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10274:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +10275:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::getMainName\28\29 +10276:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +10277:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +10278:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +10279:\28anonymous\20namespace\29::MeshGP::Impl::MeshCallbacks::declareFunction\28char\20const*\29 +10280:\28anonymous\20namespace\29::HQDownSampler::buildLevel\28SkPixmap\20const&\2c\20SkPixmap\20const&\29 +10281:\28anonymous\20namespace\29::GaussPass::startBlur\28\29 +10282:\28anonymous\20namespace\29::GaussPass::blurSegment\28int\2c\20unsigned\20int\20const*\2c\20int\2c\20unsigned\20int*\2c\20int\29 +10283:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::makePass\28void*\2c\20SkArenaAlloc*\29\20const +10284:\28anonymous\20namespace\29::GaussPass::MakeMaker\28double\2c\20SkArenaAlloc*\29::Maker::bufferSizeBytes\28\29\20const +10285:\28anonymous\20namespace\29::FillRectOpImpl::~FillRectOpImpl\28\29.1 +10286:\28anonymous\20namespace\29::FillRectOpImpl::visitProxies\28std::__2::function\20const&\29\20const +10287:\28anonymous\20namespace\29::FillRectOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +10288:\28anonymous\20namespace\29::FillRectOpImpl::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10289:\28anonymous\20namespace\29::FillRectOpImpl::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10290:\28anonymous\20namespace\29::FillRectOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10291:\28anonymous\20namespace\29::FillRectOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10292:\28anonymous\20namespace\29::FillRectOpImpl::name\28\29\20const +10293:\28anonymous\20namespace\29::FillRectOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10294:\28anonymous\20namespace\29::ExternalWebGLTexture::~ExternalWebGLTexture\28\29.1 +10295:\28anonymous\20namespace\29::ExternalWebGLTexture::getBackendTexture\28\29 +10296:\28anonymous\20namespace\29::ExternalWebGLTexture::dispose\28\29 +10297:\28anonymous\20namespace\29::EllipticalRRectEffect::onMakeProgramImpl\28\29\20const +10298:\28anonymous\20namespace\29::EllipticalRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10299:\28anonymous\20namespace\29::EllipticalRRectEffect::name\28\29\20const +10300:\28anonymous\20namespace\29::EllipticalRRectEffect::clone\28\29\20const +10301:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10302:\28anonymous\20namespace\29::EllipticalRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10303:\28anonymous\20namespace\29::DrawableSubRun::~DrawableSubRun\28\29.1 +10304:\28anonymous\20namespace\29::DrawableSubRun::unflattenSize\28\29\20const +10305:\28anonymous\20namespace\29::DrawableSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +10306:\28anonymous\20namespace\29::DrawableSubRun::doFlatten\28SkWriteBuffer&\29\20const +10307:\28anonymous\20namespace\29::DrawAtlasPathShader::~DrawAtlasPathShader\28\29.1 +10308:\28anonymous\20namespace\29::DrawAtlasPathShader::onTextureSampler\28int\29\20const +10309:\28anonymous\20namespace\29::DrawAtlasPathShader::name\28\29\20const +10310:\28anonymous\20namespace\29::DrawAtlasPathShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10311:\28anonymous\20namespace\29::DrawAtlasPathShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10312:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10313:\28anonymous\20namespace\29::DrawAtlasPathShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10314:\28anonymous\20namespace\29::DrawAtlasOpImpl::~DrawAtlasOpImpl\28\29.1 +10315:\28anonymous\20namespace\29::DrawAtlasOpImpl::onPrepareDraws\28GrMeshDrawTarget*\29 +10316:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10317:\28anonymous\20namespace\29::DrawAtlasOpImpl::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10318:\28anonymous\20namespace\29::DrawAtlasOpImpl::name\28\29\20const +10319:\28anonymous\20namespace\29::DrawAtlasOpImpl::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10320:\28anonymous\20namespace\29::DirectMaskSubRun::vertexStride\28SkMatrix\20const&\29\20const +10321:\28anonymous\20namespace\29::DirectMaskSubRun::unflattenSize\28\29\20const +10322:\28anonymous\20namespace\29::DirectMaskSubRun::instanceFlags\28\29\20const +10323:\28anonymous\20namespace\29::DirectMaskSubRun::draw\28SkCanvas*\2c\20SkPoint\2c\20SkPaint\20const&\2c\20sk_sp\2c\20std::__2::function\2c\20sktext::gpu::RendererData\29>\20const&\29\20const +10324:\28anonymous\20namespace\29::DirectMaskSubRun::doFlatten\28SkWriteBuffer&\29\20const +10325:\28anonymous\20namespace\29::DirectMaskSubRun::canReuse\28SkPaint\20const&\2c\20SkMatrix\20const&\29\20const +10326:\28anonymous\20namespace\29::DefaultPathOp::~DefaultPathOp\28\29.1 +10327:\28anonymous\20namespace\29::DefaultPathOp::visitProxies\28std::__2::function\20const&\29\20const +10328:\28anonymous\20namespace\29::DefaultPathOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10329:\28anonymous\20namespace\29::DefaultPathOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10330:\28anonymous\20namespace\29::DefaultPathOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10331:\28anonymous\20namespace\29::DefaultPathOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10332:\28anonymous\20namespace\29::DefaultPathOp::name\28\29\20const +10333:\28anonymous\20namespace\29::DefaultPathOp::fixedFunctionFlags\28\29\20const +10334:\28anonymous\20namespace\29::DefaultPathOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10335:\28anonymous\20namespace\29::CircularRRectEffect::onMakeProgramImpl\28\29\20const +10336:\28anonymous\20namespace\29::CircularRRectEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +10337:\28anonymous\20namespace\29::CircularRRectEffect::name\28\29\20const +10338:\28anonymous\20namespace\29::CircularRRectEffect::clone\28\29\20const +10339:\28anonymous\20namespace\29::CircularRRectEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +10340:\28anonymous\20namespace\29::CircularRRectEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +10341:\28anonymous\20namespace\29::CachedTessellationsRec::~CachedTessellationsRec\28\29.1 +10342:\28anonymous\20namespace\29::CachedTessellationsRec::getCategory\28\29\20const +10343:\28anonymous\20namespace\29::CachedTessellationsRec::bytesUsed\28\29\20const +10344:\28anonymous\20namespace\29::CachedTessellations::~CachedTessellations\28\29.1 +10345:\28anonymous\20namespace\29::CacheImpl::~CacheImpl\28\29.1 +10346:\28anonymous\20namespace\29::CacheImpl::set\28SkImageFilterCacheKey\20const&\2c\20SkImageFilter\20const*\2c\20skif::FilterResult\20const&\29 +10347:\28anonymous\20namespace\29::CacheImpl::purge\28\29 +10348:\28anonymous\20namespace\29::CacheImpl::purgeByImageFilter\28SkImageFilter\20const*\29 +10349:\28anonymous\20namespace\29::CacheImpl::get\28SkImageFilterCacheKey\20const&\2c\20skif::FilterResult*\29\20const +10350:\28anonymous\20namespace\29::BoundingBoxShader::name\28\29\20const +10351:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +10352:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +10353:\28anonymous\20namespace\29::BoundingBoxShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +10354:\28anonymous\20namespace\29::AAHairlineOp::~AAHairlineOp\28\29.1 +10355:\28anonymous\20namespace\29::AAHairlineOp::visitProxies\28std::__2::function\20const&\29\20const +10356:\28anonymous\20namespace\29::AAHairlineOp::onPrepareDraws\28GrMeshDrawTarget*\29 +10357:\28anonymous\20namespace\29::AAHairlineOp::onPrePrepareDraws\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10358:\28anonymous\20namespace\29::AAHairlineOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +10359:\28anonymous\20namespace\29::AAHairlineOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +10360:\28anonymous\20namespace\29::AAHairlineOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +10361:\28anonymous\20namespace\29::AAHairlineOp::name\28\29\20const +10362:\28anonymous\20namespace\29::AAHairlineOp::fixedFunctionFlags\28\29\20const +10363:\28anonymous\20namespace\29::AAHairlineOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +10364:Write_CVT_Stretched +10365:Write_CVT +10366:Vertish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +10367:Vertish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +10368:VertState::Triangles\28VertState*\29 +10369:VertState::TrianglesX\28VertState*\29 +10370:VertState::TriangleStrip\28VertState*\29 +10371:VertState::TriangleStripX\28VertState*\29 +10372:VertState::TriangleFan\28VertState*\29 +10373:VertState::TriangleFanX\28VertState*\29 +10374:VLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +10375:VLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +10376:TextureSourceImageGenerator::~TextureSourceImageGenerator\28\29.1 +10377:TextureSourceImageGenerator::generateExternalTexture\28GrRecordingContext*\2c\20skgpu::Mipmapped\29 +10378:TT_Set_MM_Blend +10379:TT_RunIns +10380:TT_Load_Simple_Glyph +10381:TT_Load_Glyph_Header +10382:TT_Load_Composite_Glyph +10383:TT_Get_Var_Design +10384:TT_Get_MM_Blend +10385:TT_Forget_Glyph_Frame +10386:TT_Access_Glyph_Frame +10387:TOUPPER\28unsigned\20char\29 +10388:TOLOWER\28unsigned\20char\29 +10389:SquareCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +10390:Sprite_D32_S32::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10391:Skwasm::Surface::Surface\28\29::$_0::__invoke\28void*\29 +10392:SkWeakRefCnt::internal_dispose\28\29\20const +10393:SkUnicode_client::~SkUnicode_client\28\29.1 +10394:SkUnicode_client::toUpper\28SkString\20const&\2c\20char\20const*\29 +10395:SkUnicode_client::toUpper\28SkString\20const&\29 +10396:SkUnicode_client::reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29 +10397:SkUnicode_client::makeBreakIterator\28char\20const*\2c\20SkUnicode::BreakType\29 +10398:SkUnicode_client::makeBreakIterator\28SkUnicode::BreakType\29 +10399:SkUnicode_client::makeBidiIterator\28unsigned\20short\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +10400:SkUnicode_client::makeBidiIterator\28char\20const*\2c\20int\2c\20SkBidiIterator::Direction\29 +10401:SkUnicode_client::getWords\28char\20const*\2c\20int\2c\20char\20const*\2c\20std::__2::vector>*\29 +10402:SkUnicode_client::getBidiRegions\28char\20const*\2c\20int\2c\20SkUnicode::TextDirection\2c\20std::__2::vector>*\29 +10403:SkUnicode_client::computeCodeUnitFlags\28char16_t*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +10404:SkUnicode_client::computeCodeUnitFlags\28char*\2c\20int\2c\20bool\2c\20skia_private::TArray*\29 +10405:SkUnicodeHardCodedCharProperties::isWhitespace\28int\29 +10406:SkUnicodeHardCodedCharProperties::isTabulation\28int\29 +10407:SkUnicodeHardCodedCharProperties::isSpace\28int\29 +10408:SkUnicodeHardCodedCharProperties::isIdeographic\28int\29 +10409:SkUnicodeHardCodedCharProperties::isHardBreak\28int\29 +10410:SkUnicodeHardCodedCharProperties::isControl\28int\29 +10411:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29.1 +10412:SkUnicodeBidiRunIterator::~SkUnicodeBidiRunIterator\28\29 +10413:SkUnicodeBidiRunIterator::endOfCurrentRun\28\29\20const +10414:SkUnicodeBidiRunIterator::currentLevel\28\29\20const +10415:SkUnicodeBidiRunIterator::consume\28\29 +10416:SkUnicodeBidiRunIterator::atEnd\28\29\20const +10417:SkTypeface_FreeTypeStream::~SkTypeface_FreeTypeStream\28\29.1 +10418:SkTypeface_FreeTypeStream::onOpenStream\28int*\29\20const +10419:SkTypeface_FreeTypeStream::onMakeFontData\28\29\20const +10420:SkTypeface_FreeTypeStream::onMakeClone\28SkFontArguments\20const&\29\20const +10421:SkTypeface_FreeTypeStream::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +10422:SkTypeface_FreeType::onGlyphMaskNeedsCurrentColor\28\29\20const +10423:SkTypeface_FreeType::onGetVariationDesignPosition\28SkFontArguments::VariationPosition::Coordinate*\2c\20int\29\20const +10424:SkTypeface_FreeType::onGetVariationDesignParameters\28SkFontParameters::Variation::Axis*\2c\20int\29\20const +10425:SkTypeface_FreeType::onGetUPEM\28\29\20const +10426:SkTypeface_FreeType::onGetTableTags\28unsigned\20int*\29\20const +10427:SkTypeface_FreeType::onGetTableData\28unsigned\20int\2c\20unsigned\20long\2c\20unsigned\20long\2c\20void*\29\20const +10428:SkTypeface_FreeType::onGetPostScriptName\28SkString*\29\20const +10429:SkTypeface_FreeType::onGetKerningPairAdjustments\28unsigned\20short\20const*\2c\20int\2c\20int*\29\20const +10430:SkTypeface_FreeType::onGetAdvancedMetrics\28\29\20const +10431:SkTypeface_FreeType::onFilterRec\28SkScalerContextRec*\29\20const +10432:SkTypeface_FreeType::onCreateScalerContext\28SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29\20const +10433:SkTypeface_FreeType::onCreateFamilyNameIterator\28\29\20const +10434:SkTypeface_FreeType::onCountGlyphs\28\29\20const +10435:SkTypeface_FreeType::onCopyTableData\28unsigned\20int\29\20const +10436:SkTypeface_FreeType::onCharsToGlyphs\28int\20const*\2c\20int\2c\20unsigned\20short*\29\20const +10437:SkTypeface_FreeType::getPostScriptGlyphNames\28SkString*\29\20const +10438:SkTypeface_FreeType::getGlyphToUnicodeMap\28int*\29\20const +10439:SkTypeface_Empty::~SkTypeface_Empty\28\29 +10440:SkTypeface_Custom::onGetFontDescriptor\28SkFontDescriptor*\2c\20bool*\29\20const +10441:SkTypeface::onOpenExistingStream\28int*\29\20const +10442:SkTypeface::onCopyTableData\28unsigned\20int\29\20const +10443:SkTypeface::onComputeBounds\28SkRect*\29\20const +10444:SkTriColorShader::type\28\29\20const +10445:SkTriColorShader::isOpaque\28\29\20const +10446:SkTriColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10447:SkTransformShader::type\28\29\20const +10448:SkTransformShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10449:SkTQuad::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +10450:SkTQuad::setBounds\28SkDRect*\29\20const +10451:SkTQuad::ptAtT\28double\29\20const +10452:SkTQuad::make\28SkArenaAlloc&\29\20const +10453:SkTQuad::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +10454:SkTQuad::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +10455:SkTQuad::dxdyAtT\28double\29\20const +10456:SkTQuad::debugInit\28\29 +10457:SkTCubic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +10458:SkTCubic::setBounds\28SkDRect*\29\20const +10459:SkTCubic::ptAtT\28double\29\20const +10460:SkTCubic::otherPts\28int\2c\20SkDPoint\20const**\29\20const +10461:SkTCubic::make\28SkArenaAlloc&\29\20const +10462:SkTCubic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +10463:SkTCubic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +10464:SkTCubic::hullIntersects\28SkDCubic\20const&\2c\20bool*\29\20const +10465:SkTCubic::dxdyAtT\28double\29\20const +10466:SkTCubic::debugInit\28\29 +10467:SkTCubic::controlsInside\28\29\20const +10468:SkTCubic::collapsed\28\29\20const +10469:SkTConic::subDivide\28double\2c\20double\2c\20SkTCurve*\29\20const +10470:SkTConic::setBounds\28SkDRect*\29\20const +10471:SkTConic::ptAtT\28double\29\20const +10472:SkTConic::make\28SkArenaAlloc&\29\20const +10473:SkTConic::intersectRay\28SkIntersections*\2c\20SkDLine\20const&\29\20const +10474:SkTConic::hullIntersects\28SkTCurve\20const&\2c\20bool*\29\20const +10475:SkTConic::hullIntersects\28SkDQuad\20const&\2c\20bool*\29\20const +10476:SkTConic::dxdyAtT\28double\29\20const +10477:SkTConic::debugInit\28\29 +10478:SkSweepGradient::getTypeName\28\29\20const +10479:SkSweepGradient::flatten\28SkWriteBuffer&\29\20const +10480:SkSweepGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10481:SkSweepGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +10482:SkSurface_Raster::~SkSurface_Raster\28\29.1 +10483:SkSurface_Raster::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +10484:SkSurface_Raster::onRestoreBackingMutability\28\29 +10485:SkSurface_Raster::onNewSurface\28SkImageInfo\20const&\29 +10486:SkSurface_Raster::onNewImageSnapshot\28SkIRect\20const*\29 +10487:SkSurface_Raster::onNewCanvas\28\29 +10488:SkSurface_Raster::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10489:SkSurface_Raster::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +10490:SkSurface_Raster::imageInfo\28\29\20const +10491:SkSurface_Ganesh::~SkSurface_Ganesh\28\29.1 +10492:SkSurface_Ganesh::replaceBackendTexture\28GrBackendTexture\20const&\2c\20GrSurfaceOrigin\2c\20SkSurface::ContentChangeMode\2c\20void\20\28*\29\28void*\29\2c\20void*\29 +10493:SkSurface_Ganesh::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +10494:SkSurface_Ganesh::onWait\28int\2c\20GrBackendSemaphore\20const*\2c\20bool\29 +10495:SkSurface_Ganesh::onNewSurface\28SkImageInfo\20const&\29 +10496:SkSurface_Ganesh::onNewImageSnapshot\28SkIRect\20const*\29 +10497:SkSurface_Ganesh::onNewCanvas\28\29 +10498:SkSurface_Ganesh::onIsCompatible\28GrSurfaceCharacterization\20const&\29\20const +10499:SkSurface_Ganesh::onGetRecordingContext\28\29\20const +10500:SkSurface_Ganesh::onDraw\28SkCanvas*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10501:SkSurface_Ganesh::onCopyOnWrite\28SkSurface::ContentChangeMode\29 +10502:SkSurface_Ganesh::onCharacterize\28GrSurfaceCharacterization*\29\20const +10503:SkSurface_Ganesh::onCapabilities\28\29 +10504:SkSurface_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +10505:SkSurface_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +10506:SkSurface_Ganesh::imageInfo\28\29\20const +10507:SkSurface_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29 +10508:SkSurface::imageInfo\28\29\20const +10509:SkStrikeCache::~SkStrikeCache\28\29.1 +10510:SkStrikeCache::findOrCreateScopedStrike\28SkStrikeSpec\20const&\29 +10511:SkStrike::~SkStrike\28\29.1 +10512:SkStrike::strikePromise\28\29 +10513:SkStrike::roundingSpec\28\29\20const +10514:SkStrike::getDescriptor\28\29\20const +10515:SkSpriteBlitter_Memcpy::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10516:SkSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +10517:SkSpriteBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10518:SkSpriteBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10519:SkSpriteBlitter::blitH\28int\2c\20int\2c\20int\29 +10520:SkSpecialImage_Raster::~SkSpecialImage_Raster\28\29.1 +10521:SkSpecialImage_Raster::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +10522:SkSpecialImage_Raster::getSize\28\29\20const +10523:SkSpecialImage_Raster::backingStoreDimensions\28\29\20const +10524:SkSpecialImage_Raster::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +10525:SkSpecialImage_Raster::asImage\28\29\20const +10526:SkSpecialImage_Gpu::~SkSpecialImage_Gpu\28\29.1 +10527:SkSpecialImage_Gpu::onMakeBackingStoreSubset\28SkIRect\20const&\29\20const +10528:SkSpecialImage_Gpu::getSize\28\29\20const +10529:SkSpecialImage_Gpu::backingStoreDimensions\28\29\20const +10530:SkSpecialImage_Gpu::asImage\28\29\20const +10531:SkSpecialImage::asShader\28SkTileMode\2c\20SkSamplingOptions\20const&\2c\20SkMatrix\20const&\2c\20bool\29\20const +10532:SkShaper::TrivialLanguageRunIterator::~TrivialLanguageRunIterator\28\29.1 +10533:SkShaper::TrivialLanguageRunIterator::currentLanguage\28\29\20const +10534:SkShaper::TrivialFontRunIterator::~TrivialFontRunIterator\28\29.1 +10535:SkShaper::TrivialBiDiRunIterator::currentLevel\28\29\20const +10536:SkShaderBlurAlgorithm::maxSigma\28\29\20const +10537:SkShaderBlurAlgorithm::blur\28SkSize\2c\20sk_sp\2c\20SkIRect\20const&\2c\20SkTileMode\2c\20SkIRect\20const&\29\20const +10538:SkScan::HairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10539:SkScan::HairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10540:SkScan::HairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10541:SkScan::AntiHairSquarePath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10542:SkScan::AntiHairRoundPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10543:SkScan::AntiHairPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10544:SkScan::AntiFillPath\28SkPath\20const&\2c\20SkRasterClip\20const&\2c\20SkBlitter*\29 +10545:SkScalerContext_FreeType::~SkScalerContext_FreeType\28\29.1 +10546:SkScalerContext_FreeType::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +10547:SkScalerContext_FreeType::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +10548:SkScalerContext_FreeType::generateImage\28SkGlyph\20const&\2c\20void*\29 +10549:SkScalerContext_FreeType::generateFontMetrics\28SkFontMetrics*\29 +10550:SkScalerContext_FreeType::generateDrawable\28SkGlyph\20const&\29 +10551:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::~SkScalerContext_Empty\28\29 +10552:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generatePath\28SkGlyph\20const&\2c\20SkPath*\29 +10553:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateMetrics\28SkGlyph\20const&\2c\20SkArenaAlloc*\29 +10554:SkScalerContext::MakeEmpty\28sk_sp\2c\20SkScalerContextEffects\20const&\2c\20SkDescriptor\20const*\29::SkScalerContext_Empty::generateFontMetrics\28SkFontMetrics*\29 +10555:SkSRGBColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +10556:SkSRGBColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +10557:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_3::__invoke\28double\2c\20double\29 +10558:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_2::__invoke\28double\2c\20double\29 +10559:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_1::__invoke\28double\2c\20double\29 +10560:SkSL::simplify_componentwise\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::Expression\20const&\2c\20SkSL::Operator\2c\20SkSL::Expression\20const&\29::$_0::__invoke\28double\2c\20double\29 +10561:SkSL::negate_value\28double\29 +10562:SkSL::eliminate_unreachable_code\28SkSpan>>\2c\20SkSL::ProgramUsage*\29::UnreachableCodeEliminator::~UnreachableCodeEliminator\28\29.1 +10563:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::~DeadLocalVariableEliminator\28\29.1 +10564:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitStatementPtr\28std::__2::unique_ptr>&\29 +10565:SkSL::eliminate_dead_local_variables\28SkSL::Context\20const&\2c\20SkSpan>>\2c\20SkSL::ProgramUsage*\29::DeadLocalVariableEliminator::visitExpressionPtr\28std::__2::unique_ptr>&\29 +10566:SkSL::count_returns_at_end_of_control_flow\28SkSL::FunctionDefinition\20const&\29::CountReturnsAtEndOfControlFlow::visitStatement\28SkSL::Statement\20const&\29 +10567:SkSL::bitwise_not_value\28double\29 +10568:SkSL::\28anonymous\20namespace\29::VariableWriteVisitor::visitExpression\28SkSL::Expression\20const&\29 +10569:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +10570:SkSL::\28anonymous\20namespace\29::SampleOutsideMainVisitor::visitExpression\28SkSL::Expression\20const&\29 +10571:SkSL::\28anonymous\20namespace\29::ReturnsNonOpaqueColorVisitor::visitStatement\28SkSL::Statement\20const&\29 +10572:SkSL::\28anonymous\20namespace\29::ReturnsInputAlphaVisitor::visitStatement\28SkSL::Statement\20const&\29 +10573:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +10574:SkSL::\28anonymous\20namespace\29::NodeCountVisitor::visitExpression\28SkSL::Expression\20const&\29 +10575:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitProgramElement\28SkSL::ProgramElement\20const&\29 +10576:SkSL::\28anonymous\20namespace\29::MergeSampleUsageVisitor::visitExpression\28SkSL::Expression\20const&\29 +10577:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::~FinalizationVisitor\28\29.1 +10578:SkSL::\28anonymous\20namespace\29::FinalizationVisitor::visitExpression\28SkSL::Expression\20const&\29 +10579:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::~ES2IndexingVisitor\28\29.1 +10580:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitStatement\28SkSL::Statement\20const&\29 +10581:SkSL::\28anonymous\20namespace\29::ES2IndexingVisitor::visitExpression\28SkSL::Expression\20const&\29 +10582:SkSL::VectorType::isAllowedInUniform\28SkSL::Position*\29\20const +10583:SkSL::VectorType::isAllowedInES2\28\29\20const +10584:SkSL::VariableReference::clone\28SkSL::Position\29\20const +10585:SkSL::Variable::~Variable\28\29.1 +10586:SkSL::Variable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +10587:SkSL::Variable::mangledName\28\29\20const +10588:SkSL::Variable::layout\28\29\20const +10589:SkSL::Variable::description\28\29\20const +10590:SkSL::VarDeclaration::~VarDeclaration\28\29.1 +10591:SkSL::VarDeclaration::description\28\29\20const +10592:SkSL::TypeReference::clone\28SkSL::Position\29\20const +10593:SkSL::Type::minimumValue\28\29\20const +10594:SkSL::Type::maximumValue\28\29\20const +10595:SkSL::Type::isAllowedInUniform\28SkSL::Position*\29\20const +10596:SkSL::Type::fields\28\29\20const +10597:SkSL::Type::description\28\29\20const +10598:SkSL::Transform::HoistSwitchVarDeclarationsAtTopLevel\28SkSL::Context\20const&\2c\20std::__2::unique_ptr>\29::HoistSwitchVarDeclsVisitor::~HoistSwitchVarDeclsVisitor\28\29.1 +10599:SkSL::Tracer::var\28int\2c\20int\29 +10600:SkSL::Tracer::scope\28int\29 +10601:SkSL::Tracer::line\28int\29 +10602:SkSL::Tracer::exit\28int\29 +10603:SkSL::Tracer::enter\28int\29 +10604:SkSL::TextureType::textureAccess\28\29\20const +10605:SkSL::TextureType::isMultisampled\28\29\20const +10606:SkSL::TextureType::isDepth\28\29\20const +10607:SkSL::TextureType::isArrayedTexture\28\29\20const +10608:SkSL::TernaryExpression::~TernaryExpression\28\29.1 +10609:SkSL::TernaryExpression::description\28SkSL::OperatorPrecedence\29\20const +10610:SkSL::TernaryExpression::clone\28SkSL::Position\29\20const +10611:SkSL::TProgramVisitor::visitExpression\28SkSL::Expression&\29 +10612:SkSL::Swizzle::description\28SkSL::OperatorPrecedence\29\20const +10613:SkSL::Swizzle::clone\28SkSL::Position\29\20const +10614:SkSL::SwitchStatement::description\28\29\20const +10615:SkSL::SwitchCase::description\28\29\20const +10616:SkSL::StructType::slotType\28unsigned\20long\29\20const +10617:SkSL::StructType::isOrContainsUnsizedArray\28\29\20const +10618:SkSL::StructType::isOrContainsAtomic\28\29\20const +10619:SkSL::StructType::isOrContainsArray\28\29\20const +10620:SkSL::StructType::isInterfaceBlock\28\29\20const +10621:SkSL::StructType::isBuiltin\28\29\20const +10622:SkSL::StructType::isAllowedInUniform\28SkSL::Position*\29\20const +10623:SkSL::StructType::isAllowedInES2\28\29\20const +10624:SkSL::StructType::fields\28\29\20const +10625:SkSL::StructDefinition::description\28\29\20const +10626:SkSL::StringStream::~StringStream\28\29.1 +10627:SkSL::StringStream::write\28void\20const*\2c\20unsigned\20long\29 +10628:SkSL::StringStream::writeText\28char\20const*\29 +10629:SkSL::StringStream::write8\28unsigned\20char\29 +10630:SkSL::Setting::description\28SkSL::OperatorPrecedence\29\20const +10631:SkSL::Setting::clone\28SkSL::Position\29\20const +10632:SkSL::ScalarType::priority\28\29\20const +10633:SkSL::ScalarType::numberKind\28\29\20const +10634:SkSL::ScalarType::minimumValue\28\29\20const +10635:SkSL::ScalarType::maximumValue\28\29\20const +10636:SkSL::ScalarType::isAllowedInUniform\28SkSL::Position*\29\20const +10637:SkSL::ScalarType::isAllowedInES2\28\29\20const +10638:SkSL::ScalarType::bitWidth\28\29\20const +10639:SkSL::SamplerType::textureAccess\28\29\20const +10640:SkSL::SamplerType::isMultisampled\28\29\20const +10641:SkSL::SamplerType::isDepth\28\29\20const +10642:SkSL::SamplerType::isArrayedTexture\28\29\20const +10643:SkSL::SamplerType::dimensions\28\29\20const +10644:SkSL::ReturnStatement::description\28\29\20const +10645:SkSL::RP::VariableLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10646:SkSL::RP::VariableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10647:SkSL::RP::VariableLValue::isWritable\28\29\20const +10648:SkSL::RP::UnownedLValueSlice::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10649:SkSL::RP::UnownedLValueSlice::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10650:SkSL::RP::UnownedLValueSlice::fixedSlotRange\28SkSL::RP::Generator*\29 +10651:SkSL::RP::SwizzleLValue::~SwizzleLValue\28\29.1 +10652:SkSL::RP::SwizzleLValue::swizzle\28\29 +10653:SkSL::RP::SwizzleLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10654:SkSL::RP::SwizzleLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10655:SkSL::RP::SwizzleLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10656:SkSL::RP::ScratchLValue::~ScratchLValue\28\29.1 +10657:SkSL::RP::ScratchLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10658:SkSL::RP::ScratchLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10659:SkSL::RP::LValueSlice::~LValueSlice\28\29.1 +10660:SkSL::RP::ImmutableLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10661:SkSL::RP::DynamicIndexLValue::~DynamicIndexLValue\28\29.1 +10662:SkSL::RP::DynamicIndexLValue::store\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10663:SkSL::RP::DynamicIndexLValue::push\28SkSL::RP::Generator*\2c\20SkSL::RP::SlotRange\2c\20SkSL::RP::AutoStack*\2c\20SkSpan\29 +10664:SkSL::RP::DynamicIndexLValue::isWritable\28\29\20const +10665:SkSL::RP::DynamicIndexLValue::fixedSlotRange\28SkSL::RP::Generator*\29 +10666:SkSL::ProgramVisitor::visitStatementPtr\28std::__2::unique_ptr>\20const&\29 +10667:SkSL::ProgramVisitor::visitExpressionPtr\28std::__2::unique_ptr>\20const&\29 +10668:SkSL::PrefixExpression::description\28SkSL::OperatorPrecedence\29\20const +10669:SkSL::PrefixExpression::clone\28SkSL::Position\29\20const +10670:SkSL::PostfixExpression::description\28SkSL::OperatorPrecedence\29\20const +10671:SkSL::PostfixExpression::clone\28SkSL::Position\29\20const +10672:SkSL::Poison::description\28SkSL::OperatorPrecedence\29\20const +10673:SkSL::Poison::clone\28SkSL::Position\29\20const +10674:SkSL::PipelineStage::Callbacks::getMainName\28\29 +10675:SkSL::Parser::Checkpoint::ForwardingErrorReporter::~ForwardingErrorReporter\28\29.1 +10676:SkSL::Parser::Checkpoint::ForwardingErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +10677:SkSL::Nop::description\28\29\20const +10678:SkSL::ModifiersDeclaration::description\28\29\20const +10679:SkSL::MethodReference::description\28SkSL::OperatorPrecedence\29\20const +10680:SkSL::MethodReference::clone\28SkSL::Position\29\20const +10681:SkSL::MatrixType::slotCount\28\29\20const +10682:SkSL::MatrixType::rows\28\29\20const +10683:SkSL::MatrixType::isAllowedInES2\28\29\20const +10684:SkSL::LiteralType::minimumValue\28\29\20const +10685:SkSL::LiteralType::maximumValue\28\29\20const +10686:SkSL::Literal::getConstantValue\28int\29\20const +10687:SkSL::Literal::description\28SkSL::OperatorPrecedence\29\20const +10688:SkSL::Literal::compareConstant\28SkSL::Expression\20const&\29\20const +10689:SkSL::Literal::clone\28SkSL::Position\29\20const +10690:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_uintBitsToFloat\28double\2c\20double\2c\20double\29 +10691:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_trunc\28double\2c\20double\2c\20double\29 +10692:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tanh\28double\2c\20double\2c\20double\29 +10693:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_tan\28double\2c\20double\2c\20double\29 +10694:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sub\28double\2c\20double\2c\20double\29 +10695:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_step\28double\2c\20double\2c\20double\29 +10696:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sqrt\28double\2c\20double\2c\20double\29 +10697:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_smoothstep\28double\2c\20double\2c\20double\29 +10698:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sinh\28double\2c\20double\2c\20double\29 +10699:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sin\28double\2c\20double\2c\20double\29 +10700:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_sign\28double\2c\20double\2c\20double\29 +10701:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_saturate\28double\2c\20double\2c\20double\29 +10702:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_round\28double\2c\20double\2c\20double\29 +10703:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_radians\28double\2c\20double\2c\20double\29 +10704:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_pow\28double\2c\20double\2c\20double\29 +10705:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_opposite_sign\28double\2c\20double\2c\20double\29 +10706:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_not\28double\2c\20double\2c\20double\29 +10707:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mod\28double\2c\20double\2c\20double\29 +10708:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_mix\28double\2c\20double\2c\20double\29 +10709:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_min\28double\2c\20double\2c\20double\29 +10710:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_max\28double\2c\20double\2c\20double\29 +10711:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log\28double\2c\20double\2c\20double\29 +10712:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_log2\28double\2c\20double\2c\20double\29 +10713:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_inversesqrt\28double\2c\20double\2c\20double\29 +10714:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_intBitsToFloat\28double\2c\20double\2c\20double\29 +10715:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fract\28double\2c\20double\2c\20double\29 +10716:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_fma\28double\2c\20double\2c\20double\29 +10717:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floor\28double\2c\20double\2c\20double\29 +10718:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToUint\28double\2c\20double\2c\20double\29 +10719:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_floatBitsToInt\28double\2c\20double\2c\20double\29 +10720:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp\28double\2c\20double\2c\20double\29 +10721:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_exp2\28double\2c\20double\2c\20double\29 +10722:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_div\28double\2c\20double\2c\20double\29 +10723:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_degrees\28double\2c\20double\2c\20double\29 +10724:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cosh\28double\2c\20double\2c\20double\29 +10725:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_cos\28double\2c\20double\2c\20double\29 +10726:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_clamp\28double\2c\20double\2c\20double\29 +10727:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_ceil\28double\2c\20double\2c\20double\29 +10728:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atanh\28double\2c\20double\2c\20double\29 +10729:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan\28double\2c\20double\2c\20double\29 +10730:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_atan2\28double\2c\20double\2c\20double\29 +10731:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asinh\28double\2c\20double\2c\20double\29 +10732:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_asin\28double\2c\20double\2c\20double\29 +10733:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_add\28double\2c\20double\2c\20double\29 +10734:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acosh\28double\2c\20double\2c\20double\29 +10735:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_acos\28double\2c\20double\2c\20double\29 +10736:SkSL::Intrinsics::\28anonymous\20namespace\29::evaluate_abs\28double\2c\20double\2c\20double\29 +10737:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_notEqual\28double\2c\20double\29 +10738:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThan\28double\2c\20double\29 +10739:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_lessThanEqual\28double\2c\20double\29 +10740:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThan\28double\2c\20double\29 +10741:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_greaterThanEqual\28double\2c\20double\29 +10742:SkSL::Intrinsics::\28anonymous\20namespace\29::compare_equal\28double\2c\20double\29 +10743:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_length\28double\2c\20double\2c\20double\29 +10744:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_dot\28double\2c\20double\2c\20double\29 +10745:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_distance\28double\2c\20double\2c\20double\29 +10746:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_any\28double\2c\20double\2c\20double\29 +10747:SkSL::Intrinsics::\28anonymous\20namespace\29::coalesce_all\28double\2c\20double\2c\20double\29 +10748:SkSL::InterfaceBlock::~InterfaceBlock\28\29.1 +10749:SkSL::InterfaceBlock::~InterfaceBlock\28\29 +10750:SkSL::InterfaceBlock::description\28\29\20const +10751:SkSL::IndexExpression::~IndexExpression\28\29.1 +10752:SkSL::IndexExpression::description\28SkSL::OperatorPrecedence\29\20const +10753:SkSL::IndexExpression::clone\28SkSL::Position\29\20const +10754:SkSL::IfStatement::~IfStatement\28\29.1 +10755:SkSL::IfStatement::description\28\29\20const +10756:SkSL::GlobalVarDeclaration::description\28\29\20const +10757:SkSL::GenericType::slotType\28unsigned\20long\29\20const +10758:SkSL::GenericType::coercibleTypes\28\29\20const +10759:SkSL::GLSLCodeGenerator::~GLSLCodeGenerator\28\29.1 +10760:SkSL::FunctionReference::description\28SkSL::OperatorPrecedence\29\20const +10761:SkSL::FunctionReference::clone\28SkSL::Position\29\20const +10762:SkSL::FunctionPrototype::description\28\29\20const +10763:SkSL::FunctionDefinition::description\28\29\20const +10764:SkSL::FunctionDefinition::Convert\28SkSL::Context\20const&\2c\20SkSL::Position\2c\20SkSL::FunctionDeclaration\20const&\2c\20std::__2::unique_ptr>\2c\20bool\29::Finalizer::~Finalizer\28\29.1 +10765:SkSL::FunctionCall::description\28SkSL::OperatorPrecedence\29\20const +10766:SkSL::FunctionCall::clone\28SkSL::Position\29\20const +10767:SkSL::ForStatement::~ForStatement\28\29.1 +10768:SkSL::ForStatement::description\28\29\20const +10769:SkSL::FieldSymbol::description\28\29\20const +10770:SkSL::FieldAccess::clone\28SkSL::Position\29\20const +10771:SkSL::Extension::description\28\29\20const +10772:SkSL::ExtendedVariable::~ExtendedVariable\28\29.1 +10773:SkSL::ExtendedVariable::setInterfaceBlock\28SkSL::InterfaceBlock*\29 +10774:SkSL::ExtendedVariable::mangledName\28\29\20const +10775:SkSL::ExtendedVariable::layout\28\29\20const +10776:SkSL::ExtendedVariable::interfaceBlock\28\29\20const +10777:SkSL::ExtendedVariable::detachDeadInterfaceBlock\28\29 +10778:SkSL::ExpressionStatement::description\28\29\20const +10779:SkSL::Expression::getConstantValue\28int\29\20const +10780:SkSL::Expression::description\28\29\20const +10781:SkSL::EmptyExpression::description\28SkSL::OperatorPrecedence\29\20const +10782:SkSL::EmptyExpression::clone\28SkSL::Position\29\20const +10783:SkSL::DoStatement::description\28\29\20const +10784:SkSL::DiscardStatement::description\28\29\20const +10785:SkSL::DebugTracePriv::~DebugTracePriv\28\29.1 +10786:SkSL::DebugTracePriv::writeTrace\28SkWStream*\29\20const +10787:SkSL::DebugTracePriv::dump\28SkWStream*\29\20const +10788:SkSL::CountReturnsWithLimit::visitStatement\28SkSL::Statement\20const&\29 +10789:SkSL::ContinueStatement::description\28\29\20const +10790:SkSL::ConstructorStruct::clone\28SkSL::Position\29\20const +10791:SkSL::ConstructorSplat::getConstantValue\28int\29\20const +10792:SkSL::ConstructorSplat::clone\28SkSL::Position\29\20const +10793:SkSL::ConstructorScalarCast::clone\28SkSL::Position\29\20const +10794:SkSL::ConstructorMatrixResize::getConstantValue\28int\29\20const +10795:SkSL::ConstructorMatrixResize::clone\28SkSL::Position\29\20const +10796:SkSL::ConstructorDiagonalMatrix::getConstantValue\28int\29\20const +10797:SkSL::ConstructorDiagonalMatrix::clone\28SkSL::Position\29\20const +10798:SkSL::ConstructorCompoundCast::clone\28SkSL::Position\29\20const +10799:SkSL::ConstructorCompound::clone\28SkSL::Position\29\20const +10800:SkSL::ConstructorArrayCast::clone\28SkSL::Position\29\20const +10801:SkSL::ConstructorArray::clone\28SkSL::Position\29\20const +10802:SkSL::Compiler::CompilerErrorReporter::handleError\28std::__2::basic_string_view>\2c\20SkSL::Position\29 +10803:SkSL::CodeGenerator::~CodeGenerator\28\29 +10804:SkSL::ChildCall::description\28SkSL::OperatorPrecedence\29\20const +10805:SkSL::ChildCall::clone\28SkSL::Position\29\20const +10806:SkSL::BreakStatement::description\28\29\20const +10807:SkSL::Block::~Block\28\29.1 +10808:SkSL::Block::description\28\29\20const +10809:SkSL::BinaryExpression::~BinaryExpression\28\29.1 +10810:SkSL::BinaryExpression::description\28SkSL::OperatorPrecedence\29\20const +10811:SkSL::BinaryExpression::clone\28SkSL::Position\29\20const +10812:SkSL::ArrayType::slotType\28unsigned\20long\29\20const +10813:SkSL::ArrayType::slotCount\28\29\20const +10814:SkSL::ArrayType::isUnsizedArray\28\29\20const +10815:SkSL::ArrayType::isOrContainsUnsizedArray\28\29\20const +10816:SkSL::ArrayType::isOrContainsAtomic\28\29\20const +10817:SkSL::ArrayType::isBuiltin\28\29\20const +10818:SkSL::ArrayType::isAllowedInUniform\28SkSL::Position*\29\20const +10819:SkSL::AnyConstructor::getConstantValue\28int\29\20const +10820:SkSL::AnyConstructor::description\28SkSL::OperatorPrecedence\29\20const +10821:SkSL::AnyConstructor::compareConstant\28SkSL::Expression\20const&\29\20const +10822:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::~ProgramSizeVisitor\28\29.1 +10823:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitStatement\28SkSL::Statement\20const&\29 +10824:SkSL::Analysis::CheckProgramStructure\28SkSL::Program\20const&\2c\20bool\29::ProgramSizeVisitor::visitExpression\28SkSL::Expression\20const&\29 +10825:SkSL::AliasType::textureAccess\28\29\20const +10826:SkSL::AliasType::slotType\28unsigned\20long\29\20const +10827:SkSL::AliasType::slotCount\28\29\20const +10828:SkSL::AliasType::rows\28\29\20const +10829:SkSL::AliasType::priority\28\29\20const +10830:SkSL::AliasType::isVector\28\29\20const +10831:SkSL::AliasType::isUnsizedArray\28\29\20const +10832:SkSL::AliasType::isStruct\28\29\20const +10833:SkSL::AliasType::isScalar\28\29\20const +10834:SkSL::AliasType::isMultisampled\28\29\20const +10835:SkSL::AliasType::isMatrix\28\29\20const +10836:SkSL::AliasType::isLiteral\28\29\20const +10837:SkSL::AliasType::isInterfaceBlock\28\29\20const +10838:SkSL::AliasType::isDepth\28\29\20const +10839:SkSL::AliasType::isArrayedTexture\28\29\20const +10840:SkSL::AliasType::isArray\28\29\20const +10841:SkSL::AliasType::dimensions\28\29\20const +10842:SkSL::AliasType::componentType\28\29\20const +10843:SkSL::AliasType::columns\28\29\20const +10844:SkSL::AliasType::coercibleTypes\28\29\20const +10845:SkRuntimeShader::~SkRuntimeShader\28\29.1 +10846:SkRuntimeShader::type\28\29\20const +10847:SkRuntimeShader::isOpaque\28\29\20const +10848:SkRuntimeShader::getTypeName\28\29\20const +10849:SkRuntimeShader::flatten\28SkWriteBuffer&\29\20const +10850:SkRuntimeShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +10851:SkRuntimeEffect::~SkRuntimeEffect\28\29.1 +10852:SkRuntimeEffect::MakeFromSource\28SkString\2c\20SkRuntimeEffect::Options\20const&\2c\20SkSL::ProgramKind\29 +10853:SkRuntimeEffect::MakeForColorFilter\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +10854:SkRuntimeEffect::MakeForBlender\28SkString\2c\20SkRuntimeEffect::Options\20const&\29 +10855:SkRgnClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10856:SkRgnClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10857:SkRgnClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10858:SkRgnClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10859:SkRgnClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10860:SkRgnClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10861:SkRgnBuilder::~SkRgnBuilder\28\29.1 +10862:SkRgnBuilder::blitH\28int\2c\20int\2c\20int\29 +10863:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::~Result\28\29.1 +10864:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::rowBytes\28int\29\20const +10865:SkRescaleAndReadPixels\28SkBitmap\2c\20SkImageInfo\20const&\2c\20SkIRect\20const&\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29::Result::data\28int\29\20const +10866:SkRectClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10867:SkRectClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10868:SkRectClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +10869:SkRectClipBlitter::blitH\28int\2c\20int\2c\20int\29 +10870:SkRectClipBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +10871:SkRectClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10872:SkRecorder::~SkRecorder\28\29.1 +10873:SkRecorder::willSave\28\29 +10874:SkRecorder::onResetClip\28\29 +10875:SkRecorder::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10876:SkRecorder::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10877:SkRecorder::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10878:SkRecorder::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10879:SkRecorder::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10880:SkRecorder::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10881:SkRecorder::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10882:SkRecorder::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10883:SkRecorder::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10884:SkRecorder::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10885:SkRecorder::onDrawPaint\28SkPaint\20const&\29 +10886:SkRecorder::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10887:SkRecorder::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +10888:SkRecorder::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10889:SkRecorder::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10890:SkRecorder::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10891:SkRecorder::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +10892:SkRecorder::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10893:SkRecorder::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10894:SkRecorder::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10895:SkRecorder::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10896:SkRecorder::onDrawBehind\28SkPaint\20const&\29 +10897:SkRecorder::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10898:SkRecorder::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10899:SkRecorder::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10900:SkRecorder::onDoSaveBehind\28SkRect\20const*\29 +10901:SkRecorder::onClipShader\28sk_sp\2c\20SkClipOp\29 +10902:SkRecorder::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10903:SkRecorder::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10904:SkRecorder::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10905:SkRecorder::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10906:SkRecorder::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +10907:SkRecorder::didTranslate\28float\2c\20float\29 +10908:SkRecorder::didSetM44\28SkM44\20const&\29 +10909:SkRecorder::didScale\28float\2c\20float\29 +10910:SkRecorder::didRestore\28\29 +10911:SkRecorder::didConcat44\28SkM44\20const&\29 +10912:SkRecordedDrawable::~SkRecordedDrawable\28\29.1 +10913:SkRecordedDrawable::onMakePictureSnapshot\28\29 +10914:SkRecordedDrawable::onGetBounds\28\29 +10915:SkRecordedDrawable::onDraw\28SkCanvas*\29 +10916:SkRecordedDrawable::onApproximateBytesUsed\28\29 +10917:SkRecordedDrawable::getTypeName\28\29\20const +10918:SkRecordedDrawable::flatten\28SkWriteBuffer&\29\20const +10919:SkRecord::~SkRecord\28\29.1 +10920:SkRasterPipelineSpriteBlitter::~SkRasterPipelineSpriteBlitter\28\29.1 +10921:SkRasterPipelineSpriteBlitter::setup\28SkPixmap\20const&\2c\20int\2c\20int\2c\20SkPaint\20const&\29 +10922:SkRasterPipelineSpriteBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10923:SkRasterPipelineBlitter::~SkRasterPipelineBlitter\28\29.1 +10924:SkRasterPipelineBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +10925:SkRasterPipelineBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +10926:SkRasterPipelineBlitter::blitH\28int\2c\20int\2c\20int\29 +10927:SkRasterPipelineBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10928:SkRasterPipelineBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +10929:SkRasterPipelineBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +10930:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_3::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10931:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_2::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10932:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_1::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10933:SkRasterPipelineBlitter::Create\28SkPixmap\20const&\2c\20SkPaint\20const&\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkArenaAlloc*\2c\20SkRasterPipeline\20const&\2c\20bool\2c\20bool\2c\20SkShader\20const*\29::$_0::__invoke\28SkPixmap*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20long\20long\29 +10934:SkRadialGradient::getTypeName\28\29\20const +10935:SkRadialGradient::flatten\28SkWriteBuffer&\29\20const +10936:SkRadialGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +10937:SkRadialGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +10938:SkRTree::~SkRTree\28\29.1 +10939:SkRTree::search\28SkRect\20const&\2c\20std::__2::vector>*\29\20const +10940:SkRTree::insert\28SkRect\20const*\2c\20int\29 +10941:SkRTree::bytesUsed\28\29\20const +10942:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_3::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10943:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_2::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10944:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_1::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10945:SkPixmap::erase\28SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkIRect\20const*\29\20const::$_0::__invoke\28void*\2c\20unsigned\20long\20long\2c\20int\29 +10946:SkPixelRef::~SkPixelRef\28\29.1 +10947:SkPictureRecord::~SkPictureRecord\28\29.1 +10948:SkPictureRecord::willSave\28\29 +10949:SkPictureRecord::willRestore\28\29 +10950:SkPictureRecord::onResetClip\28\29 +10951:SkPictureRecord::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10952:SkPictureRecord::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +10953:SkPictureRecord::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +10954:SkPictureRecord::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +10955:SkPictureRecord::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +10956:SkPictureRecord::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +10957:SkPictureRecord::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +10958:SkPictureRecord::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +10959:SkPictureRecord::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +10960:SkPictureRecord::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +10961:SkPictureRecord::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +10962:SkPictureRecord::onDrawPaint\28SkPaint\20const&\29 +10963:SkPictureRecord::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +10964:SkPictureRecord::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10965:SkPictureRecord::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +10966:SkPictureRecord::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +10967:SkPictureRecord::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +10968:SkPictureRecord::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +10969:SkPictureRecord::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +10970:SkPictureRecord::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +10971:SkPictureRecord::onDrawBehind\28SkPaint\20const&\29 +10972:SkPictureRecord::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +10973:SkPictureRecord::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +10974:SkPictureRecord::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +10975:SkPictureRecord::onDoSaveBehind\28SkRect\20const*\29 +10976:SkPictureRecord::onClipShader\28sk_sp\2c\20SkClipOp\29 +10977:SkPictureRecord::onClipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +10978:SkPictureRecord::onClipRect\28SkRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10979:SkPictureRecord::onClipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10980:SkPictureRecord::onClipPath\28SkPath\20const&\2c\20SkClipOp\2c\20SkCanvas::ClipEdgeStyle\29 +10981:SkPictureRecord::getSaveLayerStrategy\28SkCanvas::SaveLayerRec\20const&\29 +10982:SkPictureRecord::didTranslate\28float\2c\20float\29 +10983:SkPictureRecord::didSetM44\28SkM44\20const&\29 +10984:SkPictureRecord::didScale\28float\2c\20float\29 +10985:SkPictureRecord::didConcat44\28SkM44\20const&\29 +10986:SkPictureImageGenerator::~SkPictureImageGenerator\28\29.1 +10987:SkPictureImageGenerator::onGetPixels\28SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20SkImageGenerator::Options\20const&\29 +10988:SkOTUtils::LocalizedStrings_SingleName::~LocalizedStrings_SingleName\28\29.1 +10989:SkOTUtils::LocalizedStrings_SingleName::next\28SkTypeface::LocalizedString*\29 +10990:SkOTUtils::LocalizedStrings_NameTable::~LocalizedStrings_NameTable\28\29.1 +10991:SkOTUtils::LocalizedStrings_NameTable::next\28SkTypeface::LocalizedString*\29 +10992:SkNoPixelsDevice::~SkNoPixelsDevice\28\29.1 +10993:SkNoPixelsDevice::replaceClip\28SkIRect\20const&\29 +10994:SkNoPixelsDevice::pushClipStack\28\29 +10995:SkNoPixelsDevice::popClipStack\28\29 +10996:SkNoPixelsDevice::onClipShader\28sk_sp\29 +10997:SkNoPixelsDevice::isClipWideOpen\28\29\20const +10998:SkNoPixelsDevice::isClipRect\28\29\20const +10999:SkNoPixelsDevice::isClipEmpty\28\29\20const +11000:SkNoPixelsDevice::isClipAntiAliased\28\29\20const +11001:SkNoPixelsDevice::devClipBounds\28\29\20const +11002:SkNoPixelsDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +11003:SkNoPixelsDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +11004:SkNoPixelsDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +11005:SkNoPixelsDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +11006:SkNoPixelsDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +11007:SkMipmap::~SkMipmap\28\29.1 +11008:SkMipmap::onDataChange\28void*\2c\20void*\29 +11009:SkMemoryStream::~SkMemoryStream\28\29.1 +11010:SkMemoryStream::setMemory\28void\20const*\2c\20unsigned\20long\2c\20bool\29 +11011:SkMemoryStream::seek\28unsigned\20long\29 +11012:SkMemoryStream::rewind\28\29 +11013:SkMemoryStream::read\28void*\2c\20unsigned\20long\29 +11014:SkMemoryStream::peek\28void*\2c\20unsigned\20long\29\20const +11015:SkMemoryStream::onFork\28\29\20const +11016:SkMemoryStream::onDuplicate\28\29\20const +11017:SkMemoryStream::move\28long\29 +11018:SkMemoryStream::isAtEnd\28\29\20const +11019:SkMemoryStream::getMemoryBase\28\29 +11020:SkMemoryStream::getLength\28\29\20const +11021:SkMemoryStream::getData\28\29\20const +11022:SkMatrixColorFilter::onIsAlphaUnchanged\28\29\20const +11023:SkMatrixColorFilter::onAsAColorMatrix\28float*\29\20const +11024:SkMatrixColorFilter::getTypeName\28\29\20const +11025:SkMatrixColorFilter::flatten\28SkWriteBuffer&\29\20const +11026:SkMatrixColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +11027:SkMatrix::Trans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +11028:SkMatrix::Trans_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +11029:SkMatrix::Scale_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +11030:SkMatrix::Scale_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +11031:SkMatrix::ScaleTrans_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +11032:SkMatrix::Poly4Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +11033:SkMatrix::Poly3Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +11034:SkMatrix::Poly2Proc\28SkPoint\20const*\2c\20SkMatrix*\29 +11035:SkMatrix::Persp_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +11036:SkMatrix::Persp_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +11037:SkMatrix::Identity_xy\28SkMatrix\20const&\2c\20float\2c\20float\2c\20SkPoint*\29 +11038:SkMatrix::Identity_pts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +11039:SkMatrix::Affine_vpts\28SkMatrix\20const&\2c\20SkPoint*\2c\20SkPoint\20const*\2c\20int\29 +11040:SkMaskFilterBase::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +11041:SkMaskFilterBase::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +11042:SkMallocPixelRef::MakeAllocate\28SkImageInfo\20const&\2c\20unsigned\20long\29::PixelRef::~PixelRef\28\29.1 +11043:SkMakePixelRefWithProc\28int\2c\20int\2c\20unsigned\20long\2c\20void*\2c\20void\20\28*\29\28void*\2c\20void*\29\2c\20void*\29::PixelRef::~PixelRef\28\29.1 +11044:SkLocalMatrixShader::~SkLocalMatrixShader\28\29.1 +11045:SkLocalMatrixShader::~SkLocalMatrixShader\28\29 +11046:SkLocalMatrixShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +11047:SkLocalMatrixShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +11048:SkLocalMatrixShader::makeAsALocalMatrixShader\28SkMatrix*\29\20const +11049:SkLocalMatrixShader::isOpaque\28\29\20const +11050:SkLocalMatrixShader::isConstant\28\29\20const +11051:SkLocalMatrixShader::getTypeName\28\29\20const +11052:SkLocalMatrixShader::flatten\28SkWriteBuffer&\29\20const +11053:SkLocalMatrixShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +11054:SkLocalMatrixShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11055:SkLinearGradient::getTypeName\28\29\20const +11056:SkLinearGradient::flatten\28SkWriteBuffer&\29\20const +11057:SkLinearGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +11058:SkJSONWriter::popScope\28\29 +11059:SkIntersections::hasOppT\28double\29\20const +11060:SkImage_Raster::~SkImage_Raster\28\29.1 +11061:SkImage_Raster::onReinterpretColorSpace\28sk_sp\29\20const +11062:SkImage_Raster::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +11063:SkImage_Raster::onPeekPixels\28SkPixmap*\29\20const +11064:SkImage_Raster::onPeekMips\28\29\20const +11065:SkImage_Raster::onMakeWithMipmaps\28sk_sp\29\20const +11066:SkImage_Raster::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +11067:SkImage_Raster::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +11068:SkImage_Raster::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +11069:SkImage_Raster::onHasMipmaps\28\29\20const +11070:SkImage_Raster::onAsLegacyBitmap\28GrDirectContext*\2c\20SkBitmap*\29\20const +11071:SkImage_Raster::notifyAddedToRasterCache\28\29\20const +11072:SkImage_Raster::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +11073:SkImage_LazyTexture::readPixelsProxy\28GrDirectContext*\2c\20SkPixmap\20const&\29\20const +11074:SkImage_LazyTexture::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +11075:SkImage_Lazy::onReinterpretColorSpace\28sk_sp\29\20const +11076:SkImage_Lazy::onRefEncoded\28\29\20const +11077:SkImage_Lazy::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +11078:SkImage_Lazy::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +11079:SkImage_Lazy::onMakeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +11080:SkImage_Lazy::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +11081:SkImage_Lazy::onIsProtected\28\29\20const +11082:SkImage_Lazy::isValid\28GrRecordingContext*\29\20const +11083:SkImage_Lazy::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +11084:SkImage_GaneshBase::onReadPixels\28GrDirectContext*\2c\20SkImageInfo\20const&\2c\20void*\2c\20unsigned\20long\2c\20int\2c\20int\2c\20SkImage::CachingHint\29\20const +11085:SkImage_GaneshBase::onMakeSurface\28skgpu::graphite::Recorder*\2c\20SkImageInfo\20const&\29\20const +11086:SkImage_GaneshBase::onMakeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +11087:SkImage_GaneshBase::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +11088:SkImage_GaneshBase::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +11089:SkImage_GaneshBase::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +11090:SkImage_GaneshBase::isValid\28GrRecordingContext*\29\20const +11091:SkImage_GaneshBase::getROPixels\28GrDirectContext*\2c\20SkBitmap*\2c\20SkImage::CachingHint\29\20const +11092:SkImage_GaneshBase::directContext\28\29\20const +11093:SkImage_Ganesh::~SkImage_Ganesh\28\29.1 +11094:SkImage_Ganesh::textureSize\28\29\20const +11095:SkImage_Ganesh::onReinterpretColorSpace\28sk_sp\29\20const +11096:SkImage_Ganesh::onMakeColorTypeAndColorSpace\28SkColorType\2c\20sk_sp\2c\20GrDirectContext*\29\20const +11097:SkImage_Ganesh::onIsProtected\28\29\20const +11098:SkImage_Ganesh::onHasMipmaps\28\29\20const +11099:SkImage_Ganesh::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +11100:SkImage_Ganesh::onAsyncRescaleAndReadPixelsYUV420\28SkYUVColorSpace\2c\20bool\2c\20sk_sp\2c\20SkIRect\2c\20SkISize\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +11101:SkImage_Ganesh::generatingSurfaceIsDeleted\28\29 +11102:SkImage_Ganesh::flush\28GrDirectContext*\2c\20GrFlushInfo\20const&\29\20const +11103:SkImage_Ganesh::asView\28GrRecordingContext*\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29\20const +11104:SkImage_Ganesh::asFragmentProcessor\28GrRecordingContext*\2c\20SkSamplingOptions\2c\20SkTileMode\20const*\2c\20SkMatrix\20const&\2c\20SkRect\20const*\2c\20SkRect\20const*\29\20const +11105:SkImage_Base::onAsyncRescaleAndReadPixels\28SkImageInfo\20const&\2c\20SkIRect\2c\20SkImage::RescaleGamma\2c\20SkImage::RescaleMode\2c\20void\20\28*\29\28void*\2c\20std::__2::unique_ptr>\29\2c\20void*\29\20const +11106:SkImage_Base::notifyAddedToRasterCache\28\29\20const +11107:SkImage_Base::makeSubset\28skgpu::graphite::Recorder*\2c\20SkIRect\20const&\2c\20SkImage::RequiredProperties\29\20const +11108:SkImage_Base::makeSubset\28GrDirectContext*\2c\20SkIRect\20const&\29\20const +11109:SkImage_Base::makeColorTypeAndColorSpace\28skgpu::graphite::Recorder*\2c\20SkColorType\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +11110:SkImage_Base::makeColorTypeAndColorSpace\28GrDirectContext*\2c\20SkColorType\2c\20sk_sp\29\20const +11111:SkImage_Base::makeColorSpace\28skgpu::graphite::Recorder*\2c\20sk_sp\2c\20SkImage::RequiredProperties\29\20const +11112:SkImage_Base::makeColorSpace\28GrDirectContext*\2c\20sk_sp\29\20const +11113:SkImage_Base::isTextureBacked\28\29\20const +11114:SkImage_Base::isLazyGenerated\28\29\20const +11115:SkImageShader::~SkImageShader\28\29.1 +11116:SkImageShader::type\28\29\20const +11117:SkImageShader::onIsAImage\28SkMatrix*\2c\20SkTileMode*\29\20const +11118:SkImageShader::isOpaque\28\29\20const +11119:SkImageShader::getTypeName\28\29\20const +11120:SkImageShader::flatten\28SkWriteBuffer&\29\20const +11121:SkImageShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11122:SkImageGenerator::~SkImageGenerator\28\29.1 +11123:SkImageFilter::computeFastBounds\28SkRect\20const&\29\20const +11124:SkGradientBaseShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +11125:SkGradientBaseShader::isOpaque\28\29\20const +11126:SkGradientBaseShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11127:SkGaussianColorFilter::getTypeName\28\29\20const +11128:SkGaussianColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +11129:SkGammaColorSpaceLuminance::toLuma\28float\2c\20float\29\20const +11130:SkGammaColorSpaceLuminance::fromLuma\28float\2c\20float\29\20const +11131:SkFontStyleSet_Custom::~SkFontStyleSet_Custom\28\29.1 +11132:SkFontStyleSet_Custom::getStyle\28int\2c\20SkFontStyle*\2c\20SkString*\29 +11133:SkFontScanner_FreeType::~SkFontScanner_FreeType\28\29.1 +11134:SkFontScanner_FreeType::scanFile\28SkStreamAsset*\2c\20int*\29\20const +11135:SkFontScanner_FreeType::scanFace\28SkStreamAsset*\2c\20int\2c\20int*\29\20const +11136:SkFontMgr_Custom::~SkFontMgr_Custom\28\29.1 +11137:SkFontMgr_Custom::onMatchFamily\28char\20const*\29\20const +11138:SkFontMgr_Custom::onMatchFamilyStyle\28char\20const*\2c\20SkFontStyle\20const&\29\20const +11139:SkFontMgr_Custom::onMakeFromStreamIndex\28std::__2::unique_ptr>\2c\20int\29\20const +11140:SkFontMgr_Custom::onMakeFromStreamArgs\28std::__2::unique_ptr>\2c\20SkFontArguments\20const&\29\20const +11141:SkFontMgr_Custom::onMakeFromFile\28char\20const*\2c\20int\29\20const +11142:SkFontMgr_Custom::onMakeFromData\28sk_sp\2c\20int\29\20const +11143:SkFontMgr_Custom::onLegacyMakeTypeface\28char\20const*\2c\20SkFontStyle\29\20const +11144:SkFontMgr_Custom::onGetFamilyName\28int\2c\20SkString*\29\20const +11145:SkFILEStream::~SkFILEStream\28\29.1 +11146:SkFILEStream::seek\28unsigned\20long\29 +11147:SkFILEStream::rewind\28\29 +11148:SkFILEStream::read\28void*\2c\20unsigned\20long\29 +11149:SkFILEStream::onFork\28\29\20const +11150:SkFILEStream::onDuplicate\28\29\20const +11151:SkFILEStream::move\28long\29 +11152:SkFILEStream::isAtEnd\28\29\20const +11153:SkFILEStream::getPosition\28\29\20const +11154:SkFILEStream::getLength\28\29\20const +11155:SkEmptyShader::getTypeName\28\29\20const +11156:SkEmptyPicture::~SkEmptyPicture\28\29 +11157:SkEmptyPicture::cullRect\28\29\20const +11158:SkEmptyPicture::approximateBytesUsed\28\29\20const +11159:SkEmptyFontMgr::onMatchFamily\28char\20const*\29\20const +11160:SkEdgeBuilder::build\28SkPath\20const&\2c\20SkIRect\20const*\2c\20bool\29::$_0::__invoke\28SkEdgeClipper*\2c\20bool\2c\20void*\29 +11161:SkDynamicMemoryWStream::~SkDynamicMemoryWStream\28\29.1 +11162:SkDynamicMemoryWStream::bytesWritten\28\29\20const +11163:SkDraw::paintMasks\28SkZip\2c\20SkPaint\20const&\29\20const +11164:SkDevice::strikeDeviceInfo\28\29\20const +11165:SkDevice::drawSlug\28SkCanvas*\2c\20sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +11166:SkDevice::drawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +11167:SkDevice::drawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20sk_sp\2c\20SkPaint\20const&\29 +11168:SkDevice::drawImageLattice\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const&\29 +11169:SkDevice::drawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +11170:SkDevice::drawEdgeAAImageSet\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +11171:SkDevice::drawDrawable\28SkCanvas*\2c\20SkDrawable*\2c\20SkMatrix\20const*\29 +11172:SkDevice::drawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +11173:SkDevice::drawCoverageMask\28SkSpecialImage\20const*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\29 +11174:SkDevice::drawBlurredRRect\28SkRRect\20const&\2c\20SkPaint\20const&\2c\20float\29 +11175:SkDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +11176:SkDevice::drawAsTiledImageRect\28SkCanvas*\2c\20SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +11177:SkDevice::createImageFilteringBackend\28SkSurfaceProps\20const&\2c\20SkColorType\29\20const +11178:SkDashImpl::~SkDashImpl\28\29.1 +11179:SkDashImpl::onFilterPath\28SkPath*\2c\20SkPath\20const&\2c\20SkStrokeRec*\2c\20SkRect\20const*\2c\20SkMatrix\20const&\29\20const +11180:SkDashImpl::onAsPoints\28SkPathEffectBase::PointData*\2c\20SkPath\20const&\2c\20SkStrokeRec\20const&\2c\20SkMatrix\20const&\2c\20SkRect\20const*\29\20const +11181:SkDashImpl::onAsADash\28SkPathEffect::DashInfo*\29\20const +11182:SkDashImpl::getTypeName\28\29\20const +11183:SkDashImpl::flatten\28SkWriteBuffer&\29\20const +11184:SkDCurve::nearPoint\28SkPath::Verb\2c\20SkDPoint\20const&\2c\20SkDPoint\20const&\29\20const +11185:SkContourMeasure::~SkContourMeasure\28\29.1 +11186:SkConicalGradient::getTypeName\28\29\20const +11187:SkConicalGradient::flatten\28SkWriteBuffer&\29\20const +11188:SkConicalGradient::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +11189:SkConicalGradient::appendGradientStages\28SkArenaAlloc*\2c\20SkRasterPipeline*\2c\20SkRasterPipeline*\29\20const +11190:SkComposeColorFilter::onIsAlphaUnchanged\28\29\20const +11191:SkComposeColorFilter::getTypeName\28\29\20const +11192:SkComposeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +11193:SkColorSpaceXformColorFilter::~SkColorSpaceXformColorFilter\28\29.1 +11194:SkColorSpaceXformColorFilter::getTypeName\28\29\20const +11195:SkColorSpaceXformColorFilter::flatten\28SkWriteBuffer&\29\20const +11196:SkColorSpaceXformColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +11197:SkColorShader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +11198:SkColorShader::isOpaque\28\29\20const +11199:SkColorShader::getTypeName\28\29\20const +11200:SkColorShader::flatten\28SkWriteBuffer&\29\20const +11201:SkColorShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11202:SkColorFilterShader::~SkColorFilterShader\28\29.1 +11203:SkColorFilterShader::isOpaque\28\29\20const +11204:SkColorFilterShader::getTypeName\28\29\20const +11205:SkColorFilterShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11206:SkColorFilterBase::onFilterColor4f\28SkRGBA4f<\28SkAlphaType\292>\20const&\2c\20SkColorSpace*\29\20const +11207:SkColor4Shader::~SkColor4Shader\28\29.1 +11208:SkColor4Shader::onAsLuminanceColor\28SkRGBA4f<\28SkAlphaType\293>*\29\20const +11209:SkColor4Shader::isOpaque\28\29\20const +11210:SkColor4Shader::getTypeName\28\29\20const +11211:SkColor4Shader::flatten\28SkWriteBuffer&\29\20const +11212:SkColor4Shader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11213:SkCoincidentSpans::setOppPtTStart\28SkOpPtT\20const*\29 +11214:SkCoincidentSpans::setOppPtTEnd\28SkOpPtT\20const*\29 +11215:SkCoincidentSpans::setCoinPtTStart\28SkOpPtT\20const*\29 +11216:SkCoincidentSpans::setCoinPtTEnd\28SkOpPtT\20const*\29 +11217:SkCanvas::~SkCanvas\28\29.1 +11218:SkCanvas::recordingContext\28\29\20const +11219:SkCanvas::recorder\28\29\20const +11220:SkCanvas::onPeekPixels\28SkPixmap*\29 +11221:SkCanvas::onNewSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +11222:SkCanvas::onImageInfo\28\29\20const +11223:SkCanvas::onGetProps\28SkSurfaceProps*\2c\20bool\29\20const +11224:SkCanvas::onDrawVerticesObject\28SkVertices\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +11225:SkCanvas::onDrawTextBlob\28SkTextBlob\20const*\2c\20float\2c\20float\2c\20SkPaint\20const&\29 +11226:SkCanvas::onDrawSlug\28sktext::gpu::Slug\20const*\2c\20SkPaint\20const&\29 +11227:SkCanvas::onDrawShadowRec\28SkPath\20const&\2c\20SkDrawShadowRec\20const&\29 +11228:SkCanvas::onDrawRegion\28SkRegion\20const&\2c\20SkPaint\20const&\29 +11229:SkCanvas::onDrawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +11230:SkCanvas::onDrawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +11231:SkCanvas::onDrawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +11232:SkCanvas::onDrawPicture\28SkPicture\20const*\2c\20SkMatrix\20const*\2c\20SkPaint\20const*\29 +11233:SkCanvas::onDrawPath\28SkPath\20const&\2c\20SkPaint\20const&\29 +11234:SkCanvas::onDrawPatch\28SkPoint\20const*\2c\20unsigned\20int\20const*\2c\20SkPoint\20const*\2c\20SkBlendMode\2c\20SkPaint\20const&\29 +11235:SkCanvas::onDrawPaint\28SkPaint\20const&\29 +11236:SkCanvas::onDrawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +11237:SkCanvas::onDrawMesh\28SkMesh\20const&\2c\20sk_sp\2c\20SkPaint\20const&\29 +11238:SkCanvas::onDrawImageRect2\28SkImage\20const*\2c\20SkRect\20const&\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +11239:SkCanvas::onDrawImageLattice2\28SkImage\20const*\2c\20SkCanvas::Lattice\20const&\2c\20SkRect\20const&\2c\20SkFilterMode\2c\20SkPaint\20const*\29 +11240:SkCanvas::onDrawImage2\28SkImage\20const*\2c\20float\2c\20float\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\29 +11241:SkCanvas::onDrawGlyphRunList\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +11242:SkCanvas::onDrawEdgeAAQuad\28SkRect\20const&\2c\20SkPoint\20const*\2c\20SkCanvas::QuadAAFlags\2c\20SkRGBA4f<\28SkAlphaType\293>\20const&\2c\20SkBlendMode\29 +11243:SkCanvas::onDrawEdgeAAImageSet2\28SkCanvas::ImageSetEntry\20const*\2c\20int\2c\20SkPoint\20const*\2c\20SkMatrix\20const*\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const*\2c\20SkCanvas::SrcRectConstraint\29 +11244:SkCanvas::onDrawDrawable\28SkDrawable*\2c\20SkMatrix\20const*\29 +11245:SkCanvas::onDrawDRRect\28SkRRect\20const&\2c\20SkRRect\20const&\2c\20SkPaint\20const&\29 +11246:SkCanvas::onDrawBehind\28SkPaint\20const&\29 +11247:SkCanvas::onDrawAtlas2\28SkImage\20const*\2c\20SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20SkBlendMode\2c\20SkSamplingOptions\20const&\2c\20SkRect\20const*\2c\20SkPaint\20const*\29 +11248:SkCanvas::onDrawArc\28SkRect\20const&\2c\20float\2c\20float\2c\20bool\2c\20SkPaint\20const&\29 +11249:SkCanvas::onDrawAnnotation\28SkRect\20const&\2c\20char\20const*\2c\20SkData*\29 +11250:SkCanvas::onDiscard\28\29 +11251:SkCanvas::onConvertGlyphRunListToSlug\28sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +11252:SkCanvas::onAccessTopLayerPixels\28SkPixmap*\29 +11253:SkCanvas::isClipRect\28\29\20const +11254:SkCanvas::isClipEmpty\28\29\20const +11255:SkCanvas::getBaseLayerSize\28\29\20const +11256:SkCachedData::~SkCachedData\28\29.1 +11257:SkCTMShader::~SkCTMShader\28\29.1 +11258:SkCTMShader::~SkCTMShader\28\29 +11259:SkCTMShader::isConstant\28\29\20const +11260:SkCTMShader::getTypeName\28\29\20const +11261:SkCTMShader::asGradient\28SkShaderBase::GradientInfo*\2c\20SkMatrix*\29\20const +11262:SkCTMShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11263:SkBreakIterator_client::~SkBreakIterator_client\28\29.1 +11264:SkBreakIterator_client::status\28\29 +11265:SkBreakIterator_client::setText\28char\20const*\2c\20int\29 +11266:SkBreakIterator_client::setText\28char16_t\20const*\2c\20int\29 +11267:SkBreakIterator_client::next\28\29 +11268:SkBreakIterator_client::isDone\28\29 +11269:SkBreakIterator_client::first\28\29 +11270:SkBreakIterator_client::current\28\29 +11271:SkBlurMaskFilterImpl::getTypeName\28\29\20const +11272:SkBlurMaskFilterImpl::flatten\28SkWriteBuffer&\29\20const +11273:SkBlurMaskFilterImpl::filterRectsToNine\28SkRect\20const*\2c\20int\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +11274:SkBlurMaskFilterImpl::filterRRectToNine\28SkRRect\20const&\2c\20SkMatrix\20const&\2c\20SkIRect\20const&\2c\20SkTLazy*\29\20const +11275:SkBlurMaskFilterImpl::filterMask\28SkMaskBuilder*\2c\20SkMask\20const&\2c\20SkMatrix\20const&\2c\20SkIPoint*\29\20const +11276:SkBlurMaskFilterImpl::computeFastBounds\28SkRect\20const&\2c\20SkRect*\29\20const +11277:SkBlurMaskFilterImpl::asImageFilter\28SkMatrix\20const&\29\20const +11278:SkBlurMaskFilterImpl::asABlur\28SkMaskFilterBase::BlurRec*\29\20const +11279:SkBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11280:SkBlitter::blitAntiV2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +11281:SkBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11282:SkBlitter::blitAntiH2\28int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +11283:SkBlitter::allocBlitMemory\28unsigned\20long\29 +11284:SkBlendShader::getTypeName\28\29\20const +11285:SkBlendShader::flatten\28SkWriteBuffer&\29\20const +11286:SkBlendShader::appendStages\28SkStageRec\20const&\2c\20SkShaders::MatrixRec\20const&\29\20const +11287:SkBlendModeColorFilter::onIsAlphaUnchanged\28\29\20const +11288:SkBlendModeColorFilter::onAsAColorMode\28unsigned\20int*\2c\20SkBlendMode*\29\20const +11289:SkBlendModeColorFilter::getTypeName\28\29\20const +11290:SkBlendModeColorFilter::flatten\28SkWriteBuffer&\29\20const +11291:SkBlendModeColorFilter::appendStages\28SkStageRec\20const&\2c\20bool\29\20const +11292:SkBlendModeBlender::onAppendStages\28SkStageRec\20const&\29\20const +11293:SkBlendModeBlender::getTypeName\28\29\20const +11294:SkBlendModeBlender::flatten\28SkWriteBuffer&\29\20const +11295:SkBlendModeBlender::asBlendMode\28\29\20const +11296:SkBitmapDevice::~SkBitmapDevice\28\29.1 +11297:SkBitmapDevice::snapSpecial\28SkIRect\20const&\2c\20bool\29 +11298:SkBitmapDevice::setImmutable\28\29 +11299:SkBitmapDevice::replaceClip\28SkIRect\20const&\29 +11300:SkBitmapDevice::pushClipStack\28\29 +11301:SkBitmapDevice::popClipStack\28\29 +11302:SkBitmapDevice::onWritePixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +11303:SkBitmapDevice::onReadPixels\28SkPixmap\20const&\2c\20int\2c\20int\29 +11304:SkBitmapDevice::onPeekPixels\28SkPixmap*\29 +11305:SkBitmapDevice::onDrawGlyphRunList\28SkCanvas*\2c\20sktext::GlyphRunList\20const&\2c\20SkPaint\20const&\29 +11306:SkBitmapDevice::onClipShader\28sk_sp\29 +11307:SkBitmapDevice::onAccessPixels\28SkPixmap*\29 +11308:SkBitmapDevice::makeSurface\28SkImageInfo\20const&\2c\20SkSurfaceProps\20const&\29 +11309:SkBitmapDevice::makeSpecial\28SkImage\20const*\29 +11310:SkBitmapDevice::makeSpecial\28SkBitmap\20const&\29 +11311:SkBitmapDevice::isClipWideOpen\28\29\20const +11312:SkBitmapDevice::isClipRect\28\29\20const +11313:SkBitmapDevice::isClipEmpty\28\29\20const +11314:SkBitmapDevice::isClipAntiAliased\28\29\20const +11315:SkBitmapDevice::getRasterHandle\28\29\20const +11316:SkBitmapDevice::drawVertices\28SkVertices\20const*\2c\20sk_sp\2c\20SkPaint\20const&\2c\20bool\29 +11317:SkBitmapDevice::drawSpecial\28SkSpecialImage*\2c\20SkMatrix\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +11318:SkBitmapDevice::drawRect\28SkRect\20const&\2c\20SkPaint\20const&\29 +11319:SkBitmapDevice::drawRRect\28SkRRect\20const&\2c\20SkPaint\20const&\29 +11320:SkBitmapDevice::drawPoints\28SkCanvas::PointMode\2c\20unsigned\20long\2c\20SkPoint\20const*\2c\20SkPaint\20const&\29 +11321:SkBitmapDevice::drawPath\28SkPath\20const&\2c\20SkPaint\20const&\2c\20bool\29 +11322:SkBitmapDevice::drawPaint\28SkPaint\20const&\29 +11323:SkBitmapDevice::drawOval\28SkRect\20const&\2c\20SkPaint\20const&\29 +11324:SkBitmapDevice::drawImageRect\28SkImage\20const*\2c\20SkRect\20const*\2c\20SkRect\20const&\2c\20SkSamplingOptions\20const&\2c\20SkPaint\20const&\2c\20SkCanvas::SrcRectConstraint\29 +11325:SkBitmapDevice::drawAtlas\28SkRSXform\20const*\2c\20SkRect\20const*\2c\20unsigned\20int\20const*\2c\20int\2c\20sk_sp\2c\20SkPaint\20const&\29 +11326:SkBitmapDevice::devClipBounds\28\29\20const +11327:SkBitmapDevice::createDevice\28SkDevice::CreateInfo\20const&\2c\20SkPaint\20const*\29 +11328:SkBitmapDevice::clipRegion\28SkRegion\20const&\2c\20SkClipOp\29 +11329:SkBitmapDevice::clipRect\28SkRect\20const&\2c\20SkClipOp\2c\20bool\29 +11330:SkBitmapDevice::clipRRect\28SkRRect\20const&\2c\20SkClipOp\2c\20bool\29 +11331:SkBitmapDevice::clipPath\28SkPath\20const&\2c\20SkClipOp\2c\20bool\29 +11332:SkBitmapDevice::android_utils_clipAsRgn\28SkRegion*\29\20const +11333:SkBitmapCache::Rec::~Rec\28\29.1 +11334:SkBitmapCache::Rec::postAddInstall\28void*\29 +11335:SkBitmapCache::Rec::getCategory\28\29\20const +11336:SkBitmapCache::Rec::canBePurged\28\29 +11337:SkBitmapCache::Rec::bytesUsed\28\29\20const +11338:SkBitmapCache::Rec::ReleaseProc\28void*\2c\20void*\29 +11339:SkBitmapCache::Rec::Finder\28SkResourceCache::Rec\20const&\2c\20void*\29 +11340:SkBinaryWriteBuffer::~SkBinaryWriteBuffer\28\29.1 +11341:SkBinaryWriteBuffer::write\28SkM44\20const&\29 +11342:SkBinaryWriteBuffer::writeTypeface\28SkTypeface*\29 +11343:SkBinaryWriteBuffer::writeString\28std::__2::basic_string_view>\29 +11344:SkBinaryWriteBuffer::writeStream\28SkStream*\2c\20unsigned\20long\29 +11345:SkBinaryWriteBuffer::writeScalar\28float\29 +11346:SkBinaryWriteBuffer::writeSampling\28SkSamplingOptions\20const&\29 +11347:SkBinaryWriteBuffer::writeRegion\28SkRegion\20const&\29 +11348:SkBinaryWriteBuffer::writeRect\28SkRect\20const&\29 +11349:SkBinaryWriteBuffer::writePoint\28SkPoint\20const&\29 +11350:SkBinaryWriteBuffer::writePointArray\28SkPoint\20const*\2c\20unsigned\20int\29 +11351:SkBinaryWriteBuffer::writePoint3\28SkPoint3\20const&\29 +11352:SkBinaryWriteBuffer::writePath\28SkPath\20const&\29 +11353:SkBinaryWriteBuffer::writePaint\28SkPaint\20const&\29 +11354:SkBinaryWriteBuffer::writePad32\28void\20const*\2c\20unsigned\20long\29 +11355:SkBinaryWriteBuffer::writeMatrix\28SkMatrix\20const&\29 +11356:SkBinaryWriteBuffer::writeImage\28SkImage\20const*\29 +11357:SkBinaryWriteBuffer::writeColor4fArray\28SkRGBA4f<\28SkAlphaType\293>\20const*\2c\20unsigned\20int\29 +11358:SkBinaryWriteBuffer::writeBool\28bool\29 +11359:SkBigPicture::~SkBigPicture\28\29.1 +11360:SkBigPicture::playback\28SkCanvas*\2c\20SkPicture::AbortCallback*\29\20const +11361:SkBigPicture::cullRect\28\29\20const +11362:SkBigPicture::approximateOpCount\28bool\29\20const +11363:SkBigPicture::approximateBytesUsed\28\29\20const +11364:SkBidiSubsetFactory::errorName\28UErrorCode\29\20const +11365:SkBidiSubsetFactory::bidi_setPara\28UBiDi*\2c\20char16_t\20const*\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char*\2c\20UErrorCode*\29\20const +11366:SkBidiSubsetFactory::bidi_reorderVisual\28unsigned\20char\20const*\2c\20int\2c\20int*\29\20const +11367:SkBidiSubsetFactory::bidi_openSized\28int\2c\20int\2c\20UErrorCode*\29\20const +11368:SkBidiSubsetFactory::bidi_getLevelAt\28UBiDi\20const*\2c\20int\29\20const +11369:SkBidiSubsetFactory::bidi_getLength\28UBiDi\20const*\29\20const +11370:SkBidiSubsetFactory::bidi_getDirection\28UBiDi\20const*\29\20const +11371:SkBidiSubsetFactory::bidi_close_callback\28\29\20const +11372:SkBasicEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +11373:SkBasicEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +11374:SkBasicEdgeBuilder::addQuad\28SkPoint\20const*\29 +11375:SkBasicEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +11376:SkBasicEdgeBuilder::addLine\28SkPoint\20const*\29 +11377:SkBasicEdgeBuilder::addCubic\28SkPoint\20const*\29 +11378:SkBBoxHierarchy::insert\28SkRect\20const*\2c\20SkBBoxHierarchy::Metadata\20const*\2c\20int\29 +11379:SkArenaAlloc::SkipPod\28char*\29 +11380:SkArenaAlloc::NextBlock\28char*\29 +11381:SkAnalyticEdgeBuilder::recoverClip\28SkIRect\20const&\29\20const +11382:SkAnalyticEdgeBuilder::allocEdges\28unsigned\20long\2c\20unsigned\20long*\29 +11383:SkAnalyticEdgeBuilder::addQuad\28SkPoint\20const*\29 +11384:SkAnalyticEdgeBuilder::addPolyLine\28SkPoint\20const*\2c\20char*\2c\20char**\29 +11385:SkAnalyticEdgeBuilder::addLine\28SkPoint\20const*\29 +11386:SkAnalyticEdgeBuilder::addCubic\28SkPoint\20const*\29 +11387:SkAAClipBlitter::~SkAAClipBlitter\28\29.1 +11388:SkAAClipBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11389:SkAAClipBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11390:SkAAClipBlitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11391:SkAAClipBlitter::blitH\28int\2c\20int\2c\20int\29 +11392:SkAAClipBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11393:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_1::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +11394:SkAAClip::Builder::operateY\28SkAAClip\20const&\2c\20SkAAClip\20const&\2c\20SkClipOp\29::$_0::__invoke\28unsigned\20int\2c\20unsigned\20int\29 +11395:SkAAClip::Builder::Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11396:SkAAClip::Builder::Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11397:SkAAClip::Builder::Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11398:SkAAClip::Builder::Blitter::blitH\28int\2c\20int\2c\20int\29 +11399:SkAAClip::Builder::Blitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11400:SkA8_Coverage_Blitter::~SkA8_Coverage_Blitter\28\29.1 +11401:SkA8_Coverage_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11402:SkA8_Coverage_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11403:SkA8_Coverage_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11404:SkA8_Coverage_Blitter::blitH\28int\2c\20int\2c\20int\29 +11405:SkA8_Coverage_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11406:SkA8_Blitter::~SkA8_Blitter\28\29.1 +11407:SkA8_Blitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11408:SkA8_Blitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11409:SkA8_Blitter::blitMask\28SkMask\20const&\2c\20SkIRect\20const&\29 +11410:SkA8_Blitter::blitH\28int\2c\20int\2c\20int\29 +11411:SkA8_Blitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20short\20const*\29 +11412:SkA8Blitter_Choose\28SkPixmap\20const&\2c\20SkMatrix\20const&\2c\20SkPaint\20const&\2c\20SkArenaAlloc*\2c\20bool\2c\20sk_sp\2c\20SkSurfaceProps\20const&\29 +11413:ShaderPDXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11414:ShaderPDXferProcessor::name\28\29\20const +11415:ShaderPDXferProcessor::makeProgramImpl\28\29\20const +11416:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11417:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11418:SafeRLEAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11419:RuntimeEffectRPCallbacks::toLinearSrgb\28void\20const*\29 +11420:RuntimeEffectRPCallbacks::fromLinearSrgb\28void\20const*\29 +11421:RuntimeEffectRPCallbacks::appendShader\28int\29 +11422:RuntimeEffectRPCallbacks::appendColorFilter\28int\29 +11423:RuntimeEffectRPCallbacks::appendBlender\28int\29 +11424:RunBasedAdditiveBlitter::getRealBlitter\28bool\29 +11425:RunBasedAdditiveBlitter::flush_if_y_changed\28int\2c\20int\29 +11426:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11427:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11428:RunBasedAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11429:Round_Up_To_Grid +11430:Round_To_Half_Grid +11431:Round_To_Grid +11432:Round_To_Double_Grid +11433:Round_Super_45 +11434:Round_Super +11435:Round_None +11436:Round_Down_To_Grid +11437:RoundJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11438:RoundCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +11439:Read_CVT_Stretched +11440:Read_CVT +11441:Project_y +11442:Project +11443:PrePostInverseBlitterProc\28SkBlitter*\2c\20int\2c\20bool\29 +11444:PorterDuffXferProcessor::onHasSecondaryOutput\28\29\20const +11445:PorterDuffXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11446:PorterDuffXferProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11447:PorterDuffXferProcessor::name\28\29\20const +11448:PorterDuffXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11449:PorterDuffXferProcessor::makeProgramImpl\28\29\20const +11450:PDLCDXferProcessor::onIsEqual\28GrXferProcessor\20const&\29\20const +11451:PDLCDXferProcessor::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11452:PDLCDXferProcessor::name\28\29\20const +11453:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrXferProcessor\20const&\29 +11454:PDLCDXferProcessor::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11455:PDLCDXferProcessor::makeProgramImpl\28\29\20const +11456:OT::match_glyph\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11457:OT::match_coverage\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11458:OT::match_class_cached\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11459:OT::match_class_cached2\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11460:OT::match_class_cached1\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11461:OT::match_class\28hb_glyph_info_t&\2c\20unsigned\20int\2c\20void\20const*\29 +11462:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GSUB_impl::SubstLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +11463:OT::hb_ot_apply_context_t::return_t\20OT::Layout::GPOS_impl::PosLookup::dispatch_recurse_func\28OT::hb_ot_apply_context_t*\2c\20unsigned\20int\29 +11464:OT::Layout::Common::RangeRecord::cmp_range\28void\20const*\2c\20void\20const*\29 +11465:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +11466:OT::ColorLine::static_get_color_stops\28hb_color_line_t*\2c\20void*\2c\20unsigned\20int\2c\20unsigned\20int*\2c\20hb_color_stop_t*\2c\20void*\29 +11467:OT::CmapSubtableFormat4::accelerator_t::get_glyph_func\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int*\29 +11468:Move_CVT_Stretched +11469:Move_CVT +11470:MiterJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +11471:MaskAdditiveBlitter::~MaskAdditiveBlitter\28\29.1 +11472:MaskAdditiveBlitter::getWidth\28\29 +11473:MaskAdditiveBlitter::getRealBlitter\28bool\29 +11474:MaskAdditiveBlitter::blitV\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11475:MaskAdditiveBlitter::blitRect\28int\2c\20int\2c\20int\2c\20int\29 +11476:MaskAdditiveBlitter::blitAntiRect\28int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20char\2c\20unsigned\20char\29 +11477:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\29 +11478:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20unsigned\20char\20const*\2c\20int\29 +11479:MaskAdditiveBlitter::blitAntiH\28int\2c\20int\2c\20int\2c\20unsigned\20char\29 +11480:InverseBlitter::blitH\28int\2c\20int\2c\20int\29 +11481:Horish_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +11482:Horish_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +11483:HLine_SkAntiHairBlitter::drawLine\28int\2c\20int\2c\20int\2c\20int\29 +11484:HLine_SkAntiHairBlitter::drawCap\28int\2c\20int\2c\20int\2c\20int\29 +11485:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11486:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11487:GrYUVtoRGBEffect::onMakeProgramImpl\28\29\20const +11488:GrYUVtoRGBEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11489:GrYUVtoRGBEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11490:GrYUVtoRGBEffect::name\28\29\20const +11491:GrYUVtoRGBEffect::clone\28\29\20const +11492:GrXferProcessor::ProgramImpl::emitWriteSwizzle\28GrGLSLXPFragmentBuilder*\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20char\20const*\29\20const +11493:GrXferProcessor::ProgramImpl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11494:GrXferProcessor::ProgramImpl::emitBlendCodeForDstRead\28GrGLSLXPFragmentBuilder*\2c\20GrGLSLUniformHandler*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20char\20const*\2c\20GrXferProcessor\20const&\29 +11495:GrWritePixelsTask::~GrWritePixelsTask\28\29.1 +11496:GrWritePixelsTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +11497:GrWritePixelsTask::onExecute\28GrOpFlushState*\29 +11498:GrWritePixelsTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11499:GrWaitRenderTask::~GrWaitRenderTask\28\29.1 +11500:GrWaitRenderTask::onIsUsed\28GrSurfaceProxy*\29\20const +11501:GrWaitRenderTask::onExecute\28GrOpFlushState*\29 +11502:GrWaitRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11503:GrTransferFromRenderTask::~GrTransferFromRenderTask\28\29.1 +11504:GrTransferFromRenderTask::onExecute\28GrOpFlushState*\29 +11505:GrTransferFromRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11506:GrThreadSafeCache::Trampoline::~Trampoline\28\29.1 +11507:GrTextureResolveRenderTask::~GrTextureResolveRenderTask\28\29.1 +11508:GrTextureResolveRenderTask::onExecute\28GrOpFlushState*\29 +11509:GrTextureResolveRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11510:GrTextureEffect::~GrTextureEffect\28\29.1 +11511:GrTextureEffect::onMakeProgramImpl\28\29\20const +11512:GrTextureEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11513:GrTextureEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11514:GrTextureEffect::name\28\29\20const +11515:GrTextureEffect::clone\28\29\20const +11516:GrTextureEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11517:GrTextureEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11518:GrTDeferredProxyUploader>::~GrTDeferredProxyUploader\28\29.1 +11519:GrTDeferredProxyUploader>::freeData\28\29 +11520:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::~GrTDeferredProxyUploader\28\29.1 +11521:GrTDeferredProxyUploader<\28anonymous\20namespace\29::SoftwarePathData>::freeData\28\29 +11522:GrSurfaceProxy::getUniqueKey\28\29\20const +11523:GrSurface::getResourceType\28\29\20const +11524:GrStrokeTessellationShader::~GrStrokeTessellationShader\28\29.1 +11525:GrStrokeTessellationShader::name\28\29\20const +11526:GrStrokeTessellationShader::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11527:GrStrokeTessellationShader::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11528:GrStrokeTessellationShader::Impl::~Impl\28\29.1 +11529:GrStrokeTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11530:GrStrokeTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11531:GrSkSLFP::~GrSkSLFP\28\29.1 +11532:GrSkSLFP::onMakeProgramImpl\28\29\20const +11533:GrSkSLFP::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11534:GrSkSLFP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11535:GrSkSLFP::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11536:GrSkSLFP::clone\28\29\20const +11537:GrSkSLFP::Impl::~Impl\28\29.1 +11538:GrSkSLFP::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11539:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::toLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11540:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleShader\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11541:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleColorFilter\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11542:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::sampleBlender\28int\2c\20std::__2::basic_string\2c\20std::__2::allocator>\2c\20std::__2::basic_string\2c\20std::__2::allocator>\29 +11543:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::getMangledName\28char\20const*\29 +11544:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::fromLinearSrgb\28std::__2::basic_string\2c\20std::__2::allocator>\29 +11545:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::defineFunction\28char\20const*\2c\20char\20const*\2c\20bool\29 +11546:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareUniform\28SkSL::VarDeclaration\20const*\29 +11547:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29::FPCallbacks::declareFunction\28char\20const*\29 +11548:GrSkSLFP::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11549:GrSimpleMesh*\20SkArenaAlloc::allocUninitializedArray\28unsigned\20long\29::'lambda'\28char*\29::__invoke\28char*\29 +11550:GrRingBuffer::FinishSubmit\28void*\29 +11551:GrResourceCache::CompareTimestamp\28GrGpuResource*\20const&\2c\20GrGpuResource*\20const&\29 +11552:GrRenderTask::disown\28GrDrawingManager*\29 +11553:GrRecordingContext::~GrRecordingContext\28\29.1 +11554:GrRRectShadowGeoProc::~GrRRectShadowGeoProc\28\29.1 +11555:GrRRectShadowGeoProc::onTextureSampler\28int\29\20const +11556:GrRRectShadowGeoProc::name\28\29\20const +11557:GrRRectShadowGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11558:GrRRectShadowGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11559:GrQuadEffect::name\28\29\20const +11560:GrQuadEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11561:GrQuadEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11562:GrQuadEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11563:GrQuadEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11564:GrPorterDuffXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11565:GrPorterDuffXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11566:GrPerlinNoise2Effect::~GrPerlinNoise2Effect\28\29.1 +11567:GrPerlinNoise2Effect::onMakeProgramImpl\28\29\20const +11568:GrPerlinNoise2Effect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11569:GrPerlinNoise2Effect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11570:GrPerlinNoise2Effect::name\28\29\20const +11571:GrPerlinNoise2Effect::clone\28\29\20const +11572:GrPerlinNoise2Effect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11573:GrPerlinNoise2Effect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11574:GrPathTessellationShader::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11575:GrPathTessellationShader::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11576:GrOpsRenderPass::onExecuteDrawable\28std::__2::unique_ptr>\29 +11577:GrOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11578:GrOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11579:GrOpFlushState::writeView\28\29\20const +11580:GrOpFlushState::usesMSAASurface\28\29\20const +11581:GrOpFlushState::tokenTracker\28\29 +11582:GrOpFlushState::threadSafeCache\28\29\20const +11583:GrOpFlushState::strikeCache\28\29\20const +11584:GrOpFlushState::sampledProxyArray\28\29 +11585:GrOpFlushState::rtProxy\28\29\20const +11586:GrOpFlushState::resourceProvider\28\29\20const +11587:GrOpFlushState::renderPassBarriers\28\29\20const +11588:GrOpFlushState::putBackVertices\28int\2c\20unsigned\20long\29 +11589:GrOpFlushState::putBackIndirectDraws\28int\29 +11590:GrOpFlushState::putBackIndexedIndirectDraws\28int\29 +11591:GrOpFlushState::makeVertexSpace\28unsigned\20long\2c\20int\2c\20sk_sp*\2c\20int*\29 +11592:GrOpFlushState::makeVertexSpaceAtLeast\28unsigned\20long\2c\20int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +11593:GrOpFlushState::makeIndexSpace\28int\2c\20sk_sp*\2c\20int*\29 +11594:GrOpFlushState::makeIndexSpaceAtLeast\28int\2c\20int\2c\20sk_sp*\2c\20int*\2c\20int*\29 +11595:GrOpFlushState::makeDrawIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +11596:GrOpFlushState::makeDrawIndexedIndirectSpace\28int\2c\20sk_sp*\2c\20unsigned\20long*\29 +11597:GrOpFlushState::dstProxyView\28\29\20const +11598:GrOpFlushState::colorLoadOp\28\29\20const +11599:GrOpFlushState::caps\28\29\20const +11600:GrOpFlushState::atlasManager\28\29\20const +11601:GrOpFlushState::appliedClip\28\29\20const +11602:GrOpFlushState::addInlineUpload\28std::__2::function&\29>&&\29 +11603:GrOnFlushCallbackObject::postFlush\28skgpu::AtlasToken\29 +11604:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11605:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11606:GrModulateAtlasCoverageEffect::onMakeProgramImpl\28\29\20const +11607:GrModulateAtlasCoverageEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11608:GrModulateAtlasCoverageEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11609:GrModulateAtlasCoverageEffect::name\28\29\20const +11610:GrModulateAtlasCoverageEffect::clone\28\29\20const +11611:GrMeshDrawOp::onPrepare\28GrOpFlushState*\29 +11612:GrMeshDrawOp::onPrePrepare\28GrRecordingContext*\2c\20GrSurfaceProxyView\20const&\2c\20GrAppliedClip*\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11613:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11614:GrMatrixEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11615:GrMatrixEffect::onMakeProgramImpl\28\29\20const +11616:GrMatrixEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11617:GrMatrixEffect::name\28\29\20const +11618:GrMatrixEffect::clone\28\29\20const +11619:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::Listener::~Listener\28\29.1 +11620:GrMakeUniqueKeyInvalidationListener\28skgpu::UniqueKey*\2c\20unsigned\20int\29::$_0::__invoke\28void\20const*\2c\20void*\29 +11621:GrImageContext::~GrImageContext\28\29 +11622:GrHardClip::apply\28GrRecordingContext*\2c\20skgpu::ganesh::SurfaceDrawContext*\2c\20GrDrawOp*\2c\20GrAAType\2c\20GrAppliedClip*\2c\20SkRect*\29\20const +11623:GrGpuResource::dumpMemoryStatistics\28SkTraceMemoryDump*\29\20const +11624:GrGpuBuffer::unref\28\29\20const +11625:GrGpuBuffer::getResourceType\28\29\20const +11626:GrGpuBuffer::computeScratchKey\28skgpu::ScratchKey*\29\20const +11627:GrGeometryProcessor::onTextureSampler\28int\29\20const +11628:GrGLVaryingHandler::~GrGLVaryingHandler\28\29 +11629:GrGLUniformHandler::~GrGLUniformHandler\28\29.1 +11630:GrGLUniformHandler::samplerVariable\28GrResourceHandle\29\20const +11631:GrGLUniformHandler::samplerSwizzle\28GrResourceHandle\29\20const +11632:GrGLUniformHandler::internalAddUniformArray\28GrProcessor\20const*\2c\20unsigned\20int\2c\20SkSLType\2c\20char\20const*\2c\20bool\2c\20int\2c\20char\20const**\29 +11633:GrGLUniformHandler::getUniformCStr\28GrResourceHandle\29\20const +11634:GrGLUniformHandler::appendUniformDecls\28GrShaderFlags\2c\20SkString*\29\20const +11635:GrGLUniformHandler::addSampler\28GrBackendFormat\20const&\2c\20GrSamplerState\2c\20skgpu::Swizzle\20const&\2c\20char\20const*\2c\20GrShaderCaps\20const*\29 +11636:GrGLTextureRenderTarget::onSetLabel\28\29 +11637:GrGLTextureRenderTarget::backendFormat\28\29\20const +11638:GrGLTexture::textureParamsModified\28\29 +11639:GrGLTexture::onStealBackendTexture\28GrBackendTexture*\2c\20std::__2::function*\29 +11640:GrGLTexture::getBackendTexture\28\29\20const +11641:GrGLSemaphore::~GrGLSemaphore\28\29.1 +11642:GrGLSemaphore::setIsOwned\28\29 +11643:GrGLSemaphore::backendSemaphore\28\29\20const +11644:GrGLSLVertexBuilder::~GrGLSLVertexBuilder\28\29 +11645:GrGLSLVertexBuilder::onFinalize\28\29 +11646:GrGLSLUniformHandler::inputSamplerSwizzle\28GrResourceHandle\29\20const +11647:GrGLSLFragmentShaderBuilder::~GrGLSLFragmentShaderBuilder\28\29 +11648:GrGLSLFragmentShaderBuilder::hasSecondaryOutput\28\29\20const +11649:GrGLSLFragmentShaderBuilder::forceHighPrecision\28\29 +11650:GrGLRenderTarget::getBackendRenderTarget\28\29\20const +11651:GrGLRenderTarget::completeStencilAttachment\28GrAttachment*\2c\20bool\29 +11652:GrGLRenderTarget::canAttemptStencilAttachment\28bool\29\20const +11653:GrGLRenderTarget::alwaysClearStencil\28\29\20const +11654:GrGLProgramDataManager::~GrGLProgramDataManager\28\29.1 +11655:GrGLProgramDataManager::setMatrix4fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11656:GrGLProgramDataManager::setMatrix4f\28GrResourceHandle\2c\20float\20const*\29\20const +11657:GrGLProgramDataManager::setMatrix3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11658:GrGLProgramDataManager::setMatrix3f\28GrResourceHandle\2c\20float\20const*\29\20const +11659:GrGLProgramDataManager::setMatrix2fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11660:GrGLProgramDataManager::setMatrix2f\28GrResourceHandle\2c\20float\20const*\29\20const +11661:GrGLProgramDataManager::set4iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11662:GrGLProgramDataManager::set4i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\2c\20int\29\20const +11663:GrGLProgramDataManager::set4f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\2c\20float\29\20const +11664:GrGLProgramDataManager::set3iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11665:GrGLProgramDataManager::set3i\28GrResourceHandle\2c\20int\2c\20int\2c\20int\29\20const +11666:GrGLProgramDataManager::set3fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11667:GrGLProgramDataManager::set3f\28GrResourceHandle\2c\20float\2c\20float\2c\20float\29\20const +11668:GrGLProgramDataManager::set2iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11669:GrGLProgramDataManager::set2i\28GrResourceHandle\2c\20int\2c\20int\29\20const +11670:GrGLProgramDataManager::set2f\28GrResourceHandle\2c\20float\2c\20float\29\20const +11671:GrGLProgramDataManager::set1iv\28GrResourceHandle\2c\20int\2c\20int\20const*\29\20const +11672:GrGLProgramDataManager::set1i\28GrResourceHandle\2c\20int\29\20const +11673:GrGLProgramDataManager::set1fv\28GrResourceHandle\2c\20int\2c\20float\20const*\29\20const +11674:GrGLProgramDataManager::set1f\28GrResourceHandle\2c\20float\29\20const +11675:GrGLProgramBuilder::~GrGLProgramBuilder\28\29.1 +11676:GrGLProgramBuilder::varyingHandler\28\29 +11677:GrGLProgramBuilder::caps\28\29\20const +11678:GrGLProgram::~GrGLProgram\28\29.1 +11679:GrGLOpsRenderPass::~GrGLOpsRenderPass\28\29 +11680:GrGLOpsRenderPass::onSetScissorRect\28SkIRect\20const&\29 +11681:GrGLOpsRenderPass::onEnd\28\29 +11682:GrGLOpsRenderPass::onDraw\28int\2c\20int\29 +11683:GrGLOpsRenderPass::onDrawInstanced\28int\2c\20int\2c\20int\2c\20int\29 +11684:GrGLOpsRenderPass::onDrawIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11685:GrGLOpsRenderPass::onDrawIndexed\28int\2c\20int\2c\20unsigned\20short\2c\20unsigned\20short\2c\20int\29 +11686:GrGLOpsRenderPass::onDrawIndexedInstanced\28int\2c\20int\2c\20int\2c\20int\2c\20int\29 +11687:GrGLOpsRenderPass::onDrawIndexedIndirect\28GrBuffer\20const*\2c\20unsigned\20long\2c\20int\29 +11688:GrGLOpsRenderPass::onClear\28GrScissorState\20const&\2c\20std::__2::array\29 +11689:GrGLOpsRenderPass::onClearStencilClip\28GrScissorState\20const&\2c\20bool\29 +11690:GrGLOpsRenderPass::onBindTextures\28GrGeometryProcessor\20const&\2c\20GrSurfaceProxy\20const*\20const*\2c\20GrPipeline\20const&\29 +11691:GrGLOpsRenderPass::onBindPipeline\28GrProgramInfo\20const&\2c\20SkRect\20const&\29 +11692:GrGLOpsRenderPass::onBindBuffers\28sk_sp\2c\20sk_sp\2c\20sk_sp\2c\20GrPrimitiveRestart\29 +11693:GrGLOpsRenderPass::onBegin\28\29 +11694:GrGLOpsRenderPass::inlineUpload\28GrOpFlushState*\2c\20std::__2::function&\29>&\29 +11695:GrGLInterface::~GrGLInterface\28\29.1 +11696:GrGLGpu::~GrGLGpu\28\29.1 +11697:GrGLGpu::xferBarrier\28GrRenderTarget*\2c\20GrXferBarrierType\29 +11698:GrGLGpu::wrapBackendSemaphore\28GrBackendSemaphore\20const&\2c\20GrSemaphoreWrapType\2c\20GrWrapOwnership\29 +11699:GrGLGpu::willExecute\28\29 +11700:GrGLGpu::submit\28GrOpsRenderPass*\29 +11701:GrGLGpu::stagingBufferManager\28\29 +11702:GrGLGpu::refPipelineBuilder\28\29 +11703:GrGLGpu::prepareTextureForCrossContextUsage\28GrTexture*\29 +11704:GrGLGpu::precompileShader\28SkData\20const&\2c\20SkData\20const&\29 +11705:GrGLGpu::pipelineBuilder\28\29 +11706:GrGLGpu::onWritePixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20GrMipLevel\20const*\2c\20int\2c\20bool\29 +11707:GrGLGpu::onWrapRenderableBackendTexture\28GrBackendTexture\20const&\2c\20int\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +11708:GrGLGpu::onWrapCompressedBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\29 +11709:GrGLGpu::onWrapBackendTexture\28GrBackendTexture\20const&\2c\20GrWrapOwnership\2c\20GrWrapCacheable\2c\20GrIOType\29 +11710:GrGLGpu::onWrapBackendRenderTarget\28GrBackendRenderTarget\20const&\29 +11711:GrGLGpu::onUpdateCompressedBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20void\20const*\2c\20unsigned\20long\29 +11712:GrGLGpu::onTransferPixelsTo\28GrTexture*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +11713:GrGLGpu::onTransferPixelsFrom\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20sk_sp\2c\20unsigned\20long\29 +11714:GrGLGpu::onTransferFromBufferToBuffer\28sk_sp\2c\20unsigned\20long\2c\20sk_sp\2c\20unsigned\20long\2c\20unsigned\20long\29 +11715:GrGLGpu::onSubmitToGpu\28GrSyncCpu\29 +11716:GrGLGpu::onResolveRenderTarget\28GrRenderTarget*\2c\20SkIRect\20const&\29 +11717:GrGLGpu::onResetTextureBindings\28\29 +11718:GrGLGpu::onResetContext\28unsigned\20int\29 +11719:GrGLGpu::onRegenerateMipMapLevels\28GrTexture*\29 +11720:GrGLGpu::onReadPixels\28GrSurface*\2c\20SkIRect\2c\20GrColorType\2c\20GrColorType\2c\20void*\2c\20unsigned\20long\29 +11721:GrGLGpu::onGetOpsRenderPass\28GrRenderTarget*\2c\20bool\2c\20GrAttachment*\2c\20GrSurfaceOrigin\2c\20SkIRect\20const&\2c\20GrOpsRenderPass::LoadAndStoreInfo\20const&\2c\20GrOpsRenderPass::StencilLoadAndStoreInfo\20const&\2c\20skia_private::TArray\20const&\2c\20GrXferBarrierFlags\29 +11722:GrGLGpu::onDumpJSON\28SkJSONWriter*\29\20const +11723:GrGLGpu::onCreateTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20int\2c\20skgpu::Budgeted\2c\20skgpu::Protected\2c\20int\2c\20unsigned\20int\2c\20std::__2::basic_string_view>\29 +11724:GrGLGpu::onCreateCompressedTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Budgeted\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20void\20const*\2c\20unsigned\20long\29 +11725:GrGLGpu::onCreateCompressedBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\29 +11726:GrGLGpu::onCreateBuffer\28unsigned\20long\2c\20GrGpuBufferType\2c\20GrAccessPattern\29 +11727:GrGLGpu::onCreateBackendTexture\28SkISize\2c\20GrBackendFormat\20const&\2c\20skgpu::Renderable\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20std::__2::basic_string_view>\29 +11728:GrGLGpu::onCopySurface\28GrSurface*\2c\20SkIRect\20const&\2c\20GrSurface*\2c\20SkIRect\20const&\2c\20SkFilterMode\29 +11729:GrGLGpu::onClearBackendTexture\28GrBackendTexture\20const&\2c\20sk_sp\2c\20std::__2::array\29 +11730:GrGLGpu::makeStencilAttachment\28GrBackendFormat\20const&\2c\20SkISize\2c\20int\29 +11731:GrGLGpu::makeSemaphore\28bool\29 +11732:GrGLGpu::makeMSAAAttachment\28SkISize\2c\20GrBackendFormat\20const&\2c\20int\2c\20skgpu::Protected\2c\20GrMemoryless\29 +11733:GrGLGpu::getPreferredStencilFormat\28GrBackendFormat\20const&\29 +11734:GrGLGpu::finishOutstandingGpuWork\28\29 +11735:GrGLGpu::disconnect\28GrGpu::DisconnectType\29 +11736:GrGLGpu::deleteBackendTexture\28GrBackendTexture\20const&\29 +11737:GrGLGpu::compile\28GrProgramDesc\20const&\2c\20GrProgramInfo\20const&\29 +11738:GrGLGpu::checkFinishProcs\28\29 +11739:GrGLGpu::addFinishedProc\28void\20\28*\29\28void*\29\2c\20void*\29 +11740:GrGLGpu::ProgramCache::~ProgramCache\28\29.1 +11741:GrGLFunction::GrGLFunction\28void\20\28*\29\28unsigned\20int\2c\20unsigned\20int\2c\20float\29\29::'lambda'\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29::__invoke\28void\20const*\2c\20unsigned\20int\2c\20unsigned\20int\2c\20float\29 +11742:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29\29::'lambda'\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29::__invoke\28void\20const*\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20int\2c\20unsigned\20int\2c\20unsigned\20int\29 +11743:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\2c\20float\29 +11744:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\2c\20float\29 +11745:GrGLFunction::GrGLFunction\28void\20\28*\29\28int\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20int\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20int\2c\20float\2c\20float\29 +11746:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\2c\20float\2c\20float\2c\20float\29\29::'lambda'\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29::__invoke\28void\20const*\2c\20float\2c\20float\2c\20float\2c\20float\29 +11747:GrGLFunction::GrGLFunction\28void\20\28*\29\28float\29\29::'lambda'\28void\20const*\2c\20float\29::__invoke\28void\20const*\2c\20float\29 +11748:GrGLFunction::GrGLFunction\28void\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +11749:GrGLFunction::GrGLFunction\28void\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +11750:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29\29::'lambda'\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29::__invoke\28void\20const*\2c\20__GLsync*\2c\20unsigned\20int\2c\20unsigned\20long\20long\29 +11751:GrGLFunction::GrGLFunction\28unsigned\20int\20\28*\29\28\29\29::'lambda'\28void\20const*\29::__invoke\28void\20const*\29 +11752:GrGLContext::~GrGLContext\28\29 +11753:GrGLCaps::~GrGLCaps\28\29.1 +11754:GrGLCaps::surfaceSupportsReadPixels\28GrSurface\20const*\29\20const +11755:GrGLCaps::supportedWritePixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +11756:GrGLCaps::onSurfaceSupportsWritePixels\28GrSurface\20const*\29\20const +11757:GrGLCaps::onSupportsDynamicMSAA\28GrRenderTargetProxy\20const*\29\20const +11758:GrGLCaps::onSupportedReadPixelsColorType\28GrColorType\2c\20GrBackendFormat\20const&\2c\20GrColorType\29\20const +11759:GrGLCaps::onIsWindowRectanglesSupportedForRT\28GrBackendRenderTarget\20const&\29\20const +11760:GrGLCaps::onGetReadSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +11761:GrGLCaps::onGetDstSampleFlagsForProxy\28GrRenderTargetProxy\20const*\29\20const +11762:GrGLCaps::onGetDefaultBackendFormat\28GrColorType\29\20const +11763:GrGLCaps::onDumpJSON\28SkJSONWriter*\29\20const +11764:GrGLCaps::onCanCopySurface\28GrSurfaceProxy\20const*\2c\20SkIRect\20const&\2c\20GrSurfaceProxy\20const*\2c\20SkIRect\20const&\29\20const +11765:GrGLCaps::onAreColorTypeAndFormatCompatible\28GrColorType\2c\20GrBackendFormat\20const&\29\20const +11766:GrGLCaps::onApplyOptionsOverrides\28GrContextOptions\20const&\29 +11767:GrGLCaps::maxRenderTargetSampleCount\28GrBackendFormat\20const&\29\20const +11768:GrGLCaps::makeDesc\28GrRenderTarget*\2c\20GrProgramInfo\20const&\2c\20GrCaps::ProgramDescOverrideFlags\29\20const +11769:GrGLCaps::isFormatTexturable\28GrBackendFormat\20const&\2c\20GrTextureType\29\20const +11770:GrGLCaps::isFormatSRGB\28GrBackendFormat\20const&\29\20const +11771:GrGLCaps::isFormatRenderable\28GrBackendFormat\20const&\2c\20int\29\20const +11772:GrGLCaps::isFormatCopyable\28GrBackendFormat\20const&\29\20const +11773:GrGLCaps::isFormatAsColorTypeRenderable\28GrColorType\2c\20GrBackendFormat\20const&\2c\20int\29\20const +11774:GrGLCaps::getWriteSwizzle\28GrBackendFormat\20const&\2c\20GrColorType\29\20const +11775:GrGLCaps::getRenderTargetSampleCount\28int\2c\20GrBackendFormat\20const&\29\20const +11776:GrGLCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +11777:GrGLCaps::getBackendFormatFromCompressionType\28SkTextureCompressionType\29\20const +11778:GrGLCaps::computeFormatKey\28GrBackendFormat\20const&\29\20const +11779:GrGLBuffer::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +11780:GrGLBuffer::onUpdateData\28void\20const*\2c\20unsigned\20long\2c\20unsigned\20long\2c\20bool\29 +11781:GrGLBuffer::onUnmap\28GrGpuBuffer::MapType\29 +11782:GrGLBuffer::onSetLabel\28\29 +11783:GrGLBuffer::onRelease\28\29 +11784:GrGLBuffer::onMap\28GrGpuBuffer::MapType\29 +11785:GrGLBuffer::onClearToZero\28\29 +11786:GrGLBuffer::onAbandon\28\29 +11787:GrGLBackendTextureData::~GrGLBackendTextureData\28\29.1 +11788:GrGLBackendTextureData::~GrGLBackendTextureData\28\29 +11789:GrGLBackendTextureData::isSameTexture\28GrBackendTextureData\20const*\29\20const +11790:GrGLBackendTextureData::getBackendFormat\28\29\20const +11791:GrGLBackendTextureData::equal\28GrBackendTextureData\20const*\29\20const +11792:GrGLBackendTextureData::copyTo\28SkAnySubclass&\29\20const +11793:GrGLBackendRenderTargetData::isProtected\28\29\20const +11794:GrGLBackendRenderTargetData::getBackendFormat\28\29\20const +11795:GrGLBackendRenderTargetData::equal\28GrBackendRenderTargetData\20const*\29\20const +11796:GrGLBackendRenderTargetData::copyTo\28SkAnySubclass&\29\20const +11797:GrGLBackendFormatData::toString\28\29\20const +11798:GrGLBackendFormatData::stencilBits\28\29\20const +11799:GrGLBackendFormatData::equal\28GrBackendFormatData\20const*\29\20const +11800:GrGLBackendFormatData::desc\28\29\20const +11801:GrGLBackendFormatData::copyTo\28SkAnySubclass&\29\20const +11802:GrGLBackendFormatData::compressionType\28\29\20const +11803:GrGLBackendFormatData::channelMask\28\29\20const +11804:GrGLBackendFormatData::bytesPerBlock\28\29\20const +11805:GrGLAttachment::~GrGLAttachment\28\29 +11806:GrGLAttachment::setMemoryBacking\28SkTraceMemoryDump*\2c\20SkString\20const&\29\20const +11807:GrGLAttachment::onSetLabel\28\29 +11808:GrGLAttachment::onRelease\28\29 +11809:GrGLAttachment::onAbandon\28\29 +11810:GrGLAttachment::backendFormat\28\29\20const +11811:GrFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11812:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11813:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onMakeProgramImpl\28\29\20const +11814:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11815:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11816:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::name\28\29\20const +11817:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11818:GrFragmentProcessor::SwizzleOutput\28std::__2::unique_ptr>\2c\20skgpu::Swizzle\20const&\29::SwizzleFragmentProcessor::clone\28\29\20const +11819:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11820:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::onMakeProgramImpl\28\29\20const +11821:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::name\28\29\20const +11822:GrFragmentProcessor::SurfaceColor\28\29::SurfaceColorProcessor::clone\28\29\20const +11823:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11824:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::onMakeProgramImpl\28\29\20const +11825:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::name\28\29\20const +11826:GrFragmentProcessor::HighPrecision\28std::__2::unique_ptr>\29::HighPrecisionFragmentProcessor::clone\28\29\20const +11827:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11828:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::onMakeProgramImpl\28\29\20const +11829:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::name\28\29\20const +11830:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11831:GrFragmentProcessor::DeviceSpace\28std::__2::unique_ptr>\29::DeviceSpace::clone\28\29\20const +11832:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11833:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::onMakeProgramImpl\28\29\20const +11834:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::name\28\29\20const +11835:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11836:GrFragmentProcessor::Compose\28std::__2::unique_ptr>\2c\20std::__2::unique_ptr>\29::ComposeProcessor::clone\28\29\20const +11837:GrFixedClip::~GrFixedClip\28\29.1 +11838:GrFixedClip::~GrFixedClip\28\29 +11839:GrFixedClip::getConservativeBounds\28\29\20const +11840:GrExternalTextureGenerator::onGenerateTexture\28GrRecordingContext*\2c\20SkImageInfo\20const&\2c\20skgpu::Mipmapped\2c\20GrImageTexGenPolicy\29 +11841:GrDynamicAtlas::~GrDynamicAtlas\28\29.1 +11842:GrDrawOp::usesStencil\28\29\20const +11843:GrDrawOp::usesMSAA\28\29\20const +11844:GrDrawOp::fixedFunctionFlags\28\29\20const +11845:GrDistanceFieldPathGeoProc::~GrDistanceFieldPathGeoProc\28\29.1 +11846:GrDistanceFieldPathGeoProc::onTextureSampler\28int\29\20const +11847:GrDistanceFieldPathGeoProc::name\28\29\20const +11848:GrDistanceFieldPathGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11849:GrDistanceFieldPathGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11850:GrDistanceFieldPathGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11851:GrDistanceFieldPathGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11852:GrDistanceFieldLCDTextGeoProc::~GrDistanceFieldLCDTextGeoProc\28\29.1 +11853:GrDistanceFieldLCDTextGeoProc::name\28\29\20const +11854:GrDistanceFieldLCDTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11855:GrDistanceFieldLCDTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11856:GrDistanceFieldLCDTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11857:GrDistanceFieldLCDTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11858:GrDistanceFieldA8TextGeoProc::~GrDistanceFieldA8TextGeoProc\28\29.1 +11859:GrDistanceFieldA8TextGeoProc::name\28\29\20const +11860:GrDistanceFieldA8TextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11861:GrDistanceFieldA8TextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11862:GrDistanceFieldA8TextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11863:GrDistanceFieldA8TextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11864:GrDisableColorXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11865:GrDisableColorXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11866:GrDirectContext::~GrDirectContext\28\29.1 +11867:GrDirectContext::init\28\29 +11868:GrDirectContext::abandonContext\28\29 +11869:GrDeferredProxyUploader::~GrDeferredProxyUploader\28\29.1 +11870:GrCpuVertexAllocator::~GrCpuVertexAllocator\28\29.1 +11871:GrCpuVertexAllocator::unlock\28int\29 +11872:GrCpuVertexAllocator::lock\28unsigned\20long\2c\20int\29 +11873:GrCpuBuffer::unref\28\29\20const +11874:GrCpuBuffer::ref\28\29\20const +11875:GrCoverageSetOpXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11876:GrCoverageSetOpXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11877:GrCopyRenderTask::~GrCopyRenderTask\28\29.1 +11878:GrCopyRenderTask::onMakeSkippable\28\29 +11879:GrCopyRenderTask::onMakeClosed\28GrRecordingContext*\2c\20SkIRect*\29 +11880:GrCopyRenderTask::onExecute\28GrOpFlushState*\29 +11881:GrCopyRenderTask::gatherProxyIntervals\28GrResourceAllocator*\29\20const +11882:GrConvexPolyEffect::~GrConvexPolyEffect\28\29 +11883:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11884:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11885:GrConvexPolyEffect::onMakeProgramImpl\28\29\20const +11886:GrConvexPolyEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11887:GrConvexPolyEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11888:GrConvexPolyEffect::name\28\29\20const +11889:GrConvexPolyEffect::clone\28\29\20const +11890:GrContextThreadSafeProxy::~GrContextThreadSafeProxy\28\29.1 +11891:GrContextThreadSafeProxy::isValidCharacterizationForVulkan\28sk_sp\2c\20bool\2c\20skgpu::Mipmapped\2c\20skgpu::Protected\2c\20bool\2c\20bool\29 +11892:GrConicEffect::name\28\29\20const +11893:GrConicEffect::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11894:GrConicEffect::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11895:GrConicEffect::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11896:GrConicEffect::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11897:GrColorSpaceXformEffect::~GrColorSpaceXformEffect\28\29.1 +11898:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11899:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11900:GrColorSpaceXformEffect::onMakeProgramImpl\28\29\20const +11901:GrColorSpaceXformEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11902:GrColorSpaceXformEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11903:GrColorSpaceXformEffect::name\28\29\20const +11904:GrColorSpaceXformEffect::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +11905:GrColorSpaceXformEffect::clone\28\29\20const +11906:GrCaps::getDstCopyRestrictions\28GrRenderTargetProxy\20const*\2c\20GrColorType\29\20const +11907:GrBitmapTextGeoProc::~GrBitmapTextGeoProc\28\29.1 +11908:GrBitmapTextGeoProc::onTextureSampler\28int\29\20const +11909:GrBitmapTextGeoProc::name\28\29\20const +11910:GrBitmapTextGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11911:GrBitmapTextGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11912:GrBitmapTextGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11913:GrBitmapTextGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11914:GrBicubicEffect::onMakeProgramImpl\28\29\20const +11915:GrBicubicEffect::onIsEqual\28GrFragmentProcessor\20const&\29\20const +11916:GrBicubicEffect::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11917:GrBicubicEffect::name\28\29\20const +11918:GrBicubicEffect::clone\28\29\20const +11919:GrBicubicEffect::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +11920:GrBicubicEffect::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11921:GrAttachment::onGpuMemorySize\28\29\20const +11922:GrAttachment::getResourceType\28\29\20const +11923:GrAttachment::computeScratchKey\28skgpu::ScratchKey*\29\20const +11924:GrAtlasManager::~GrAtlasManager\28\29.1 +11925:GrAtlasManager::postFlush\28skgpu::AtlasToken\29 +11926:GrAATriangulator::tessellate\28GrTriangulator::VertexList\20const&\2c\20GrTriangulator::Comparator\20const&\29 +11927:FontMgrRunIterator::~FontMgrRunIterator\28\29.1 +11928:FontMgrRunIterator::consume\28\29 +11929:EllipticalRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11930:EllipticalRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11931:EllipticalRRectOp::name\28\29\20const +11932:EllipticalRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11933:EllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11934:EllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11935:EllipseOp::name\28\29\20const +11936:EllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11937:EllipseGeometryProcessor::name\28\29\20const +11938:EllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11939:EllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11940:EllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11941:Dual_Project +11942:DisableColorXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11943:DisableColorXP::name\28\29\20const +11944:DisableColorXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11945:DisableColorXP::makeProgramImpl\28\29\20const +11946:Direct_Move_Y +11947:Direct_Move_X +11948:Direct_Move_Orig_Y +11949:Direct_Move_Orig_X +11950:Direct_Move_Orig +11951:Direct_Move +11952:DefaultGeoProc::name\28\29\20const +11953:DefaultGeoProc::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11954:DefaultGeoProc::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11955:DefaultGeoProc::Impl::setData\28GrGLSLProgramDataManager\20const&\2c\20GrShaderCaps\20const&\2c\20GrGeometryProcessor\20const&\29 +11956:DefaultGeoProc::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11957:DIEllipseOp::~DIEllipseOp\28\29.1 +11958:DIEllipseOp::visitProxies\28std::__2::function\20const&\29\20const +11959:DIEllipseOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11960:DIEllipseOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11961:DIEllipseOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11962:DIEllipseOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11963:DIEllipseOp::name\28\29\20const +11964:DIEllipseOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11965:DIEllipseGeometryProcessor::name\28\29\20const +11966:DIEllipseGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +11967:DIEllipseGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11968:DIEllipseGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +11969:CustomXPFactory::makeXferProcessor\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11970:CustomXPFactory::analysisProperties\28GrProcessorAnalysisColor\20const&\2c\20GrProcessorAnalysisCoverage\20const&\2c\20GrCaps\20const&\2c\20GrClampType\29\20const +11971:CustomXP::xferBarrierType\28GrCaps\20const&\29\20const +11972:CustomXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11973:CustomXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11974:CustomXP::name\28\29\20const +11975:CustomXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11976:CustomXP::makeProgramImpl\28\29\20const +11977:Current_Ppem_Stretched +11978:Current_Ppem +11979:Cr_z_zcalloc +11980:CoverageSetOpXP::onGetBlendInfo\28skgpu::BlendInfo*\29\20const +11981:CoverageSetOpXP::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +11982:CoverageSetOpXP::name\28\29\20const +11983:CoverageSetOpXP::makeProgramImpl\28\29\20const::Impl::emitOutputsForBlendState\28GrXferProcessor::ProgramImpl::EmitArgs\20const&\29 +11984:CoverageSetOpXP::makeProgramImpl\28\29\20const +11985:ColorTableEffect::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +11986:ColorTableEffect::onMakeProgramImpl\28\29\20const +11987:ColorTableEffect::name\28\29\20const +11988:ColorTableEffect::clone\28\29\20const +11989:CircularRRectOp::visitProxies\28std::__2::function\20const&\29\20const +11990:CircularRRectOp::onPrepareDraws\28GrMeshDrawTarget*\29 +11991:CircularRRectOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +11992:CircularRRectOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +11993:CircularRRectOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +11994:CircularRRectOp::name\28\29\20const +11995:CircularRRectOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +11996:CircleOp::~CircleOp\28\29.1 +11997:CircleOp::visitProxies\28std::__2::function\20const&\29\20const +11998:CircleOp::programInfo\28\29 +11999:CircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +12000:CircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +12001:CircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +12002:CircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +12003:CircleOp::name\28\29\20const +12004:CircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +12005:CircleGeometryProcessor::name\28\29\20const +12006:CircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +12007:CircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +12008:CircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +12009:ButtCapper\28SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPath*\29 +12010:ButtCapDashedCircleOp::visitProxies\28std::__2::function\20const&\29\20const +12011:ButtCapDashedCircleOp::programInfo\28\29 +12012:ButtCapDashedCircleOp::onPrepareDraws\28GrMeshDrawTarget*\29 +12013:ButtCapDashedCircleOp::onExecute\28GrOpFlushState*\2c\20SkRect\20const&\29 +12014:ButtCapDashedCircleOp::onCreateProgramInfo\28GrCaps\20const*\2c\20SkArenaAlloc*\2c\20GrSurfaceProxyView\20const&\2c\20bool\2c\20GrAppliedClip&&\2c\20GrDstProxyView\20const&\2c\20GrXferBarrierFlags\2c\20GrLoadOp\29 +12015:ButtCapDashedCircleOp::onCombineIfPossible\28GrOp*\2c\20SkArenaAlloc*\2c\20GrCaps\20const&\29 +12016:ButtCapDashedCircleOp::name\28\29\20const +12017:ButtCapDashedCircleOp::finalize\28GrCaps\20const&\2c\20GrAppliedClip\20const*\2c\20GrClampType\29 +12018:ButtCapDashedCircleGeometryProcessor::name\28\29\20const +12019:ButtCapDashedCircleGeometryProcessor::makeProgramImpl\28GrShaderCaps\20const&\29\20const +12020:ButtCapDashedCircleGeometryProcessor::addToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +12021:ButtCapDashedCircleGeometryProcessor::Impl::onEmitCode\28GrGeometryProcessor::ProgramImpl::EmitArgs&\2c\20GrGeometryProcessor::ProgramImpl::GrGPArgs*\29 +12022:BluntJoiner\28SkPath*\2c\20SkPath*\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20SkPoint\20const&\2c\20float\2c\20float\2c\20bool\2c\20bool\29 +12023:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::onSetData\28GrGLSLProgramDataManager\20const&\2c\20GrFragmentProcessor\20const&\29 +12024:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const::Impl::emitCode\28GrFragmentProcessor::ProgramImpl::EmitArgs&\29 +12025:BlendFragmentProcessor::onMakeProgramImpl\28\29\20const +12026:BlendFragmentProcessor::onIsEqual\28GrFragmentProcessor\20const&\29\20const +12027:BlendFragmentProcessor::onAddToKey\28GrShaderCaps\20const&\2c\20skgpu::KeyBuilder*\29\20const +12028:BlendFragmentProcessor::name\28\29\20const +12029:BlendFragmentProcessor::constantOutputForConstantInput\28SkRGBA4f<\28SkAlphaType\292>\20const&\29\20const +12030:BlendFragmentProcessor::clone\28\29\20const +12031:$_3::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +12032:$_2::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 +12033:$_1::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\2c\20unsigned\20char\29 +12034:$_0::__invoke\28unsigned\20char*\2c\20unsigned\20char\2c\20int\29 diff --git a/canvaskit/skwasm.wasm b/canvaskit/skwasm.wasm new file mode 100644 index 0000000..8405162 Binary files /dev/null and b/canvaskit/skwasm.wasm differ diff --git a/canvaskit/skwasm.worker.js b/canvaskit/skwasm.worker.js new file mode 100644 index 0000000..b15ad93 --- /dev/null +++ b/canvaskit/skwasm.worker.js @@ -0,0 +1 @@ +"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:f=>(0,eval)(fs.readFileSync(f,"utf8")+"//# sourceURL="+f),postMessage:msg=>parentPort.postMessage(msg),performance:global.performance||{now:Date.now}})}var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var module=Module["wasmModule"];Module["wasmModule"]=null;var instance=new WebAssembly.Instance(module,info);return receiveInstance(instance)};self.onunhandledrejection=e=>{throw e.reason??e};function handleMessage(e){try{if(e.data.cmd==="load"){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=(...args)=>{postMessage({cmd:"callHandler",handler:handler,args:args})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./skwasm.js")).then(exports=>exports.default(Module))}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,/*isMainBrowserThread=*/0,/*isMainRuntimeThread=*/0,/*canBlock=*/1);Module["__emscripten_thread_mailbox_await"](e.data.pthread_ptr);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="checkMailbox"){if(initializedJS){Module["checkMailbox"]()}}else if(e.data.cmd){err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}}self.onmessage=handleMessage; diff --git a/example/.gitignore b/example/.gitignore deleted file mode 100644 index 24476c5..0000000 --- a/example/.gitignore +++ /dev/null @@ -1,44 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -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 -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# 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/example/.metadata b/example/.metadata deleted file mode 100644 index 0b9f276..0000000 --- a/example/.metadata +++ /dev/null @@ -1,45 +0,0 @@ -# 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. - -version: - revision: f92f44110e87bad5ff168335c36da6f6053036e6 - channel: stable - -project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: android - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: ios - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: linux - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: macos - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: web - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - platform: windows - create_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - base_revision: f92f44110e87bad5ff168335c36da6f6053036e6 - - # 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' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/example/README.md b/example/README.md deleted file mode 100644 index 87b50c9..0000000 --- a/example/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Flutter MRZ Scanner - -A Flutter project that demonstrates how to use [Dynamsoft Label Recognizer](https://www.dynamsoft.com/label-recognition/overview/) to scan MRZ (Machine Readable Zone) from passport, visa, and ID cards. - -https://github.com/user-attachments/assets/1bed4643-a76d-4f75-bfc2-5449a14a8a1a - -## Supported Platforms -- **Web** -- **Android** -- **iOS** -- **Windows** -- **Linux** (Without camera support) - -## Getting Started -1. Apply for a [30-day trial license](https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform) and replace the license key in the `global.dart` file with your own: - - ```dart - Future initMRZSDK() async { - await mrzDetector.init( - "LICENSE-KEY"); - return await mrzDetector.loadModel() ?? -1; - } - ``` - -2. Run the project: - - ``` - flutter run - # flutter run -d windows - # flutter run -d edge - # flutter run -d linux - ``` - -## Try Online Demo -[https://yushulx.me/flutter_ocr_sdk/](https://yushulx.me/flutter_ocr_sdk/) - -## Blog -[How to Create a Cross-platform MRZ Scanner App Using Flutter and Dynamsoft Label Recognizer](https://www.dynamsoft.com/codepool/flutter-mrz-scanner-how-to.html) diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml deleted file mode 100644 index 61b6c4d..0000000 --- a/example/analysis_options.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/example/android/.gitignore b/example/android/.gitignore deleted file mode 100644 index 6f56801..0000000 --- a/example/android/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -gradle-wrapper.jar -/.gradle -/captures/ -/gradlew -/gradlew.bat -/local.properties -GeneratedPluginRegistrant.java - -# Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app -key.properties -**/*.keystore -**/*.jks diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle deleted file mode 100644 index 7826115..0000000 --- a/example/android/app/build.gradle +++ /dev/null @@ -1,44 +0,0 @@ -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.mrzscanner" - compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 - } - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId = "com.example.mrzscanner" - // 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.debug - } - } -} - -flutter { - source = "../.." -} diff --git a/example/android/app/src/debug/AndroidManifest.xml b/example/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 399f698..0000000 --- a/example/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 1aa49f0..0000000 --- a/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - diff --git a/example/android/app/src/main/kotlin/com/example/mrzscanner/MainActivity.kt b/example/android/app/src/main/kotlin/com/example/mrzscanner/MainActivity.kt deleted file mode 100644 index b6c356e..0000000 --- a/example/android/app/src/main/kotlin/com/example/mrzscanner/MainActivity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.example.mrzscanner - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} diff --git a/example/android/app/src/main/res/drawable-v21/launch_background.xml b/example/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f..0000000 --- a/example/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/example/android/app/src/main/res/drawable/launch_background.xml b/example/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f..0000000 --- a/example/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index e5aea26..0000000 Binary files a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 77b109a..0000000 Binary files a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index b8d25a9..0000000 Binary files a/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index fa299a5..0000000 Binary files a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 30d5397..0000000 Binary files a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/example/android/app/src/main/res/values-night/styles.xml b/example/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be..0000000 --- a/example/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/example/android/app/src/main/res/values/styles.xml b/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef88..0000000 --- a/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/example/android/app/src/profile/AndroidManifest.xml b/example/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 399f698..0000000 --- a/example/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/example/android/build.gradle b/example/android/build.gradle deleted file mode 100644 index d2ffbff..0000000 --- a/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = "../build" -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(":app") -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/example/android/gradle.properties b/example/android/gradle.properties deleted file mode 100644 index 2597170..0000000 --- a/example/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError -android.useAndroidX=true -android.enableJetifier=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 7bb2df6..0000000 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip diff --git a/example/android/settings.gradle b/example/android/settings.gradle deleted file mode 100644 index b9e43bd..0000000 --- a/example/android/settings.gradle +++ /dev/null @@ -1,25 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.1.0" apply false - id "org.jetbrains.kotlin.android" version "1.8.22" apply false -} - -include ":app" diff --git a/example/camera/AUTHORS b/example/camera/AUTHORS deleted file mode 100644 index 493a0b4..0000000 --- a/example/camera/AUTHORS +++ /dev/null @@ -1,66 +0,0 @@ -# Below is a list of people and organizations that have contributed -# to the Flutter project. Names should be added to the list like so: -# -# Name/Organization - -Google Inc. -The Chromium Authors -German Saprykin -Benjamin Sauer -larsenthomasj@gmail.com -Ali Bitek -Pol Batlló -Anatoly Pulyaevskiy -Hayden Flinner -Stefano Rodriguez -Salvatore Giordano -Brian Armstrong -Paul DeMarco -Fabricio Nogueira -Simon Lightfoot -Ashton Thomas -Thomas Danner -Diego Velásquez -Hajime Nakamura -Tuyển Vũ Xuân -Miguel Ruivo -Sarthak Verma -Mike Diarmid -Invertase -Elliot Hesp -Vince Varga -Aawaz Gyawali -EUI Limited -Katarina Sheremet -Thomas Stockx -Sarbagya Dhaubanjar -Ozkan Eksi -Rishab Nayak -ko2ic -Jonathan Younger -Jose Sanchez -Debkanchan Samadder -Audrius Karosevicius -Lukasz Piliszczuk -SoundReply Solutions GmbH -Rafal Wachol -Pau Picas -Christian Weder -Alexandru Tuca -Christian Weder -Rhodes Davis Jr. -Luigi Agosti -Quentin Le Guennec -Koushik Ravikumar -Nissim Dsilva -Giancarlo Rocha -Ryo Miyake -Théo Champion -Kazuki Yamaguchi -Eitan Schwartz -Chris Rutkowski -Juan Alvarez -Aleksandr Yurkovskiy -Anton Borries -Alex Li -Rahul Raj <64.rahulraj@gmail.com> diff --git a/example/camera/CHANGELOG.md b/example/camera/CHANGELOG.md deleted file mode 100644 index d018f49..0000000 --- a/example/camera/CHANGELOG.md +++ /dev/null @@ -1,801 +0,0 @@ -## 0.11.0+2 - -* Updates minimum supported SDK version to Flutter 3.19/Dart 3.3. - -## 0.11.0+1 - -* Updates minimum supported SDK version to Flutter 3.16/Dart 3.2. -* Adds note to `README.md` about allowing image streaming in the background on Android. - -## 0.11.0 - -* **Breaking Change** Changes the Android implementation of the camera plugin from `camera_android` - to `camera_android_camerax`, which has better support for a wider range of devices. The CameraX - implementation full feature parity with `camera_android` except for the limitations listed in - `README.md`. To continue using `camera_android`, follow [these instructions](https://pub.dev/packages/camera_android#usage). - -## 0.10.6 - -* Adds support to control video fps and bitrate. See `CameraController` constructor. -* Updates minimum supported SDK version to Flutter 3.13/Dart 3.1. -* Updates support matrix in README to indicate that iOS 11 is no longer supported. -* Clients on versions of Flutter that still support iOS 11 can continue to use this - package with iOS 11, but will not receive any further updates to the iOS implementation. - -## 0.10.5+9 - -* Updates minimum required plugin_platform_interface version to 2.1.7. - -## 0.10.5+8 - -* Fixes new lint warnings. - -## 0.10.5+7 - -* Updates example app to use non-deprecated video_player method. - -## 0.10.5+6 - -* Updates minimum supported SDK version to Flutter 3.10/Dart 3.0. -* Drop unused dependency on `package:quiver`. - -## 0.10.5+5 - -* Fixes bug where old camera resources were not disposed when switching between camera descriptions. -* Fixes bug where _deviceOrientationSubscription was recreated every time the camera description was - changed. - -## 0.10.5+4 - -* Adds pub topics to package metadata. -* Updates minimum supported SDK version to Flutter 3.7/Dart 2.19. - -## 0.10.5+3 - -* Migrates `styleFrom` usage in examples off of deprecated `primary` and `onPrimary` parameters. - -## 0.10.5+2 - -* Fixes unawaited_futures violations. - -## 0.10.5+1 - -* Removes obsolete null checks on non-nullable values. - -## 0.10.5 - -* Adds NV21 as an image streaming option for Android. - -## 0.10.4 - -* Allows camera to be switched while video recording. -* Updates minimum Flutter version to 3.3. -* Aligns Dart and Flutter SDK constraints. - -## 0.10.3+2 - -* Updates iOS minimum version in README. - -## 0.10.3+1 - -* Updates links for the merge of flutter/plugins into flutter/packages. - -## 0.10.3 - -* Adds back use of Optional type. - -## 0.10.2+1 - -* Updates code for stricter lint checks. - -## 0.10.2 - -* Implements option to also stream when recording a video. - -## 0.10.1 - -* Remove usage of deprecated quiver Optional type. - -## 0.10.0+5 - -* Updates code for stricter lint checks. - -## 0.10.0+4 - -* Removes usage of `_ambiguate` method in example. -* Updates minimum Flutter version to 3.0. - -## 0.10.0+3 - -* Updates code for `no_leading_underscores_for_local_identifiers` lint. - -## 0.10.0+2 - -* Updates imports for `prefer_relative_imports`. -* Updates minimum Flutter version to 2.10. - -## 0.10.0+1 - -* Fixes avoid_redundant_argument_values lint warnings and minor typos. - -## 0.10.0 - -* **Breaking Change** Bumps default camera_web package version, which updates permission exception code from `cameraPermission` to `CameraAccessDenied`. -* **Breaking Change** Bumps default camera_android package version, which updates permission exception code from `cameraPermission` to - `CameraAccessDenied` and `AudioAccessDenied`. -* Ignores unnecessary import warnings in preparation for [upcoming Flutter changes](https://github.com/flutter/flutter/pull/106316). - -## 0.9.8+1 - -* Ignores deprecation warnings for upcoming styleFrom button API changes. - -## 0.9.8 - -* Moves Android and iOS implementations to federated packages. -* Ignores unnecessary import warnings in preparation for [upcoming Flutter changes](https://github.com/flutter/flutter/pull/104231). - -## 0.9.7+1 - -* Moves streaming implementation to the platform interface package. - -## 0.9.7 - -* Returns all the available cameras on iOS. - -## 0.9.6 - -* Adds audio access permission handling logic on iOS to fix an issue with `prepareForVideoRecording` not awaiting for the audio permission request result. - -## 0.9.5+1 - -* Suppresses warnings for pre-iOS-11 codepaths. - -## 0.9.5 - -* Adds camera access permission handling logic on iOS to fix a related crash when using the camera for the first time. - -## 0.9.4+24 - -* Fixes preview orientation when pausing preview with locked orientation. - -## 0.9.4+23 - -* Minor fixes for new analysis options. - -## 0.9.4+22 - -* Removes unnecessary imports. -* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors - lint warnings. - -## 0.9.4+21 - -* Fixes README code samples. - -## 0.9.4+20 - -* Fixes an issue with the orientation of videos recorded in landscape on Android. - -## 0.9.4+19 - -* Migrate deprecated Scaffold SnackBar methods to ScaffoldMessenger. - -## 0.9.4+18 - -* Fixes a crash in iOS when streaming on low-performance devices. - -## 0.9.4+17 - -* Removes obsolete information from README, and adds OS support table. - -## 0.9.4+16 - -* Fixes a bug resulting in a `CameraAccessException` that prevents image - capture on some Android devices. - -## 0.9.4+15 - -* Uses dispatch queue for pixel buffer synchronization on iOS. -* Minor iOS internal code cleanup related to queue helper functions. - -## 0.9.4+14 - -* Restores compatibility with Flutter 2.5 and 2.8. - -## 0.9.4+13 - -* Updates iOS camera's photo capture delegate reference on a background queue to prevent potential race conditions, and some related internal code cleanup. - -## 0.9.4+12 - -* Skips unnecessary AppDelegate setup for unit tests on iOS. -* Internal code cleanup for stricter analysis options. - -## 0.9.4+11 - -* Manages iOS camera's orientation-related states on a background queue to prevent potential race conditions. - -## 0.9.4+10 - -* iOS performance improvement by moving file writing from the main queue to a background IO queue. - -## 0.9.4+9 - -* iOS performance improvement by moving sample buffer handling from the main queue to a background session queue. -* Minor iOS internal code cleanup related to camera class and its delegate. -* Minor iOS internal code cleanup related to resolution preset, video format, focus mode, exposure mode and device orientation. -* Minor iOS internal code cleanup related to flash mode. - -## 0.9.4+8 - -* Fixes a bug where ImageFormatGroup was ignored in `startImageStream` on iOS. - -## 0.9.4+7 - -* Fixes a crash in iOS when passing null queue pointer into AVFoundation API due to race condition. -* Minor iOS internal code cleanup related to dispatch queue. - -## 0.9.4+6 - -* Fixes a crash in iOS when using image stream due to calling Flutter engine API on non-main thread. - -## 0.9.4+5 - -* Fixes bug where calling a method after the camera was closed resulted in a Java `IllegalStateException` exception. -* Fixes integration tests. - -## 0.9.4+4 - -* Change Android compileSdkVersion to 31. -* Remove usages of deprecated Android API `CamcorderProfile`. -* Update gradle version to 7.0.2 on Android. - -## 0.9.4+3 - -* Fix registerTexture and result being called on background thread on iOS. - -## 0.9.4+2 - -* Updated package description; -* Refactor unit test on iOS to make it compatible with new restrictions in Xcode 13 which only supports the use of the `XCUIDevice` in Xcode UI tests. - -## 0.9.4+1 - -* Fixed Android implementation throwing IllegalStateException when switching to a different activity. - -## 0.9.4 - -* Add web support by endorsing `package:camera_web`. - -## 0.9.3+1 - -* Remove iOS 9 availability check around ultra high capture sessions. - -## 0.9.3 - -* Update minimum Flutter SDK to 2.5 and iOS deployment target to 9.0. - -## 0.9.2+2 - -* Ensure that setting the exposure offset returns the new offset value on Android. - -## 0.9.2+1 - -* Fixed camera controller throwing an exception when being replaced in the preview widget. - -## 0.9.2 - -* Added functions to pause and resume the camera preview. - -## 0.9.1+1 - -* Replace `device_info` reference with `device_info_plus` in the [README.md](README.md) - -## 0.9.1 - -* Added `lensAperture`, `sensorExposureTime` and `sensorSensitivity` properties to the `CameraImage` dto. - -## 0.9.0 - -* Complete rewrite of Android plugin to fix many capture, focus, flash, orientation and exposure issues. -* Fixed crash when opening front-facing cameras on some legacy android devices like Sony XZ. -* Android Flash mode works with full precapture sequence. -* Updated Android lint settings. - -## 0.8.1+7 - -* Fix device orientation sometimes not affecting the camera preview orientation. - -## 0.8.1+6 - -* Remove references to the Android V1 embedding. - -## 0.8.1+5 - -* Make sure the `setFocusPoint` and `setExposurePoint` coordinates work correctly in all orientations on iOS (instead of only in portrait mode). - -## 0.8.1+4 - -* Silenced warnings that may occur during build when using a very - recent version of Flutter relating to null safety. - -## 0.8.1+3 - -* Do not change camera orientation when iOS device is flat. - -## 0.8.1+2 - -* Fix iOS crash when selecting an unsupported FocusMode. - -## 0.8.1+1 - -* Migrate maven repository from jcenter to mavenCentral. - -## 0.8.1 - -* Solved a rotation issue on iOS which caused the default preview to be displayed as landscape right instead of portrait. - -## 0.8.0 - -* Stable null safety release. -* Solved delay when using the zoom feature on iOS. -* Added a timeout to the pre-capture sequence on Android to prevent crashes when the camera cannot get a focus. -* Updates the example code listed in the [README.md](README.md), so it runs without errors when you simply copy/ paste it into a Flutter App. - -## 0.7.0+4 - -* Fix crash when taking picture with orientation lock - -## 0.7.0+3 - -* Clockwise rotation of focus point in android - -## 0.7.0+2 - -* Fix example reference in README. -* Revert compileSdkVersion back to 29 (from 30) as this is causing problems with add-to-app configurations. - -## 0.7.0+1 - -* Ensure communication from JAVA to Dart is done on the main UI thread. - -## 0.7.0 - -* BREAKING CHANGE: `CameraValue.aspectRatio` now returns `width / height` rather than `height / width`. [(commit)](https://github.com/flutter/plugins/commit/100c7470d4066b1d0f8f7e4ec6d7c943e736f970) - * Added support for capture orientation locking on Android and iOS. - * Fixed camera preview not rotating correctly on Android and iOS. - * Fixed camera preview sometimes appearing stretched on Android and iOS. - * Fixed videos & photos saving with the incorrect rotation on iOS. -* New Features: - * Adds auto focus support for Android and iOS implementations. [(commmit)](https://github.com/flutter/plugins/commit/71a831790220f898bf8120c8a23840ac6e742db5) - * Adds ImageFormat selection for ImageStream and Video(iOS only). [(commit)](https://github.com/flutter/plugins/commit/da1b4638b750a5ff832d7be86a42831c42c6d6c0) -* Bug Fixes: - * Fixes crash when taking a picture on iOS devices without flash. [(commit)](https://github.com/flutter/plugins/commit/831344490984b1feec007afc9c8595d80b6c13f4) - * Make sure the configured zoom scale is copied over to the final capture builder on Android. Fixes the issue where the preview is zoomed but the final picture is not. [(commit)](https://github.com/flutter/plugins/commit/5916f55664e1772a4c3f0c02c5c71fc11e491b76) - * Fixes crash with using inner camera on some Android devices. [(commit)](https://github.com/flutter/plugins/commit/980b674cb4020c1927917426211a87e275346d5e) - * Improved error feedback by differentiating between uninitialized and disposed camera controllers. [(commit)](https://github.com/flutter/plugins/commit/d0b7109f6b00a0eda03506fed2c74cc123ffc6f3) - * Fixes picture captures causing a crash on some Huawei devices. [(commit)](https://github.com/flutter/plugins/commit/6d18db83f00f4861ffe485aba2d1f8aa08845ce6) - -## 0.6.4+5 - -* Update the example app: remove the deprecated `RaisedButton` and `FlatButton` widgets. - -## 0.6.4+4 - -* Set camera auto focus enabled by default. - -## 0.6.4+3 - -* Detect if selected camera supports auto focus and act accordingly on Android. This solves a problem where front facing cameras are not capturing the picture because auto focus is not supported. - -## 0.6.4+2 - -* Set ImageStreamReader listener to null to prevent stale images when streaming images. - -## 0.6.4+1 - -* Added closeCaptureSession() to stopVideoRecording in Camera.java to fix an Android 6 crash. - -## 0.6.4 - -* Adds auto exposure support for Android and iOS implementations. - -## 0.6.3+4 - -* Revert previous dependency update: Changed dependency on camera_platform_interface to >=1.04 <1.1.0. - -## 0.6.3+3 - -* Updated dependency on camera_platform_interface to ^1.2.0. - -## 0.6.3+2 - -* Fixes crash on Android which occurs after video recording has stopped just before taking a picture. - -## 0.6.3+1 - -* Fixes flash & torch modes not working on some Android devices. - -## 0.6.3 - -* Adds torch mode as a flash mode for Android and iOS implementations. - -## 0.6.2+1 - -* Fix the API documentation for the `CameraController.takePicture` method. - -## 0.6.2 - -* Add zoom support for Android and iOS implementations. - -## 0.6.1+1 - -* Added implementation of the `didFinishProcessingPhoto` on iOS which allows saving image metadata (EXIF) on iOS 11 and up. - -## 0.6.1 - -* Add flash support for Android and iOS implementations. - -## 0.6.0+2 - -* Fix outdated links across a number of markdown files ([#3276](https://github.com/flutter/plugins/pull/3276)) - -## 0.6.0+1 - -Updated README to inform users that iOS 10.0+ is needed for use - -## 0.6.0 - -As part of implementing federated architecture and making the interface compatible with the web this version contains the following **breaking changes**: - -Method changes in `CameraController`: -- The `takePicture` method no longer accepts the `path` parameter, but instead returns the captured image as an instance of the `XFile` class; -- The `startVideoRecording` method no longer accepts the `filePath`. Instead the recorded video is now returned as a `XFile` instance when the `stopVideoRecording` method completes; -- The `stopVideoRecording` method now returns the captured video when it completes; -- Added the `buildPreview` method which is now used to implement the CameraPreview widget. - -## 0.5.8+19 - -* Update Flutter SDK constraint. - -## 0.5.8+18 - -* Suppress unchecked warning in Android tests which prevented the tests to compile. - -## 0.5.8+17 - -* Added Android 30 support. - -## 0.5.8+16 - -* Moved package to camera/camera subdir, to allow for federated implementations. - -## 0.5.8+15 - -* Added the `debugCheckIsDisposed` method which can be used in debug mode to validate if the `CameraController` class has been disposed. - -## 0.5.8+14 - -* Changed the order of the setters for `mediaRecorder` in `MediaRecorderBuilder.java` to make it more readable. - -## 0.5.8+13 - -* Added Dartdocs for all public APIs. - -## 0.5.8+12 - -* Added information of video not working correctly on Android emulators to `README.md`. - -## 0.5.8+11 - -* Fix rare nullptr exception on Android. -* Updated README.md with information about handling App lifecycle changes. - -## 0.5.8+10 - -* Suppress the `deprecated_member_use` warning in the example app for `ScaffoldMessenger.showSnackBar`. - -## 0.5.8+9 - -* Update android compileSdkVersion to 29. - -## 0.5.8+8 - -* Fixed garbled audio (in video) by setting audio encoding bitrate. - -## 0.5.8+7 - -* Keep handling deprecated Android v1 classes for backward compatibility. - -## 0.5.8+6 - -* Avoiding uses or overrides a deprecated API in CameraPlugin.java. - -## 0.5.8+5 - -* Fix compilation/availability issues on iOS. - -## 0.5.8+4 - -* Fixed bug caused by casting a `CameraAccessException` on Android. - -## 0.5.8+3 - -* Fix bug in usage example in README.md - -## 0.5.8+2 - -* Post-v2 embedding cleanups. - -## 0.5.8+1 - -* Update lower bound of dart dependency to 2.1.0. - -## 0.5.8 - -* Remove Android dependencies fallback. -* Require Flutter SDK 1.12.13+hotfix.5 or greater. - -## 0.5.7+5 - -* Replace deprecated `getFlutterEngine` call on Android. - -## 0.5.7+4 - -* Add `pedantic` to dev_dependency. - -## 0.5.7+3 - -* Fix an Android crash when permissions are requested multiple times. - -## 0.5.7+2 - -* Remove the deprecated `author:` field from pubspec.yaml -* Migrate the plugin to the pubspec platforms manifest. -* Require Flutter SDK 1.10.0 or greater. - -## 0.5.7+1 - -* Fix example null exception. - -## 0.5.7 - -* Fix unawaited futures. - -## 0.5.6+4 - -* Android: Use CameraDevice.TEMPLATE_RECORD to improve image streaming. - -## 0.5.6+3 - -* Remove AndroidX warning. - -## 0.5.6+2 - -* Include lifecycle dependency as a compileOnly one on Android to resolve - potential version conflicts with other transitive libraries. - -## 0.5.6+1 - -* Android: Use android.arch.lifecycle instead of androidx.lifecycle:lifecycle in `build.gradle` to support apps that has not been migrated to AndroidX. - -## 0.5.6 - -* Add support for the v2 Android embedding. This shouldn't affect existing - functionality. - -## 0.5.5+1 - -* Fix event type check - -## 0.5.5 - -* Define clang modules for iOS. - -## 0.5.4+3 - -* Update and migrate iOS example project. - -## 0.5.4+2 - -* Fix Android NullPointerException on devices with only front-facing camera. - -## 0.5.4+1 - -* Fix Android pause and resume video crash when executing in APIs below 24. - -## 0.5.4 - -* Add feature to pause and resume video recording. - -## 0.5.3+1 - -* Fix too large request code for FragmentActivity users. - -## 0.5.3 - -* Added new quality presets. -* Now all quality presets can be used to control image capture quality. - -## 0.5.2+2 - -* Fix memory leak related to not unregistering stream handler in FlutterEventChannel when disposing camera. - -## 0.5.2+1 - -* Fix bug that prevented video recording with audio. - -## 0.5.2 - -* Added capability to disable audio for the `CameraController`. (e.g. `CameraController(_, _, - enableAudio: false);`) - -## 0.5.1 - -* Can now be compiled with earlier Android sdks below 21 when -`` has been added to the project -`AndroidManifest.xml`. For sdks below 21, the plugin won't be registered and calls to it will throw -a `MissingPluginException.` - -## 0.5.0 - -* **Breaking Change** This plugin no longer handles closing and opening the camera on Android - lifecycle changes. Please use `WidgetsBindingObserver` to control camera resources on lifecycle - changes. See example project for example using `WidgetsBindingObserver`. - -## 0.4.3+2 - -* Bump the minimum Flutter version to 1.2.0. -* Add template type parameter to `invokeMethod` calls. - -## 0.4.3+1 - -* Catch additional `Exception`s from Android and throw as `CameraException`s. - -## 0.4.3 - -* Add capability to prepare the capture session for video recording on iOS. - -## 0.4.2 - -* Add sensor orientation value to `CameraDescription`. - -## 0.4.1 - -* Camera methods are ran in a background thread on iOS. - -## 0.4.0+3 - -* Fixed a crash when the plugin is registered by a background FlutterView. - -## 0.4.0+2 - -* Fix orientation of captured photos when camera is used for the first time on Android. - -## 0.4.0+1 - -* Remove categories. - -## 0.4.0 - -* **Breaking Change** Change iOS image stream format to `ImageFormatGroup.bgra8888` from - `ImageFormatGroup.yuv420`. - -## 0.3.0+4 - -* Fixed bug causing black screen on some Android devices. - -## 0.3.0+3 - -* Log a more detailed warning at build time about the previous AndroidX - migration. - -## 0.3.0+2 - -* Fix issue with calculating iOS image orientation in certain edge cases. - -## 0.3.0+1 - -* Remove initial method call invocation from static camera method. - -## 0.3.0 - -* **Breaking change**. Migrate from the deprecated original Android Support - Library to AndroidX. This shouldn't result in any functional changes, but it - requires any Android apps using this plugin to [also - migrate](https://developer.android.com/jetpack/androidx/migrate) if they're - using the original support library. - -## 0.2.9+1 - -* Fix a crash when failing to start preview. - -## 0.2.9 - -* Save photo orientation data on iOS. - -## 0.2.8 - -* Add access to the image stream from Dart. -* Use `cameraController.startImageStream(listener)` to process the images. - -## 0.2.7 - -* Fix issue with crash when the physical device's orientation is unknown. - -## 0.2.6 - -* Update the camera to use the physical device's orientation instead of the UI - orientation on Android. - -## 0.2.5 - -* Fix preview and video size with satisfying conditions of multiple outputs. - -## 0.2.4 - -* Unregister the activity lifecycle callbacks when disposing the camera. - -## 0.2.3 - -* Added path_provider and video_player as dev dependencies because the example uses them. -* Updated example path_provider version to get Dart 2 support. - -## 0.2.2 - -* iOS image capture is done in high quality (full camera size) - -## 0.2.1 - -* Updated Gradle tooling to match Android Studio 3.1.2. - -## 0.2.0 - -* Added support for video recording. -* Changed the example app to add video recording. - -A lot of **breaking changes** in this version: - -Getter changes: - - Removed `isStarted` - - Renamed `initialized` to `isInitialized` - - Added `isRecordingVideo` - -Method changes: - - Renamed `capture` to `takePicture` - - Removed `start` (the preview starts automatically when `initialize` is called) - - Added `startVideoRecording(String filePath)` - - Removed `stop` (the preview stops automatically when `dispose` is called) - - Added `stopVideoRecording` - -## 0.1.2 - -* Fix Dart 2 runtime errors. - -## 0.1.1 - -* Fix Dart 2 runtime error. - -## 0.1.0 - -* **Breaking change**. Set SDK constraints to match the Flutter beta release. - -## 0.0.4 - -* Revert regression of `CameraController.capture()` introduced in v. 0.0.3. - -## 0.0.3 - -* Improved resource cleanup on Android. Avoids crash on Activity restart. -* Made the Future returned by `CameraController.dispose()` and `CameraController.capture()` actually complete on - Android. - -## 0.0.2 - -* Simplified and upgraded Android project template to Android SDK 27. -* Moved Android package to io.flutter.plugins. -* Fixed warnings from the Dart 2.0 analyzer. - -## 0.0.1 - -* Initial release diff --git a/example/camera/LICENSE b/example/camera/LICENSE deleted file mode 100644 index c6823b8..0000000 --- a/example/camera/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -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. diff --git a/example/camera/README.md b/example/camera/README.md deleted file mode 100644 index 1ebac1e..0000000 --- a/example/camera/README.md +++ /dev/null @@ -1,178 +0,0 @@ -# Camera Plugin - - - -[![pub package](https://img.shields.io/pub/v/camera.svg)](https://pub.dev/packages/camera) - -A Flutter plugin for iOS, Android and Web allowing access to the device cameras. - -| | Android | iOS | Web | -|----------------|---------|-----------|------------------------| -| **Support** | SDK 21+ | iOS 12.0+ | [See `camera_web `][1] | - -## Features - -* Display live camera preview in a widget. -* Snapshots can be captured and saved to a file. -* Record video. -* Add access to the image stream from Dart. - -## Setup - -### iOS - -Add two rows to the `ios/Runner/Info.plist`: - -* one with the key `Privacy - Camera Usage Description` and a usage description. -* and one with the key `Privacy - Microphone Usage Description` and a usage description. - -If editing `Info.plist` as text, add: - -```xml -NSCameraUsageDescription -your usage description here -NSMicrophoneUsageDescription -your usage description here -``` - -### Android - -Change the minimum Android sdk version to 21 (or higher) in your `android/app/build.gradle` file. - -```groovy -minSdkVersion 21 -``` - -The endorsed [`camera_android_camerax`][2] implementation of the camera plugin built with CameraX has -better support for more devices than `camera_android`, but has some limitations; please see [this list][3] -for more details. If you wish to use the [`camera_android`][4] implementation of the camera plugin -built with Camera2 that lacks these limitations, please follow [these instructions][5]. - -If you wish to allow image streaming while your app is in the background, there are additional steps required; -please see [these instructions][6] for more details. - -### Web integration - -For web integration details, see the -[`camera_web` package](https://pub.dev/packages/camera_web). - -### Handling Lifecycle states - -As of version [0.5.0](https://github.com/flutter/packages/blob/main/packages/camera/CHANGELOG.md#050) of the camera plugin, lifecycle changes are no longer handled by the plugin. This means developers are now responsible to control camera resources when the lifecycle state is updated. Failure to do so might lead to unexpected behavior (for example as described in issue [#39109](https://github.com/flutter/flutter/issues/39109)). Handling lifecycle changes can be done by overriding the `didChangeAppLifecycleState` method like so: - - -```dart -@override -void didChangeAppLifecycleState(AppLifecycleState state) { - final CameraController? cameraController = controller; - - // App state changed before we got the chance to initialize. - if (cameraController == null || !cameraController.value.isInitialized) { - return; - } - - if (state == AppLifecycleState.inactive) { - cameraController.dispose(); - } else if (state == AppLifecycleState.resumed) { - _initializeCameraController(cameraController.description); - } -} -``` - -### Handling camera access permissions - -Permission errors may be thrown when initializing the camera controller, and you are expected to handle them properly. - -Here is a list of all permission error codes that can be thrown: - -- `CameraAccessDenied`: Thrown when user denies the camera access permission. - -- `CameraAccessDeniedWithoutPrompt`: iOS only for now. Thrown when user has previously denied the permission. iOS does not allow prompting alert dialog a second time. Users will have to go to Settings > Privacy > Camera in order to enable camera access. - -- `CameraAccessRestricted`: iOS only for now. Thrown when camera access is restricted and users cannot grant permission (parental control). - -- `AudioAccessDenied`: Thrown when user denies the audio access permission. - -- `AudioAccessDeniedWithoutPrompt`: iOS only for now. Thrown when user has previously denied the permission. iOS does not allow prompting alert dialog a second time. Users will have to go to Settings > Privacy > Microphone in order to enable audio access. - -- `AudioAccessRestricted`: iOS only for now. Thrown when audio access is restricted and users cannot grant permission (parental control). - -### Example - -Here is a small example flutter app displaying a full screen camera preview. - - -```dart -import 'package:camera/camera.dart'; -import 'package:flutter/material.dart'; - -late List _cameras; - -Future main() async { - WidgetsFlutterBinding.ensureInitialized(); - - _cameras = await availableCameras(); - runApp(const CameraApp()); -} - -/// CameraApp is the Main Application. -class CameraApp extends StatefulWidget { - /// Default Constructor - const CameraApp({super.key}); - - @override - State createState() => _CameraAppState(); -} - -class _CameraAppState extends State { - late CameraController controller; - - @override - void initState() { - super.initState(); - controller = CameraController(_cameras[0], ResolutionPreset.max); - controller.initialize().then((_) { - if (!mounted) { - return; - } - setState(() {}); - }).catchError((Object e) { - if (e is CameraException) { - switch (e.code) { - case 'CameraAccessDenied': - // Handle access errors here. - break; - default: - // Handle other errors here. - break; - } - } - }); - } - - @override - void dispose() { - controller.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - if (!controller.value.isInitialized) { - return Container(); - } - return MaterialApp( - home: CameraPreview(controller), - ); - } -} -``` - -For a more elaborate usage example see [here](https://github.com/flutter/packages/tree/main/packages/camera/camera/example). - -[1]: https://pub.dev/packages/camera_web#limitations-on-the-web-platform -[2]: https://pub.dev/packages/camera_android_camerax -[3]: https://pub.dev/packages/camera_android_camerax#limitations -[4]: https://pub.dev/packages/camera_android -[5]: https://pub.dev/packages/camera_android#usage -[6]: https://pub.dev/packages/camera_android_camerax#allowing-image-streaming-in-the-background diff --git a/example/camera/lib/camera.dart b/example/camera/lib/camera.dart deleted file mode 100644 index 507d6c7..0000000 --- a/example/camera/lib/camera.dart +++ /dev/null @@ -1,19 +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. - -export 'package:camera_platform_interface/camera_platform_interface.dart' - show - CameraDescription, - CameraException, - CameraLensDirection, - ExposureMode, - FlashMode, - FocusMode, - ImageFormatGroup, - ResolutionPreset, - XFile; - -export 'src/camera_controller.dart'; -export 'src/camera_image.dart'; -export 'src/camera_preview.dart'; diff --git a/example/camera/lib/src/camera_controller.dart b/example/camera/lib/src/camera_controller.dart deleted file mode 100644 index 5f90a0a..0000000 --- a/example/camera/lib/src/camera_controller.dart +++ /dev/null @@ -1,1022 +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:collection'; -import 'dart:math'; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -import '../camera.dart'; - -/// Signature for a callback receiving the a camera image. -/// -/// This is used by [CameraController.startImageStream]. -// TODO(stuartmorgan): Fix this naming the next time there's a breaking change -// to this package. -// ignore: camel_case_types -typedef onLatestImageAvailable = void Function(CameraImage image); - -/// Completes with a list of available cameras. -/// -/// May throw a [CameraException]. -Future> availableCameras() async { - return CameraPlatform.instance.availableCameras(); -} - -// TODO(stuartmorgan): Remove this once the package requires 2.10, where the -// dart:async `unawaited` accepts a nullable future. -void _unawaited(Future? future) {} - -/// The state of a [CameraController]. -class CameraValue { - /// Creates a new camera controller state. - const CameraValue({ - required this.isInitialized, - this.errorDescription, - this.previewSize, - required this.isRecordingVideo, - required this.isTakingPicture, - required this.isStreamingImages, - required bool isRecordingPaused, - required this.flashMode, - required this.exposureMode, - required this.focusMode, - required this.exposurePointSupported, - required this.focusPointSupported, - required this.deviceOrientation, - required this.description, - this.lockedCaptureOrientation, - this.recordingOrientation, - this.isPreviewPaused = false, - this.previewPauseOrientation, - }) : _isRecordingPaused = isRecordingPaused; - - /// Creates a new camera controller state for an uninitialized controller. - const CameraValue.uninitialized(CameraDescription description) - : this( - isInitialized: false, - isRecordingVideo: false, - isTakingPicture: false, - isStreamingImages: false, - isRecordingPaused: false, - flashMode: FlashMode.auto, - exposureMode: ExposureMode.auto, - exposurePointSupported: false, - focusMode: FocusMode.auto, - focusPointSupported: false, - deviceOrientation: DeviceOrientation.portraitUp, - isPreviewPaused: false, - description: description, - ); - - /// True after [CameraController.initialize] has completed successfully. - final bool isInitialized; - - /// True when a picture capture request has been sent but as not yet returned. - final bool isTakingPicture; - - /// True when the camera is recording (not the same as previewing). - final bool isRecordingVideo; - - /// True when images from the camera are being streamed. - final bool isStreamingImages; - - final bool _isRecordingPaused; - - /// True when the preview widget has been paused manually. - final bool isPreviewPaused; - - /// Set to the orientation the preview was paused in, if it is currently paused. - final DeviceOrientation? previewPauseOrientation; - - /// True when camera [isRecordingVideo] and recording is paused. - bool get isRecordingPaused => isRecordingVideo && _isRecordingPaused; - - /// Description of an error state. - /// - /// This is null while the controller is not in an error state. - /// When [hasError] is true this contains the error description. - final String? errorDescription; - - /// The size of the preview in pixels. - /// - /// Is `null` until [isInitialized] is `true`. - final Size? previewSize; - - /// Convenience getter for `previewSize.width / previewSize.height`. - /// - /// Can only be called when [initialize] is done. - double get aspectRatio => previewSize!.width / previewSize!.height; - - /// Whether the controller is in an error state. - /// - /// When true [errorDescription] describes the error. - bool get hasError => errorDescription != null; - - /// The flash mode the camera is currently set to. - final FlashMode flashMode; - - /// The exposure mode the camera is currently set to. - final ExposureMode exposureMode; - - /// The focus mode the camera is currently set to. - final FocusMode focusMode; - - /// Whether setting the exposure point is supported. - final bool exposurePointSupported; - - /// Whether setting the focus point is supported. - final bool focusPointSupported; - - /// The current device UI orientation. - final DeviceOrientation deviceOrientation; - - /// The currently locked capture orientation. - final DeviceOrientation? lockedCaptureOrientation; - - /// Whether the capture orientation is currently locked. - bool get isCaptureOrientationLocked => lockedCaptureOrientation != null; - - /// The orientation of the currently running video recording. - final DeviceOrientation? recordingOrientation; - - /// The properties of the camera device controlled by this controller. - final CameraDescription description; - - /// Creates a modified copy of the object. - /// - /// Explicitly specified fields get the specified value, all other fields get - /// the same value of the current object. - CameraValue copyWith({ - bool? isInitialized, - bool? isRecordingVideo, - bool? isTakingPicture, - bool? isStreamingImages, - String? errorDescription, - Size? previewSize, - bool? isRecordingPaused, - FlashMode? flashMode, - ExposureMode? exposureMode, - FocusMode? focusMode, - bool? exposurePointSupported, - bool? focusPointSupported, - DeviceOrientation? deviceOrientation, - Optional? lockedCaptureOrientation, - Optional? recordingOrientation, - bool? isPreviewPaused, - CameraDescription? description, - Optional? previewPauseOrientation, - }) { - return CameraValue( - isInitialized: isInitialized ?? this.isInitialized, - errorDescription: errorDescription, - previewSize: previewSize ?? this.previewSize, - isRecordingVideo: isRecordingVideo ?? this.isRecordingVideo, - isTakingPicture: isTakingPicture ?? this.isTakingPicture, - isStreamingImages: isStreamingImages ?? this.isStreamingImages, - isRecordingPaused: isRecordingPaused ?? _isRecordingPaused, - flashMode: flashMode ?? this.flashMode, - exposureMode: exposureMode ?? this.exposureMode, - focusMode: focusMode ?? this.focusMode, - exposurePointSupported: - exposurePointSupported ?? this.exposurePointSupported, - focusPointSupported: focusPointSupported ?? this.focusPointSupported, - deviceOrientation: deviceOrientation ?? this.deviceOrientation, - lockedCaptureOrientation: lockedCaptureOrientation == null - ? this.lockedCaptureOrientation - : lockedCaptureOrientation.orNull, - recordingOrientation: recordingOrientation == null - ? this.recordingOrientation - : recordingOrientation.orNull, - isPreviewPaused: isPreviewPaused ?? this.isPreviewPaused, - description: description ?? this.description, - previewPauseOrientation: previewPauseOrientation == null - ? this.previewPauseOrientation - : previewPauseOrientation.orNull, - ); - } - - @override - String toString() { - return '${objectRuntimeType(this, 'CameraValue')}(' - 'isRecordingVideo: $isRecordingVideo, ' - 'isInitialized: $isInitialized, ' - 'errorDescription: $errorDescription, ' - 'previewSize: $previewSize, ' - 'isStreamingImages: $isStreamingImages, ' - 'flashMode: $flashMode, ' - 'exposureMode: $exposureMode, ' - 'focusMode: $focusMode, ' - 'exposurePointSupported: $exposurePointSupported, ' - 'focusPointSupported: $focusPointSupported, ' - 'deviceOrientation: $deviceOrientation, ' - 'lockedCaptureOrientation: $lockedCaptureOrientation, ' - 'recordingOrientation: $recordingOrientation, ' - 'isPreviewPaused: $isPreviewPaused, ' - 'previewPausedOrientation: $previewPauseOrientation, ' - 'description: $description)'; - } -} - -/// Controls a device camera. -/// -/// Use [availableCameras] to get a list of available cameras. -/// -/// Before using a [CameraController] a call to [initialize] must complete. -/// -/// To show the camera preview on the screen use a [CameraPreview] widget. -class CameraController extends ValueNotifier { - /// Creates a new camera controller in an uninitialized state. - /// - /// - [resolutionPreset] affect the quality of video recording and image capture. - /// - [enableAudio] controls audio presence in recorded video. - /// - /// Following parameters (if present) will overwrite [resolutionPreset] settings: - /// - [fps] controls rate at which frames should be captured by the camera in frames per second. - /// - [videoBitrate] controls the video encoding bit rate for recording. - /// - [audioBitrate] controls the audio encoding bit rate for recording. - - CameraController( - CameraDescription description, - ResolutionPreset resolutionPreset, { - bool enableAudio = true, - int? fps, - int? videoBitrate, - int? audioBitrate, - this.imageFormatGroup, - }) : mediaSettings = MediaSettings( - resolutionPreset: resolutionPreset, - enableAudio: enableAudio, - fps: fps, - videoBitrate: videoBitrate, - audioBitrate: audioBitrate), - super(CameraValue.uninitialized(description)); - - /// The properties of the camera device controlled by this controller. - CameraDescription get description => value.description; - - /// The resolution this controller is targeting. - /// - /// This resolution preset is not guaranteed to be available on the device, - /// if unavailable a lower resolution will be used. - /// - /// See also: [ResolutionPreset]. - ResolutionPreset get resolutionPreset => - mediaSettings.resolutionPreset ?? ResolutionPreset.max; - - /// Whether to include audio when recording a video. - bool get enableAudio => mediaSettings.enableAudio; - - /// The media settings this controller is targeting. - /// - /// This media settings are not guaranteed to be available on the device, - /// if unavailable a [resolutionPreset] default values will be used. - /// - /// See also: [MediaSettings]. - final MediaSettings mediaSettings; - - /// The [ImageFormatGroup] describes the output of the raw image format. - /// - /// When null the imageFormat will fallback to the platforms default. - final ImageFormatGroup? imageFormatGroup; - - /// The id of a camera that hasn't been initialized. - @visibleForTesting - static const int kUninitializedCameraId = -1; - int _cameraId = kUninitializedCameraId; - - bool _isDisposed = false; - StreamSubscription? _imageStreamSubscription; - - // A Future awaiting an attempt to initialize (e.g. after `initialize` was - // just called). If the controller has not been initialized at least once, - // this value is null. - Future? _initializeFuture; - StreamSubscription? - _deviceOrientationSubscription; - - /// Checks whether [CameraController.dispose] has completed successfully. - /// - /// This is a no-op when asserts are disabled. - void debugCheckIsDisposed() { - assert(_isDisposed); - } - - /// The camera identifier with which the controller is associated. - int get cameraId => _cameraId; - - /// Initializes the camera on the device. - /// - /// Throws a [CameraException] if the initialization fails. - Future initialize() => _initializeWithDescription(description); - - /// Initializes the camera on the device with the specified description. - /// - /// Throws a [CameraException] if the initialization fails. - Future _initializeWithDescription(CameraDescription description) async { - if (_isDisposed) { - throw CameraException( - 'Disposed CameraController', - 'initialize was called on a disposed CameraController', - ); - } - - final Completer initializeCompleter = Completer(); - _initializeFuture = initializeCompleter.future; - - try { - final Completer initializeCompleter = - Completer(); - - _deviceOrientationSubscription ??= CameraPlatform.instance - .onDeviceOrientationChanged() - .listen((DeviceOrientationChangedEvent event) { - value = value.copyWith( - deviceOrientation: event.orientation, - ); - }); - - _cameraId = await CameraPlatform.instance.createCameraWithSettings( - description, - mediaSettings, - ); - - _unawaited(CameraPlatform.instance - .onCameraInitialized(_cameraId) - .first - .then((CameraInitializedEvent event) { - initializeCompleter.complete(event); - })); - - await CameraPlatform.instance.initializeCamera( - _cameraId, - imageFormatGroup: imageFormatGroup ?? ImageFormatGroup.unknown, - ); - - value = value.copyWith( - isInitialized: true, - description: description, - previewSize: await initializeCompleter.future - .then((CameraInitializedEvent event) => Size( - event.previewWidth, - event.previewHeight, - )), - exposureMode: await initializeCompleter.future - .then((CameraInitializedEvent event) => event.exposureMode), - focusMode: await initializeCompleter.future - .then((CameraInitializedEvent event) => event.focusMode), - exposurePointSupported: await initializeCompleter.future.then( - (CameraInitializedEvent event) => event.exposurePointSupported), - focusPointSupported: await initializeCompleter.future - .then((CameraInitializedEvent event) => event.focusPointSupported), - ); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } finally { - initializeCompleter.complete(); - } - } - - /// Prepare the capture session for video recording. - /// - /// Use of this method is optional, but it may be called for performance - /// reasons on iOS. - /// - /// Preparing audio can cause a minor delay in the CameraPreview view on iOS. - /// If video recording is intended, calling this early eliminates this delay - /// that would otherwise be experienced when video recording is started. - /// This operation is a no-op on Android and Web. - /// - /// Throws a [CameraException] if the prepare fails. - Future prepareForVideoRecording() async { - await CameraPlatform.instance.prepareForVideoRecording(); - } - - /// Pauses the current camera preview - Future pausePreview() async { - if (value.isPreviewPaused || !value.isInitialized || _isDisposed) { - return; - } - try { - await CameraPlatform.instance.pausePreview(_cameraId); - value = value.copyWith( - isPreviewPaused: true, - previewPauseOrientation: Optional.of( - value.lockedCaptureOrientation ?? value.deviceOrientation)); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Resumes the current camera preview - Future resumePreview() async { - if (!value.isPreviewPaused) { - return; - } - try { - await CameraPlatform.instance.resumePreview(_cameraId); - value = value.copyWith( - isPreviewPaused: false, - previewPauseOrientation: const Optional.absent()); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the description of the camera. - /// - /// Throws a [CameraException] if setting the description fails. - Future setDescription(CameraDescription description) async { - if (value.isRecordingVideo) { - await CameraPlatform.instance.setDescriptionWhileRecording(description); - value = value.copyWith(description: description); - } else { - if (_initializeFuture != null) { - await _initializeFuture; - await CameraPlatform.instance.dispose(_cameraId); - } - - await _initializeWithDescription(description); - } - } - - /// Captures an image and returns the file where it was saved. - /// - /// Throws a [CameraException] if the capture fails. - Future takePicture() async { - _throwIfNotInitialized('takePicture'); - if (value.isTakingPicture) { - throw CameraException( - 'Previous capture has not returned yet.', - 'takePicture was called before the previous capture returned.', - ); - } - try { - value = value.copyWith(isTakingPicture: true); - final XFile file = await CameraPlatform.instance.takePicture(_cameraId); - value = value.copyWith(isTakingPicture: false); - return file; - } on PlatformException catch (e) { - value = value.copyWith(isTakingPicture: false); - throw CameraException(e.code, e.message); - } - } - - /// Start streaming images from platform camera. - /// - /// Settings for capturing images on iOS and Android is set to always use the - /// latest image available from the camera and will drop all other images. - /// - /// When running continuously with [CameraPreview] widget, this function runs - /// best with [ResolutionPreset.low]. Running on [ResolutionPreset.high] can - /// have significant frame rate drops for [CameraPreview] on lower end - /// devices. - /// - /// Throws a [CameraException] if image streaming or video recording has - /// already started. - /// - /// The `startImageStream` method is only available on Android and iOS (other - /// platforms won't be supported in current setup). - /// - // TODO(bmparr): Add settings for resolution and fps. - Future startImageStream(onLatestImageAvailable onAvailable) async { - assert(defaultTargetPlatform == TargetPlatform.android || - defaultTargetPlatform == TargetPlatform.iOS); - _throwIfNotInitialized('startImageStream'); - if (value.isRecordingVideo) { - throw CameraException( - 'A video recording is already started.', - 'startImageStream was called while a video is being recorded.', - ); - } - if (value.isStreamingImages) { - throw CameraException( - 'A camera has started streaming images.', - 'startImageStream was called while a camera was streaming images.', - ); - } - - try { - _imageStreamSubscription = CameraPlatform.instance - .onStreamedFrameAvailable(_cameraId) - .listen((CameraImageData imageData) { - onAvailable(CameraImage.fromPlatformInterface(imageData)); - }); - value = value.copyWith(isStreamingImages: true); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Stop streaming images from platform camera. - /// - /// Throws a [CameraException] if image streaming was not started or video - /// recording was started. - /// - /// The `stopImageStream` method is only available on Android and iOS (other - /// platforms won't be supported in current setup). - Future stopImageStream() async { - assert(defaultTargetPlatform == TargetPlatform.android || - defaultTargetPlatform == TargetPlatform.iOS); - _throwIfNotInitialized('stopImageStream'); - if (!value.isStreamingImages) { - throw CameraException( - 'No camera is streaming images', - 'stopImageStream was called when no camera is streaming images.', - ); - } - - try { - value = value.copyWith(isStreamingImages: false); - await _imageStreamSubscription?.cancel(); - _imageStreamSubscription = null; - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Start a video recording. - /// - /// You may optionally pass an [onAvailable] callback to also have the - /// video frames streamed to this callback. - /// - /// The video is returned as a [XFile] after calling [stopVideoRecording]. - /// Throws a [CameraException] if the capture fails. - Future startVideoRecording( - {onLatestImageAvailable? onAvailable}) async { - _throwIfNotInitialized('startVideoRecording'); - if (value.isRecordingVideo) { - throw CameraException( - 'A video recording is already started.', - 'startVideoRecording was called when a recording is already started.', - ); - } - - void Function(CameraImageData image)? streamCallback; - if (onAvailable != null) { - streamCallback = (CameraImageData imageData) { - onAvailable(CameraImage.fromPlatformInterface(imageData)); - }; - } - - try { - await CameraPlatform.instance.startVideoCapturing( - VideoCaptureOptions(_cameraId, streamCallback: streamCallback)); - value = value.copyWith( - isRecordingVideo: true, - isRecordingPaused: false, - recordingOrientation: Optional.of( - value.lockedCaptureOrientation ?? value.deviceOrientation), - isStreamingImages: onAvailable != null); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Stops the video recording and returns the file where it was saved. - /// - /// Throws a [CameraException] if the capture failed. - Future stopVideoRecording() async { - _throwIfNotInitialized('stopVideoRecording'); - if (!value.isRecordingVideo) { - throw CameraException( - 'No video is recording', - 'stopVideoRecording was called when no video is recording.', - ); - } - - if (value.isStreamingImages) { - await stopImageStream(); - } - - try { - final XFile file = - await CameraPlatform.instance.stopVideoRecording(_cameraId); - value = value.copyWith( - isRecordingVideo: false, - recordingOrientation: const Optional.absent(), - ); - return file; - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Pause video recording. - /// - /// This feature is only available on iOS and Android sdk 24+. - Future pauseVideoRecording() async { - _throwIfNotInitialized('pauseVideoRecording'); - if (!value.isRecordingVideo) { - throw CameraException( - 'No video is recording', - 'pauseVideoRecording was called when no video is recording.', - ); - } - try { - await CameraPlatform.instance.pauseVideoRecording(_cameraId); - value = value.copyWith(isRecordingPaused: true); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Resume video recording after pausing. - /// - /// This feature is only available on iOS and Android sdk 24+. - Future resumeVideoRecording() async { - _throwIfNotInitialized('resumeVideoRecording'); - if (!value.isRecordingVideo) { - throw CameraException( - 'No video is recording', - 'resumeVideoRecording was called when no video is recording.', - ); - } - try { - await CameraPlatform.instance.resumeVideoRecording(_cameraId); - value = value.copyWith(isRecordingPaused: false); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Returns a widget showing a live camera preview. - Widget buildPreview() { - _throwIfNotInitialized('buildPreview'); - try { - return CameraPlatform.instance.buildPreview(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Gets the maximum supported zoom level for the selected camera. - Future getMaxZoomLevel() { - _throwIfNotInitialized('getMaxZoomLevel'); - try { - return CameraPlatform.instance.getMaxZoomLevel(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Gets the minimum supported zoom level for the selected camera. - Future getMinZoomLevel() { - _throwIfNotInitialized('getMinZoomLevel'); - try { - return CameraPlatform.instance.getMinZoomLevel(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Set the zoom level for the selected camera. - /// - /// The supplied [zoom] value should be between 1.0 and the maximum supported - /// zoom level returned by the `getMaxZoomLevel`. Throws an `CameraException` - /// when an illegal zoom level is suplied. - Future setZoomLevel(double zoom) { - _throwIfNotInitialized('setZoomLevel'); - try { - return CameraPlatform.instance.setZoomLevel(_cameraId, zoom); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the flash mode for taking pictures. - Future setFlashMode(FlashMode mode) async { - try { - await CameraPlatform.instance.setFlashMode(_cameraId, mode); - value = value.copyWith(flashMode: mode); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the exposure mode for taking pictures. - Future setExposureMode(ExposureMode mode) async { - try { - await CameraPlatform.instance.setExposureMode(_cameraId, mode); - value = value.copyWith(exposureMode: mode); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the exposure point for automatically determining the exposure value. - /// - /// Supplying a `null` value will reset the exposure point to it's default - /// value. - Future setExposurePoint(Offset? point) async { - if (point != null && - (point.dx < 0 || point.dx > 1 || point.dy < 0 || point.dy > 1)) { - throw ArgumentError( - 'The values of point should be anywhere between (0,0) and (1,1).'); - } - - try { - await CameraPlatform.instance.setExposurePoint( - _cameraId, - point == null - ? null - : Point( - point.dx, - point.dy, - ), - ); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Gets the minimum supported exposure offset for the selected camera in EV units. - Future getMinExposureOffset() async { - _throwIfNotInitialized('getMinExposureOffset'); - try { - return CameraPlatform.instance.getMinExposureOffset(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Gets the maximum supported exposure offset for the selected camera in EV units. - Future getMaxExposureOffset() async { - _throwIfNotInitialized('getMaxExposureOffset'); - try { - return CameraPlatform.instance.getMaxExposureOffset(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Gets the supported step size for exposure offset for the selected camera in EV units. - /// - /// Returns 0 when the camera supports using a free value without stepping. - Future getExposureOffsetStepSize() async { - _throwIfNotInitialized('getExposureOffsetStepSize'); - try { - return CameraPlatform.instance.getExposureOffsetStepSize(_cameraId); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the exposure offset for the selected camera. - /// - /// The supplied [offset] value should be in EV units. 1 EV unit represents a - /// doubling in brightness. It should be between the minimum and maximum offsets - /// obtained through `getMinExposureOffset` and `getMaxExposureOffset` respectively. - /// Throws a `CameraException` when an illegal offset is supplied. - /// - /// When the supplied [offset] value does not align with the step size obtained - /// through `getExposureStepSize`, it will automatically be rounded to the nearest step. - /// - /// Returns the (rounded) offset value that was set. - Future setExposureOffset(double offset) async { - _throwIfNotInitialized('setExposureOffset'); - // Check if offset is in range - final List range = await Future.wait( - >[getMinExposureOffset(), getMaxExposureOffset()]); - if (offset < range[0] || offset > range[1]) { - throw CameraException( - 'exposureOffsetOutOfBounds', - 'The provided exposure offset was outside the supported range for this device.', - ); - } - - // Round to the closest step if needed - final double stepSize = await getExposureOffsetStepSize(); - if (stepSize > 0) { - final double inv = 1.0 / stepSize; - double roundedOffset = (offset * inv).roundToDouble() / inv; - if (roundedOffset > range[1]) { - roundedOffset = (offset * inv).floorToDouble() / inv; - } else if (roundedOffset < range[0]) { - roundedOffset = (offset * inv).ceilToDouble() / inv; - } - offset = roundedOffset; - } - - try { - return CameraPlatform.instance.setExposureOffset(_cameraId, offset); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Locks the capture orientation. - /// - /// If [orientation] is omitted, the current device orientation is used. - Future lockCaptureOrientation([DeviceOrientation? orientation]) async { - try { - await CameraPlatform.instance.lockCaptureOrientation( - _cameraId, orientation ?? value.deviceOrientation); - value = value.copyWith( - lockedCaptureOrientation: Optional.of( - orientation ?? value.deviceOrientation)); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the focus mode for taking pictures. - Future setFocusMode(FocusMode mode) async { - try { - await CameraPlatform.instance.setFocusMode(_cameraId, mode); - value = value.copyWith(focusMode: mode); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Unlocks the capture orientation. - Future unlockCaptureOrientation() async { - try { - await CameraPlatform.instance.unlockCaptureOrientation(_cameraId); - value = value.copyWith( - lockedCaptureOrientation: const Optional.absent()); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Sets the focus point for automatically determining the focus value. - /// - /// Supplying a `null` value will reset the focus point to it's default - /// value. - Future setFocusPoint(Offset? point) async { - if (point != null && - (point.dx < 0 || point.dx > 1 || point.dy < 0 || point.dy > 1)) { - throw ArgumentError( - 'The values of point should be anywhere between (0,0) and (1,1).'); - } - try { - await CameraPlatform.instance.setFocusPoint( - _cameraId, - point == null - ? null - : Point( - point.dx, - point.dy, - ), - ); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - /// Releases the resources of this camera. - @override - Future dispose() async { - if (_isDisposed) { - return; - } - _unawaited(_deviceOrientationSubscription?.cancel()); - _isDisposed = true; - super.dispose(); - if (_initializeFuture != null) { - await _initializeFuture; - await CameraPlatform.instance.dispose(_cameraId); - } - } - - void _throwIfNotInitialized(String functionName) { - if (!value.isInitialized) { - throw CameraException( - 'Uninitialized CameraController', - '$functionName() was called on an uninitialized CameraController.', - ); - } - if (_isDisposed) { - throw CameraException( - 'Disposed CameraController', - '$functionName() was called on a disposed CameraController.', - ); - } - } - - @override - void removeListener(VoidCallback listener) { - // Prevent ValueListenableBuilder in CameraPreview widget from causing an - // exception to be thrown by attempting to remove its own listener after - // the controller has already been disposed. - if (!_isDisposed) { - super.removeListener(listener); - } - } -} - -/// A value that might be absent. -/// -/// Used to represent [DeviceOrientation]s that are optional but also able -/// to be cleared. -@immutable -class Optional extends IterableBase { - /// Constructs an empty Optional. - const Optional.absent() : _value = null; - - /// Constructs an Optional of the given [value]. - /// - /// Throws [ArgumentError] if [value] is null. - Optional.of(T value) : _value = value { - // TODO(cbracken): Delete and make this ctor const once mixed-mode - // execution is no longer around. - ArgumentError.checkNotNull(value); - } - - /// Constructs an Optional of the given [value]. - /// - /// If [value] is null, returns [absent()]. - const Optional.fromNullable(T? value) : _value = value; - - final T? _value; - - /// True when this optional contains a value. - bool get isPresent => _value != null; - - /// True when this optional contains no value. - bool get isNotPresent => _value == null; - - /// Gets the Optional value. - /// - /// Throws [StateError] if [value] is null. - T get value { - if (_value == null) { - throw StateError('value called on absent Optional.'); - } - return _value; - } - - /// Executes a function if the Optional value is present. - void ifPresent(void Function(T value) ifPresent) { - if (isPresent) { - ifPresent(_value as T); - } - } - - /// Execution a function if the Optional value is absent. - void ifAbsent(void Function() ifAbsent) { - if (!isPresent) { - ifAbsent(); - } - } - - /// Gets the Optional value with a default. - /// - /// The default is returned if the Optional is [absent()]. - /// - /// Throws [ArgumentError] if [defaultValue] is null. - T or(T defaultValue) { - return _value ?? defaultValue; - } - - /// Gets the Optional value, or `null` if there is none. - T? get orNull => _value; - - /// Transforms the Optional value. - /// - /// If the Optional is [absent()], returns [absent()] without applying the transformer. - /// - /// The transformer must not return `null`. If it does, an [ArgumentError] is thrown. - Optional transform(S Function(T value) transformer) { - return _value == null - ? Optional.absent() - : Optional.of(transformer(_value)); - } - - /// Transforms the Optional value. - /// - /// If the Optional is [absent()], returns [absent()] without applying the transformer. - /// - /// Returns [absent()] if the transformer returns `null`. - Optional transformNullable(S? Function(T value) transformer) { - return _value == null - ? Optional.absent() - : Optional.fromNullable(transformer(_value)); - } - - @override - Iterator get iterator => - isPresent ? [_value as T].iterator : Iterable.empty().iterator; - - /// Delegates to the underlying [value] hashCode. - @override - int get hashCode => _value.hashCode; - - /// Delegates to the underlying [value] operator==. - @override - bool operator ==(Object o) => o is Optional && o._value == _value; - - @override - String toString() { - return _value == null - ? 'Optional { absent }' - : 'Optional { value: $_value }'; - } -} diff --git a/example/camera/lib/src/camera_image.dart b/example/camera/lib/src/camera_image.dart deleted file mode 100644 index 0e531b3..0000000 --- a/example/camera/lib/src/camera_image.dart +++ /dev/null @@ -1,176 +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:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; - -// TODO(stuartmorgan): Remove all of these classes in a breaking change, and -// vend the platform interface versions directly. See -// https://github.com/flutter/flutter/issues/104188 - -/// A single color plane of image data. -/// -/// The number and meaning of the planes in an image are determined by the -/// format of the Image. -class Plane { - Plane._fromPlatformInterface(CameraImagePlane plane) - : bytes = plane.bytes, - bytesPerPixel = plane.bytesPerPixel, - bytesPerRow = plane.bytesPerRow, - height = plane.height, - width = plane.width; - - // Only used by the deprecated codepath that's kept to avoid breaking changes. - // Never called by the plugin itself. - Plane._fromPlatformData(Map data) - : bytes = data['bytes'] as Uint8List, - bytesPerPixel = data['bytesPerPixel'] as int?, - bytesPerRow = data['bytesPerRow'] as int, - height = data['height'] as int?, - width = data['width'] as int?; - - /// Bytes representing this plane. - final Uint8List bytes; - - /// The distance between adjacent pixel samples on Android, in bytes. - /// - /// Will be `null` on iOS. - final int? bytesPerPixel; - - /// The row stride for this color plane, in bytes. - final int bytesPerRow; - - /// Height of the pixel buffer on iOS. - /// - /// Will be `null` on Android - final int? height; - - /// Width of the pixel buffer on iOS. - /// - /// Will be `null` on Android. - final int? width; -} - -/// Describes how pixels are represented in an image. -class ImageFormat { - ImageFormat._fromPlatformInterface(CameraImageFormat format) - : group = format.group, - raw = format.raw; - - // Only used by the deprecated codepath that's kept to avoid breaking changes. - // Never called by the plugin itself. - ImageFormat._fromPlatformData(this.raw) : group = _asImageFormatGroup(raw); - - /// Describes the format group the raw image format falls into. - final ImageFormatGroup group; - - /// Raw version of the format from the Android or iOS platform. - /// - /// On Android, this is an `int` from class `android.graphics.ImageFormat`. See - /// https://developer.android.com/reference/android/graphics/ImageFormat - /// - /// On iOS, this is a `FourCharCode` constant from Pixel Format Identifiers. - /// See https://developer.apple.com/documentation/corevideo/1563591-pixel_format_identifiers?language=objc - final dynamic raw; -} - -// Only used by the deprecated codepath that's kept to avoid breaking changes. -// Never called by the plugin itself. -ImageFormatGroup _asImageFormatGroup(dynamic rawFormat) { - if (defaultTargetPlatform == TargetPlatform.android) { - switch (rawFormat) { - // android.graphics.ImageFormat.YUV_420_888 - case 35: - return ImageFormatGroup.yuv420; - // android.graphics.ImageFormat.JPEG - case 256: - return ImageFormatGroup.jpeg; - // android.graphics.ImageFormat.NV21 - case 17: - return ImageFormatGroup.nv21; - } - } - - if (defaultTargetPlatform == TargetPlatform.iOS) { - switch (rawFormat) { - // kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange - case 875704438: - return ImageFormatGroup.yuv420; - // kCVPixelFormatType_32BGRA - case 1111970369: - return ImageFormatGroup.bgra8888; - } - } - - return ImageFormatGroup.unknown; -} - -/// A single complete image buffer from the platform camera. -/// -/// This class allows for direct application access to the pixel data of an -/// Image through one or more [Uint8List]. Each buffer is encapsulated in a -/// [Plane] that describes the layout of the pixel data in that plane. The -/// [CameraImage] is not directly usable as a UI resource. -/// -/// Although not all image formats are planar on iOS, we treat 1-dimensional -/// images as single planar images. -class CameraImage { - /// Creates a [CameraImage] from the platform interface version. - CameraImage.fromPlatformInterface(CameraImageData data) - : format = ImageFormat._fromPlatformInterface(data.format), - height = data.height, - width = data.width, - planes = List.unmodifiable(data.planes.map( - (CameraImagePlane plane) => Plane._fromPlatformInterface(plane))), - lensAperture = data.lensAperture, - sensorExposureTime = data.sensorExposureTime, - sensorSensitivity = data.sensorSensitivity; - - /// Creates a [CameraImage] from method channel data. - @Deprecated('Use fromPlatformInterface instead') - CameraImage.fromPlatformData(Map data) - : format = ImageFormat._fromPlatformData(data['format']), - height = data['height'] as int, - width = data['width'] as int, - lensAperture = data['lensAperture'] as double?, - sensorExposureTime = data['sensorExposureTime'] as int?, - sensorSensitivity = data['sensorSensitivity'] as double?, - planes = List.unmodifiable((data['planes'] as List) - .map((dynamic planeData) => - Plane._fromPlatformData(planeData as Map))); - - /// Format of the image provided. - /// - /// Determines the number of planes needed to represent the image, and - /// the general layout of the pixel data in each [Uint8List]. - final ImageFormat format; - - /// Height of the image in pixels. - /// - /// For formats where some color channels are subsampled, this is the height - /// of the largest-resolution plane. - final int height; - - /// Width of the image in pixels. - /// - /// For formats where some color channels are subsampled, this is the width - /// of the largest-resolution plane. - final int width; - - /// The pixels planes for this image. - /// - /// The number of planes is determined by the format of the image. - final List planes; - - /// The aperture settings for this image. - /// - /// Represented as an f-stop value. - final double? lensAperture; - - /// The sensor exposure time for this image in nanoseconds. - final int? sensorExposureTime; - - /// The sensor sensitivity in standard ISO arithmetic units. - final double? sensorSensitivity; -} diff --git a/example/camera/lib/src/camera_preview.dart b/example/camera/lib/src/camera_preview.dart deleted file mode 100644 index 53f9034..0000000 --- a/example/camera/lib/src/camera_preview.dart +++ /dev/null @@ -1,81 +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:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; - -import '../camera.dart'; - -/// A widget showing a live camera preview. -class CameraPreview extends StatelessWidget { - /// Creates a preview widget for the given camera controller. - const CameraPreview(this.controller, {super.key, this.child}); - - /// The controller for the camera that the preview is shown for. - final CameraController controller; - - /// A widget to overlay on top of the camera preview - final Widget? child; - - @override - Widget build(BuildContext context) { - return controller.value.isInitialized - ? ValueListenableBuilder( - valueListenable: controller, - builder: (BuildContext context, Object? value, Widget? child) { - return AspectRatio( - aspectRatio: _isLandscape() - ? controller.value.aspectRatio - : (1 / controller.value.aspectRatio), - child: Stack( - fit: StackFit.expand, - children: [ - _wrapInRotatedBox(child: controller.buildPreview()), - child ?? Container(), - ], - ), - ); - }, - child: child, - ) - : Container(); - } - - Widget _wrapInRotatedBox({required Widget child}) { - if (kIsWeb || defaultTargetPlatform != TargetPlatform.android) { - return child; - } - - return RotatedBox( - quarterTurns: _getQuarterTurns(), - child: child, - ); - } - - bool _isLandscape() { - return [ - DeviceOrientation.landscapeLeft, - DeviceOrientation.landscapeRight - ].contains(_getApplicableOrientation()); - } - - int _getQuarterTurns() { - final Map turns = { - DeviceOrientation.portraitUp: 0, - DeviceOrientation.landscapeRight: 1, - DeviceOrientation.portraitDown: 2, - DeviceOrientation.landscapeLeft: 3, - }; - return turns[_getApplicableOrientation()]!; - } - - DeviceOrientation _getApplicableOrientation() { - return controller.value.isRecordingVideo - ? controller.value.recordingOrientation! - : (controller.value.previewPauseOrientation ?? - controller.value.lockedCaptureOrientation ?? - controller.value.deviceOrientation); - } -} diff --git a/example/camera/pubspec.lock b/example/camera/pubspec.lock deleted file mode 100644 index cde95f3..0000000 --- a/example/camera/pubspec.lock +++ /dev/null @@ -1,441 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a - url: "https://pub.dev" - source: hosted - version: "61.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 - url: "https://pub.dev" - source: hosted - version: "5.13.0" - args: - dependency: transitive - description: - name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 - url: "https://pub.dev" - source: hosted - version: "2.4.2" - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - build: - dependency: transitive - description: - name: build - sha256: "43865b79fbb78532e4bff7c33087aa43b1d488c4fdef014eaef568af6d8016dc" - url: "https://pub.dev" - source: hosted - version: "2.4.0" - built_collection: - dependency: transitive - description: - name: built_collection - sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.dev" - source: hosted - version: "5.1.1" - built_value: - dependency: transitive - description: - name: built_value - sha256: "598a2a682e2a7a90f08ba39c0aaa9374c5112340f0a2e275f61b59389543d166" - url: "https://pub.dev" - source: hosted - version: "8.6.1" - camera_android_camerax: - dependency: "direct main" - description: - name: camera_android_camerax - sha256: "59a01443c280cf969449f4b72db9396e80e5a9e8f07a2500a042906a157ce894" - url: "https://pub.dev" - source: hosted - version: "0.6.9+2" - camera_avfoundation: - dependency: "direct main" - description: - name: camera_avfoundation - sha256: "0d04cec8715b59fb6dc60eefb47e69024f51233c570e475b886dc9290568bca7" - url: "https://pub.dev" - source: hosted - version: "0.9.17+4" - camera_platform_interface: - dependency: "direct main" - description: - name: camera_platform_interface - sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061 - url: "https://pub.dev" - source: hosted - version: "2.8.0" - camera_web: - dependency: "direct main" - description: - path: "../web_camera" - relative: true - source: path - version: "0.3.3" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: "4ad01d6e56db961d29661561effde45e519939fdaeb46c351275b182eac70189" - url: "https://pub.dev" - source: hosted - version: "4.5.0" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - cross_file: - dependency: transitive - description: - name: cross_file - sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9" - url: "https://pub.dev" - source: hosted - version: "0.3.3+4" - crypto: - dependency: transitive - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - dart_style: - dependency: transitive - description: - name: dart_style - sha256: f4f1f73ab3fd2afcbcca165ee601fe980d966af6a21b5970c6c9376955c528ad - url: "https://pub.dev" - source: hosted - version: "2.3.1" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - file: - dependency: transitive - description: - name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" - url: "https://pub.dev" - source: hosted - version: "6.1.4" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_plugin_android_lifecycle: - dependency: "direct main" - description: - name: flutter_plugin_android_lifecycle - sha256: "950e77c2bbe1692bc0874fc7fb491b96a4dc340457f4ea1641443d0a6c1ea360" - url: "https://pub.dev" - source: hosted - version: "2.0.15" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.dev" - source: hosted - version: "10.0.5" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - logging: - dependency: transitive - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.dev" - source: hosted - version: "1.15.0" - mockito: - dependency: "direct dev" - description: - name: mockito - sha256: "6841eed20a7befac0ce07df8116c8b8233ed1f4486a7647c7fc5a02ae6163917" - url: "https://pub.dev" - source: hosted - version: "5.4.4" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - path: - dependency: transitive - description: - name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - plugin_platform_interface: - dependency: "direct dev" - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_gen: - dependency: transitive - description: - name: source_gen - sha256: "373f96cf5a8744bc9816c1ff41cf5391bbdbe3d7a96fe98c622b6738a8a7bd33" - url: "https://pub.dev" - source: hosted - version: "1.3.2" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - stream_transform: - dependency: transitive - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.dev" - source: hosted - version: "0.7.2" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.dev" - source: hosted - version: "14.2.5" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - web: - dependency: transitive - description: - name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.dev" - source: hosted - version: "1.1.0" - yaml: - dependency: transitive - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" -sdks: - dart: ">=3.5.0 <4.0.0" - flutter: ">=3.24.0" diff --git a/example/camera/pubspec.yaml b/example/camera/pubspec.yaml deleted file mode 100644 index 3999205..0000000 --- a/example/camera/pubspec.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: camera -description: A Flutter plugin for controlling the camera. Supports previewing - the camera feed, capturing images and video, and streaming image buffers to - Dart. -repository: https://github.com/flutter/packages/tree/main/packages/camera/camera -issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.11.0+2 - -environment: - sdk: ^3.3.0 - flutter: ">=3.19.0" - -flutter: - plugin: - platforms: - android: - default_package: camera_android_camerax - ios: - default_package: camera_avfoundation - web: - default_package: camera_web - -dependencies: - camera_android_camerax: ^0.6.5 - camera_avfoundation: ^0.9.15 - camera_platform_interface: ^2.6.0 - camera_web: - path: ../web_camera/ - flutter: - sdk: flutter - flutter_plugin_android_lifecycle: ^2.0.2 - -dev_dependencies: - flutter_test: - sdk: flutter - mockito: ^5.4.4 - plugin_platform_interface: ^2.1.7 - -topics: - - camera diff --git a/example/camera/test/camera_image_stream_test.dart b/example/camera/test/camera_image_stream_test.dart deleted file mode 100644 index c89e4ac..0000000 --- a/example/camera/test/camera_image_stream_test.dart +++ /dev/null @@ -1,242 +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:camera/camera.dart'; -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'camera_test.dart'; - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - late MockStreamingCameraPlatform mockPlatform; - - setUp(() { - mockPlatform = MockStreamingCameraPlatform(); - CameraPlatform.instance = mockPlatform; - }); - - test('startImageStream() throws $CameraException when uninitialized', () { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - () => cameraController.startImageStream((CameraImage image) {}), - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'startImageStream() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('startImageStream() throws $CameraException when recording videos', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - - cameraController.value = - cameraController.value.copyWith(isRecordingVideo: true); - - expect( - () => cameraController.startImageStream((CameraImage image) {}), - throwsA(isA().having( - (CameraException error) => error.description, - 'A video recording is already started.', - 'startImageStream was called while a video is being recorded.', - ))); - }); - test( - 'startImageStream() throws $CameraException when already streaming images', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - cameraController.value = - cameraController.value.copyWith(isStreamingImages: true); - expect( - () => cameraController.startImageStream((CameraImage image) {}), - throwsA(isA().having( - (CameraException error) => error.description, - 'A camera has started streaming images.', - 'startImageStream was called while a camera was streaming images.', - ))); - }); - - test('startImageStream() calls CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.startImageStream((CameraImage image) {}); - - expect(mockPlatform.streamCallLog, - ['onStreamedFrameAvailable', 'listen']); - }); - - test('stopImageStream() throws $CameraException when uninitialized', () { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - cameraController.stopImageStream, - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'stopImageStream() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('stopImageStream() throws $CameraException when not streaming images', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - expect( - cameraController.stopImageStream, - throwsA(isA().having( - (CameraException error) => error.description, - 'No camera is streaming images', - 'stopImageStream was called when no camera is streaming images.', - ))); - }); - - test('stopImageStream() intended behaviour', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - await cameraController.startImageStream((CameraImage image) {}); - await cameraController.stopImageStream(); - - expect(mockPlatform.streamCallLog, - ['onStreamedFrameAvailable', 'listen', 'cancel']); - }); - - test('startVideoRecording() can stream images', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - - await cameraController.startVideoRecording( - onAvailable: (CameraImage image) {}); - - expect( - mockPlatform.streamCallLog.contains('startVideoCapturing with stream'), - isTrue); - }); - - test('startVideoRecording() by default does not stream', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - - await cameraController.startVideoRecording(); - - expect(mockPlatform.streamCallLog.contains('startVideoCapturing'), isTrue); - }); -} - -class MockStreamingCameraPlatform extends MockCameraPlatform { - List streamCallLog = []; - - StreamController? _streamController; - - @override - Stream onStreamedFrameAvailable(int cameraId, - {CameraImageStreamOptions? options}) { - streamCallLog.add('onStreamedFrameAvailable'); - _streamController = StreamController( - onListen: _onFrameStreamListen, - onCancel: _onFrameStreamCancel, - ); - return _streamController!.stream; - } - - @override - Future startVideoRecording(int cameraId, {Duration? maxVideoDuration}) { - streamCallLog.add('startVideoRecording'); - // Ignore maxVideoDuration, as it is unimplemented and deprecated. - return super.startVideoRecording(cameraId); - } - - @override - Future startVideoCapturing(VideoCaptureOptions options) { - if (options.streamCallback == null) { - streamCallLog.add('startVideoCapturing'); - } else { - streamCallLog.add('startVideoCapturing with stream'); - } - return super.startVideoCapturing(options); - } - - void _onFrameStreamListen() { - streamCallLog.add('listen'); - } - - FutureOr _onFrameStreamCancel() async { - streamCallLog.add('cancel'); - _streamController = null; - } -} diff --git a/example/camera/test/camera_image_test.dart b/example/camera/test/camera_image_test.dart deleted file mode 100644 index 04bfd14..0000000 --- a/example/camera/test/camera_image_test.dart +++ /dev/null @@ -1,208 +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:camera/camera.dart'; -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_test/flutter_test.dart'; - -void main() { - test('translates correctly from platform interface classes', () { - final CameraImageData originalImage = CameraImageData( - format: const CameraImageFormat(ImageFormatGroup.jpeg, raw: 1234), - planes: [ - CameraImagePlane( - bytes: Uint8List.fromList([1, 2, 3, 4]), - bytesPerRow: 20, - bytesPerPixel: 3, - width: 200, - height: 100, - ), - CameraImagePlane( - bytes: Uint8List.fromList([5, 6, 7, 8]), - bytesPerRow: 18, - bytesPerPixel: 4, - width: 220, - height: 110, - ), - ], - width: 640, - height: 480, - lensAperture: 2.5, - sensorExposureTime: 5, - sensorSensitivity: 1.3, - ); - - final CameraImage image = CameraImage.fromPlatformInterface(originalImage); - // Simple values. - expect(image.width, 640); - expect(image.height, 480); - expect(image.lensAperture, 2.5); - expect(image.sensorExposureTime, 5); - expect(image.sensorSensitivity, 1.3); - // Format. - expect(image.format.group, ImageFormatGroup.jpeg); - expect(image.format.raw, 1234); - // Planes. - expect(image.planes.length, originalImage.planes.length); - for (int i = 0; i < image.planes.length; i++) { - expect( - image.planes[i].bytes.length, originalImage.planes[i].bytes.length); - for (int j = 0; j < image.planes[i].bytes.length; j++) { - expect(image.planes[i].bytes[j], originalImage.planes[i].bytes[j]); - } - expect( - image.planes[i].bytesPerPixel, originalImage.planes[i].bytesPerPixel); - expect(image.planes[i].bytesPerRow, originalImage.planes[i].bytesPerRow); - expect(image.planes[i].width, originalImage.planes[i].width); - expect(image.planes[i].height, originalImage.planes[i].height); - } - }); - - group('legacy constructors', () { - test('$CameraImage can be created', () { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': 35, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.height, 1); - expect(cameraImage.width, 4); - expect(cameraImage.format.group, ImageFormatGroup.yuv420); - expect(cameraImage.planes.length, 1); - }); - - test('$CameraImage has ImageFormatGroup.yuv420 for iOS', () { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': 875704438, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.format.group, ImageFormatGroup.yuv420); - }); - - test('$CameraImage has ImageFormatGroup.yuv420 for Android', () { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': 35, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.format.group, ImageFormatGroup.yuv420); - }); - - test('$CameraImage has ImageFormatGroup.nv21 for android', () { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': 17, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.format.group, ImageFormatGroup.nv21); - }); - - test('$CameraImage has ImageFormatGroup.bgra8888 for iOS', () { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': 1111970369, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.format.group, ImageFormatGroup.bgra8888); - }); - - test('$CameraImage has ImageFormatGroup.unknown', () { - final CameraImage cameraImage = - CameraImage.fromPlatformData({ - 'format': null, - 'height': 1, - 'width': 4, - 'lensAperture': 1.8, - 'sensorExposureTime': 9991324, - 'sensorSensitivity': 92.0, - 'planes': [ - { - 'bytes': Uint8List.fromList([1, 2, 3, 4]), - 'bytesPerPixel': 1, - 'bytesPerRow': 4, - 'height': 1, - 'width': 4 - } - ] - }); - expect(cameraImage.format.group, ImageFormatGroup.unknown); - }); - }); -} diff --git a/example/camera/test/camera_preview_test.dart b/example/camera/test/camera_preview_test.dart deleted file mode 100644 index 4b5a2a5..0000000 --- a/example/camera/test/camera_preview_test.dart +++ /dev/null @@ -1,259 +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:camera/camera.dart'; -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; -import 'package:flutter_test/flutter_test.dart'; - -class FakeController extends ValueNotifier - implements CameraController { - FakeController() : super(const CameraValue.uninitialized(fakeDescription)); - - static const CameraDescription fakeDescription = CameraDescription( - name: '', lensDirection: CameraLensDirection.back, sensorOrientation: 0); - - @override - Future dispose() async { - super.dispose(); - } - - @override - Widget buildPreview() { - return const Texture(textureId: CameraController.kUninitializedCameraId); - } - - @override - int get cameraId => CameraController.kUninitializedCameraId; - - @override - void debugCheckIsDisposed() {} - - @override - bool get enableAudio => false; - - @override - Future getExposureOffsetStepSize() async => 1.0; - - @override - Future getMaxExposureOffset() async => 1.0; - - @override - Future getMaxZoomLevel() async => 1.0; - - @override - Future getMinExposureOffset() async => 1.0; - - @override - Future getMinZoomLevel() async => 1.0; - - @override - ImageFormatGroup? get imageFormatGroup => null; - - @override - Future initialize() async {} - - @override - Future lockCaptureOrientation([DeviceOrientation? orientation]) async {} - - @override - Future pauseVideoRecording() async {} - - @override - Future prepareForVideoRecording() async {} - - @override - ResolutionPreset get resolutionPreset => ResolutionPreset.low; - - @override - MediaSettings get mediaSettings => const MediaSettings( - resolutionPreset: ResolutionPreset.low, - fps: 15, - videoBitrate: 200000, - audioBitrate: 32000, - enableAudio: true, - ); - - @override - Future resumeVideoRecording() async {} - - @override - Future setExposureMode(ExposureMode mode) async {} - - @override - Future setExposureOffset(double offset) async => offset; - - @override - Future setExposurePoint(Offset? point) async {} - - @override - Future setFlashMode(FlashMode mode) async {} - - @override - Future setFocusMode(FocusMode mode) async {} - - @override - Future setFocusPoint(Offset? point) async {} - - @override - Future setZoomLevel(double zoom) async {} - - @override - Future startImageStream(onLatestImageAvailable onAvailable) async {} - - @override - Future startVideoRecording( - {onLatestImageAvailable? onAvailable}) async {} - - @override - Future stopImageStream() async {} - - @override - Future stopVideoRecording() async => XFile(''); - - @override - Future takePicture() async => XFile(''); - - @override - Future unlockCaptureOrientation() async {} - - @override - Future pausePreview() async {} - - @override - Future resumePreview() async {} - - @override - Future setDescription(CameraDescription description) async {} - - @override - CameraDescription get description => value.description; -} - -void main() { - group('RotatedBox (Android only)', () { - testWidgets( - 'when recording rotatedBox should turn according to recording orientation', - ( - WidgetTester tester, - ) async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final FakeController controller = FakeController(); - controller.value = controller.value.copyWith( - isInitialized: true, - isRecordingVideo: true, - deviceOrientation: DeviceOrientation.portraitUp, - lockedCaptureOrientation: - const Optional.fromNullable( - DeviceOrientation.landscapeRight), - recordingOrientation: const Optional.fromNullable( - DeviceOrientation.landscapeLeft), - previewSize: const Size(480, 640), - ); - - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: CameraPreview(controller), - ), - ); - expect(find.byType(RotatedBox), findsOneWidget); - - final RotatedBox rotatedBox = - tester.widget(find.byType(RotatedBox)); - expect(rotatedBox.quarterTurns, 3); - - debugDefaultTargetPlatformOverride = null; - }); - - testWidgets( - 'when orientation locked rotatedBox should turn according to locked orientation', - ( - WidgetTester tester, - ) async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final FakeController controller = FakeController(); - controller.value = controller.value.copyWith( - isInitialized: true, - deviceOrientation: DeviceOrientation.portraitUp, - lockedCaptureOrientation: - const Optional.fromNullable( - DeviceOrientation.landscapeRight), - recordingOrientation: const Optional.fromNullable( - DeviceOrientation.landscapeLeft), - previewSize: const Size(480, 640), - ); - - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: CameraPreview(controller), - ), - ); - expect(find.byType(RotatedBox), findsOneWidget); - - final RotatedBox rotatedBox = - tester.widget(find.byType(RotatedBox)); - expect(rotatedBox.quarterTurns, 1); - - debugDefaultTargetPlatformOverride = null; - }); - - testWidgets( - 'when not locked and not recording rotatedBox should turn according to device orientation', - ( - WidgetTester tester, - ) async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - - final FakeController controller = FakeController(); - controller.value = controller.value.copyWith( - isInitialized: true, - deviceOrientation: DeviceOrientation.portraitUp, - recordingOrientation: const Optional.fromNullable( - DeviceOrientation.landscapeLeft), - previewSize: const Size(480, 640), - ); - - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: CameraPreview(controller), - ), - ); - expect(find.byType(RotatedBox), findsOneWidget); - - final RotatedBox rotatedBox = - tester.widget(find.byType(RotatedBox)); - expect(rotatedBox.quarterTurns, 0); - - debugDefaultTargetPlatformOverride = null; - }); - }, skip: kIsWeb); - - testWidgets('when not on Android there should not be a rotated box', - (WidgetTester tester) async { - debugDefaultTargetPlatformOverride = TargetPlatform.iOS; - final FakeController controller = FakeController(); - controller.value = controller.value.copyWith( - isInitialized: true, - previewSize: const Size(480, 640), - ); - - await tester.pumpWidget( - Directionality( - textDirection: TextDirection.ltr, - child: CameraPreview(controller), - ), - ); - expect(find.byType(RotatedBox), findsNothing); - expect(find.byType(Texture), findsOneWidget); - debugDefaultTargetPlatformOverride = null; - }); -} diff --git a/example/camera/test/camera_test.dart b/example/camera/test/camera_test.dart deleted file mode 100644 index 0c6a319..0000000 --- a/example/camera/test/camera_test.dart +++ /dev/null @@ -1,1621 +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:math'; - -import 'package:camera/camera.dart'; -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:mockito/mockito.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -List get mockAvailableCameras => [ - const CameraDescription( - name: 'camBack', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - const CameraDescription( - name: 'camFront', - lensDirection: CameraLensDirection.front, - sensorOrientation: 180), - ]; - -int get mockInitializeCamera => 13; - -CameraInitializedEvent get mockOnCameraInitializedEvent => - const CameraInitializedEvent( - 13, - 75, - 75, - ExposureMode.auto, - true, - FocusMode.auto, - true, - ); - -DeviceOrientationChangedEvent get mockOnDeviceOrientationChangedEvent => - const DeviceOrientationChangedEvent(DeviceOrientation.portraitUp); - -CameraClosingEvent get mockOnCameraClosingEvent => const CameraClosingEvent(13); - -CameraErrorEvent get mockOnCameraErrorEvent => - const CameraErrorEvent(13, 'closing'); - -XFile mockTakePicture = XFile('foo/bar.png'); - -XFile mockVideoRecordingXFile = XFile('foo/bar.mpeg'); - -bool mockPlatformException = false; - -void main() { - WidgetsFlutterBinding.ensureInitialized(); - - group('camera', () { - test('debugCheckIsDisposed should not throw assertion error when disposed', - () { - const MockCameraDescription description = MockCameraDescription(); - final CameraController controller = CameraController( - description, - ResolutionPreset.low, - ); - - controller.dispose(); - - expect(controller.debugCheckIsDisposed, returnsNormally); - }); - - test('debugCheckIsDisposed should throw assertion error when not disposed', - () { - const MockCameraDescription description = MockCameraDescription(); - final CameraController controller = CameraController( - description, - ResolutionPreset.low, - ); - - expect( - () => controller.debugCheckIsDisposed(), - throwsAssertionError, - ); - }); - - test('availableCameras() has camera', () async { - CameraPlatform.instance = MockCameraPlatform(); - - final List camList = await availableCameras(); - - expect(camList, equals(mockAvailableCameras)); - }); - }); - - group('$CameraController', () { - setUpAll(() { - CameraPlatform.instance = MockCameraPlatform(); - }); - - test('Can be initialized', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - expect(cameraController.value.aspectRatio, 1); - expect(cameraController.value.previewSize, const Size(75, 75)); - expect(cameraController.value.isInitialized, isTrue); - }); - - test('can be initialized with media settings', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.low, - fps: 15, - videoBitrate: 200000, - audioBitrate: 32000, - enableAudio: false, - ); - await cameraController.initialize(); - - expect(cameraController.value.aspectRatio, 1); - expect(cameraController.value.previewSize, const Size(75, 75)); - expect(cameraController.value.isInitialized, isTrue); - expect(cameraController.resolutionPreset, ResolutionPreset.low); - expect(cameraController.enableAudio, false); - expect(cameraController.mediaSettings.fps, 15); - expect(cameraController.mediaSettings.videoBitrate, 200000); - expect(cameraController.mediaSettings.audioBitrate, 32000); - }); - - test('default constructor initializes media settings', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - expect(cameraController.resolutionPreset, ResolutionPreset.max); - expect(cameraController.enableAudio, true); - expect(cameraController.mediaSettings.fps, isNull); - expect(cameraController.mediaSettings.videoBitrate, isNull); - expect(cameraController.mediaSettings.audioBitrate, isNull); - }); - - test('can be disposed', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - expect(cameraController.value.aspectRatio, 1); - expect(cameraController.value.previewSize, const Size(75, 75)); - expect(cameraController.value.isInitialized, isTrue); - - await cameraController.dispose(); - - verify(CameraPlatform.instance.dispose(13)).called(1); - }); - - test('initialize() throws CameraException when disposed', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - expect(cameraController.value.aspectRatio, 1); - expect(cameraController.value.previewSize, const Size(75, 75)); - expect(cameraController.value.isInitialized, isTrue); - - await cameraController.dispose(); - - verify(CameraPlatform.instance.dispose(13)).called(1); - - expect( - cameraController.initialize, - throwsA(isA().having( - (CameraException error) => error.description, - 'Error description', - 'initialize was called on a disposed CameraController', - ))); - }); - - test('initialize() throws $CameraException on $PlatformException ', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - mockPlatformException = true; - - expect( - cameraController.initialize, - throwsA(isA().having( - (CameraException error) => error.description, - 'foo', - 'bar', - ))); - mockPlatformException = false; - }); - - test('initialize() sets imageFormat', () async { - debugDefaultTargetPlatformOverride = TargetPlatform.android; - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max, - imageFormatGroup: ImageFormatGroup.yuv420, - ); - await cameraController.initialize(); - verify(CameraPlatform.instance - .initializeCamera(13, imageFormatGroup: ImageFormatGroup.yuv420)) - .called(1); - }); - - test('setDescription waits for initialize before calling dispose', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90, - ), - ResolutionPreset.max, - imageFormatGroup: ImageFormatGroup.bgra8888, - ); - - final Completer initializeCompleter = Completer(); - when(CameraPlatform.instance.initializeCamera( - mockInitializeCamera, - imageFormatGroup: ImageFormatGroup.bgra8888, - )).thenAnswer( - (_) => initializeCompleter.future, - ); - - unawaited(cameraController.initialize()); - - final Future setDescriptionFuture = cameraController.setDescription( - const CameraDescription( - name: 'cam2', - lensDirection: CameraLensDirection.front, - sensorOrientation: 90), - ); - verifyNever(CameraPlatform.instance.dispose(mockInitializeCamera)); - - initializeCompleter.complete(); - - await setDescriptionFuture; - verify(CameraPlatform.instance.dispose(mockInitializeCamera)); - }); - - test('prepareForVideoRecording() calls $CameraPlatform ', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.prepareForVideoRecording(); - - verify(CameraPlatform.instance.prepareForVideoRecording()).called(1); - }); - - test('takePicture() throws $CameraException when uninitialized ', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - expect( - cameraController.takePicture(), - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'takePicture() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('takePicture() throws $CameraException when takePicture is true', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - cameraController.value = - cameraController.value.copyWith(isTakingPicture: true); - expect( - cameraController.takePicture(), - throwsA(isA().having( - (CameraException error) => error.description, - 'Previous capture has not returned yet.', - 'takePicture was called before the previous capture returned.', - ))); - }); - - test('takePicture() returns $XFile', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - final XFile xFile = await cameraController.takePicture(); - - expect(xFile.path, mockTakePicture.path); - }); - - test('takePicture() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - mockPlatformException = true; - expect( - cameraController.takePicture(), - throwsA(isA().having( - (CameraException error) => error.description, - 'foo', - 'bar', - ))); - mockPlatformException = false; - }); - - test('startVideoRecording() throws $CameraException when uninitialized', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - cameraController.startVideoRecording(), - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'startVideoRecording() was called on an uninitialized CameraController.', - ), - ), - ); - }); - test('startVideoRecording() throws $CameraException when recording videos', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - - cameraController.value = - cameraController.value.copyWith(isRecordingVideo: true); - - expect( - cameraController.startVideoRecording(), - throwsA(isA().having( - (CameraException error) => error.description, - 'A video recording is already started.', - 'startVideoRecording was called when a recording is already started.', - ))); - }); - - test('getMaxZoomLevel() throws $CameraException when uninitialized', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - cameraController.getMaxZoomLevel, - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'getMaxZoomLevel() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('getMaxZoomLevel() throws $CameraException when disposed', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - await cameraController.dispose(); - - expect( - cameraController.getMaxZoomLevel, - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Disposed CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'getMaxZoomLevel() was called on a disposed CameraController.', - ), - ), - ); - }); - - test( - 'getMaxZoomLevel() throws $CameraException when a platform exception occured.', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - when(CameraPlatform.instance.getMaxZoomLevel(mockInitializeCamera)) - .thenThrow(CameraException( - 'TEST_ERROR', - 'This is a test error messge', - )); - - expect( - cameraController.getMaxZoomLevel, - throwsA(isA() - .having( - (CameraException error) => error.code, 'code', 'TEST_ERROR') - .having( - (CameraException error) => error.description, - 'description', - 'This is a test error messge', - ))); - }); - - test('getMaxZoomLevel() returns max zoom level.', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - when(CameraPlatform.instance.getMaxZoomLevel(mockInitializeCamera)) - .thenAnswer((_) => Future.value(42.0)); - - final double maxZoomLevel = await cameraController.getMaxZoomLevel(); - expect(maxZoomLevel, 42.0); - }); - - test('getMinZoomLevel() throws $CameraException when uninitialized', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - cameraController.getMinZoomLevel, - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'getMinZoomLevel() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('getMinZoomLevel() throws $CameraException when disposed', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - await cameraController.dispose(); - - expect( - cameraController.getMinZoomLevel, - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Disposed CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'getMinZoomLevel() was called on a disposed CameraController.', - ), - ), - ); - }); - - test( - 'getMinZoomLevel() throws $CameraException when a platform exception occured.', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - when(CameraPlatform.instance.getMinZoomLevel(mockInitializeCamera)) - .thenThrow(CameraException( - 'TEST_ERROR', - 'This is a test error messge', - )); - - expect( - cameraController.getMinZoomLevel, - throwsA(isA() - .having( - (CameraException error) => error.code, 'code', 'TEST_ERROR') - .having( - (CameraException error) => error.description, - 'description', - 'This is a test error messge', - ))); - }); - - test('getMinZoomLevel() returns max zoom level.', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - when(CameraPlatform.instance.getMinZoomLevel(mockInitializeCamera)) - .thenAnswer((_) => Future.value(42.0)); - - final double maxZoomLevel = await cameraController.getMinZoomLevel(); - expect(maxZoomLevel, 42.0); - }); - - test('setZoomLevel() throws $CameraException when uninitialized', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - expect( - () => cameraController.setZoomLevel(42.0), - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Uninitialized CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'setZoomLevel() was called on an uninitialized CameraController.', - ), - ), - ); - }); - - test('setZoomLevel() throws $CameraException when disposed', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - await cameraController.dispose(); - - expect( - () => cameraController.setZoomLevel(42.0), - throwsA( - isA() - .having( - (CameraException error) => error.code, - 'code', - 'Disposed CameraController', - ) - .having( - (CameraException error) => error.description, - 'description', - 'setZoomLevel() was called on a disposed CameraController.', - ), - ), - ); - }); - - test( - 'setZoomLevel() throws $CameraException when a platform exception occured.', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - when(CameraPlatform.instance.setZoomLevel(mockInitializeCamera, 42.0)) - .thenThrow(CameraException( - 'TEST_ERROR', - 'This is a test error messge', - )); - - expect( - () => cameraController.setZoomLevel(42), - throwsA(isA() - .having( - (CameraException error) => error.code, 'code', 'TEST_ERROR') - .having( - (CameraException error) => error.description, - 'description', - 'This is a test error messge', - ))); - - reset(CameraPlatform.instance); - }); - - test( - 'setZoomLevel() completes and calls method channel with correct value.', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - - await cameraController.initialize(); - await cameraController.setZoomLevel(42.0); - - verify(CameraPlatform.instance.setZoomLevel(mockInitializeCamera, 42.0)) - .called(1); - }); - - test('setFlashMode() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.setFlashMode(FlashMode.always); - - verify(CameraPlatform.instance - .setFlashMode(cameraController.cameraId, FlashMode.always)) - .called(1); - }); - - test('setFlashMode() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .setFlashMode(cameraController.cameraId, FlashMode.always)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.setFlashMode(FlashMode.always), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('setExposureMode() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.setExposureMode(ExposureMode.auto); - - verify(CameraPlatform.instance - .setExposureMode(cameraController.cameraId, ExposureMode.auto)) - .called(1); - }); - - test('setExposureMode() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .setExposureMode(cameraController.cameraId, ExposureMode.auto)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.setExposureMode(ExposureMode.auto), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('setExposurePoint() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.setExposurePoint(const Offset(0.5, 0.5)); - - verify(CameraPlatform.instance.setExposurePoint( - cameraController.cameraId, const Point(0.5, 0.5))) - .called(1); - }); - - test('setExposurePoint() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance.setExposurePoint( - cameraController.cameraId, const Point(0.5, 0.5))) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.setExposurePoint(const Offset(0.5, 0.5)), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('getMinExposureOffset() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenAnswer((_) => Future.value(0.0)); - - await cameraController.getMinExposureOffset(); - - verify(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .called(1); - }); - - test('getMinExposureOffset() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenThrow( - CameraException( - 'TEST_ERROR', - 'This is a test error message', - ), - ); - - expect( - cameraController.getMinExposureOffset(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('getMaxExposureOffset() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenAnswer((_) => Future.value(1.0)); - - await cameraController.getMaxExposureOffset(); - - verify(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .called(1); - }); - - test('getMaxExposureOffset() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenThrow( - CameraException( - 'TEST_ERROR', - 'This is a test error message', - ), - ); - - expect( - cameraController.getMaxExposureOffset(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('getExposureOffsetStepSize() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenAnswer((_) => Future.value(0.0)); - - await cameraController.getExposureOffsetStepSize(); - - verify(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .called(1); - }); - - test( - 'getExposureOffsetStepSize() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenThrow( - CameraException( - 'TEST_ERROR', - 'This is a test error message', - ), - ); - - expect( - cameraController.getExposureOffsetStepSize(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('setExposureOffset() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => -1.0); - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => 2.0); - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenAnswer((_) async => 1.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 1.0)) - .thenAnswer((_) async => 1.0); - - await cameraController.setExposureOffset(1.0); - - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 1.0)) - .called(1); - }); - - test('setExposureOffset() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => -1.0); - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => 2.0); - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenAnswer((_) async => 1.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 1.0)) - .thenThrow( - CameraException( - 'TEST_ERROR', - 'This is a test error message', - ), - ); - - expect( - cameraController.setExposureOffset(1.0), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test( - 'setExposureOffset() throws $CameraException when offset is out of bounds', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => -1.0); - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => 2.0); - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenAnswer((_) async => 1.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.0)) - .thenAnswer((_) async => 0.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -1.0)) - .thenAnswer((_) async => 0.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 2.0)) - .thenAnswer((_) async => 0.0); - - expect( - cameraController.setExposureOffset(3.0), - throwsA(isA().having( - (CameraException error) => error.description, - 'exposureOffsetOutOfBounds', - 'The provided exposure offset was outside the supported range for this device.', - ))); - expect( - cameraController.setExposureOffset(-2.0), - throwsA(isA().having( - (CameraException error) => error.description, - 'exposureOffsetOutOfBounds', - 'The provided exposure offset was outside the supported range for this device.', - ))); - - await cameraController.setExposureOffset(0.0); - await cameraController.setExposureOffset(-1.0); - await cameraController.setExposureOffset(2.0); - - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.0)) - .called(1); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -1.0)) - .called(1); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 2.0)) - .called(1); - }); - - test('setExposureOffset() rounds offset to nearest step', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance - .getMinExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => -1.2); - when(CameraPlatform.instance - .getMaxExposureOffset(cameraController.cameraId)) - .thenAnswer((_) async => 1.2); - when(CameraPlatform.instance - .getExposureOffsetStepSize(cameraController.cameraId)) - .thenAnswer((_) async => 0.4); - - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -1.2)) - .thenAnswer((_) async => -1.2); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -0.8)) - .thenAnswer((_) async => -0.8); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -0.4)) - .thenAnswer((_) async => -0.4); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.0)) - .thenAnswer((_) async => 0.0); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.4)) - .thenAnswer((_) async => 0.4); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.8)) - .thenAnswer((_) async => 0.8); - when(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 1.2)) - .thenAnswer((_) async => 1.2); - - await cameraController.setExposureOffset(1.2); - await cameraController.setExposureOffset(-1.2); - await cameraController.setExposureOffset(0.1); - await cameraController.setExposureOffset(0.2); - await cameraController.setExposureOffset(0.3); - await cameraController.setExposureOffset(0.4); - await cameraController.setExposureOffset(0.5); - await cameraController.setExposureOffset(0.6); - await cameraController.setExposureOffset(0.7); - await cameraController.setExposureOffset(-0.1); - await cameraController.setExposureOffset(-0.2); - await cameraController.setExposureOffset(-0.3); - await cameraController.setExposureOffset(-0.4); - await cameraController.setExposureOffset(-0.5); - await cameraController.setExposureOffset(-0.6); - await cameraController.setExposureOffset(-0.7); - - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.8)) - .called(2); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -0.8)) - .called(2); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.0)) - .called(2); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, 0.4)) - .called(4); - verify(CameraPlatform.instance - .setExposureOffset(cameraController.cameraId, -0.4)) - .called(4); - }); - - test('pausePreview() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = cameraController.value - .copyWith(deviceOrientation: DeviceOrientation.portraitUp); - - await cameraController.pausePreview(); - - verify(CameraPlatform.instance.pausePreview(cameraController.cameraId)) - .called(1); - expect(cameraController.value.isPreviewPaused, equals(true)); - expect(cameraController.value.previewPauseOrientation, - DeviceOrientation.portraitUp); - }); - - test('pausePreview() does not call $CameraPlatform when already paused', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = - cameraController.value.copyWith(isPreviewPaused: true); - - await cameraController.pausePreview(); - - verifyNever( - CameraPlatform.instance.pausePreview(cameraController.cameraId)); - expect(cameraController.value.isPreviewPaused, equals(true)); - }); - - test( - 'pausePreview() sets previewPauseOrientation according to locked orientation', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = cameraController.value.copyWith( - isPreviewPaused: false, - deviceOrientation: DeviceOrientation.portraitUp, - lockedCaptureOrientation: - Optional.of(DeviceOrientation.landscapeRight)); - - await cameraController.pausePreview(); - - expect(cameraController.value.deviceOrientation, - equals(DeviceOrientation.portraitUp)); - expect(cameraController.value.previewPauseOrientation, - equals(DeviceOrientation.landscapeRight)); - }); - - test('pausePreview() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance.pausePreview(cameraController.cameraId)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.pausePreview(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('resumePreview() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = - cameraController.value.copyWith(isPreviewPaused: true); - - await cameraController.resumePreview(); - - verify(CameraPlatform.instance.resumePreview(cameraController.cameraId)) - .called(1); - expect(cameraController.value.isPreviewPaused, equals(false)); - }); - - test('resumePreview() does not call $CameraPlatform when not paused', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = - cameraController.value.copyWith(isPreviewPaused: false); - - await cameraController.resumePreview(); - - verifyNever( - CameraPlatform.instance.resumePreview(cameraController.cameraId)); - expect(cameraController.value.isPreviewPaused, equals(false)); - }); - - test('resumePreview() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - cameraController.value = - cameraController.value.copyWith(isPreviewPaused: true); - when(CameraPlatform.instance.resumePreview(cameraController.cameraId)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.resumePreview(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('lockCaptureOrientation() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.lockCaptureOrientation(); - expect(cameraController.value.lockedCaptureOrientation, - equals(DeviceOrientation.portraitUp)); - await cameraController - .lockCaptureOrientation(DeviceOrientation.landscapeRight); - expect(cameraController.value.lockedCaptureOrientation, - equals(DeviceOrientation.landscapeRight)); - - verify(CameraPlatform.instance.lockCaptureOrientation( - cameraController.cameraId, DeviceOrientation.portraitUp)) - .called(1); - verify(CameraPlatform.instance.lockCaptureOrientation( - cameraController.cameraId, DeviceOrientation.landscapeRight)) - .called(1); - }); - - test( - 'lockCaptureOrientation() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance.lockCaptureOrientation( - cameraController.cameraId, DeviceOrientation.portraitUp)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.lockCaptureOrientation(DeviceOrientation.portraitUp), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - - test('unlockCaptureOrientation() calls $CameraPlatform', () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - - await cameraController.unlockCaptureOrientation(); - expect(cameraController.value.lockedCaptureOrientation, equals(null)); - - verify(CameraPlatform.instance - .unlockCaptureOrientation(cameraController.cameraId)) - .called(1); - }); - - test( - 'unlockCaptureOrientation() throws $CameraException on $PlatformException', - () async { - final CameraController cameraController = CameraController( - const CameraDescription( - name: 'cam', - lensDirection: CameraLensDirection.back, - sensorOrientation: 90), - ResolutionPreset.max); - await cameraController.initialize(); - when(CameraPlatform.instance - .unlockCaptureOrientation(cameraController.cameraId)) - .thenThrow( - PlatformException( - code: 'TEST_ERROR', - message: 'This is a test error message', - ), - ); - - expect( - cameraController.unlockCaptureOrientation(), - throwsA(isA().having( - (CameraException error) => error.description, - 'TEST_ERROR', - 'This is a test error message', - ))); - }); - }); -} - -class MockCameraPlatform extends Mock - with MockPlatformInterfaceMixin - implements CameraPlatform { - @override - Future initializeCamera( - int? cameraId, { - ImageFormatGroup? imageFormatGroup = ImageFormatGroup.unknown, - }) async => - super.noSuchMethod(Invocation.method( - #initializeCamera, - [cameraId], - { - #imageFormatGroup: imageFormatGroup, - }, - )); - - @override - Future dispose(int? cameraId) async { - return super.noSuchMethod(Invocation.method(#dispose, [cameraId])); - } - - @override - Future> availableCameras() => - Future>.value(mockAvailableCameras); - - @override - Future createCameraWithSettings( - CameraDescription cameraDescription, MediaSettings? mediaSettings) => - mockPlatformException - ? throw PlatformException(code: 'foo', message: 'bar') - : Future.value(mockInitializeCamera); - - @override - Future createCamera( - CameraDescription description, - ResolutionPreset? resolutionPreset, { - bool enableAudio = false, - }) => - createCameraWithSettings(description, null); - - @override - Stream onCameraInitialized(int cameraId) => - Stream.value(mockOnCameraInitializedEvent); - - @override - Stream onCameraClosing(int cameraId) => - Stream.value(mockOnCameraClosingEvent); - - @override - Stream onCameraError(int cameraId) => - Stream.value(mockOnCameraErrorEvent); - - @override - Stream onDeviceOrientationChanged() => - Stream.value( - mockOnDeviceOrientationChangedEvent); - - @override - Future takePicture(int cameraId) => mockPlatformException - ? throw PlatformException(code: 'foo', message: 'bar') - : Future.value(mockTakePicture); - - @override - Future prepareForVideoRecording() async => - super.noSuchMethod(Invocation.method(#prepareForVideoRecording, null)); - - @override - Future startVideoRecording(int cameraId, {Duration? maxVideoDuration}) { - // Ignore maxVideoDuration, as it is unimplemented and deprecated. - return startVideoCapturing(VideoCaptureOptions(cameraId)); - } - - @override - Future startVideoCapturing(VideoCaptureOptions options) async {} - - @override - Future stopVideoRecording(int cameraId) { - return Future.value(mockVideoRecordingXFile); - } - - @override - Future lockCaptureOrientation( - int? cameraId, DeviceOrientation? orientation) async => - super.noSuchMethod(Invocation.method( - #lockCaptureOrientation, [cameraId, orientation])); - - @override - Future unlockCaptureOrientation(int? cameraId) async => - super.noSuchMethod( - Invocation.method(#unlockCaptureOrientation, [cameraId])); - - @override - Future pausePreview(int? cameraId) async => - super.noSuchMethod(Invocation.method(#pausePreview, [cameraId])); - - @override - Future resumePreview(int? cameraId) async => super - .noSuchMethod(Invocation.method(#resumePreview, [cameraId])); - - @override - Future getMaxZoomLevel(int? cameraId) async => super.noSuchMethod( - Invocation.method(#getMaxZoomLevel, [cameraId]), - returnValue: Future.value(1.0), - ) as Future; - - @override - Future getMinZoomLevel(int? cameraId) async => super.noSuchMethod( - Invocation.method(#getMinZoomLevel, [cameraId]), - returnValue: Future.value(0.0), - ) as Future; - - @override - Future setZoomLevel(int? cameraId, double? zoom) async => - super.noSuchMethod( - Invocation.method(#setZoomLevel, [cameraId, zoom])); - - @override - Future setFlashMode(int? cameraId, FlashMode? mode) async => - super.noSuchMethod( - Invocation.method(#setFlashMode, [cameraId, mode])); - - @override - Future setExposureMode(int? cameraId, ExposureMode? mode) async => - super.noSuchMethod( - Invocation.method(#setExposureMode, [cameraId, mode])); - - @override - Future setExposurePoint(int? cameraId, Point? point) async => - super.noSuchMethod( - Invocation.method(#setExposurePoint, [cameraId, point])); - - @override - Future getMinExposureOffset(int? cameraId) async => - super.noSuchMethod( - Invocation.method(#getMinExposureOffset, [cameraId]), - returnValue: Future.value(0.0), - ) as Future; - - @override - Future getMaxExposureOffset(int? cameraId) async => - super.noSuchMethod( - Invocation.method(#getMaxExposureOffset, [cameraId]), - returnValue: Future.value(1.0), - ) as Future; - - @override - Future getExposureOffsetStepSize(int? cameraId) async => - super.noSuchMethod( - Invocation.method(#getExposureOffsetStepSize, [cameraId]), - returnValue: Future.value(1.0), - ) as Future; - - @override - Future setExposureOffset(int? cameraId, double? offset) async => - super.noSuchMethod( - Invocation.method(#setExposureOffset, [cameraId, offset]), - returnValue: Future.value(1.0), - ) as Future; -} - -class MockCameraDescription extends CameraDescription { - /// Creates a new camera description with the given properties. - const MockCameraDescription() - : super( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ); - - @override - CameraLensDirection get lensDirection => CameraLensDirection.back; - - @override - String get name => 'back'; -} diff --git a/example/camera/test/camera_value_test.dart b/example/camera/test/camera_value_test.dart deleted file mode 100644 index dbb1ddc..0000000 --- a/example/camera/test/camera_value_test.dart +++ /dev/null @@ -1,153 +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:camera/camera.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'camera_preview_test.dart'; - -void main() { - group('camera_value', () { - test('Can be created', () { - const CameraValue cameraValue = CameraValue( - isInitialized: false, - previewSize: Size(10, 10), - isRecordingPaused: false, - isRecordingVideo: false, - isTakingPicture: false, - isStreamingImages: false, - flashMode: FlashMode.auto, - exposureMode: ExposureMode.auto, - exposurePointSupported: true, - focusMode: FocusMode.auto, - deviceOrientation: DeviceOrientation.portraitUp, - lockedCaptureOrientation: DeviceOrientation.portraitUp, - recordingOrientation: DeviceOrientation.portraitUp, - focusPointSupported: true, - previewPauseOrientation: DeviceOrientation.portraitUp, - description: FakeController.fakeDescription, - ); - - expect(cameraValue, isA()); - expect(cameraValue.isInitialized, isFalse); - expect(cameraValue.errorDescription, null); - expect(cameraValue.previewSize, const Size(10, 10)); - expect(cameraValue.isRecordingPaused, isFalse); - expect(cameraValue.isRecordingVideo, isFalse); - expect(cameraValue.isTakingPicture, isFalse); - expect(cameraValue.isStreamingImages, isFalse); - expect(cameraValue.flashMode, FlashMode.auto); - expect(cameraValue.exposureMode, ExposureMode.auto); - expect(cameraValue.exposurePointSupported, true); - expect(cameraValue.deviceOrientation, DeviceOrientation.portraitUp); - expect( - cameraValue.lockedCaptureOrientation, DeviceOrientation.portraitUp); - expect(cameraValue.recordingOrientation, DeviceOrientation.portraitUp); - expect(cameraValue.isPreviewPaused, false); - expect(cameraValue.previewPauseOrientation, DeviceOrientation.portraitUp); - }); - - test('Can be created as uninitialized', () { - const CameraValue cameraValue = - CameraValue.uninitialized(FakeController.fakeDescription); - - expect(cameraValue, isA()); - expect(cameraValue.isInitialized, isFalse); - expect(cameraValue.errorDescription, null); - expect(cameraValue.previewSize, null); - expect(cameraValue.isRecordingPaused, isFalse); - expect(cameraValue.isRecordingVideo, isFalse); - expect(cameraValue.isTakingPicture, isFalse); - expect(cameraValue.isStreamingImages, isFalse); - expect(cameraValue.flashMode, FlashMode.auto); - expect(cameraValue.exposureMode, ExposureMode.auto); - expect(cameraValue.exposurePointSupported, false); - expect(cameraValue.focusMode, FocusMode.auto); - expect(cameraValue.deviceOrientation, DeviceOrientation.portraitUp); - expect(cameraValue.lockedCaptureOrientation, null); - expect(cameraValue.recordingOrientation, null); - expect(cameraValue.isPreviewPaused, isFalse); - expect(cameraValue.previewPauseOrientation, null); - }); - - test('Can be copied with isInitialized', () { - const CameraValue cv = - CameraValue.uninitialized(FakeController.fakeDescription); - final CameraValue cameraValue = cv.copyWith(isInitialized: true); - - expect(cameraValue, isA()); - expect(cameraValue.isInitialized, isTrue); - expect(cameraValue.errorDescription, null); - expect(cameraValue.previewSize, null); - expect(cameraValue.isRecordingPaused, isFalse); - expect(cameraValue.isRecordingVideo, isFalse); - expect(cameraValue.isTakingPicture, isFalse); - expect(cameraValue.isStreamingImages, isFalse); - expect(cameraValue.flashMode, FlashMode.auto); - expect(cameraValue.focusMode, FocusMode.auto); - expect(cameraValue.exposureMode, ExposureMode.auto); - expect(cameraValue.exposurePointSupported, false); - expect(cameraValue.deviceOrientation, DeviceOrientation.portraitUp); - expect(cameraValue.lockedCaptureOrientation, null); - expect(cameraValue.recordingOrientation, null); - expect(cameraValue.isPreviewPaused, isFalse); - expect(cameraValue.previewPauseOrientation, null); - }); - - test('Has aspectRatio after setting size', () { - const CameraValue cv = - CameraValue.uninitialized(FakeController.fakeDescription); - final CameraValue cameraValue = - cv.copyWith(isInitialized: true, previewSize: const Size(20, 10)); - - expect(cameraValue.aspectRatio, 2.0); - }); - - test('hasError is true after setting errorDescription', () { - const CameraValue cv = - CameraValue.uninitialized(FakeController.fakeDescription); - final CameraValue cameraValue = cv.copyWith(errorDescription: 'error'); - - expect(cameraValue.hasError, isTrue); - expect(cameraValue.errorDescription, 'error'); - }); - - test('Recording paused is false when not recording', () { - const CameraValue cv = - CameraValue.uninitialized(FakeController.fakeDescription); - final CameraValue cameraValue = cv.copyWith( - isInitialized: true, - isRecordingVideo: false, - isRecordingPaused: true); - - expect(cameraValue.isRecordingPaused, isFalse); - }); - - test('toString() works as expected', () { - const CameraValue cameraValue = CameraValue( - isInitialized: false, - previewSize: Size(10, 10), - isRecordingPaused: false, - isRecordingVideo: false, - isTakingPicture: false, - isStreamingImages: false, - flashMode: FlashMode.auto, - exposureMode: ExposureMode.auto, - focusMode: FocusMode.auto, - exposurePointSupported: true, - focusPointSupported: true, - deviceOrientation: DeviceOrientation.portraitUp, - lockedCaptureOrientation: DeviceOrientation.portraitUp, - recordingOrientation: DeviceOrientation.portraitUp, - isPreviewPaused: true, - previewPauseOrientation: DeviceOrientation.portraitUp, - description: FakeController.fakeDescription, - ); - - expect(cameraValue.toString(), - 'CameraValue(isRecordingVideo: false, isInitialized: false, errorDescription: null, previewSize: Size(10.0, 10.0), isStreamingImages: false, flashMode: FlashMode.auto, exposureMode: ExposureMode.auto, focusMode: FocusMode.auto, exposurePointSupported: true, focusPointSupported: true, deviceOrientation: DeviceOrientation.portraitUp, lockedCaptureOrientation: DeviceOrientation.portraitUp, recordingOrientation: DeviceOrientation.portraitUp, isPreviewPaused: true, previewPausedOrientation: DeviceOrientation.portraitUp, description: CameraDescription(, CameraLensDirection.back, 0))'); - }); - }); -} diff --git a/example/ios/.gitignore b/example/ios/.gitignore deleted file mode 100644 index 7a7f987..0000000 --- a/example/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 9625e10..0000000 --- a/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 11.0 - - diff --git a/example/ios/Flutter/Debug.xcconfig b/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index 592ceee..0000000 --- a/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "Generated.xcconfig" diff --git a/example/ios/Flutter/Release.xcconfig b/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index 592ceee..0000000 --- a/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "Generated.xcconfig" diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 329556b..0000000 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,613 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 97C146E61CF9000F007C117D /* Project object */; - proxyType = 1; - remoteGlobalIDString = 97C146ED1CF9000F007C117D; - remoteInfo = Runner; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 331C8082294A63A400263BE5 /* RunnerTests */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - 331C8081294A63A400263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C8080294A63A400263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 331C807D294A63A400263BE5 /* Sources */, - 331C807E294A63A400263BE5 /* Frameworks */, - 331C807F294A63A400263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C8086294A63A400263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1300; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C8080294A63A400263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 97C146ED1CF9000F007C117D; - }; - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - 331C8080294A63A400263BE5 /* RunnerTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C807F294A63A400263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C807D294A63A400263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 97C146ED1CF9000F007C117D /* Runner */; - targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.mrzscanner; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 331C8088294A63A400263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AE0B7B92F70575B8D7E0D07E /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.mrzscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Debug; - }; - 331C8089294A63A400263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 89B67EB44CE7B6631473024E /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.mrzscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Release; - }; - 331C808A294A63A400263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 640959BDD8F10B91D80A66BE /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.mrzscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.mrzscanner; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.mrzscanner; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C8088294A63A400263BE5 /* Debug */, - 331C8089294A63A400263BE5 /* Release */, - 331C808A294A63A400263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index e42adcb..0000000 --- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1d526a1..0000000 --- a/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift deleted file mode 100644 index 70693e4..0000000 --- a/example/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import UIKit -import Flutter - -@UIApplicationMain -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 1522354..0000000 --- a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "iphone", - "filename" : "Icon-App-512x512@1x.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "iphone", - "filename" : "Icon-App-512x512@2x.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "iphone", - "filename" : "Icon-App-512x512@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png deleted file mode 100644 index 7353c41..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 797d452..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index 6ed2d93..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cd7b00..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index fe73094..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index 321773c..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png deleted file mode 100644 index 797d452..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index 502f463..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index 0ec3034..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-512x512@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-512x512@1x.png deleted file mode 100644 index 77b109a..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-512x512@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-512x512@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-512x512@2x.png deleted file mode 100644 index b8d25a9..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-512x512@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-512x512@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-512x512@3x.png deleted file mode 100644 index fa299a5..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-512x512@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index 0ec3034..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index e9f5fea..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index 84ac32a..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png deleted file mode 100644 index 8953cba..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index 0467bf1..0000000 Binary files a/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2..0000000 --- a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19ea..0000000 Binary files a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and /dev/null differ diff --git a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725..0000000 --- a/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c..0000000 --- a/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/ios/Runner/Base.lproj/Main.storyboard b/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c2851..0000000 --- a/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/ios/Runner/Info.plist b/example/ios/Runner/Info.plist deleted file mode 100644 index 573fb5e..0000000 --- a/example/ios/Runner/Info.plist +++ /dev/null @@ -1,57 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Mrzscanner - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - mrzscanner - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - - NSPhotoLibraryUsageDescription - Pick an image from gallery - NSMicrophoneUsageDescription - microphone - NSCameraUsageDescription - Pick an image from camera - - diff --git a/example/ios/Runner/Runner-Bridging-Header.h b/example/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a5..0000000 --- a/example/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/example/ios/RunnerTests/RunnerTests.swift b/example/ios/RunnerTests/RunnerTests.swift deleted file mode 100644 index 86a7c3b..0000000 --- a/example/ios/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import Flutter -import UIKit -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/example/lib/about_page.dart b/example/lib/about_page.dart deleted file mode 100644 index 3573164..0000000 --- a/example/lib/about_page.dart +++ /dev/null @@ -1,153 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:url_launcher/url_launcher_string.dart'; - -import 'global.dart'; - -class AboutPage extends StatelessWidget { - const AboutPage({super.key}); - - @override - Widget build(BuildContext context) { - final title = Container( - padding: const EdgeInsets.only(top: 50, left: 39, bottom: 5, right: 39), - child: Row( - children: [ - Image.asset( - "images/logo-dlr.png", - width: MediaQuery.of(context).size.width - 80, - ), - ], - ), - ); - - final description = Container( - padding: const EdgeInsets.only(left: 44, right: 39, top: 18), - child: const Center( - child: Text( - 'Recognizes MRZ code & extracts data from passports, visas, and ID cards. Supports TD-1, TD-2, TD-3, MRV-A, and MRV-B standards.', - style: TextStyle(color: Colors.white, wordSpacing: 2), - textAlign: TextAlign.center, - ), - )); - - final button = Container( - padding: const EdgeInsets.only(top: 48, left: 91, right: 91, bottom: 69), - child: MaterialButton( - minWidth: 208, - height: 44, - color: colorOrange, - onPressed: () { - launchUrlString('https://www.dynamsoft.com/downloads/'); - }, - child: const Text( - 'GET FREE TRIAL SDK', - style: TextStyle(color: Colors.white), - ), - ), - ); - - final links = Padding( - padding: const EdgeInsets.only( - left: 15, - right: 15, - ), - child: Container( - width: MediaQuery.of(context).size.width - 30, - padding: const EdgeInsets.only(left: 20), - decoration: const BoxDecoration(color: Colors.black), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(top: 13, bottom: 15), - child: InkWell( - onTap: () { - launchUrlString( - 'https://www.dynamsoft.com/label-recognition/overview/'); - }, - child: Text( - 'Dynamsoft Label Recognizer overview >', - style: TextStyle(color: colorOrange, fontSize: 16), - )), - ), - Container( - height: 1, - color: colorMainTheme, - ), - Padding( - padding: const EdgeInsets.only(top: 13, bottom: 15), - child: InkWell( - onTap: () { - launchUrlString('https://www.dynamsoft.com/company/about/'); - }, - child: Text( - 'Contact us >', - style: TextStyle(color: colorOrange, fontSize: 16), - )), - ), - ], - ), - ), - ); - - final version = Padding( - padding: const EdgeInsets.only(left: 15, right: 15, top: 10), - child: Container( - width: MediaQuery.of(context).size.width - 30, - height: 49, - padding: const EdgeInsets.only(left: 20, right: 24), - decoration: const BoxDecoration(color: Colors.black), - child: Row( - children: [ - const Text( - 'SDK Version', - style: TextStyle(color: Colors.white, fontSize: 14), - ), - Expanded(child: Container()), - Text( - '2.2.20', - style: TextStyle(color: colorText, fontSize: 15), - ) - ], - ), - )); - - final sourceCode = Padding( - padding: const EdgeInsets.only(left: 15, right: 15, top: 1), - child: Container( - width: MediaQuery.of(context).size.width - 30, - height: 49, - padding: const EdgeInsets.only(left: 20, right: 24), - decoration: const BoxDecoration(color: Colors.black), - child: Row( - children: [ - InkWell( - onTap: () { - launchUrlString( - 'https://github.com/yushulx/flutter-MRZ-scanner'); - }, - child: const Text( - 'App Source Code >', - style: TextStyle(color: Colors.white, fontSize: 14), - )), - Expanded(child: Container()), - ], - ), - )); - - return Scaffold( - appBar: AppBar( - title: Text('About', - style: TextStyle( - fontSize: 22, - color: colorTitle, - )), - centerTitle: true, - backgroundColor: colorMainTheme, - ), - body: SingleChildScrollView( - child: Column( - children: [title, description, button, links, version, sourceCode], - ))); - } -} diff --git a/example/lib/camera/camera_manager.dart b/example/lib/camera/camera_manager.dart deleted file mode 100644 index 1292c59..0000000 --- a/example/lib/camera/camera_manager.dart +++ /dev/null @@ -1,342 +0,0 @@ -import 'dart:async'; - -import 'package:camera_windows/camera_windows.dart'; -import 'package:flutter/material.dart'; -import 'package:camera/camera.dart'; -import 'package:flutter_ocr_sdk/flutter_ocr_sdk_platform_interface.dart'; -import 'package:flutter_ocr_sdk/mrz_line.dart'; - -import 'dart:io'; -import 'package:flutter/foundation.dart'; - -import '../global.dart'; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; - -class CameraManager { - BuildContext context; - CameraController? controller; - List _cameras = []; - Size? previewSize; - bool _isScanAvailable = true; - List>? mrzLines; - bool isDriverLicense = true; - bool isFinished = false; - StreamSubscription? _frameAvailableStreamSubscription; - int cameraIndex = 0; - bool _isWebFrameStarted = false; - bool isFrontFound = false; - bool isBackFound = false; - - CameraManager( - {required this.context, - required this.cbRefreshUi, - required this.cbIsMounted, - required this.cbNavigation}); - - Function cbRefreshUi; - Function cbIsMounted; - Function cbNavigation; - - void initState() { - initCamera(); - } - - Future switchCamera() async { - if (_cameras.length == 1) return; - isFinished = true; - - if (kIsWeb) { - await waitForStop(); - controller?.dispose(); - controller = null; - } - - cameraIndex = cameraIndex == 0 ? 1 : 0; - toggleCamera(cameraIndex); - } - - void resumeCamera() { - toggleCamera(cameraIndex); - } - - void pauseCamera() { - stopVideo(); - } - - Future waitForStop() async { - while (true) { - if (_isWebFrameStarted == false) { - break; - } - - await Future.delayed(const Duration(milliseconds: 10)); - } - } - - Future stopVideo() async { - isFinished = true; - if (kIsWeb) { - await waitForStop(); - } - if (controller == null) return; - if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { - await controller!.stopImageStream(); - } - - controller!.dispose(); - controller = null; - - _frameAvailableStreamSubscription?.cancel(); - _frameAvailableStreamSubscription = null; - } - - Future webCamera() async { - _isWebFrameStarted = true; - while (!(controller == null || isFinished || cbIsMounted() == false)) { - XFile file = await controller!.takePicture(); - var results = await mrzDetector.recognizeByFile(file.path); - if (results == null || !cbIsMounted()) return; - - mrzLines = results; - cbRefreshUi(); - handleMrz(results); - } - _isWebFrameStarted = false; - } - - void handleMrz(List> results) { - if (results.isNotEmpty) { - List? finalArea; - - try { - for (List area in results) { - if (area.length == 2) { - if (area[0].confidence >= 70 && area[1].confidence >= 70) { - finalArea = area; - break; - } - } else if (area.length == 3) { - if (area[0].confidence >= 70 && - area[1].confidence >= 70 && - area[2].confidence >= 70) { - finalArea = area; - break; - } - } - } - } catch (e) { - print(e); - } - - if (!isFinished && finalArea != null) { - isFinished = true; - cbNavigation(finalArea); - } - } - } - - void processId( - Uint8List bytes, int width, int height, int stride, int format) { - // cbRefreshUi(); - mrzDetector - .recognizeByBuffer(bytes, width, height, stride, format) - .then((results) { - if (results == null || !cbIsMounted()) return; - - if (MediaQuery.of(context).size.width < - MediaQuery.of(context).size.height) { - if (Platform.isAndroid && results.isNotEmpty) { - results = rotate90mrz(results, previewSize!.height.toInt()); - } - } - - mrzLines = results; - cbRefreshUi(); - handleMrz(results); - - _isScanAvailable = true; - }); - } - - Future mobileCamera() async { - await controller!.startImageStream((CameraImage availableImage) async { - assert(defaultTargetPlatform == TargetPlatform.android || - defaultTargetPlatform == TargetPlatform.iOS); - if (cbIsMounted() == false || isFinished) return; - int format = ImagePixelFormat.IPF_NV21.index; - - switch (availableImage.format.group) { - case ImageFormatGroup.yuv420: - format = ImagePixelFormat.IPF_NV21.index; - break; - case ImageFormatGroup.bgra8888: - format = ImagePixelFormat.IPF_ARGB_8888.index; - break; - default: - format = ImagePixelFormat.IPF_RGB_888.index; - } - - if (!_isScanAvailable) { - return; - } - - _isScanAvailable = false; - - processId(availableImage.planes[0].bytes, availableImage.width, - availableImage.height, availableImage.planes[0].bytesPerRow, format); - }); - } - - Future startVideo() async { - mrzLines = null; - - isFinished = false; - - cbRefreshUi(); - - if (kIsWeb) { - webCamera(); - } else if (Platform.isAndroid || Platform.isIOS) { - mobileCamera(); - } else if (Platform.isWindows) { - _frameAvailableStreamSubscription?.cancel(); - _frameAvailableStreamSubscription = - (CameraPlatform.instance as CameraWindows) - .onFrameAvailable(controller!.cameraId) - .listen(_onFrameAvailable); - } - } - - void _onFrameAvailable(FrameAvailabledEvent event) { - if (cbIsMounted() == false || isFinished) return; - - Map map = event.toJson(); - final Uint8List? data = map['bytes'] as Uint8List?; - if (data != null) { - if (!_isScanAvailable) { - return; - } - - _isScanAvailable = false; - int width = previewSize!.width.toInt(); - int height = previewSize!.height.toInt(); - - processId( - data, width, height, width * 4, ImagePixelFormat.IPF_ARGB_8888.index); - } - } - - Future initCamera() async { - try { - WidgetsFlutterBinding.ensureInitialized(); - - List allCameras = await availableCameras(); - - if (kIsWeb) { - for (final CameraDescription cameraDescription in allCameras) { - print(cameraDescription.name); - if (cameraDescription.name.toLowerCase().contains('front')) { - if (isFrontFound) continue; - isFrontFound = true; - _cameras.add(cameraDescription); - } else if (cameraDescription.name.toLowerCase().contains('back')) { - if (isBackFound) continue; - isBackFound = true; - _cameras.add(cameraDescription); - } else { - _cameras.add(cameraDescription); - } - } - } else { - _cameras = allCameras; - } - - if (_cameras.isEmpty) return; - - if (!kIsWeb) { - toggleCamera(cameraIndex); - } else { - if (_cameras.length > 1) { - cameraIndex = 1; - toggleCamera(cameraIndex); - } else { - toggleCamera(cameraIndex); - } - } - } on CameraException catch (e) { - print(e); - } - } - - Widget getPreview() { - if (controller == null || !controller!.value.isInitialized || isFinished) { - return Container( - child: const Text('No camera available!'), - ); - } - - // if (kIsWeb && !_isMobileWeb) { - // return Transform( - // alignment: Alignment.center, - // transform: Matrix4.identity()..scale(-1.0, 1.0), // Flip horizontally - // child: CameraPreview(controller!), - // ); - // } - - return CameraPreview(controller!); - } - - void showInSnackBar(String message) { - ScaffoldMessenger.of(context) - .showSnackBar(SnackBar(content: Text(message))); - } - - void _logError(String code, String? message) { - // ignore: avoid_print - print('Error: $code${message == null ? '' : '\nError Message: $message'}'); - } - - void _showCameraException(CameraException e) { - _logError(e.code, e.description); - showInSnackBar('Error: ${e.code}\n${e.description}'); - } - - Future toggleCamera(int index) async { - ResolutionPreset preset = ResolutionPreset.high; - controller = CameraController( - _cameras[index], kIsWeb ? ResolutionPreset.max : preset, - enableAudio: false); - - try { - await controller!.initialize(); - if (cbIsMounted()) { - previewSize = controller!.value.previewSize; - - startVideo(); - } - } on CameraException catch (e) { - switch (e.code) { - case 'CameraAccessDenied': - showInSnackBar('You have denied camera access.'); - case 'CameraAccessDeniedWithoutPrompt': - // iOS only - showInSnackBar('Please go to Settings app to enable camera access.'); - case 'CameraAccessRestricted': - // iOS only - showInSnackBar('Camera access is restricted.'); - case 'AudioAccessDenied': - showInSnackBar('You have denied audio access.'); - case 'AudioAccessDeniedWithoutPrompt': - // iOS only - showInSnackBar('Please go to Settings app to enable audio access.'); - case 'AudioAccessRestricted': - // iOS only - showInSnackBar('Audio access is restricted.'); - default: - _showCameraException(e); - break; - } - } - } -} diff --git a/example/lib/camera_page.dart b/example/lib/camera_page.dart deleted file mode 100644 index 0f3dd2f..0000000 --- a/example/lib/camera_page.dart +++ /dev/null @@ -1,215 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_ocr_sdk/mrz_line.dart'; -import 'package:flutter_ocr_sdk/mrz_parser.dart'; -import 'package:flutter_ocr_sdk/mrz_result.dart'; - -import 'camera/camera_manager.dart'; -import 'global.dart'; -import 'dart:math'; - -import 'result_page.dart'; - -class CameraPage extends StatefulWidget { - const CameraPage({super.key}); - - @override - State createState() => _CameraPageState(); -} - -class _CameraPageState extends State with WidgetsBindingObserver { - late CameraManager _cameraManager; - - @override - void initState() { - super.initState(); - WidgetsBinding.instance.addObserver(this); - - _cameraManager = CameraManager( - context: context, - cbRefreshUi: refreshUI, - cbIsMounted: isMounted, - cbNavigation: navigation); - _cameraManager.initState(); - } - - void navigation(dynamic order) { - List area = order; - MrzResult? information; - if (area.length == 2) { - information = MRZ.parseTwoLines(area[0].text, area[1].text); - information.lines = '${area[0].text}\n${area[1].text}'; - } else if (area.length == 3) { - information = - MRZ.parseThreeLines(area[0].text, area[1].text, area[2].text); - information.lines = '${area[0].text}\n${area[1].text}\n${area[2].text}'; - } - Navigator.pushReplacement( - context, - MaterialPageRoute( - builder: (context) => ResultPage(information: information!), - )); - } - - void refreshUI() { - setState(() {}); - } - - bool isMounted() { - return mounted; - } - - @override - void dispose() { - WidgetsBinding.instance.removeObserver(this); - _cameraManager.stopVideo(); - super.dispose(); - } - - @override - void didChangeAppLifecycleState(AppLifecycleState state) { - if (_cameraManager.controller == null || - !_cameraManager.controller!.value.isInitialized) { - return; - } - - if (state == AppLifecycleState.inactive) { - _cameraManager.controller!.dispose(); - } else if (state == AppLifecycleState.resumed) { - _cameraManager.toggleCamera(0); - } - } - - List createCameraPreview() { - if (_cameraManager.controller != null && - _cameraManager.previewSize != null) { - double width = _cameraManager.previewSize!.width; - double height = _cameraManager.previewSize!.height; - if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { - if (MediaQuery.of(context).size.width < - MediaQuery.of(context).size.height) { - width = _cameraManager.previewSize!.height; - height = _cameraManager.previewSize!.width; - } - } - - return [ - SizedBox( - width: width, height: height, child: _cameraManager.getPreview()), - Positioned( - top: 0.0, - right: 0.0, - bottom: 0, - left: 0.0, - child: createOverlay( - _cameraManager.mrzLines, - ), - ), - ]; - } else { - return [const CircularProgressIndicator()]; - } - } - - @override - Widget build(BuildContext context) { - const hint = Text( - 'P[ - if (_cameraManager.controller != null && - _cameraManager.previewSize != null) - Positioned( - top: 0, - right: 0, - left: 0, - bottom: 0, - child: FittedBox( - fit: BoxFit.cover, - child: Stack( - children: createCameraPreview(), - ), - ), - ), - const Positioned( - left: 122, - right: 122, - bottom: 28, - child: Text('Powered by Dynamsoft', - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 12, - color: Colors.white, - )), - ), - // Positioned( - // top: 100, - // left: MediaQuery.of(context).size.width / 4, - // right: MediaQuery.of(context).size.width / 4, - // bottom: 100, - // child: Container( - // width: MediaQuery.of(context).size.width, - // height: MediaQuery.of(context).size.height, - // decoration: BoxDecoration( - // border: Border.all( - // color: Colors.white, - // width: 3.0, - // ), - // borderRadius: BorderRadius.circular(10.0), - // color: Colors.transparent, - // ), - // ), - // ), - Positioned( - bottom: (MediaQuery.of(context).size.height - 41 * 3) / 2, - left: !kIsWeb && (Platform.isAndroid) - ? 0 - : (MediaQuery.of(context).size.width - 41 * 9) / 2, - child: !kIsWeb && (Platform.isAndroid) - ? Transform.rotate( - angle: pi / 2, - child: hint, - ) - : hint, - ), - ], - ), - floatingActionButton: Opacity( - opacity: 0.5, - child: FloatingActionButton( - backgroundColor: Colors.black, - child: const Icon(Icons.flip_camera_android), - onPressed: () { - _cameraManager.switchCamera(); - }, - ), - ), - )); - } -} diff --git a/example/lib/global.dart b/example/lib/global.dart deleted file mode 100644 index f89c20c..0000000 --- a/example/lib/global.dart +++ /dev/null @@ -1,96 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_ocr_sdk/flutter_ocr_sdk.dart'; -import 'package:flutter_ocr_sdk/mrz_line.dart'; - -FlutterOcrSdk mrzDetector = FlutterOcrSdk(); -bool isLicenseValid = false; - -Future initMRZSDK() async { - int? ret = await mrzDetector.init( - "DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ=="); - - if (ret == 0) isLicenseValid = true; - return await mrzDetector.loadModel() ?? -1; -} - -Color colorMainTheme = const Color(0xff1D1B20); -Color colorOrange = const Color(0xffFE8E14); -Color colorTitle = const Color(0xffF5F5F5); -Color colorSelect = const Color(0xff757575); -Color colorText = const Color(0xff888888); -Color colorBackground = const Color(0xFF323234); -Color colorSubtitle = const Color(0xffCCCCCC); - -Widget createOverlay(List>? mrzResults) { - return CustomPaint( - painter: OverlayPainter(mrzResults), - ); -} - -class OverlayPainter extends CustomPainter { - List>? mrzResults; - - OverlayPainter(this.mrzResults); - - @override - void paint(Canvas canvas, Size size) { - final paint = Paint() - ..color = Colors.blue - ..strokeWidth = 5 - ..style = PaintingStyle.stroke; - - if (mrzResults != null) { - for (List area in mrzResults!) { - for (MrzLine line in area) { - canvas.drawLine(Offset(line.x1.toDouble(), line.y1.toDouble()), - Offset(line.x2.toDouble(), line.y2.toDouble()), paint); - canvas.drawLine(Offset(line.x2.toDouble(), line.y2.toDouble()), - Offset(line.x3.toDouble(), line.y3.toDouble()), paint); - canvas.drawLine(Offset(line.x3.toDouble(), line.y3.toDouble()), - Offset(line.x4.toDouble(), line.y4.toDouble()), paint); - canvas.drawLine(Offset(line.x4.toDouble(), line.y4.toDouble()), - Offset(line.x1.toDouble(), line.y1.toDouble()), paint); - } - } - } - } - - @override - bool shouldRepaint(OverlayPainter oldDelegate) => true; -} - -List> rotate90mrz(List> input, int height) { - List> output = []; - - for (List area in input) { - List tmp = []; - for (int i = 0; i < area.length; i++) { - MrzLine line = area[i]; - int x1 = line.x1; - int x2 = line.x2; - int x3 = line.x3; - int x4 = line.x4; - int y1 = line.y1; - int y2 = line.y2; - int y3 = line.y3; - int y4 = line.y4; - - MrzLine newline = MrzLine(); - newline.confidence = line.confidence; - newline.text = line.text; - newline.x1 = height - y1; - newline.y1 = x1; - newline.x2 = height - y2; - newline.y2 = x2; - newline.x3 = height - y3; - newline.y3 = x3; - newline.x4 = height - y4; - newline.y4 = x4; - - tmp.add(newline); - } - output.add(tmp); - } - - return output; -} diff --git a/example/lib/history_page.dart b/example/lib/history_page.dart deleted file mode 100644 index 021ee7c..0000000 --- a/example/lib/history_page.dart +++ /dev/null @@ -1,207 +0,0 @@ -import 'dart:convert'; - -import 'package:flutter/material.dart'; -import 'package:flutter_ocr_sdk/mrz_result.dart'; -import 'global.dart'; -import 'result_page.dart'; -import 'package:share_plus/share_plus.dart'; -import 'package:shared_preferences/shared_preferences.dart'; - -class HistoryPage extends StatefulWidget { - const HistoryPage({super.key}); - - @override - State createState() => _HistoryPageState(); -} - -class _HistoryPageState extends State { - bool _isLoaded = false; - final List _mrzHistory = List.empty(growable: true); - @override - void initState() { - super.initState(); - loadHistory(); - } - - Future loadHistory() async { - final SharedPreferences prefs = await SharedPreferences.getInstance(); - var data = prefs.getStringList('mrz_data'); - if (data != null) { - _mrzHistory.clear(); - for (String json in data) { - MrzResult mrzResult = MrzResult.fromJson(jsonDecode(json)); - _mrzHistory.add(mrzResult); - } - } - setState(() { - _isLoaded = true; - }); - } - - @override - Widget build(BuildContext context) { - var listView = Expanded( - child: ListView.builder( - itemCount: _mrzHistory.length, - itemBuilder: (context, index) { - return MyCustomWidget( - result: _mrzHistory[index], - cbDeleted: () async { - _mrzHistory.removeAt(index); - final SharedPreferences prefs = - await SharedPreferences.getInstance(); - List data = - prefs.getStringList('mrz_data') as List; - data.removeAt(index); - prefs.setStringList('mrz_data', data); - setState(() {}); - }, - cbOpenResultPage: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => ResultPage( - information: _mrzHistory[index], - isViewOnly: true, - ), - )); - }); - })); - return Scaffold( - appBar: AppBar( - title: Text('History', - style: TextStyle( - fontSize: 22, - color: colorTitle, - )), - centerTitle: true, - backgroundColor: colorMainTheme, - actions: [ - Padding( - padding: const EdgeInsets.only(right: 30), - child: IconButton( - onPressed: () async { - final SharedPreferences prefs = - await SharedPreferences.getInstance(); - await prefs.remove('mrz_data'); - setState(() { - _mrzHistory.clear(); - }); - }, - icon: Image.asset( - "images/icon-delete.png", - width: 26, - height: 26, - fit: BoxFit.cover, - ), - )) - ], - ), - body: _isLoaded - ? Column( - children: [listView], - ) - : const Center( - child: CircularProgressIndicator(), - ), - ); - } -} - -class MyCustomWidget extends StatelessWidget { - final MrzResult result; - final Function cbDeleted; - final Function cbOpenResultPage; - - const MyCustomWidget({ - super.key, - required this.result, - required this.cbDeleted, - required this.cbOpenResultPage, - }); - - @override - Widget build(BuildContext context) { - return DecoratedBox( - decoration: const BoxDecoration(color: Colors.black), - child: Padding( - padding: const EdgeInsets.only(top: 18, bottom: 16, left: 84), - child: Row( - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - result.surname!, - style: const TextStyle(color: Colors.white), - ), - Text( - result.passportNumber!, - style: TextStyle(color: colorSubtitle), - ), - ], - ), - Expanded(child: Container()), - Padding( - padding: const EdgeInsets.only(right: 27), - child: IconButton( - icon: const Icon(Icons.more_vert), - color: Colors.white, - onPressed: () async { - final RenderBox button = - context.findRenderObject() as RenderBox; - - final RelativeRect position = RelativeRect.fromLTRB( - 100, - button.localToGlobal(Offset.zero).dy, - 40, - 0, - ); - - final selected = await showMenu( - context: context, - position: position, - color: colorBackground, - items: [ - const PopupMenuItem( - value: 0, - child: Text( - 'Delete', - style: TextStyle(color: Colors.white), - )), - const PopupMenuItem( - value: 1, - child: Text( - 'Share', - style: TextStyle(color: Colors.white), - )), - const PopupMenuItem( - value: 2, - child: Text( - 'View', - style: TextStyle(color: Colors.white), - )), - ], - ); - - if (selected != null) { - if (selected == 0) { - // delete - cbDeleted(); - } else if (selected == 1) { - // share - Map jsonObject = result.toJson(); - String jsonString = jsonEncode(jsonObject); - Share.share(jsonString); - } else { - // view - cbOpenResultPage(); - } - } - }, - ), - ), - ], - ))); - } -} diff --git a/example/lib/home_page.dart b/example/lib/home_page.dart deleted file mode 100644 index 6f927fb..0000000 --- a/example/lib/home_page.dart +++ /dev/null @@ -1,243 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/material.dart'; -import 'package:flutter_exif_rotation/flutter_exif_rotation.dart'; -import 'package:flutter_ocr_sdk/flutter_ocr_sdk_platform_interface.dart'; -import 'package:flutter_ocr_sdk/mrz_line.dart'; -import 'package:flutter_ocr_sdk/mrz_parser.dart'; -import 'package:flutter_ocr_sdk/mrz_result.dart'; -import 'package:url_launcher/url_launcher_string.dart'; -import 'result_page.dart'; -import 'utils.dart'; -import 'package:flutter/foundation.dart' show kIsWeb; -import 'package:image_picker/image_picker.dart'; -import 'dart:ui' as ui; -import 'dart:typed_data'; - -import 'camera_page.dart'; -import 'global.dart'; - -class HomePage extends StatefulWidget { - const HomePage({super.key}); - - @override - State createState() => _HomePageState(); -} - -class _HomePageState extends State { - final picker = ImagePicker(); - - void openResultPage(MrzResult information) { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => ResultPage(information: information), - )); - } - - void scanImage() async { - XFile? photo = await picker.pickImage(source: ImageSource.gallery); - - if (photo == null) { - return; - } - - if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { - File rotatedImage = - await FlutterExifRotation.rotateImage(path: photo.path); - photo = XFile(rotatedImage.path); - } - - Uint8List fileBytes = await photo.readAsBytes(); - - ui.Image image = await decodeImageFromList(fileBytes); - - ByteData? byteData = - await image.toByteData(format: ui.ImageByteFormat.rawRgba); - if (byteData != null) { - List>? results = await mrzDetector.recognizeByBuffer( - byteData.buffer.asUint8List(), - image.width, - image.height, - byteData.lengthInBytes ~/ image.height, - ImagePixelFormat.IPF_ARGB_8888.index); - List? finalArea; - MrzResult? information; - if (results != null && results.isNotEmpty) { - for (List area in results) { - if (area.length == 2) { - finalArea = area; - information = MRZ.parseTwoLines(area[0].text, area[1].text); - information.lines = '${area[0].text}\n${area[1].text}'; - break; - } else if (area.length == 3) { - finalArea = area; - information = - MRZ.parseThreeLines(area[0].text, area[1].text, area[2].text); - information.lines = - '${area[0].text}\n${area[1].text}\n${area[2].text}'; - break; - } - } - } - if (finalArea != null) { - openResultPage(information!); - } - } - } - - @override - Widget build(BuildContext context) { - final title = Row( - children: [ - Container( - padding: const EdgeInsets.only( - top: 30, - left: 33, - ), - child: const Text('MRZ SCANNER', - style: TextStyle( - fontSize: 36, - color: Colors.white, - ))) - ], - ); - - final description = Row( - children: [ - Container( - padding: const EdgeInsets.only(top: 6, left: 33, bottom: 44), - child: const SizedBox( - width: 271, - child: Text( - 'Recognizes MRZ code & extracts data from passports, visas, and ID cards', - style: TextStyle( - fontSize: 18, - color: Colors.white, - )), - )) - ], - ); - - final buttons = Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - GestureDetector( - onTap: () { - if (!kIsWeb && Platform.isLinux) { - showAlert(context, "Warning", - "${Platform.operatingSystem} is not supported"); - return; - } - - Navigator.push(context, MaterialPageRoute(builder: (context) { - return const CameraPage(); - })); - }, - child: Container( - width: 150, - height: 125, - decoration: BoxDecoration( - color: colorOrange, - borderRadius: BorderRadius.circular(10.0), - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - "images/icon-camera.png", - width: 90, - height: 60, - ), - const Text( - "Camera Scan", - overflow: TextOverflow.ellipsis, - style: TextStyle(fontSize: 16, color: Colors.white), - ) - ], - ), - )), - GestureDetector( - onTap: () { - scanImage(); - }, - child: Container( - width: 150, - height: 125, - decoration: BoxDecoration( - color: colorBackground, - borderRadius: BorderRadius.circular(10.0), - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - "images/icon-image.png", - width: 90, - height: 60, - ), - const Text( - "Image Scan", - overflow: TextOverflow.ellipsis, - style: TextStyle(fontSize: 16, color: Colors.white), - ) - ], - ), - )) - ], - ); - - final image = Image.asset( - "images/image-mrz.png", - width: MediaQuery.of(context).size.width, - fit: BoxFit.cover, - ); - return Scaffold( - body: Column( - children: [ - title, - description, - buttons, - const SizedBox( - height: 34, - ), - Expanded( - child: Stack( - children: [ - Positioned.fill( - child: image, - ), - if (!isLicenseValid) - Opacity( - opacity: 0.8, - child: Container( - width: MediaQuery.of(context).size.width, - height: 40, - color: const Color(0xffFF1A1A), - padding: const EdgeInsets.only(left: 20, right: 20), - child: InkWell( - onTap: () { - launchUrlString( - 'https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform'); - }, - child: const Row( - children: [ - Icon(Icons.warning_amber_rounded, - color: Colors.white, size: 20), - Text( - " License expired! Renew your license ->", - style: TextStyle( - fontSize: 14, - color: Colors.white, - fontWeight: FontWeight.bold), - ), - ], - ))), - ) - ], - )) - ], - ), - ); - } -} diff --git a/example/lib/main.dart b/example/lib/main.dart deleted file mode 100644 index 181f653..0000000 --- a/example/lib/main.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter/material.dart'; -import 'tab_page.dart'; -import 'dart:async'; -import 'global.dart'; - -Future main() async { - runApp(const MyApp()); -} - -class MyApp extends StatelessWidget { - const MyApp({super.key}); - - Future loadData() async { - return await initMRZSDK(); - } - - @override - Widget build(BuildContext context) { - return MaterialApp( - title: 'Dynamsoft MRZ Detection', - theme: ThemeData( - scaffoldBackgroundColor: colorMainTheme, - ), - home: FutureBuilder( - future: loadData(), - builder: (BuildContext context, AsyncSnapshot snapshot) { - if (!snapshot.hasData) { - return const CircularProgressIndicator(); // Loading indicator - } - Future.microtask(() { - Navigator.pushReplacement(context, - MaterialPageRoute(builder: (context) => const TabPage())); - }); - return Container(); - }, - ), - ); - } -} diff --git a/example/lib/result_page.dart b/example/lib/result_page.dart deleted file mode 100644 index 91e4852..0000000 --- a/example/lib/result_page.dart +++ /dev/null @@ -1,199 +0,0 @@ -import 'dart:convert'; - -import 'package:flutter/material.dart'; -import 'package:flutter_ocr_sdk/mrz_result.dart'; -import 'package:share_plus/share_plus.dart'; -import 'package:shared_preferences/shared_preferences.dart'; - -import 'global.dart'; - -class ResultPage extends StatefulWidget { - const ResultPage( - {super.key, required this.information, this.isViewOnly = false}); - - final MrzResult information; - final bool isViewOnly; - - @override - State createState() => _ResultPageState(); -} - -class _ResultPageState extends State { - @override - Widget build(BuildContext context) { - var keyStyle = TextStyle(color: colorText, fontSize: 14); - const valueStyle = TextStyle(color: Colors.white, fontSize: 14); - final infoList = Row(mainAxisAlignment: MainAxisAlignment.start, children: [ - Container( - padding: const EdgeInsets.only(left: 35, bottom: 40), - child: SingleChildScrollView( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text("Document Type", style: keyStyle), - const SizedBox( - height: 3, - ), - Text(widget.information.type!, style: valueStyle), - const SizedBox( - height: 6, - ), - Text("Issuing State", style: keyStyle), - const SizedBox( - height: 3, - ), - Text(widget.information.issuingCountry!, style: valueStyle), - const SizedBox( - height: 6, - ), - Text("Surname", style: keyStyle), - const SizedBox( - height: 3, - ), - Text(widget.information.surname!, style: valueStyle), - const SizedBox( - height: 6, - ), - Text("Given Name", style: keyStyle), - const SizedBox( - height: 3, - ), - Text(widget.information.givenName!, style: valueStyle), - const SizedBox( - height: 6, - ), - Text("Passport Number", style: keyStyle), - const SizedBox( - height: 3, - ), - Text(widget.information.passportNumber!, style: valueStyle), - const SizedBox( - height: 6, - ), - Text("Nationality", style: keyStyle), - const SizedBox( - height: 3, - ), - Text(widget.information.nationality!, style: valueStyle), - const SizedBox( - height: 6, - ), - Text("Date of Birth (YYYY-MM-DD)", style: keyStyle), - const SizedBox( - height: 3, - ), - Text(widget.information.birthDate!, style: valueStyle), - const SizedBox( - height: 6, - ), - Text("Gender", style: keyStyle), - const SizedBox( - height: 3, - ), - Text(widget.information.gender!, style: valueStyle), - const SizedBox( - height: 6, - ), - Text("Date of Expiry(YYYY-MM-DD)", style: keyStyle), - const SizedBox( - height: 3, - ), - Text(widget.information.expiration!, style: valueStyle), - const SizedBox( - height: 6, - ), - Text("MRZ String", style: keyStyle), - const SizedBox( - height: 3, - ), - Text(widget.information.lines!, - style: const TextStyle( - color: Colors.white, - fontSize: 11, - overflow: TextOverflow.ellipsis)), - const SizedBox( - height: 6, - ), - ], - ), - )) - ]); - - void close() { - Navigator.pop(context); - } - - final button = Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Container( - padding: const EdgeInsets.only(bottom: 23), - child: MaterialButton( - minWidth: 208, - height: 45, - onPressed: () async { - Map jsonObject = widget.information.toJson(); - String jsonString = jsonEncode(jsonObject); - final SharedPreferences prefs = - await SharedPreferences.getInstance(); - var results = prefs.getStringList('mrz_data'); - if (results == null) { - prefs.setStringList('mrz_data', [jsonString]); - } else { - results.add(jsonString); - prefs.setStringList('mrz_data', results); - } - - close(); - }, - color: colorOrange, - child: const Text( - 'Save and Continue', - style: TextStyle(color: Colors.white, fontSize: 18), - ), - )) - ], - ); - - return WillPopScope( - onWillPop: () async { - return true; - }, - child: Scaffold( - appBar: AppBar( - backgroundColor: Colors.black, - title: const Text( - 'Result', - style: TextStyle(color: Colors.white), - ), - iconTheme: const IconThemeData( - color: Colors - .white, // Set the color of the back arrow and other icons - ), - actions: [ - Padding( - padding: const EdgeInsets.only(right: 20), - child: IconButton( - onPressed: () { - Map jsonObject = - widget.information.toJson(); - String jsonString = jsonEncode(jsonObject); - Share.share(jsonString); - }, - icon: const Icon(Icons.share, color: Colors.white), - ), - ) - ], - ), - body: Column( - children: [ - infoList, - Expanded( - child: Container(), - ), - if (!widget.isViewOnly) button - ], - ), - )); - } -} diff --git a/example/lib/tab_page.dart b/example/lib/tab_page.dart deleted file mode 100644 index 5c27fc9..0000000 --- a/example/lib/tab_page.dart +++ /dev/null @@ -1,106 +0,0 @@ -import 'package:flutter/material.dart'; -import 'global.dart'; -import 'history_page.dart'; - -import 'about_page.dart'; -import 'home_page.dart'; - -class TabPage extends StatefulWidget { - const TabPage({super.key}); - - @override - State createState() => _TabPageState(); -} - -class _TabPageState extends State with SingleTickerProviderStateMixin { - late TabController _tabController; - final List myTabs = [ - CustomTab( - text: 'Home', - icon: 'images/icon-home-gray.png', - selectedIcon: 'images/icon-home-orange.png'), - CustomTab( - text: 'History', - icon: 'images/icon-history-gray.png', - selectedIcon: 'images/icon-history-orange.png'), - CustomTab( - text: 'About', - icon: 'images/icon-about-gray.png', - selectedIcon: 'images/icon-about-orange.png'), - ]; - - int selectedIndex = 0; - - @override - void initState() { - super.initState(); - _tabController = TabController(vsync: this, length: 3); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - body: TabBarView( - controller: _tabController, - children: const [ - HomePage(), - HistoryPage(), - AboutPage(), - ], - ), - bottomNavigationBar: SizedBox( - height: 83, - child: TabBar( - labelColor: Colors.blue, - controller: _tabController, - onTap: (index) { - setState(() { - selectedIndex = index; - }); - }, - tabs: myTabs.map((CustomTab tab) { - return MyTab( - tab: tab, isSelected: myTabs.indexOf(tab) == selectedIndex); - }).toList(), - ), - )); - } -} - -class MyTab extends StatelessWidget { - final CustomTab tab; - final bool isSelected; - - const MyTab({super.key, required this.tab, required this.isSelected}); - - @override - Widget build(BuildContext context) { - return Tab( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Image.asset( - isSelected ? tab.selectedIcon : tab.icon, - width: 48, - height: 32, - ), - Text(tab.text, - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 9, - color: isSelected ? colorOrange : colorSelect, - )) - ], - ), - ); - } -} - -class CustomTab { - final String text; - final String icon; - final String selectedIcon; - - CustomTab( - {required this.text, required this.icon, required this.selectedIcon}); -} diff --git a/example/lib/utils.dart b/example/lib/utils.dart deleted file mode 100644 index 3b9e6ef..0000000 --- a/example/lib/utils.dart +++ /dev/null @@ -1,109 +0,0 @@ -import 'dart:async'; -import 'dart:typed_data'; - -import 'package:flutter/material.dart'; -import 'dart:ui' as ui; - -import 'dart:math' as math; - -void showAlert(BuildContext context, String title, String content) { - showDialog( - context: context, - builder: (BuildContext context) { - return AlertDialog( - title: Text(title), - content: Text(content), - actions: [ - TextButton( - onPressed: () { - Navigator.pop(context); - }, - child: const Text('OK'), - ), - ], - ); - }, - ); -} - -Future createImage( - Uint8List buffer, int width, int height, ui.PixelFormat pixelFormat) { - final Completer completer = Completer(); - - ui.decodeImageFromPixels(buffer, width, height, pixelFormat, (ui.Image img) { - completer.complete(img); - }); - - return completer.future; -} - -Uint8List yuv420ToRgba8888(List planes, int width, int height) { - final yPlane = planes[0]; - final uPlane = planes[1]; - final vPlane = planes[2]; - - final Uint8List rgbaBytes = Uint8List(width * height * 4); - - for (int y = 0; y < height; y++) { - for (int x = 0; x < width; x++) { - final int yIndex = y * width + x; - final int uvIndex = (y ~/ 2) * (width ~/ 2) + (x ~/ 2); - - final int yValue = yPlane[yIndex] & 0xFF; - final int uValue = uPlane[uvIndex] & 0xFF; - final int vValue = vPlane[uvIndex] & 0xFF; - - final int r = (yValue + 1.13983 * (vValue - 128)).round().clamp(0, 255); - final int g = - (yValue - 0.39465 * (uValue - 128) - 0.58060 * (vValue - 128)) - .round() - .clamp(0, 255); - final int b = (yValue + 2.03211 * (uValue - 128)).round().clamp(0, 255); - - final int rgbaIndex = yIndex * 4; - rgbaBytes[rgbaIndex] = r.toUnsigned(8); - rgbaBytes[rgbaIndex + 1] = g.toUnsigned(8); - rgbaBytes[rgbaIndex + 2] = b.toUnsigned(8); - rgbaBytes[rgbaIndex + 3] = 255; // Alpha value - } - } - - return rgbaBytes; -} - -Uint8List rotate90Degrees(Uint8List src, int width, int height) { - var dst = Uint8List(4 * width * height); - int newIndex = 0; - - for (int j = 0; j < width; j++) { - for (int i = height - 1; i >= 0; i--) { - int oldIndex = 4 * (i * width + j); - dst[newIndex] = src[oldIndex]; - dst[newIndex + 1] = src[oldIndex + 1]; - dst[newIndex + 2] = src[oldIndex + 2]; - dst[newIndex + 3] = src[oldIndex + 3]; - newIndex += 4; - } - } - - return dst; -} - -double calculateArea(Offset p1, Offset p2, Offset p3, Offset p4) { - double area1 = calculateTriangleArea(p1, p2, p3); - double area2 = calculateTriangleArea(p1, p3, p4); - - return area1 + area2; -} - -double calculateTriangleArea(Offset p1, Offset p2, Offset p3) { - double a = distanceBetween(p1, p2); - double b = distanceBetween(p2, p3); - double c = distanceBetween(p3, p1); - double s = (a + b + c) / 2; - return math.sqrt(s * (s - a) * (s - b) * (s - c)); -} - -double distanceBetween(Offset p1, Offset p2) { - return math.sqrt(math.pow(p2.dx - p1.dx, 2) + math.pow(p2.dy - p1.dy, 2)); -} diff --git a/example/linux/.gitignore b/example/linux/.gitignore deleted file mode 100644 index d3896c9..0000000 --- a/example/linux/.gitignore +++ /dev/null @@ -1 +0,0 @@ -flutter/ephemeral diff --git a/example/linux/CMakeLists.txt b/example/linux/CMakeLists.txt deleted file mode 100644 index cb38242..0000000 --- a/example/linux/CMakeLists.txt +++ /dev/null @@ -1,139 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.10) -project(runner 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 "mrzscanner") -# The unique GTK application identifier for this application. See: -# https://wiki.gnome.org/HowDoI/ChooseApplicationID -set(APPLICATION_ID "com.example.mrzscanner") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# Load bundled libraries from the lib/ directory relative to the binary. -set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") - -# Root filesystem for cross-building. -if(FLUTTER_TARGET_PLATFORM_SYSROOT) - set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) - set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -endif() - -# Define build configuration options. -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() - -# 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_14) - target_compile_options(${TARGET} PRIVATE -Wall -Werror) - target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") - target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) - -add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") - -# Define the application target. To change its name, change BINARY_NAME above, -# 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} - "main.cc" - "my_application.cc" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add dependency libraries. Add any application-specific dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter) -target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) - -# Only the install-generated bundle's copy of the executable will launch -# correctly, since the resources must in the right relative locations. To avoid -# people trying to run the unbundled copy, put it in a subdirectory instead of -# the default top-level location. -set_target_properties(${BINARY_NAME} - PROPERTIES - RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" -) - - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# By default, "installing" just makes a relocatable bundle in the build -# directory. -set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -# Start with a clean build bundle directory every time. -install(CODE " - file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") - " COMPONENT Runtime) - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") - -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) - -foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) - install(FILES "${bundled_library}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endforeach(bundled_library) - -# 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. -if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") - install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() diff --git a/example/linux/flutter/CMakeLists.txt b/example/linux/flutter/CMakeLists.txt deleted file mode 100644 index d5bd016..0000000 --- a/example/linux/flutter/CMakeLists.txt +++ /dev/null @@ -1,88 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.10) - -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. - -# Serves the same purpose as list(TRANSFORM ... PREPEND ...), -# which isn't available in 3.10. -function(list_prepend LIST_NAME PREFIX) - set(NEW_LIST "") - foreach(element ${${LIST_NAME}}) - list(APPEND NEW_LIST "${PREFIX}${element}") - endforeach(element) - set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) -endfunction() - -# === Flutter Library === -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) -pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) -pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) - -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") - -# 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/lib/libapp.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "fl_basic_message_channel.h" - "fl_binary_codec.h" - "fl_binary_messenger.h" - "fl_dart_project.h" - "fl_engine.h" - "fl_json_message_codec.h" - "fl_json_method_codec.h" - "fl_message_codec.h" - "fl_method_call.h" - "fl_method_channel.h" - "fl_method_codec.h" - "fl_method_response.h" - "fl_plugin_registrar.h" - "fl_plugin_registry.h" - "fl_standard_message_codec.h" - "fl_standard_method_codec.h" - "fl_string_codec.h" - "fl_value.h" - "fl_view.h" - "flutter_linux.h" -) -list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") -target_link_libraries(flutter INTERFACE - PkgConfig::GTK - PkgConfig::GLIB - PkgConfig::GIO -) -add_dependencies(flutter 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. -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CMAKE_CURRENT_BINARY_DIR}/_phony_ - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" - ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} -) diff --git a/example/linux/flutter/generated_plugin_registrant.cc b/example/linux/flutter/generated_plugin_registrant.cc deleted file mode 100644 index dfdbebc..0000000 --- a/example/linux/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,23 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - -#include -#include -#include - -void fl_register_plugins(FlPluginRegistry* registry) { - g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); - file_selector_plugin_register_with_registrar(file_selector_linux_registrar); - g_autoptr(FlPluginRegistrar) flutter_ocr_sdk_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterOcrSdkPlugin"); - flutter_ocr_sdk_plugin_register_with_registrar(flutter_ocr_sdk_registrar); - g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); - url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); -} diff --git a/example/linux/flutter/generated_plugin_registrant.h b/example/linux/flutter/generated_plugin_registrant.h deleted file mode 100644 index e0f0a47..0000000 --- a/example/linux/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void fl_register_plugins(FlPluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/example/linux/flutter/generated_plugins.cmake b/example/linux/flutter/generated_plugins.cmake deleted file mode 100644 index 5388fce..0000000 --- a/example/linux/flutter/generated_plugins.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST - file_selector_linux - flutter_ocr_sdk - url_launcher_linux -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/example/linux/main.cc b/example/linux/main.cc deleted file mode 100644 index e7c5c54..0000000 --- a/example/linux/main.cc +++ /dev/null @@ -1,6 +0,0 @@ -#include "my_application.h" - -int main(int argc, char** argv) { - g_autoptr(MyApplication) app = my_application_new(); - return g_application_run(G_APPLICATION(app), argc, argv); -} diff --git a/example/linux/my_application.cc b/example/linux/my_application.cc deleted file mode 100644 index d7ca28e..0000000 --- a/example/linux/my_application.cc +++ /dev/null @@ -1,104 +0,0 @@ -#include "my_application.h" - -#include -#ifdef GDK_WINDOWING_X11 -#include -#endif - -#include "flutter/generated_plugin_registrant.h" - -struct _MyApplication { - GtkApplication parent_instance; - char** dart_entrypoint_arguments; -}; - -G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) - -// Implements GApplication::activate. -static void my_application_activate(GApplication* application) { - MyApplication* self = MY_APPLICATION(application); - GtkWindow* window = - GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); - - // Use a header bar when running in GNOME as this is the common style used - // by applications and is the setup most users will be using (e.g. Ubuntu - // desktop). - // If running on X and not using GNOME then just use a traditional title bar - // in case the window manager does more exotic layout, e.g. tiling. - // If running on Wayland assume the header bar will work (may need changing - // if future cases occur). - gboolean use_header_bar = TRUE; -#ifdef GDK_WINDOWING_X11 - GdkScreen* screen = gtk_window_get_screen(window); - if (GDK_IS_X11_SCREEN(screen)) { - const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); - if (g_strcmp0(wm_name, "GNOME Shell") != 0) { - use_header_bar = FALSE; - } - } -#endif - if (use_header_bar) { - GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); - gtk_widget_show(GTK_WIDGET(header_bar)); - gtk_header_bar_set_title(header_bar, "mrzscanner"); - gtk_header_bar_set_show_close_button(header_bar, TRUE); - gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); - } else { - gtk_window_set_title(window, "mrzscanner"); - } - - gtk_window_set_default_size(window, 1280, 720); - gtk_widget_show(GTK_WIDGET(window)); - - g_autoptr(FlDartProject) project = fl_dart_project_new(); - fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); - - FlView* view = fl_view_new(project); - gtk_widget_show(GTK_WIDGET(view)); - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); - - fl_register_plugins(FL_PLUGIN_REGISTRY(view)); - - gtk_widget_grab_focus(GTK_WIDGET(view)); -} - -// Implements GApplication::local_command_line. -static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { - MyApplication* self = MY_APPLICATION(application); - // Strip out the first argument as it is the binary name. - self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); - - g_autoptr(GError) error = nullptr; - if (!g_application_register(application, nullptr, &error)) { - g_warning("Failed to register: %s", error->message); - *exit_status = 1; - return TRUE; - } - - g_application_activate(application); - *exit_status = 0; - - return TRUE; -} - -// Implements GObject::dispose. -static void my_application_dispose(GObject* object) { - MyApplication* self = MY_APPLICATION(object); - g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); - G_OBJECT_CLASS(my_application_parent_class)->dispose(object); -} - -static void my_application_class_init(MyApplicationClass* klass) { - G_APPLICATION_CLASS(klass)->activate = my_application_activate; - G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; - G_OBJECT_CLASS(klass)->dispose = my_application_dispose; -} - -static void my_application_init(MyApplication* self) {} - -MyApplication* my_application_new() { - return MY_APPLICATION(g_object_new(my_application_get_type(), - "application-id", APPLICATION_ID, - "flags", G_APPLICATION_NON_UNIQUE, - nullptr)); -} diff --git a/example/linux/my_application.h b/example/linux/my_application.h deleted file mode 100644 index 72271d5..0000000 --- a/example/linux/my_application.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef FLUTTER_MY_APPLICATION_H_ -#define FLUTTER_MY_APPLICATION_H_ - -#include - -G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, - GtkApplication) - -/** - * my_application_new: - * - * Creates a new Flutter-based application. - * - * Returns: a new #MyApplication. - */ -MyApplication* my_application_new(); - -#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/example/macos/.gitignore b/example/macos/.gitignore deleted file mode 100644 index 746adbb..0000000 --- a/example/macos/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Flutter-related -**/Flutter/ephemeral/ -**/Pods/ - -# Xcode-related -**/dgph -**/xcuserdata/ diff --git a/example/macos/Flutter/Flutter-Debug.xcconfig b/example/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index c2efd0b..0000000 --- a/example/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/example/macos/Flutter/Flutter-Release.xcconfig b/example/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index c2efd0b..0000000 --- a/example/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/example/macos/Flutter/GeneratedPluginRegistrant.swift b/example/macos/Flutter/GeneratedPluginRegistrant.swift deleted file mode 100644 index 7137240..0000000 --- a/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ /dev/null @@ -1,20 +0,0 @@ -// -// Generated file. Do not edit. -// - -import FlutterMacOS -import Foundation - -import file_selector_macos -import path_provider_foundation -import share_plus -import shared_preferences_foundation -import url_launcher_macos - -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) - PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) - SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) - SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) - UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) -} diff --git a/example/macos/Runner.xcodeproj/project.pbxproj b/example/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 4fb60f3..0000000 --- a/example/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,695 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC10EC2044A3C60003C045; - remoteInfo = Runner; - }; - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* mrzscanner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "mrzscanner.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 331C80D2294CF70F00263BE5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 331C80D6294CF71000263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C80D7294CF71000263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 331C80D6294CF71000263BE5 /* RunnerTests */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* mrzscanner.app */, - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C80D4294CF70F00263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 331C80D1294CF70F00263BE5 /* Sources */, - 331C80D2294CF70F00263BE5 /* Frameworks */, - 331C80D3294CF70F00263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C80DA294CF71000263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* mrzscanner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C80D4294CF70F00263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 33CC10EC2044A3C60003C045; - }; - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 331C80D4294CF70F00263BE5 /* RunnerTests */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C80D3294CF70F00263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C80D1294CF70F00263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; - }; - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 331C80DB294CF71000263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.mrzscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/mrzscanner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/mrzscanner"; - }; - name = Debug; - }; - 331C80DC294CF71000263BE5 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.mrzscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/mrzscanner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/mrzscanner"; - }; - name = Release; - }; - 331C80DD294CF71000263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.mrzscanner.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/mrzscanner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/mrzscanner"; - }; - name = Profile; - }; - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C80DB294CF71000263BE5 /* Debug */, - 331C80DC294CF71000263BE5 /* Release */, - 331C80DD294CF71000263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 4fd77e5..0000000 --- a/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/example/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1d526a1..0000000 --- a/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/macos/Runner/AppDelegate.swift b/example/macos/Runner/AppDelegate.swift deleted file mode 100644 index d53ef64..0000000 --- a/example/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,9 +0,0 @@ -import Cocoa -import FlutterMacOS - -@NSApplicationMain -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } -} diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f..0000000 --- a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 82b6f9d..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index 13b35eb..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 0a3f5fa..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png deleted file mode 100644 index bdb5722..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png deleted file mode 100644 index f083318..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png deleted file mode 100644 index 326c0e7..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png and /dev/null differ diff --git a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 2f1632c..0000000 Binary files a/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png and /dev/null differ diff --git a/example/macos/Runner/Base.lproj/MainMenu.xib b/example/macos/Runner/Base.lproj/MainMenu.xib deleted file mode 100644 index 80e867a..0000000 --- a/example/macos/Runner/Base.lproj/MainMenu.xib +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/macos/Runner/Configs/AppInfo.xcconfig b/example/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index 8a41928..0000000 --- a/example/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = mrzscanner - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = com.example.mrzscanner - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2023 com.example. All rights reserved. diff --git a/example/macos/Runner/Configs/Debug.xcconfig b/example/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd9..0000000 --- a/example/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/example/macos/Runner/Configs/Release.xcconfig b/example/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f49..0000000 --- a/example/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/example/macos/Runner/Configs/Warnings.xcconfig b/example/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf4..0000000 --- a/example/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/example/macos/Runner/DebugProfile.entitlements b/example/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index dddb8a3..0000000 --- a/example/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.network.server - - - diff --git a/example/macos/Runner/Info.plist b/example/macos/Runner/Info.plist deleted file mode 100644 index 4789daa..0000000 --- a/example/macos/Runner/Info.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - - diff --git a/example/macos/Runner/MainFlutterWindow.swift b/example/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 3cc05eb..0000000 --- a/example/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/example/macos/Runner/Release.entitlements b/example/macos/Runner/Release.entitlements deleted file mode 100644 index 852fa1a..0000000 --- a/example/macos/Runner/Release.entitlements +++ /dev/null @@ -1,8 +0,0 @@ - - - - - com.apple.security.app-sandbox - - - diff --git a/example/macos/RunnerTests/RunnerTests.swift b/example/macos/RunnerTests/RunnerTests.swift deleted file mode 100644 index 5418c9f..0000000 --- a/example/macos/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import FlutterMacOS -import Cocoa -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} diff --git a/example/pubspec.lock b/example/pubspec.lock deleted file mode 100644 index ffc1b8b..0000000 --- a/example/pubspec.lock +++ /dev/null @@ -1,710 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - camera: - dependency: "direct main" - description: - path: camera - relative: true - source: path - version: "0.11.0+2" - camera_android_camerax: - dependency: transitive - description: - name: camera_android_camerax - sha256: "59a01443c280cf969449f4b72db9396e80e5a9e8f07a2500a042906a157ce894" - url: "https://pub.dev" - source: hosted - version: "0.6.9+2" - camera_avfoundation: - dependency: transitive - description: - name: camera_avfoundation - sha256: "0d04cec8715b59fb6dc60eefb47e69024f51233c570e475b886dc9290568bca7" - url: "https://pub.dev" - source: hosted - version: "0.9.17+4" - camera_platform_interface: - dependency: transitive - description: - name: camera_platform_interface - sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061 - url: "https://pub.dev" - source: hosted - version: "2.8.0" - camera_web: - dependency: transitive - description: - path: web_camera - relative: true - source: path - version: "0.3.3" - camera_windows: - dependency: "direct main" - description: - path: windows_camera - relative: true - source: path - version: "0.2.1+5" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - cross_file: - dependency: transitive - description: - name: cross_file - sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" - url: "https://pub.dev" - source: hosted - version: "0.3.4+2" - crypto: - dependency: transitive - description: - name: crypto - sha256: ec30d999af904f33454ba22ed9a86162b35e52b44ac4807d1d93c288041d7d27 - url: "https://pub.dev" - source: hosted - version: "3.0.5" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 - url: "https://pub.dev" - source: hosted - version: "1.0.8" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - ffi: - dependency: transitive - description: - name: ffi - sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" - url: "https://pub.dev" - source: hosted - version: "2.1.3" - file: - dependency: transitive - description: - name: file - sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 - url: "https://pub.dev" - source: hosted - version: "7.0.1" - file_selector_linux: - dependency: transitive - description: - name: file_selector_linux - sha256: "712ce7fab537ba532c8febdb1a8f167b32441e74acd68c3ccb2e36dcb52c4ab2" - url: "https://pub.dev" - source: hosted - version: "0.9.3" - file_selector_macos: - dependency: transitive - description: - name: file_selector_macos - sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc" - url: "https://pub.dev" - source: hosted - version: "0.9.4+2" - file_selector_platform_interface: - dependency: transitive - description: - name: file_selector_platform_interface - sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b - url: "https://pub.dev" - source: hosted - version: "2.6.2" - file_selector_windows: - dependency: transitive - description: - name: file_selector_windows - sha256: "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4" - url: "https://pub.dev" - source: hosted - version: "0.9.3+3" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_exif_rotation: - dependency: "direct main" - description: - name: flutter_exif_rotation - sha256: f581601523bbb7fbec3a0498fe930bf6c48f627d4548d859b2772230edfbe658 - url: "https://pub.dev" - source: hosted - version: "0.5.2" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" - url: "https://pub.dev" - source: hosted - version: "5.0.0" - flutter_ocr_sdk: - dependency: "direct main" - description: - path: ".." - relative: true - source: path - version: "1.1.4" - flutter_plugin_android_lifecycle: - dependency: transitive - description: - name: flutter_plugin_android_lifecycle - sha256: "9b78450b89f059e96c9ebb355fa6b3df1d6b330436e0b885fb49594c41721398" - url: "https://pub.dev" - source: hosted - version: "2.0.23" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - http: - dependency: transitive - description: - name: http - sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 - url: "https://pub.dev" - source: hosted - version: "1.2.2" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - image_picker: - dependency: "direct main" - description: - name: image_picker - sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" - url: "https://pub.dev" - source: hosted - version: "1.1.2" - image_picker_android: - dependency: transitive - description: - name: image_picker_android - sha256: d3e5e00fdfeca8fd4ffb3227001264d449cc8950414c2ff70b0e06b9c628e643 - url: "https://pub.dev" - source: hosted - version: "0.8.12+15" - image_picker_for_web: - dependency: transitive - description: - name: image_picker_for_web - sha256: "65d94623e15372c5c51bebbcb820848d7bcb323836e12dfdba60b5d3a8b39e50" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - image_picker_ios: - dependency: transitive - description: - name: image_picker_ios - sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447" - url: "https://pub.dev" - source: hosted - version: "0.8.12" - image_picker_linux: - dependency: transitive - description: - name: image_picker_linux - sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - image_picker_macos: - dependency: transitive - description: - name: image_picker_macos - sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - image_picker_platform_interface: - dependency: transitive - description: - name: image_picker_platform_interface - sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" - url: "https://pub.dev" - source: hosted - version: "2.10.0" - image_picker_windows: - dependency: transitive - description: - name: image_picker_windows - sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" - url: "https://pub.dev" - source: hosted - version: "0.2.1+1" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.dev" - source: hosted - version: "10.0.5" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - lints: - dependency: transitive - description: - name: lints - sha256: "3315600f3fb3b135be672bf4a178c55f274bebe368325ae18462c89ac1e3b413" - url: "https://pub.dev" - source: hosted - version: "5.0.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.dev" - source: hosted - version: "1.15.0" - mime: - dependency: transitive - description: - name: mime - sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" - url: "https://pub.dev" - source: hosted - version: "1.0.6" - path: - dependency: transitive - description: - name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - path_provider: - dependency: transitive - description: - name: path_provider - sha256: fec0d61223fba3154d87759e3cc27fe2c8dc498f6386c6d6fc80d1afdd1bf378 - url: "https://pub.dev" - source: hosted - version: "2.1.4" - path_provider_android: - dependency: transitive - description: - name: path_provider_android - sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a - url: "https://pub.dev" - source: hosted - version: "2.2.12" - path_provider_foundation: - dependency: transitive - description: - name: path_provider_foundation - sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 - url: "https://pub.dev" - source: hosted - version: "2.4.0" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.dev" - source: hosted - version: "2.2.1" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 - url: "https://pub.dev" - source: hosted - version: "2.3.0" - platform: - dependency: transitive - description: - name: platform - sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" - url: "https://pub.dev" - source: hosted - version: "3.1.5" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - share_plus: - dependency: "direct main" - description: - name: share_plus - sha256: "468c43f285207c84bcabf5737f33b914ceb8eb38398b91e5e3ad1698d1b72a52" - url: "https://pub.dev" - source: hosted - version: "10.0.2" - share_plus_platform_interface: - dependency: transitive - description: - name: share_plus_platform_interface - sha256: "6ababf341050edff57da8b6990f11f4e99eaba837865e2e6defe16d039619db5" - url: "https://pub.dev" - source: hosted - version: "5.0.0" - shared_preferences: - dependency: "direct main" - description: - name: shared_preferences - sha256: "746e5369a43170c25816cc472ee016d3a66bc13fcf430c0bc41ad7b4b2922051" - url: "https://pub.dev" - source: hosted - version: "2.3.2" - shared_preferences_android: - dependency: transitive - description: - name: shared_preferences_android - sha256: "3b9febd815c9ca29c9e3520d50ec32f49157711e143b7a4ca039eb87e8ade5ab" - url: "https://pub.dev" - source: hosted - version: "2.3.3" - shared_preferences_foundation: - dependency: transitive - description: - name: shared_preferences_foundation - sha256: "07e050c7cd39bad516f8d64c455f04508d09df104be326d8c02551590a0d513d" - url: "https://pub.dev" - source: hosted - version: "2.5.3" - shared_preferences_linux: - dependency: transitive - description: - name: shared_preferences_linux - sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - shared_preferences_platform_interface: - dependency: transitive - description: - name: shared_preferences_platform_interface - sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - shared_preferences_web: - dependency: transitive - description: - name: shared_preferences_web - sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e - url: "https://pub.dev" - source: hosted - version: "2.4.2" - shared_preferences_windows: - dependency: transitive - description: - name: shared_preferences_windows - sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - sprintf: - dependency: transitive - description: - name: sprintf - sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - stream_transform: - dependency: transitive - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.dev" - source: hosted - version: "0.7.2" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - url_launcher: - dependency: "direct main" - description: - name: url_launcher - sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" - url: "https://pub.dev" - source: hosted - version: "6.3.1" - url_launcher_android: - dependency: transitive - description: - name: url_launcher_android - sha256: "8fc3bae0b68c02c47c5c86fa8bfa74471d42687b0eded01b78de87872db745e2" - url: "https://pub.dev" - source: hosted - version: "6.3.12" - url_launcher_ios: - dependency: transitive - description: - name: url_launcher_ios - sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e - url: "https://pub.dev" - source: hosted - version: "6.3.1" - url_launcher_linux: - dependency: transitive - description: - name: url_launcher_linux - sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af - url: "https://pub.dev" - source: hosted - version: "3.2.0" - url_launcher_macos: - dependency: transitive - description: - name: url_launcher_macos - sha256: "769549c999acdb42b8bcfa7c43d72bf79a382ca7441ab18a808e101149daf672" - url: "https://pub.dev" - source: hosted - version: "3.2.1" - url_launcher_platform_interface: - dependency: transitive - description: - name: url_launcher_platform_interface - sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" - url: "https://pub.dev" - source: hosted - version: "2.3.2" - url_launcher_web: - dependency: transitive - description: - name: url_launcher_web - sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" - url: "https://pub.dev" - source: hosted - version: "2.3.3" - url_launcher_windows: - dependency: transitive - description: - name: url_launcher_windows - sha256: "49c10f879746271804767cb45551ec5592cdab00ee105c06dddde1a98f73b185" - url: "https://pub.dev" - source: hosted - version: "3.1.2" - uuid: - dependency: transitive - description: - name: uuid - sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff - url: "https://pub.dev" - source: hosted - version: "4.5.1" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.dev" - source: hosted - version: "14.2.5" - web: - dependency: transitive - description: - name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.dev" - source: hosted - version: "1.1.0" - win32: - dependency: transitive - description: - name: win32 - sha256: "4d45dc9069dba4619dc0ebd93c7cec5e66d8482cb625a370ac806dcc8165f2ec" - url: "https://pub.dev" - source: hosted - version: "5.5.5" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" - url: "https://pub.dev" - source: hosted - version: "1.1.0" -sdks: - dart: ">=3.5.0 <4.0.0" - flutter: ">=3.24.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml deleted file mode 100644 index dc3044a..0000000 --- a/example/pubspec.yaml +++ /dev/null @@ -1,84 +0,0 @@ -name: mrzscanner -description: Demonstrates how to use the flutter_ocr_sdk plugin. -# The following line prevents the package from being accidentally published to -# pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: 'none' # Remove this line if you wish to publish to pub.dev - -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number is used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -# In Windows, build-name is used as the major, minor, and patch parts -# of the product and file versions while build-number is used as the build suffix. -version: 1.0.0+1 - -environment: - sdk: '>=3.0.3 <4.0.0' - -# Dependencies specify other packages that your package needs in order to work. -# To automatically upgrade your package dependencies to the latest versions -# consider running `flutter pub upgrade --major-versions`. Alternatively, -# dependencies can be manually updated by changing the version numbers below to -# the latest version available on pub.dev. To see which dependencies have newer -# versions available, run `flutter pub outdated`. -dependencies: - flutter: - sdk: flutter - - flutter_ocr_sdk: - path: ../ - - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.2 - image_picker: ^1.0.0 - shared_preferences: ^2.1.1 - camera: - path: ./camera/ - camera_windows: - path: ./windows_camera/ - share_plus: ^10.0.2 - url_launcher: ^6.1.11 - flutter_exif_rotation: ^0.5.1 -dev_dependencies: - flutter_test: - sdk: flutter - - # The "flutter_lints" package below contains a set of recommended lints to - # encourage good coding practices. The lint set provided by the package is - # activated in the `analysis_options.yaml` file located at the root of your - # package. See that file for information about deactivating specific lint - # rules and activating additional ones. - flutter_lints: ^5.0.0 - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter packages. -flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - assets: - - images/icon-about-gray.png - - images/icon-about-orange.png - - images/icon-arrow-green.png - - images/icon-arrow-orange.png - - images/icon-camera.png - - images/icon-delete.png - - images/icon-history-gray.png - - images/icon-history-orange.png - - images/icon-home-gray.png - - images/icon-home-orange.png - - images/icon-image.png - - images/image-mrz.png - - images/logo-dlr.png diff --git a/example/test/widget_test.dart b/example/test/widget_test.dart deleted file mode 100644 index 526bd8e..0000000 --- a/example/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:mrzscanner/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} diff --git a/example/web_camera/AUTHORS b/example/web_camera/AUTHORS deleted file mode 100644 index 493a0b4..0000000 --- a/example/web_camera/AUTHORS +++ /dev/null @@ -1,66 +0,0 @@ -# Below is a list of people and organizations that have contributed -# to the Flutter project. Names should be added to the list like so: -# -# Name/Organization - -Google Inc. -The Chromium Authors -German Saprykin -Benjamin Sauer -larsenthomasj@gmail.com -Ali Bitek -Pol Batlló -Anatoly Pulyaevskiy -Hayden Flinner -Stefano Rodriguez -Salvatore Giordano -Brian Armstrong -Paul DeMarco -Fabricio Nogueira -Simon Lightfoot -Ashton Thomas -Thomas Danner -Diego Velásquez -Hajime Nakamura -Tuyển Vũ Xuân -Miguel Ruivo -Sarthak Verma -Mike Diarmid -Invertase -Elliot Hesp -Vince Varga -Aawaz Gyawali -EUI Limited -Katarina Sheremet -Thomas Stockx -Sarbagya Dhaubanjar -Ozkan Eksi -Rishab Nayak -ko2ic -Jonathan Younger -Jose Sanchez -Debkanchan Samadder -Audrius Karosevicius -Lukasz Piliszczuk -SoundReply Solutions GmbH -Rafal Wachol -Pau Picas -Christian Weder -Alexandru Tuca -Christian Weder -Rhodes Davis Jr. -Luigi Agosti -Quentin Le Guennec -Koushik Ravikumar -Nissim Dsilva -Giancarlo Rocha -Ryo Miyake -Théo Champion -Kazuki Yamaguchi -Eitan Schwartz -Chris Rutkowski -Juan Alvarez -Aleksandr Yurkovskiy -Anton Borries -Alex Li -Rahul Raj <64.rahulraj@gmail.com> diff --git a/example/web_camera/CHANGELOG.md b/example/web_camera/CHANGELOG.md deleted file mode 100644 index fe5ec3a..0000000 --- a/example/web_camera/CHANGELOG.md +++ /dev/null @@ -1,113 +0,0 @@ -## NEXT - -* Updates minimum supported SDK version to Flutter 3.22/Dart 3.4. - -## 0.3.5 - -* Migrates to package:web to support WASM -* Updates minimum supported SDK version to Flutter 3.19/Dart 3.3. - -## 0.3.4 - -* Removes `maxVideoDuration`/`maxDuration`, as the feature was never exposed at - the app-facing package level, and is deprecated at the platform interface - level. -* Updates minimum supported SDK version to Flutter 3.16/Dart 3.2. - -## 0.3.3 - -* Adds support to control video FPS and bitrate. See `CameraController.withSettings`. -* Updates minimum supported SDK version to Flutter 3.13/Dart 3.1. - -## 0.3.2+4 - -* Updates minimum supported SDK version to Flutter 3.10/Dart 3.0. -* Fixes new lint warnings. - -## 0.3.2+3 - -* Migrates to `dart:ui_web` APIs. -* Updates minimum supported SDK version to Flutter 3.13.0/Dart 3.1.0. - -## 0.3.2+2 - -* Adds pub topics to package metadata. -* Updates minimum supported SDK version to Flutter 3.7/Dart 2.19. - -## 0.3.2+1 - -* Updates README to improve example of `Image` creation. - -## 0.3.2 - -* Changes `availableCameras` to not ask for the microphone permission. - -## 0.3.1+4 - -* Removes obsolete null checks on non-nullable values. -* Updates minimum supported SDK version to Flutter 3.3/Dart 2.18. - -## 0.3.1+3 - -* Clarifies explanation of endorsement in README. -* Aligns Dart and Flutter SDK constraints. - -## 0.3.1+2 - -* Updates links for the merge of flutter/plugins into flutter/packages. -* Updates minimum Flutter version to 3.0. - -## 0.3.1+1 - -* Updates code for stricter lint checks. - -## 0.3.1 - -* Updates to latest camera platform interface, and fails if user attempts to use streaming with recording (since streaming is currently unsupported on web). - -## 0.3.0+1 - -* Updates imports for `prefer_relative_imports`. -* Updates minimum Flutter version to 2.10. -* Fixes avoid_redundant_argument_values lint warnings and minor typos. -* Ignores unnecessary import warnings in preparation for [upcoming Flutter changes](https://github.com/flutter/flutter/pull/106316). - -## 0.3.0 - -* **BREAKING CHANGE**: Renames error code `cameraPermission` to `CameraAccessDenied` to be consistent with other platforms. - -## 0.2.1+6 - -* Minor fixes for new analysis options. - -## 0.2.1+5 - -* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors - lint warnings. - -## 0.2.1+4 - -* Migrates from `ui.hash*` to `Object.hash*`. -* Updates minimum Flutter version for changes in 0.2.1+3. - -## 0.2.1+3 - -* Internal code cleanup for stricter analysis options. - -## 0.2.1+2 - -* Fixes cameraNotReadable error that prevented access to the camera on some Android devices when initializing a camera. -* Implemented support for new Dart SDKs with an async requestFullscreen API. - -## 0.2.1+1 - -* Update usage documentation. - -## 0.2.1 - -* Add video recording functionality. -* Fix cameraNotReadable error that prevented access to the camera on some Android devices. - -## 0.2.0 - -* Initial release, adapted from the Flutter [I/O Photobooth](https://photobooth.flutter.dev/) project. diff --git a/example/web_camera/LICENSE b/example/web_camera/LICENSE deleted file mode 100644 index c6823b8..0000000 --- a/example/web_camera/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -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. diff --git a/example/web_camera/README.md b/example/web_camera/README.md deleted file mode 100644 index 12e4edf..0000000 --- a/example/web_camera/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Camera Web Plugin -The Flutter Camera Web Plugin project is ported from [https://github.com/flutter/packages/tree/main/packages/camera/camera_web](https://github.com/flutter/packages/tree/main/packages/camera/camera_web). The front camera flip is disabled in this project. - -```dart -// final bool isBackCamera = getLensDirection() == CameraLensDirection.back; - -// Flip the picture horizontally if it is not taken from a back camera. -// if (!isBackCamera) { -// canvas.context2D -// ..translate(videoWidth, 0) -// ..scale(-1, 1); -// } -``` diff --git a/example/web_camera/lib/camera_web.dart b/example/web_camera/lib/camera_web.dart deleted file mode 100644 index a2a0a5b..0000000 --- a/example/web_camera/lib/camera_web.dart +++ /dev/null @@ -1,5 +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. - -export 'src/camera_web.dart'; diff --git a/example/web_camera/lib/src/camera.dart b/example/web_camera/lib/src/camera.dart deleted file mode 100644 index 73c676d..0000000 --- a/example/web_camera/lib/src/camera.dart +++ /dev/null @@ -1,641 +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 'dart:ui'; -import 'dart:ui_web' as ui_web; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:web/web.dart' as web; -import 'package:web/web.dart'; - -import 'camera_service.dart'; -import 'pkg_web_tweaks.dart'; -import 'types/types.dart'; - -String _getViewType(int cameraId) => 'plugins.flutter.io/camera_$cameraId'; - -/// A camera initialized from the media devices in the current window. -/// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices -/// -/// The obtained camera stream is constrained by [options] and fetched -/// with [CameraService.getMediaStreamForOptions]. -/// -/// The camera stream is displayed in the [videoElement] wrapped in the -/// [divElement] to avoid overriding the custom styles applied to -/// the video element in [_applyDefaultVideoStyles]. -/// See: https://github.com/flutter/flutter/issues/79519 -/// -/// The camera stream can be played/stopped by calling [play]/[stop], -/// may capture a picture by calling [takePicture] or capture a video -/// by calling [startVideoRecording], [pauseVideoRecording], -/// [resumeVideoRecording] or [stopVideoRecording]. -/// -/// The camera zoom may be adjusted with [setZoomLevel]. The provided -/// zoom level must be a value in the range of [getMinZoomLevel] to -/// [getMaxZoomLevel]. -/// -/// The [textureId] is used to register a camera view with the id -/// defined by [_getViewType]. -class Camera { - /// Creates a new instance of [Camera] - /// with the given [textureId] and optional - /// [options] and [window]. - Camera({ - required this.textureId, - required CameraService cameraService, - this.options = const CameraOptions(), - this.recorderOptions = const (audioBitrate: null, videoBitrate: null), - }) : _cameraService = cameraService; - - /// The texture id used to register the camera view. - final int textureId; - - /// The camera options used to initialize a camera, empty by default. - final CameraOptions options; - - /// The options used to initialize a MediaRecorder. - final ({int? audioBitrate, int? videoBitrate}) recorderOptions; - - /// The video element that displays the camera stream. - /// Initialized in [initialize]. - late final web.HTMLVideoElement videoElement; - - /// The wrapping element for the [videoElement] to avoid overriding - /// the custom styles applied in [_applyDefaultVideoStyles]. - /// Initialized in [initialize]. - late final web.HTMLDivElement divElement; - - /// The camera stream displayed in the [videoElement]. - /// Initialized in [initialize] and [play], reset in [stop]. - web.MediaStream? stream; - - /// The stream of the camera video tracks that have ended playing. - /// - /// This occurs when there is no more camera stream data, e.g. - /// the user has stopped the stream by changing the camera device, - /// revoked the camera permissions or ejected the camera device. - /// - /// MediaStreamTrack.onended: - /// https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/onended - Stream get onEnded => onEndedController.stream; - - /// The stream controller for the [onEnded] stream. - @visibleForTesting - final StreamController onEndedController = - StreamController.broadcast(); - - StreamSubscription? _onEndedSubscription; - - /// The stream of the camera video recording errors. - /// - /// This occurs when the video recording is not allowed or an unsupported - /// codec is used. - /// - /// MediaRecorder.error: - /// https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder/error_event - Stream get onVideoRecordingError => - videoRecordingErrorController.stream; - - /// The stream provider for [MediaRecorder] error events. - @visibleForTesting - EventStreamProvider mediaRecorderOnErrorProvider = - EventStreamProviders.errorMediaRecorderEvent; - - /// The stream controller for the [onVideoRecordingError] stream. - @visibleForTesting - final StreamController videoRecordingErrorController = - StreamController.broadcast(); - - StreamSubscription? _onVideoRecordingErrorSubscription; - - /// The camera flash mode. - @visibleForTesting - FlashMode? flashMode; - - /// The camera service used to get the media stream for the camera. - final CameraService _cameraService; - - /// The current browser window used to access media devices. - @visibleForTesting - web.Window window = web.window; - - /// The recorder used to record a video from the camera. - @visibleForTesting - web.MediaRecorder? mediaRecorder; - - /// Whether the video of the given type is supported. - @visibleForTesting - bool Function(String) isVideoTypeSupported = - (String type) => web.MediaRecorder.isTypeSupported(type); - - /// The list of consecutive video data files recorded with [mediaRecorder]. - final List _videoData = []; - - /// Completes when the video recording is stopped/finished. - Completer? _videoAvailableCompleter; - - /// A data listener fired when a new part of video data is available. - void Function(web.BlobEvent)? _videoDataAvailableListener; - - /// A listener fired when a video recording is stopped. - void Function(web.Event)? _videoRecordingStoppedListener; - - /// A builder to merge a list of blobs into a single blob. - @visibleForTesting - web.Blob Function(List blobs, String type) blobBuilder = - (List blobs, String type) => - web.Blob(blobs.toJS, web.BlobPropertyBag(type: type)); - - /// The stream that emits a [VideoRecordedEvent] when a video recording is created. - Stream get onVideoRecordedEvent => - videoRecorderController.stream; - - /// The stream controller for the [onVideoRecordedEvent] stream. - @visibleForTesting - final StreamController videoRecorderController = - StreamController.broadcast(); - - /// Initializes the camera stream displayed in the [videoElement]. - /// Registers the camera view with [textureId] under [_getViewType] type. - /// Emits the camera default video track on the [onEnded] stream when it ends. - Future initialize() async { - stream = await _cameraService.getMediaStreamForOptions( - options, - cameraId: textureId, - ); - - videoElement = web.HTMLVideoElement(); - - divElement = web.HTMLDivElement() - ..style.setProperty('object-fit', 'cover') - ..style.setProperty('height', '100%') - ..style.setProperty('width', '100%') - ..append(videoElement); - - ui_web.platformViewRegistry.registerViewFactory( - _getViewType(textureId), - (_) => divElement, - ); - - videoElement - ..autoplay = false - ..muted = true - ..srcObject = stream - ..setAttribute('playsinline', ''); - - _applyDefaultVideoStyles(videoElement); - - final List videoTracks = - stream!.getVideoTracks().toDart; - - if (videoTracks.isNotEmpty) { - final web.MediaStreamTrack defaultVideoTrack = videoTracks.first; - _onEndedSubscription = EventStreamProviders.endedEvent - .forTarget(defaultVideoTrack) - .listen((web.Event _) { - onEndedController.add(defaultVideoTrack); - }); - } - } - - /// Starts the camera stream. - /// - /// Initializes the camera source if the camera was previously stopped. - Future play() async { - if (videoElement.srcObject == null) { - stream = await _cameraService.getMediaStreamForOptions( - options, - cameraId: textureId, - ); - videoElement.srcObject = stream; - } - await videoElement.play().toDart; - } - - /// Pauses the camera stream on the current frame. - void pause() { - videoElement.pause(); - } - - /// Stops the camera stream and resets the camera source. - void stop() { - final List videoTracks = - stream!.getVideoTracks().toDart; - if (videoTracks.isNotEmpty) { - onEndedController.add(videoTracks.first); - } - - final List? tracks = stream?.getTracks().toDart; - if (tracks != null) { - for (final web.MediaStreamTrack track in tracks) { - track.stop(); - } - } - videoElement.srcObject = null; - stream = null; - } - - /// Captures a picture and returns the saved file in a JPEG format. - /// - /// Enables the camera flash (torch mode) for a period of taking a picture - /// if the flash mode is either [FlashMode.auto] or [FlashMode.always]. - Future takePicture() async { - final bool shouldEnableTorchMode = - flashMode == FlashMode.auto || flashMode == FlashMode.always; - - if (shouldEnableTorchMode) { - _setTorchMode(enabled: true); - } - - final int videoWidth = videoElement.videoWidth; - final int videoHeight = videoElement.videoHeight; - final web.HTMLCanvasElement canvas = web.HTMLCanvasElement() - ..width = videoWidth - ..height = videoHeight; - final bool isBackCamera = getLensDirection() == CameraLensDirection.back; - - // Flip the picture horizontally if it is not taken from a back camera. - // if (!isBackCamera) { - // canvas.context2D - // ..translate(videoWidth, 0) - // ..scale(-1, 1); - // } - - canvas.context2D.drawImageScaled( - videoElement, - 0, - 0, - videoWidth.toDouble(), - videoHeight.toDouble(), - ); - - final Completer blobCompleter = Completer(); - canvas.toBlob( - (web.Blob blob) { - blobCompleter.complete(blob); - }.toJS, - 'image/jpeg', - ); - final web.Blob blob = await blobCompleter.future; - - if (shouldEnableTorchMode) { - _setTorchMode(enabled: false); - } - - return XFile(web.URL.createObjectURL(blob)); - } - - /// Returns a size of the camera video based on its first video track size. - /// - /// Returns [Size.zero] if the camera is missing a video track or - /// the video track does not include the width or height setting. - Size getVideoSize() { - final List videoTracks = - (videoElement.srcObject as web.MediaStream?)?.getVideoTracks().toDart ?? - []; - - if (videoTracks.isEmpty) { - return Size.zero; - } - - final web.MediaStreamTrack defaultVideoTrack = videoTracks.first; - - final web.MediaTrackSettings defaultVideoTrackSettings = - defaultVideoTrack.getSettings(); - - final int width = defaultVideoTrackSettings.width; - final int height = defaultVideoTrackSettings.height; - - return Size(width.toDouble(), height.toDouble()); - } - - /// Sets the camera flash mode to [mode] by modifying the camera - /// torch mode constraint. - /// - /// The torch mode is enabled for [FlashMode.torch] and - /// disabled for [FlashMode.off]. - /// - /// For [FlashMode.auto] and [FlashMode.always] the torch mode is enabled - /// only for a period of taking a picture in [takePicture]. - /// - /// Throws a [CameraWebException] if the torch mode is not supported - /// or the camera has not been initialized or started. - void setFlashMode(FlashMode mode) { - final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - final web.MediaTrackSupportedConstraints supportedConstraints = - mediaDevices.getSupportedConstraints(); - final bool torchModeSupported = supportedConstraints.torchNullable ?? false; - - if (!torchModeSupported) { - throw CameraWebException( - textureId, - CameraErrorCode.torchModeNotSupported, - 'The torch mode is not supported in the current browser.', - ); - } - - // Save the updated flash mode to be used later when taking a picture. - flashMode = mode; - - // Enable the torch mode only if the flash mode is torch. - _setTorchMode(enabled: mode == FlashMode.torch); - } - - /// Sets the camera torch mode constraint to [enabled]. - /// - /// Throws a [CameraWebException] if the torch mode is not supported - /// or the camera has not been initialized or started. - void _setTorchMode({required bool enabled}) { - final List videoTracks = - stream?.getVideoTracks().toDart ?? []; - - if (videoTracks.isNotEmpty) { - final web.MediaStreamTrack defaultVideoTrack = videoTracks.first; - final bool canEnableTorchMode = defaultVideoTrack - .getCapabilities() - .torchNullable - ?.toDart - .first - .toDart ?? - false; - - if (canEnableTorchMode) { - defaultVideoTrack.applyWebTweakConstraints( - WebTweakMediaTrackConstraints(torch: enabled.toJS)); - } else { - throw CameraWebException( - textureId, - CameraErrorCode.torchModeNotSupported, - 'The torch mode is not supported by the current camera.', - ); - } - } else { - throw CameraWebException( - textureId, - CameraErrorCode.notStarted, - 'The camera has not been initialized or started.', - ); - } - } - - /// Returns the camera maximum zoom level. - /// - /// Throws a [CameraWebException] if the zoom level is not supported - /// or the camera has not been initialized or started. - double getMaxZoomLevel() => - _cameraService.getZoomLevelCapabilityForCamera(this).maximum; - - /// Returns the camera minimum zoom level. - /// - /// Throws a [CameraWebException] if the zoom level is not supported - /// or the camera has not been initialized or started. - double getMinZoomLevel() => - _cameraService.getZoomLevelCapabilityForCamera(this).minimum; - - /// Sets the camera zoom level to [zoom]. - /// - /// Throws a [CameraWebException] if the zoom level is invalid, - /// not supported or the camera has not been initialized or started. - void setZoomLevel(double zoom) { - final ZoomLevelCapability zoomLevelCapability = - _cameraService.getZoomLevelCapabilityForCamera(this); - - if (zoom < zoomLevelCapability.minimum || - zoom > zoomLevelCapability.maximum) { - throw CameraWebException( - textureId, - CameraErrorCode.zoomLevelInvalid, - 'The provided zoom level must be in the range of ${zoomLevelCapability.minimum} to ${zoomLevelCapability.maximum}.', - ); - } - - zoomLevelCapability.videoTrack.applyWebTweakConstraints( - WebTweakMediaTrackConstraints(zoom: zoom.toJS)); - } - - /// Returns a lens direction of this camera. - /// - /// Returns null if the camera is missing a video track or - /// the video track does not include the facing mode setting. - CameraLensDirection? getLensDirection() { - final List videoTracks = - (videoElement.srcObject as web.MediaStream?)?.getVideoTracks().toDart ?? - []; - - if (videoTracks.isEmpty) { - return null; - } - - final web.MediaStreamTrack defaultVideoTrack = videoTracks.first; - final web.MediaTrackSettings defaultVideoTrackSettings = - defaultVideoTrack.getSettings(); - - final String? facingMode = defaultVideoTrackSettings.facingModeNullable; - - if (facingMode != null && facingMode.isNotEmpty) { - return _cameraService.mapFacingModeToLensDirection(facingMode); - } else { - return null; - } - } - - /// Returns the registered view type of the camera. - String getViewType() => _getViewType(textureId); - - /// Starts a new video recording using [web.MediaRecorder]. - /// - /// Throws a [CameraWebException] if the browser does not support any of the - /// available video mime types from [_videoMimeType]. - Future startVideoRecording() async { - final web.MediaRecorderOptions options = - web.MediaRecorderOptions(mimeType: _videoMimeType); - if (recorderOptions.audioBitrate != null) { - options.audioBitsPerSecond = recorderOptions.audioBitrate!; - } - if (recorderOptions.videoBitrate != null) { - options.videoBitsPerSecond = recorderOptions.videoBitrate!; - } - - mediaRecorder ??= - web.MediaRecorder(videoElement.srcObject! as web.MediaStream, options); - - _videoAvailableCompleter = Completer(); - - _videoDataAvailableListener = - (web.BlobEvent event) => _onVideoDataAvailable(event); - - _videoRecordingStoppedListener = - (web.Event event) => _onVideoRecordingStopped(event); - - mediaRecorder!.addEventListener( - 'dataavailable', - _videoDataAvailableListener?.toJS, - ); - - mediaRecorder!.addEventListener( - 'stop', - _videoRecordingStoppedListener?.toJS, - ); - - _onVideoRecordingErrorSubscription = mediaRecorderOnErrorProvider - .forTarget(mediaRecorder) - .listen((web.Event event) { - final web.ErrorEvent error = event as web.ErrorEvent; - videoRecordingErrorController.add(error); - }); - - mediaRecorder!.start(); - } - - void _onVideoDataAvailable(web.BlobEvent event) { - // Append the recorded part of the video to the list of all video data files. - _videoData.add(event.data); - } - - Future _onVideoRecordingStopped(web.Event event) async { - if (_videoData.isNotEmpty) { - // Concatenate all video data files into a single blob. - final String videoType = _videoData.first.type; - final web.Blob videoBlob = blobBuilder(_videoData, videoType); - - // Create a file containing the video blob. - final XFile file = XFile( - web.URL.createObjectURL(videoBlob), - mimeType: _videoMimeType, - name: videoBlob.hashCode.toString(), - ); - - // Emit an event containing the recorded video file. - videoRecorderController.add( - VideoRecordedEvent(textureId, file, null), - ); - - _videoAvailableCompleter?.complete(file); - } - - // Clean up the media recorder with its event listeners and video data. - mediaRecorder!.removeEventListener( - 'dataavailable', - _videoDataAvailableListener?.toJS, - ); - - mediaRecorder!.removeEventListener( - 'stop', - _videoDataAvailableListener?.toJS, - ); - - await _onVideoRecordingErrorSubscription?.cancel(); - - mediaRecorder = null; - _videoDataAvailableListener = null; - _videoRecordingStoppedListener = null; - _videoData.clear(); - } - - /// Pauses the current video recording. - /// - /// Throws a [CameraWebException] if the video recorder is uninitialized. - Future pauseVideoRecording() async { - if (mediaRecorder == null) { - throw _videoRecordingNotStartedException; - } - mediaRecorder!.pause(); - } - - /// Resumes the current video recording. - /// - /// Throws a [CameraWebException] if the video recorder is uninitialized. - Future resumeVideoRecording() async { - if (mediaRecorder == null) { - throw _videoRecordingNotStartedException; - } - mediaRecorder!.resume(); - } - - /// Stops the video recording and returns the captured video file. - /// - /// Throws a [CameraWebException] if the video recorder is uninitialized. - Future stopVideoRecording() async { - if (mediaRecorder == null || _videoAvailableCompleter == null) { - throw _videoRecordingNotStartedException; - } - - mediaRecorder!.stop(); - - return _videoAvailableCompleter!.future; - } - - /// Disposes the camera by stopping the camera stream, - /// the video recording and reloading the camera source. - Future dispose() async { - // Stop the camera stream. - stop(); - - await videoRecorderController.close(); - mediaRecorder = null; - _videoDataAvailableListener = null; - - // Reset the [videoElement] to its initial state. - videoElement - ..srcObject = null - ..load(); - - await _onEndedSubscription?.cancel(); - _onEndedSubscription = null; - await onEndedController.close(); - - await _onVideoRecordingErrorSubscription?.cancel(); - _onVideoRecordingErrorSubscription = null; - await videoRecordingErrorController.close(); - } - - /// Returns the first supported video mime type (amongst mp4 and webm) - /// to use when recording a video. - /// - /// Throws a [CameraWebException] if the browser does not support - /// any of the available video mime types. - String get _videoMimeType { - const List types = [ - 'video/webm;codecs="vp9,opus"', - 'video/mp4', - 'video/webm', - ]; - - return types.firstWhere( - (String type) => isVideoTypeSupported(type), - orElse: () => throw CameraWebException( - textureId, - CameraErrorCode.notSupported, - 'The browser does not support any of the following video types: ${types.join(',')}.', - ), - ); - } - - CameraWebException get _videoRecordingNotStartedException => - CameraWebException( - textureId, - CameraErrorCode.videoRecordingNotStarted, - 'The video recorder is uninitialized. The recording might not have been started. Make sure to call `startVideoRecording` first.', - ); - - /// Applies default styles to the video [element]. - void _applyDefaultVideoStyles(web.HTMLVideoElement element) { - final bool isBackCamera = getLensDirection() == CameraLensDirection.back; - - // Flip the video horizontally if it is not taken from a back camera. - // if (!isBackCamera) { - // element.style.transform = 'scaleX(-1)'; - // } - - element.style - ..transformOrigin = 'center' - ..pointerEvents = 'none' - ..width = '100%' - ..height = '100%' - ..objectFit = 'cover'; - } -} diff --git a/example/web_camera/lib/src/camera_service.dart b/example/web_camera/lib/src/camera_service.dart deleted file mode 100644 index 072fe06..0000000 --- a/example/web_camera/lib/src/camera_service.dart +++ /dev/null @@ -1,366 +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:js_interop'; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:web/web.dart' as web; - -import 'camera.dart'; -import 'pkg_web_tweaks.dart'; -import 'shims/dart_js_util.dart'; -import 'types/types.dart'; - -/// A service to fetch, map camera settings and -/// obtain the camera stream. -class CameraService { - /// The current browser window used to access media devices. - @visibleForTesting - web.Window window = web.window; - - /// The utility to manipulate JavaScript interop objects. - @visibleForTesting - JsUtil jsUtil = JsUtil(); - - /// Returns a media stream associated with the camera device - /// with [cameraId] and constrained by [options]. - Future getMediaStreamForOptions( - CameraOptions options, { - int cameraId = 0, - }) async { - final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - - try { - return await mediaDevices - .getUserMedia( - options.toMediaStreamConstraints(), - ) - .toDart; - } on web.DOMException catch (e) { - switch (e.name) { - case 'NotFoundError': - case 'DevicesNotFoundError': - throw CameraWebException( - cameraId, - CameraErrorCode.notFound, - 'No camera found for the given camera options.', - ); - case 'NotReadableError': - case 'TrackStartError': - throw CameraWebException( - cameraId, - CameraErrorCode.notReadable, - 'The camera is not readable due to a hardware error ' - 'that prevented access to the device.', - ); - case 'OverconstrainedError': - case 'ConstraintNotSatisfiedError': - throw CameraWebException( - cameraId, - CameraErrorCode.overconstrained, - 'The camera options are impossible to satisfy.', - ); - case 'NotAllowedError': - case 'PermissionDeniedError': - throw CameraWebException( - cameraId, - CameraErrorCode.permissionDenied, - 'The camera cannot be used or the permission ' - 'to access the camera is not granted.', - ); - case 'TypeError': - throw CameraWebException( - cameraId, - CameraErrorCode.type, - 'The camera options are incorrect or attempted ' - 'to access the media input from an insecure context.', - ); - case 'AbortError': - throw CameraWebException( - cameraId, - CameraErrorCode.abort, - 'Some problem occurred that prevented the camera from being used.', - ); - case 'SecurityError': - throw CameraWebException( - cameraId, - CameraErrorCode.security, - 'The user media support is disabled in the current browser.', - ); - default: - throw CameraWebException( - cameraId, - CameraErrorCode.unknown, - 'An unknown error occurred when fetching the camera stream.', - ); - } - } catch (_) { - throw CameraWebException( - cameraId, - CameraErrorCode.unknown, - 'An unknown error occurred when fetching the camera stream.', - ); - } - } - - /// Returns the zoom level capability for the given [camera]. - /// - /// Throws a [CameraWebException] if the zoom level is not supported - /// or the camera has not been initialized or started. - ZoomLevelCapability getZoomLevelCapabilityForCamera( - Camera camera, - ) { - final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - final web.MediaTrackSupportedConstraints supportedConstraints = - mediaDevices.getSupportedConstraints(); - final bool zoomLevelSupported = supportedConstraints.zoomNullable ?? false; - - if (!zoomLevelSupported) { - throw CameraWebException( - camera.textureId, - CameraErrorCode.zoomLevelNotSupported, - 'The zoom level is not supported in the current browser.', - ); - } - - final List videoTracks = - camera.stream?.getVideoTracks().toDart ?? []; - - if (videoTracks.isNotEmpty) { - final web.MediaStreamTrack defaultVideoTrack = videoTracks.first; - - /// The zoom level capability is represented by MediaSettingsRange. - /// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaSettingsRange - final WebTweakMediaSettingsRange? zoomLevelCapability = - defaultVideoTrack.getCapabilities().zoomNullable; - - if (zoomLevelCapability != null) { - return ZoomLevelCapability( - minimum: zoomLevelCapability.min, - maximum: zoomLevelCapability.max, - videoTrack: defaultVideoTrack, - ); - } else { - throw CameraWebException( - camera.textureId, - CameraErrorCode.zoomLevelNotSupported, - 'The zoom level is not supported by the current camera.', - ); - } - } else { - throw CameraWebException( - camera.textureId, - CameraErrorCode.notStarted, - 'The camera has not been initialized or started.', - ); - } - } - - /// Returns a facing mode of the [videoTrack] - /// (null if the facing mode is not available). - String? getFacingModeForVideoTrack(web.MediaStreamTrack videoTrack) { - final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - - // Check if the camera facing mode is supported by the current browser. - final web.MediaTrackSupportedConstraints supportedConstraints = - mediaDevices.getSupportedConstraints(); - - // Return null if the facing mode is not supported. - if (!supportedConstraints.facingMode) { - return null; - } - - // Extract the facing mode from the video track settings. - // The property may not be available if it's not supported - // by the browser or not available due to context. - // - // MediaTrackSettings: - // https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings - final web.MediaTrackSettings videoTrackSettings = videoTrack.getSettings(); - final String? facingMode = videoTrackSettings.facingModeNullable; - - if (facingMode == null || facingMode.isEmpty) { - // If the facing mode does not exist in the video track settings, - // check for the facing mode in the video track capabilities. - // - // MediaTrackCapabilities: - // https://www.w3.org/TR/mediacapture-streams/#dom-mediatrackcapabilities - - // Check if getting the video track capabilities is supported. - // - // The method may not be supported on Firefox. - // See: https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/getCapabilities#browser_compatibility - if (!jsUtil.hasProperty(videoTrack, 'getCapabilities'.toJS)) { - // Return null if the video track capabilities are not supported. - return null; - } - - final web.MediaTrackCapabilities videoTrackCapabilities = - videoTrack.getCapabilities(); - - // A list of facing mode capabilities as - // the camera may support multiple facing modes. - final List facingModeCapabilities = videoTrackCapabilities - .facingMode.toDart - .map((JSString e) => e.toDart) - .toList(); - - if (facingModeCapabilities.isNotEmpty) { - final String facingModeCapability = facingModeCapabilities.first; - return facingModeCapability; - } else { - // Return null if there are no facing mode capabilities. - return null; - } - } - - return facingMode; - } - - /// Maps the given [facingMode] to [CameraLensDirection]. - /// - /// The following values for the facing mode are supported: - /// https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings/facingMode - CameraLensDirection mapFacingModeToLensDirection(String facingMode) { - switch (facingMode) { - case 'user': - return CameraLensDirection.front; - case 'environment': - return CameraLensDirection.back; - case 'left': - case 'right': - default: - return CameraLensDirection.external; - } - } - - /// Maps the given [facingMode] to [CameraType]. - /// - /// See [CameraMetadata.facingMode] for more details. - CameraType mapFacingModeToCameraType(String facingMode) { - switch (facingMode) { - case 'user': - return CameraType.user; - case 'environment': - return CameraType.environment; - case 'left': - case 'right': - default: - return CameraType.user; - } - } - - /// Maps the given [resolutionPreset] to [Size]. - Size mapResolutionPresetToSize(ResolutionPreset resolutionPreset) { - switch (resolutionPreset) { - case ResolutionPreset.max: - case ResolutionPreset.ultraHigh: - return const Size(4096, 2160); - case ResolutionPreset.veryHigh: - return const Size(1920, 1080); - case ResolutionPreset.high: - return const Size(1280, 720); - case ResolutionPreset.medium: - return const Size(720, 480); - case ResolutionPreset.low: - return const Size(320, 240); - } - // The enum comes from a different package, which could get a new value at - // any time, so provide a fallback that ensures this won't break when used - // with a version that contains new values. This is deliberately outside - // the switch rather than a `default` so that the linter will flag the - // switch as needing an update. - // ignore: dead_code - return const Size(320, 240); - } - - static const int _kiloBits = 1000; - static const int _megaBits = _kiloBits * _kiloBits; - - /// Maps the given [resolutionPreset] to video bitrate. - int mapResolutionPresetToVideoBitrate(ResolutionPreset resolutionPreset) { - switch (resolutionPreset) { - case ResolutionPreset.max: - case ResolutionPreset.ultraHigh: - return 8 * _megaBits; - case ResolutionPreset.veryHigh: - return 4 * _megaBits; - case ResolutionPreset.high: - return 1 * _megaBits; - case ResolutionPreset.medium: - return 400 * _kiloBits; - case ResolutionPreset.low: - return 200 * _kiloBits; - } - - // The enum comes from a different package, which could get a new value at - // any time, so provide a fallback that ensures this won't break when used - // with a version that contains new values. This is deliberately outside - // the switch rather than a `default` so that the linter will flag the - // switch as needing an update. - // ignore: dead_code - return 1 * _megaBits; - } - - /// Maps the given [resolutionPreset] to audio bitrate. - int mapResolutionPresetToAudioBitrate(ResolutionPreset resolutionPreset) { - switch (resolutionPreset) { - case ResolutionPreset.max: - case ResolutionPreset.ultraHigh: - return 128 * _kiloBits; - case ResolutionPreset.veryHigh: - return 128 * _kiloBits; - case ResolutionPreset.high: - return 64 * _kiloBits; - case ResolutionPreset.medium: - return 48 * _kiloBits; - case ResolutionPreset.low: - return 32 * _kiloBits; - } - - // The enum comes from a different package, which could get a new value at - // any time, so provide a fallback that ensures this won't break when used - // with a version that contains new values. This is deliberately outside - // the switch rather than a `default` so that the linter will flag the - // switch as needing an update. - // ignore: dead_code - return 64 * _kiloBits; - } - - /// Maps the given [deviceOrientation] to [OrientationType]. - String mapDeviceOrientationToOrientationType( - DeviceOrientation deviceOrientation, - ) { - switch (deviceOrientation) { - case DeviceOrientation.portraitUp: - return OrientationType.portraitPrimary; - case DeviceOrientation.landscapeLeft: - return OrientationType.landscapePrimary; - case DeviceOrientation.portraitDown: - return OrientationType.portraitSecondary; - case DeviceOrientation.landscapeRight: - return OrientationType.landscapeSecondary; - } - } - - /// Maps the given [orientationType] to [DeviceOrientation]. - DeviceOrientation mapOrientationTypeToDeviceOrientation( - String orientationType, - ) { - switch (orientationType) { - case OrientationType.portraitPrimary: - return DeviceOrientation.portraitUp; - case OrientationType.landscapePrimary: - return DeviceOrientation.landscapeLeft; - case OrientationType.portraitSecondary: - return DeviceOrientation.portraitDown; - case OrientationType.landscapeSecondary: - return DeviceOrientation.landscapeRight; - default: - return DeviceOrientation.portraitUp; - } - } -} diff --git a/example/web_camera/lib/src/camera_web.dart b/example/web_camera/lib/src/camera_web.dart deleted file mode 100644 index 11d1431..0000000 --- a/example/web_camera/lib/src/camera_web.dart +++ /dev/null @@ -1,722 +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 'dart:math'; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_web_plugins/flutter_web_plugins.dart'; -import 'package:stream_transform/stream_transform.dart'; -import 'package:web/web.dart' as web; - -import 'camera.dart'; -import 'camera_service.dart'; -import 'pkg_web_tweaks.dart'; -import 'types/types.dart'; - -// The default error message, when the error is an empty string. -// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaError/message -const String _kDefaultErrorMessage = - 'No further diagnostic information can be determined or provided.'; - -/// The web implementation of [CameraPlatform]. -/// -/// This class implements the `package:camera` functionality for the web. -class CameraPlugin extends CameraPlatform { - /// Creates a new instance of [CameraPlugin] - /// with the given [cameraService]. - CameraPlugin({required CameraService cameraService}) - : _cameraService = cameraService; - - /// Registers this class as the default instance of [CameraPlatform]. - static void registerWith(Registrar registrar) { - CameraPlatform.instance = CameraPlugin( - cameraService: CameraService(), - ); - } - - final CameraService _cameraService; - - /// The cameras managed by the [CameraPlugin]. - @visibleForTesting - final Map cameras = {}; - int _textureCounter = 1; - - /// Metadata associated with each camera description. - /// Populated in [availableCameras]. - @visibleForTesting - final Map camerasMetadata = - {}; - - /// The controller used to broadcast different camera events. - /// - /// It is `broadcast` as multiple controllers may subscribe - /// to different stream views of this controller. - @visibleForTesting - final StreamController cameraEventStreamController = - StreamController.broadcast(); - - /// The stream provider for [web.HTMLVideoElement] error events. - @visibleForTesting - web.EventStreamProvider videoElementOnErrorProvider = - web.EventStreamProviders.errorElementEvent; - - final Map> _cameraVideoErrorSubscriptions = - >{}; - - /// The stream provider for [web.HTMLVideoElement] abort events. - @visibleForTesting - web.EventStreamProvider videoElementOnAbortProvider = - web.EventStreamProviders.errorElementEvent; - - final Map> _cameraVideoAbortSubscriptions = - >{}; - - final Map> - _cameraEndedSubscriptions = - >{}; - - final Map> - _cameraVideoRecordingErrorSubscriptions = - >{}; - - /// Returns a stream of camera events for the given [cameraId]. - Stream _cameraEvents(int cameraId) => - cameraEventStreamController.stream - .where((CameraEvent event) => event.cameraId == cameraId); - - /// The stream provider for [web.ScreenOrientation] change events. - @visibleForTesting - web.EventStreamProvider orientationOnChangeProvider = - web.EventStreamProviders.changeEvent; - - /// The current browser window used to access media devices. - @visibleForTesting - web.Window window = web.window; - - @override - Future> availableCameras() async { - try { - final web.MediaDevices mediaDevices = window.navigator.mediaDevices; - final List cameras = []; - - // Request video permissions only. - final web.MediaStream cameraStream = - await _cameraService.getMediaStreamForOptions(const CameraOptions()); - - // Release the camera stream used to request video permissions. - cameraStream - .getVideoTracks() - .toDart - .forEach((web.MediaStreamTrack videoTrack) => videoTrack.stop()); - - // Request available media devices. - final List devices = - (await mediaDevices.enumerateDevices().toDart).toDart; - - // Filter video input devices. - final Iterable videoInputDevices = devices - .where( - (web.MediaDeviceInfo device) => - device.kind == MediaDeviceKind.videoInput, - ) - - /// The device id property is currently not supported on Internet Explorer: - /// https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo/deviceId#browser_compatibility - .where((web.MediaDeviceInfo device) => device.deviceId.isNotEmpty); - - // Map video input devices to camera descriptions. - for (final web.MediaDeviceInfo videoInputDevice in videoInputDevices) { - // Get the video stream for the current video input device - // to later use for the available video tracks. - final web.MediaStream videoStream = - await _getVideoStreamForDevice(videoInputDevice.deviceId); - - // Get all video tracks in the video stream - // to later extract the lens direction from the first track. - final List videoTracks = - videoStream.getVideoTracks().toDart; - - if (videoTracks.isNotEmpty) { - // Get the facing mode from the first available video track. - final String? facingMode = - _cameraService.getFacingModeForVideoTrack(videoTracks.first); - - // Get the lens direction based on the facing mode. - // Fallback to the external lens direction - // if the facing mode is not available. - final CameraLensDirection lensDirection = facingMode != null - ? _cameraService.mapFacingModeToLensDirection(facingMode) - : CameraLensDirection.external; - - // Create a camera description. - // - // The name is a camera label which might be empty - // if no permissions to media devices have been granted. - // - // MediaDeviceInfo.label: - // https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo/label - // - // Sensor orientation is currently not supported. - final CameraDescription camera = CameraDescription( - name: videoInputDevice.label, - lensDirection: lensDirection, - sensorOrientation: 0, - ); - - final CameraMetadata cameraMetadata = CameraMetadata( - deviceId: videoInputDevice.deviceId, - facingMode: facingMode, - ); - - cameras.add(camera); - - camerasMetadata[camera] = cameraMetadata; - - // Release the camera stream of the current video input device. - for (final web.MediaStreamTrack videoTrack in videoTracks) { - videoTrack.stop(); - } - } else { - // Ignore as no video tracks exist in the current video input device. - continue; - } - } - - return cameras; - } on web.DOMException catch (e) { - throw CameraException(e.name, e.message); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw CameraException(e.code.toString(), e.description); - } - } - - @override - Future createCamera( - CameraDescription cameraDescription, - ResolutionPreset? resolutionPreset, { - bool enableAudio = false, - }) => - createCameraWithSettings( - cameraDescription, - MediaSettings( - resolutionPreset: resolutionPreset, - enableAudio: enableAudio, - )); - - @override - Future createCameraWithSettings( - CameraDescription cameraDescription, - MediaSettings? mediaSettings, - ) async { - try { - if (!camerasMetadata.containsKey(cameraDescription)) { - throw PlatformException( - code: CameraErrorCode.missingMetadata.toString(), - message: - 'Missing camera metadata. Make sure to call `availableCameras` before creating a camera.', - ); - } - - final int textureId = _textureCounter++; - - final CameraMetadata cameraMetadata = camerasMetadata[cameraDescription]!; - - final CameraType? cameraType = cameraMetadata.facingMode != null - ? _cameraService.mapFacingModeToCameraType(cameraMetadata.facingMode!) - : null; - - // Use the highest resolution possible - // if the resolution preset is not specified. - final Size videoSize = _cameraService.mapResolutionPresetToSize( - mediaSettings?.resolutionPreset ?? ResolutionPreset.max); - - // Create a camera with the given audio and video constraints. - // Sensor orientation is currently not supported. - final Camera camera = Camera( - textureId: textureId, - cameraService: _cameraService, - options: CameraOptions( - audio: AudioConstraints(enabled: mediaSettings?.enableAudio ?? true), - video: VideoConstraints( - facingMode: - cameraType != null ? FacingModeConstraint(cameraType) : null, - width: VideoSizeConstraint( - ideal: videoSize.width.toInt(), - ), - height: VideoSizeConstraint( - ideal: videoSize.height.toInt(), - ), - deviceId: cameraMetadata.deviceId, - ), - ), - recorderOptions: ( - audioBitrate: mediaSettings?.audioBitrate, - videoBitrate: mediaSettings?.videoBitrate, - ), - ); - - cameras[textureId] = camera; - - return textureId; - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - @override - Future initializeCamera( - int cameraId, { - // The image format group is currently not supported. - ImageFormatGroup imageFormatGroup = ImageFormatGroup.unknown, - }) async { - try { - final Camera camera = getCamera(cameraId); - - await camera.initialize(); - - // Add camera's video error events to the camera events stream. - // The error event fires when the video element's source has failed to load, or can't be used. - _cameraVideoErrorSubscriptions[cameraId] = videoElementOnErrorProvider - .forElement(camera.videoElement) - .listen((web.Event _) { - // The Event itself (_) doesn't contain information about the actual error. - // We need to look at the HTMLMediaElement.error. - // See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/error - final web.MediaError error = camera.videoElement.error!; - final CameraErrorCode errorCode = CameraErrorCode.fromMediaError(error); - final String errorMessage = - error.message != '' ? error.message : _kDefaultErrorMessage; - - cameraEventStreamController.add( - CameraErrorEvent( - cameraId, - 'Error code: $errorCode, error message: $errorMessage', - ), - ); - }); - - // Add camera's video abort events to the camera events stream. - // The abort event fires when the video element's source has not fully loaded. - _cameraVideoAbortSubscriptions[cameraId] = videoElementOnAbortProvider - .forElement(camera.videoElement) - .listen((web.Event _) { - cameraEventStreamController.add( - CameraErrorEvent( - cameraId, - "Error code: ${CameraErrorCode.abort}, error message: The video element's source has not fully loaded.", - ), - ); - }); - - await camera.play(); - - // Add camera's closing events to the camera events stream. - // The onEnded stream fires when there is no more camera stream data. - _cameraEndedSubscriptions[cameraId] = - camera.onEnded.listen((web.MediaStreamTrack _) { - cameraEventStreamController.add( - CameraClosingEvent(cameraId), - ); - }); - - final Size cameraSize = camera.getVideoSize(); - - cameraEventStreamController.add( - CameraInitializedEvent( - cameraId, - cameraSize.width, - cameraSize.height, - // TODO(bselwe): Add support for exposure mode and point (https://github.com/flutter/flutter/issues/86857). - ExposureMode.auto, - false, - // TODO(bselwe): Add support for focus mode and point (https://github.com/flutter/flutter/issues/86858). - FocusMode.auto, - false, - ), - ); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Stream onCameraInitialized(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - /// Emits an empty stream as there is no event corresponding to a change - /// in the camera resolution on the web. - /// - /// In order to change the camera resolution a new camera with appropriate - /// [CameraOptions.video] constraints has to be created and initialized. - @override - Stream onCameraResolutionChanged(int cameraId) { - return const Stream.empty(); - } - - @override - Stream onCameraClosing(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onCameraError(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onVideoRecordedEvent(int cameraId) { - return getCamera(cameraId).onVideoRecordedEvent; - } - - @override - Stream onDeviceOrientationChanged() { - final web.ScreenOrientation orientation = window.screen.orientation; - - // Create an initial orientation event that emits the device orientation - // as soon as subscribed to this stream. - final web.Event initialOrientationEvent = web.Event('change'); - - return orientationOnChangeProvider - .forTarget(orientation) - .startWith(initialOrientationEvent) - .map( - (web.Event _) { - final DeviceOrientation deviceOrientation = _cameraService - .mapOrientationTypeToDeviceOrientation(orientation.type); - return DeviceOrientationChangedEvent(deviceOrientation); - }, - ); - } - - @override - Future lockCaptureOrientation( - int cameraId, - DeviceOrientation orientation, - ) async { - try { - final web.ScreenOrientation screenOrientation = window.screen.orientation; - final web.Element? documentElement = window.document.documentElement; - - if (documentElement != null) { - final String orientationType = - _cameraService.mapDeviceOrientationToOrientationType(orientation); - - // Full-screen mode may be required to modify the device orientation. - // See: https://w3c.github.io/screen-orientation/#interaction-with-fullscreen-api - // Recent versions of Dart changed requestFullscreen to return a Future instead of void. - // This wrapper allows use of both the old and new APIs. - dynamic fullScreen() => documentElement.requestFullScreenTweak(); - await fullScreen(); - await screenOrientation.lock(orientationType).toDart; - } else { - throw PlatformException( - code: CameraErrorCode.orientationNotSupported.toString(), - message: 'Orientation is not supported in the current browser.', - ); - } - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } - } - - @override - Future unlockCaptureOrientation(int cameraId) async { - try { - final web.ScreenOrientation orientation = window.screen.orientation; - final web.Element? documentElement = window.document.documentElement; - - if (documentElement != null) { - orientation.unlock(); - } else { - throw PlatformException( - code: CameraErrorCode.orientationNotSupported.toString(), - message: 'Orientation is not supported in the current browser.', - ); - } - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } - } - - @override - Future takePicture(int cameraId) { - try { - return getCamera(cameraId).takePicture(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future prepareForVideoRecording() async { - // This is a no-op as it is not required for the web. - } - - @override - Future startVideoRecording(int cameraId, {Duration? maxVideoDuration}) { - // Ignore maxVideoDuration, as it is deprecated. - return startVideoCapturing(VideoCaptureOptions(cameraId)); - } - - @override - Future startVideoCapturing(VideoCaptureOptions options) { - if (options.streamCallback != null || options.streamOptions != null) { - throw UnimplementedError('Streaming is not currently supported on web'); - } - - try { - final Camera camera = getCamera(options.cameraId); - - // Add camera's video recording errors to the camera events stream. - // The error event fires when the video recording is not allowed or an unsupported - // codec is used. - _cameraVideoRecordingErrorSubscriptions[options.cameraId] = - camera.onVideoRecordingError.listen((web.ErrorEvent errorEvent) { - cameraEventStreamController.add( - CameraErrorEvent( - options.cameraId, - 'Error code: ${errorEvent.type}, error message: ${errorEvent.message}.', - ), - ); - }); - - return camera.startVideoRecording(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future stopVideoRecording(int cameraId) async { - try { - final XFile videoRecording = - await getCamera(cameraId).stopVideoRecording(); - await _cameraVideoRecordingErrorSubscriptions[cameraId]?.cancel(); - return videoRecording; - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future pauseVideoRecording(int cameraId) { - try { - return getCamera(cameraId).pauseVideoRecording(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future resumeVideoRecording(int cameraId) { - try { - return getCamera(cameraId).resumeVideoRecording(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future setFlashMode(int cameraId, FlashMode mode) async { - try { - getCamera(cameraId).setFlashMode(mode); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future setExposureMode(int cameraId, ExposureMode mode) { - throw UnimplementedError('setExposureMode() is not implemented.'); - } - - @override - Future setExposurePoint(int cameraId, Point? point) { - throw UnimplementedError('setExposurePoint() is not implemented.'); - } - - @override - Future getMinExposureOffset(int cameraId) { - throw UnimplementedError('getMinExposureOffset() is not implemented.'); - } - - @override - Future getMaxExposureOffset(int cameraId) { - throw UnimplementedError('getMaxExposureOffset() is not implemented.'); - } - - @override - Future getExposureOffsetStepSize(int cameraId) { - throw UnimplementedError('getExposureOffsetStepSize() is not implemented.'); - } - - @override - Future setExposureOffset(int cameraId, double offset) { - throw UnimplementedError('setExposureOffset() is not implemented.'); - } - - @override - Future setFocusMode(int cameraId, FocusMode mode) { - throw UnimplementedError('setFocusMode() is not implemented.'); - } - - @override - Future setFocusPoint(int cameraId, Point? point) { - throw UnimplementedError('setFocusPoint() is not implemented.'); - } - - @override - Future getMaxZoomLevel(int cameraId) async { - try { - return getCamera(cameraId).getMaxZoomLevel(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future getMinZoomLevel(int cameraId) async { - try { - return getCamera(cameraId).getMinZoomLevel(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Future setZoomLevel(int cameraId, double zoom) async { - try { - getCamera(cameraId).setZoomLevel(zoom); - } on web.DOMException catch (e) { - throw CameraException(e.name, e.message); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw CameraException(e.code.toString(), e.description); - } - } - - @override - Future pausePreview(int cameraId) async { - try { - getCamera(cameraId).pause(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } - } - - @override - Future resumePreview(int cameraId) async { - try { - await getCamera(cameraId).play(); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } on CameraWebException catch (e) { - _addCameraErrorEvent(e); - throw PlatformException(code: e.code.toString(), message: e.description); - } - } - - @override - Widget buildPreview(int cameraId) { - return HtmlElementView( - viewType: getCamera(cameraId).getViewType(), - ); - } - - @override - Future dispose(int cameraId) async { - try { - await getCamera(cameraId).dispose(); - await _cameraVideoErrorSubscriptions[cameraId]?.cancel(); - await _cameraVideoAbortSubscriptions[cameraId]?.cancel(); - - await _cameraEndedSubscriptions[cameraId]?.cancel(); - await _cameraVideoRecordingErrorSubscriptions[cameraId]?.cancel(); - - cameras.remove(cameraId); - _cameraVideoErrorSubscriptions.remove(cameraId); - _cameraVideoAbortSubscriptions.remove(cameraId); - _cameraEndedSubscriptions.remove(cameraId); - } on web.DOMException catch (e) { - throw PlatformException(code: e.name, message: e.message); - } - } - - /// Returns a media video stream for the device with the given [deviceId]. - Future _getVideoStreamForDevice( - String deviceId, - ) { - // Create camera options with the desired device id. - final CameraOptions cameraOptions = CameraOptions( - video: VideoConstraints(deviceId: deviceId), - ); - - return _cameraService.getMediaStreamForOptions(cameraOptions); - } - - /// Returns a camera for the given [cameraId]. - /// - /// Throws a [CameraException] if the camera does not exist. - @visibleForTesting - Camera getCamera(int cameraId) { - final Camera? camera = cameras[cameraId]; - - if (camera == null) { - throw PlatformException( - code: CameraErrorCode.notFound.toString(), - message: 'No camera found for the given camera id $cameraId.', - ); - } - - return camera; - } - - /// Adds a [CameraErrorEvent], associated with the [exception], - /// to the stream of camera events. - void _addCameraErrorEvent(CameraWebException exception) { - cameraEventStreamController.add( - CameraErrorEvent( - exception.cameraId, - 'Error code: ${exception.code}, error message: ${exception.description}', - ), - ); - } -} diff --git a/example/web_camera/lib/src/pkg_web_tweaks.dart b/example/web_camera/lib/src/pkg_web_tweaks.dart deleted file mode 100644 index fb0e84e..0000000 --- a/example/web_camera/lib/src/pkg_web_tweaks.dart +++ /dev/null @@ -1,74 +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: public_member_api_docs - -import 'dart:js_interop'; - -import 'package:web/web.dart'; - -/// Adds missing fields to [Element]. -extension FullScreenSupportMethods on Element { - @JS('requestFullscreen') - external JSPromise requestFullScreenTweak([JSAny options]); -} - -/// Adds missing fields to [MediaTrackSupportedConstraints]. -extension NonStandardFieldsOnMediaTrackSupportedConstraints - on MediaTrackSupportedConstraints { - @JS('zoom') - external bool? get zoomNullable; - - @JS('torch') - external bool? get torchNullable; -} - -/// Adds missing fields to [MediaTrackCapabilities]. -extension NonStandardFieldsOnMediaTrackCapabilities on MediaTrackCapabilities { - @JS('zoom') - external WebTweakMediaSettingsRange? get zoomNullable; - - @JS('torch') - external JSArray? get torchNullable; -} - -/// Adds missing fields to [MediaTrackSettings] -extension NonStandardFieldsOnMediaTrackSettings on MediaTrackSettings { - @JS('facingMode') - external String? get facingModeNullable; -} - -/// Brought over from package:web 1.0.0 -extension type WebTweakMediaSettingsRange._(JSObject _) implements JSObject { - @JS('MediaSettingsRange') - external factory WebTweakMediaSettingsRange({ - num max, - num min, - num step, - }); - - external double get max; - external set max(num value); - external double get min; - external set min(num value); - external double get step; - external set step(num value); -} - -/// Adds an applyConstraints method that accepts the WebTweakMediaTrackConstraints. -extension WebTweakMethodVersions on MediaStreamTrack { - @JS('applyConstraints') - external JSPromise applyWebTweakConstraints( - [WebTweakMediaTrackConstraints constraints]); -} - -/// Allows creating the MediaTrackConstraints that are needed. -/// Brought over from package:web 1.0.0 -extension type WebTweakMediaTrackConstraints._(JSObject _) implements JSObject { - @JS('MediaTrackConstraints') - external factory WebTweakMediaTrackConstraints({ - JSAny zoom, - ConstrainBoolean torch, - }); -} diff --git a/example/web_camera/lib/src/shims/dart_js_util.dart b/example/web_camera/lib/src/shims/dart_js_util.dart deleted file mode 100644 index 50cda21..0000000 --- a/example/web_camera/lib/src/shims/dart_js_util.dart +++ /dev/null @@ -1,15 +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:js_interop'; -import 'dart:js_interop_unsafe'; - -/// A utility that shims dart:js_interop to manipulate JavaScript interop objects. -class JsUtil { - /// Returns true if the object [o] has the property [name]. - bool hasProperty(JSObject o, JSAny name) => o.hasProperty(name).toDart; - - /// Returns the value of the property [name] in the object [o]. - JSAny? getProperty(JSObject o, JSAny name) => o.getProperty(name); -} diff --git a/example/web_camera/lib/src/types/camera_error_code.dart b/example/web_camera/lib/src/types/camera_error_code.dart deleted file mode 100644 index 6619e5f..0000000 --- a/example/web_camera/lib/src/types/camera_error_code.dart +++ /dev/null @@ -1,94 +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:web/web.dart' as web; - -/// Error codes that may occur during the camera initialization, -/// configuration or video streaming. -class CameraErrorCode { - const CameraErrorCode._(this._type); - - final String _type; - - @override - String toString() => _type; - - /// The camera is not supported. - static const CameraErrorCode notSupported = - CameraErrorCode._('cameraNotSupported'); - - /// The camera is not found. - static const CameraErrorCode notFound = CameraErrorCode._('cameraNotFound'); - - /// The camera is not readable. - static const CameraErrorCode notReadable = - CameraErrorCode._('cameraNotReadable'); - - /// The camera options are impossible to satisfy. - static const CameraErrorCode overconstrained = - CameraErrorCode._('cameraOverconstrained'); - - /// The camera cannot be used or the permission - /// to access the camera is not granted. - static const CameraErrorCode permissionDenied = - CameraErrorCode._('CameraAccessDenied'); - - /// The camera options are incorrect or attempted - /// to access the media input from an insecure context. - static const CameraErrorCode type = CameraErrorCode._('cameraType'); - - /// Some problem occurred that prevented the camera from being used. - static const CameraErrorCode abort = CameraErrorCode._('cameraAbort'); - - /// The user media support is disabled in the current browser. - static const CameraErrorCode security = CameraErrorCode._('cameraSecurity'); - - /// The camera metadata is missing. - static const CameraErrorCode missingMetadata = - CameraErrorCode._('cameraMissingMetadata'); - - /// The camera orientation is not supported. - static const CameraErrorCode orientationNotSupported = - CameraErrorCode._('orientationNotSupported'); - - /// The camera torch mode is not supported. - static const CameraErrorCode torchModeNotSupported = - CameraErrorCode._('torchModeNotSupported'); - - /// The camera zoom level is not supported. - static const CameraErrorCode zoomLevelNotSupported = - CameraErrorCode._('zoomLevelNotSupported'); - - /// The camera zoom level is invalid. - static const CameraErrorCode zoomLevelInvalid = - CameraErrorCode._('zoomLevelInvalid'); - - /// The camera has not been initialized or started. - static const CameraErrorCode notStarted = - CameraErrorCode._('cameraNotStarted'); - - /// The video recording was not started. - static const CameraErrorCode videoRecordingNotStarted = - CameraErrorCode._('videoRecordingNotStarted'); - - /// An unknown camera error. - static const CameraErrorCode unknown = CameraErrorCode._('cameraUnknown'); - - /// Returns a camera error code based on the media error. - /// - /// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaError/code - static CameraErrorCode fromMediaError(web.MediaError error) { - if (error.code == web.MediaError.MEDIA_ERR_ABORTED) { - return const CameraErrorCode._('mediaErrorAborted'); - } else if (error.code == web.MediaError.MEDIA_ERR_NETWORK) { - return const CameraErrorCode._('mediaErrorNetwork'); - } else if (error.code == web.MediaError.MEDIA_ERR_DECODE) { - return const CameraErrorCode._('mediaErrorDecode'); - } else if (error.code == web.MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED) { - return const CameraErrorCode._('mediaErrorSourceNotSupported'); - } else { - return const CameraErrorCode._('mediaErrorUnknown'); - } - } -} diff --git a/example/web_camera/lib/src/types/camera_metadata.dart b/example/web_camera/lib/src/types/camera_metadata.dart deleted file mode 100644 index e5c6b38..0000000 --- a/example/web_camera/lib/src/types/camera_metadata.dart +++ /dev/null @@ -1,40 +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:flutter/foundation.dart'; - -/// Metadata used along the camera description -/// to store additional web-specific camera details. -@immutable -class CameraMetadata { - /// Creates a new instance of [CameraMetadata] - /// with the given [deviceId] and [facingMode]. - const CameraMetadata({required this.deviceId, required this.facingMode}); - - /// Uniquely identifies the camera device. - /// - /// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo/deviceId - final String deviceId; - - /// Describes the direction the camera is facing towards. - /// May be `user`, `environment`, `left`, `right` - /// or null if the facing mode is not available. - /// - /// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackSettings/facingMode - final String? facingMode; - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is CameraMetadata && - other.deviceId == deviceId && - other.facingMode == facingMode; - } - - @override - int get hashCode => Object.hash(deviceId.hashCode, facingMode.hashCode); -} diff --git a/example/web_camera/lib/src/types/camera_options.dart b/example/web_camera/lib/src/types/camera_options.dart deleted file mode 100644 index 45b4462..0000000 --- a/example/web_camera/lib/src/types/camera_options.dart +++ /dev/null @@ -1,272 +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:js_interop'; - -import 'package:flutter/foundation.dart'; -import 'package:web/web.dart' as web; - -/// Options used to create a camera with the given -/// [audio] and [video] media constraints. -/// -/// These options represent web `MediaStreamConstraints` -/// and can be used to request the browser for media streams -/// with audio and video tracks containing the requested types of media. -/// -/// https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamConstraints -@immutable -class CameraOptions { - /// Creates a new instance of [CameraOptions] - /// with the given [audio] and [video] constraints. - const CameraOptions({ - AudioConstraints? audio, - VideoConstraints? video, - }) : audio = audio ?? const AudioConstraints(), - video = video ?? const VideoConstraints(); - - /// The audio constraints for the camera. - final AudioConstraints audio; - - /// The video constraints for the camera. - final VideoConstraints video; - - /// Converts `this` to something that can be used by the browser. - web.MediaStreamConstraints toMediaStreamConstraints() { - return web.MediaStreamConstraints( - audio: audio.toMediaStreamConstraints(), - video: video.toMediaStreamConstraints(), - ); - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is CameraOptions && - other.audio == audio && - other.video == video; - } - - @override - int get hashCode => Object.hash(audio, video); -} - -/// Indicates whether the audio track is requested. -/// -/// By default, the audio track is not requested. -@immutable -class AudioConstraints { - /// Creates a new instance of [AudioConstraints] - /// with the given [enabled] constraint. - const AudioConstraints({this.enabled = false}); - - /// Whether the audio track should be enabled. - final bool enabled; - - /// Convert `this` to something that can be used on the browser. - JSAny toMediaStreamConstraints() => enabled.toJS; - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is AudioConstraints && other.enabled == enabled; - } - - @override - int get hashCode => enabled.hashCode; -} - -/// Defines constraints that the video track must have -/// to be considered acceptable. -@immutable -class VideoConstraints { - /// Creates a new instance of [VideoConstraints] - /// with the given constraints. - const VideoConstraints({ - this.facingMode, - this.width, - this.height, - this.deviceId, - }); - - /// The facing mode of the video track. - final FacingModeConstraint? facingMode; - - /// The width of the video track. - final VideoSizeConstraint? width; - - /// The height of the video track. - final VideoSizeConstraint? height; - - /// The device id of the video track. - final String? deviceId; - - // TODO(dit): package:web has a class for this. Use it instead of jsify and toJson. - /// Convert `this` to something that can be used on the browser. - JSAny toMediaStreamConstraints() { - return { - if (width != null) 'width': width!.toJson(), - if (height != null) 'height': height!.toJson(), - if (facingMode != null) 'facingMode': facingMode!.toJson(), - if (deviceId != null) 'deviceId': {'exact': deviceId!}, - }.jsify()!; - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is VideoConstraints && - other.facingMode == facingMode && - other.width == width && - other.height == height && - other.deviceId == deviceId; - } - - @override - int get hashCode => Object.hash(facingMode, width, height, deviceId); -} - -/// The camera type used in [FacingModeConstraint]. -/// -/// Specifies whether the requested camera should be facing away -/// or toward the user. -enum CameraType { - /// The camera is facing away from the user, viewing their environment. - /// This includes the back camera on a smartphone. - environment._('environment'), - - /// The camera is facing toward the user. - /// This includes the front camera on a smartphone. - user._('user'); - - const CameraType._(this._type); - - final String _type; - - @override - String toString() => _type; -} - -// TODO(dit): package:web has a class for this. Use it instead of toJson. -/// Indicates the direction in which the desired camera should be pointing. -@immutable -class FacingModeConstraint { - /// Creates a new instance of [FacingModeConstraint] - /// with [ideal] constraint set to [type]. - factory FacingModeConstraint(CameraType type) => - FacingModeConstraint._(ideal: type); - - /// Creates a new instance of [FacingModeConstraint] - /// with the given [ideal] and [exact] constraints. - const FacingModeConstraint._({this.ideal, this.exact}); - - /// Creates a new instance of [FacingModeConstraint] - /// with [exact] constraint set to [type]. - factory FacingModeConstraint.exact(CameraType type) => - FacingModeConstraint._(exact: type); - - /// The ideal facing mode constraint. - /// - /// If this constraint is used, then the camera would ideally have - /// the desired facing [type] but it may be considered optional. - final CameraType? ideal; - - /// The exact facing mode constraint. - /// - /// If this constraint is used, then the camera must have - /// the desired facing [type] to be considered acceptable. - final CameraType? exact; - - // TODO(dit): package:web has a class for this. Use it instead of toJson. - /// Converts the current instance to a Map. - Object toJson() { - return { - if (ideal != null) 'ideal': ideal.toString(), - if (exact != null) 'exact': exact.toString(), - }; - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is FacingModeConstraint && - other.ideal == ideal && - other.exact == exact; - } - - @override - int get hashCode => Object.hash(ideal, exact); -} - -// TODO(dit): package:web has a class for this. Use it instead of toJson. -/// The size of the requested video track used in -/// [VideoConstraints.width] and [VideoConstraints.height]. -/// -/// The obtained video track will have a size between [minimum] and [maximum] -/// with ideally a size of [ideal]. The size is determined by -/// the capabilities of the hardware and the other specified constraints. -@immutable -class VideoSizeConstraint { - /// Creates a new instance of [VideoSizeConstraint] with the given - /// [minimum], [ideal] and [maximum] constraints. - const VideoSizeConstraint({this.minimum, this.ideal, this.maximum}); - - /// The minimum video size. - final int? minimum; - - /// The ideal video size. - /// - /// The video would ideally have the [ideal] size - /// but it may be considered optional. If not possible - /// to satisfy, the size will be as close as possible - /// to [ideal]. - final int? ideal; - - /// The maximum video size. - final int? maximum; - - // TODO(dit): package:web has a class for this. Use it instead of toJson. - /// Converts the current instance to a Map. - Object toJson() { - final Map json = {}; - - if (ideal != null) { - json['ideal'] = ideal; - } - if (minimum != null) { - json['min'] = minimum; - } - if (maximum != null) { - json['max'] = maximum; - } - - return json; - } - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is VideoSizeConstraint && - other.minimum == minimum && - other.ideal == ideal && - other.maximum == maximum; - } - - @override - int get hashCode => Object.hash(minimum, ideal, maximum); -} diff --git a/example/web_camera/lib/src/types/camera_web_exception.dart b/example/web_camera/lib/src/types/camera_web_exception.dart deleted file mode 100644 index e6c6d7a..0000000 --- a/example/web_camera/lib/src/types/camera_web_exception.dart +++ /dev/null @@ -1,29 +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 'types.dart'; - -/// An exception thrown when the camera with id [cameraId] reports -/// an initialization, configuration or video streaming error, -/// or enters into an unexpected state. -/// -/// This error should be emitted on the `onCameraError` stream -/// of the camera platform. -class CameraWebException implements Exception { - /// Creates a new instance of [CameraWebException] - /// with the given error [cameraId], [code] and [description]. - CameraWebException(this.cameraId, this.code, this.description); - - /// The id of the camera this exception is associated to. - int cameraId; - - /// The error code of this exception. - CameraErrorCode code; - - /// The description of this exception. - String description; - - @override - String toString() => 'CameraWebException($cameraId, $code, $description)'; -} diff --git a/example/web_camera/lib/src/types/media_device_kind.dart b/example/web_camera/lib/src/types/media_device_kind.dart deleted file mode 100644 index 3607bb2..0000000 --- a/example/web_camera/lib/src/types/media_device_kind.dart +++ /dev/null @@ -1,17 +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. - -/// A kind of a media device. -/// -/// See: https://developer.mozilla.org/en-US/docs/Web/API/MediaDeviceInfo/kind -abstract class MediaDeviceKind { - /// A video input media device kind. - static const String videoInput = 'videoinput'; - - /// An audio input media device kind. - static const String audioInput = 'audioinput'; - - /// An audio output media device kind. - static const String audioOutput = 'audiooutput'; -} diff --git a/example/web_camera/lib/src/types/orientation_type.dart b/example/web_camera/lib/src/types/orientation_type.dart deleted file mode 100644 index 717f5f3..0000000 --- a/example/web_camera/lib/src/types/orientation_type.dart +++ /dev/null @@ -1,26 +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:flutter/services.dart'; - -/// A screen orientation type. -/// -/// See: https://developer.mozilla.org/en-US/docs/Web/API/ScreenOrientation/type -abstract class OrientationType { - /// The primary portrait mode orientation. - /// Corresponds to [DeviceOrientation.portraitUp]. - static const String portraitPrimary = 'portrait-primary'; - - /// The secondary portrait mode orientation. - /// Corresponds to [DeviceOrientation.portraitSecondary]. - static const String portraitSecondary = 'portrait-secondary'; - - /// The primary landscape mode orientation. - /// Corresponds to [DeviceOrientation.landscapeLeft]. - static const String landscapePrimary = 'landscape-primary'; - - /// The secondary landscape mode orientation. - /// Corresponds to [DeviceOrientation.landscapeRight]. - static const String landscapeSecondary = 'landscape-secondary'; -} diff --git a/example/web_camera/lib/src/types/types.dart b/example/web_camera/lib/src/types/types.dart deleted file mode 100644 index 72d7fb8..0000000 --- a/example/web_camera/lib/src/types/types.dart +++ /dev/null @@ -1,10 +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. -export 'camera_error_code.dart'; -export 'camera_metadata.dart'; -export 'camera_options.dart'; -export 'camera_web_exception.dart'; -export 'media_device_kind.dart'; -export 'orientation_type.dart'; -export 'zoom_level_capability.dart'; diff --git a/example/web_camera/lib/src/types/zoom_level_capability.dart b/example/web_camera/lib/src/types/zoom_level_capability.dart deleted file mode 100644 index 71e250b..0000000 --- a/example/web_camera/lib/src/types/zoom_level_capability.dart +++ /dev/null @@ -1,48 +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:flutter/foundation.dart'; -import 'package:web/web.dart' as web; - -/// The possible range of values for the zoom level configurable -/// on the camera video track. -@immutable -class ZoomLevelCapability { - /// Creates a new instance of [ZoomLevelCapability] with the given - /// zoom level range of [minimum] to [maximum] configurable - /// on the [videoTrack]. - const ZoomLevelCapability({ - required this.minimum, - required this.maximum, - required this.videoTrack, - }); - - /// The zoom level constraint name. - /// See: https://w3c.github.io/mediacapture-image/#dom-mediatracksupportedconstraints-zoom - static const String constraintName = 'zoom'; - - /// The minimum zoom level. - final double minimum; - - /// The maximum zoom level. - final double maximum; - - /// The video track capable of configuring the zoom level. - final web.MediaStreamTrack videoTrack; - - @override - bool operator ==(Object other) { - if (identical(this, other)) { - return true; - } - - return other is ZoomLevelCapability && - other.minimum == minimum && - other.maximum == maximum && - other.videoTrack == videoTrack; - } - - @override - int get hashCode => Object.hash(minimum, maximum, videoTrack); -} diff --git a/example/web_camera/pubspec.lock b/example/web_camera/pubspec.lock deleted file mode 100644 index 9bef1ac..0000000 --- a/example/web_camera/pubspec.lock +++ /dev/null @@ -1,234 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - camera_platform_interface: - dependency: "direct main" - description: - name: camera_platform_interface - sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061 - url: "https://pub.dev" - source: hosted - version: "2.8.0" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - cross_file: - dependency: transitive - description: - name: cross_file - sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" - url: "https://pub.dev" - source: hosted - version: "0.3.4+2" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_plugins: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.dev" - source: hosted - version: "10.0.5" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.dev" - source: hosted - version: "1.15.0" - path: - dependency: transitive - description: - name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - stream_transform: - dependency: "direct main" - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.dev" - source: hosted - version: "0.7.2" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.dev" - source: hosted - version: "14.2.5" - web: - dependency: "direct main" - description: - name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.dev" - source: hosted - version: "1.1.0" -sdks: - dart: ">=3.4.0 <4.0.0" - flutter: ">=3.22.0" diff --git a/example/web_camera/pubspec.yaml b/example/web_camera/pubspec.yaml deleted file mode 100644 index 9d221bc..0000000 --- a/example/web_camera/pubspec.yaml +++ /dev/null @@ -1,33 +0,0 @@ -name: camera_web -description: A Flutter plugin for getting information about and controlling the camera on Web. -repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_web -issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.3.3 - -environment: - sdk: ^3.4.0 - flutter: ">=3.22.0" - -flutter: - plugin: - implements: camera - platforms: - web: - pluginClass: CameraPlugin - fileName: camera_web.dart - -dependencies: - camera_platform_interface: ^2.6.0 - flutter: - sdk: flutter - flutter_web_plugins: - sdk: flutter - stream_transform: ^2.0.0 - web: ">=0.5.1 <2.0.0" - -dev_dependencies: - flutter_test: - sdk: flutter - -topics: - - camera diff --git a/example/web_camera/test/README.md b/example/web_camera/test/README.md deleted file mode 100644 index 7c5b4ad..0000000 --- a/example/web_camera/test/README.md +++ /dev/null @@ -1,5 +0,0 @@ -## test - -This package uses integration tests for testing. - -See `example/README.md` for more info. diff --git a/example/web_camera/test/more_tests_exist_elsewhere_test.dart b/example/web_camera/test/more_tests_exist_elsewhere_test.dart deleted file mode 100644 index 32f037e..0000000 --- a/example/web_camera/test/more_tests_exist_elsewhere_test.dart +++ /dev/null @@ -1,16 +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 'package:flutter_test/flutter_test.dart'; - -void main() { - test('Tell the user where to find more tests', () { - print('---'); - print('This package also uses integration_test for its tests.'); - print('See `example/README.md` for more info.'); - print('---'); - }); -} diff --git a/example/windows/.gitignore b/example/windows/.gitignore deleted file mode 100644 index d492d0d..0000000 --- a/example/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -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/example/windows/CMakeLists.txt b/example/windows/CMakeLists.txt deleted file mode 100644 index 921891d..0000000 --- a/example/windows/CMakeLists.txt +++ /dev/null @@ -1,102 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.14) -project(mrzscanner 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 "mrzscanner") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# 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() - -# 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/example/windows/flutter/CMakeLists.txt b/example/windows/flutter/CMakeLists.txt deleted file mode 100644 index 903f489..0000000 --- a/example/windows/flutter/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -# 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/example/windows/flutter/generated_plugin_registrant.cc b/example/windows/flutter/generated_plugin_registrant.cc deleted file mode 100644 index c7ee37d..0000000 --- a/example/windows/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,26 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - -#include -#include -#include -#include -#include - -void RegisterPlugins(flutter::PluginRegistry* registry) { - CameraWindowsRegisterWithRegistrar( - registry->GetRegistrarForPlugin("CameraWindows")); - FileSelectorWindowsRegisterWithRegistrar( - registry->GetRegistrarForPlugin("FileSelectorWindows")); - FlutterOcrSdkPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("FlutterOcrSdkPluginCApi")); - SharePlusWindowsPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("SharePlusWindowsPluginCApi")); - UrlLauncherWindowsRegisterWithRegistrar( - registry->GetRegistrarForPlugin("UrlLauncherWindows")); -} diff --git a/example/windows/flutter/generated_plugin_registrant.h b/example/windows/flutter/generated_plugin_registrant.h deleted file mode 100644 index dc139d8..0000000 --- a/example/windows/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void RegisterPlugins(flutter::PluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/example/windows/flutter/generated_plugins.cmake b/example/windows/flutter/generated_plugins.cmake deleted file mode 100644 index baa860f..0000000 --- a/example/windows/flutter/generated_plugins.cmake +++ /dev/null @@ -1,28 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST - camera_windows - file_selector_windows - flutter_ocr_sdk - share_plus - url_launcher_windows -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/example/windows/runner/CMakeLists.txt b/example/windows/runner/CMakeLists.txt deleted file mode 100644 index 394917c..0000000 --- a/example/windows/runner/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -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/example/windows/runner/Runner.rc b/example/windows/runner/Runner.rc deleted file mode 100644 index b985ed2..0000000 --- a/example/windows/runner/Runner.rc +++ /dev/null @@ -1,121 +0,0 @@ -// 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", "mrzscanner" "\0" - VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "mrzscanner" "\0" - VALUE "LegalCopyright", "Copyright (C) 2023 com.example. All rights reserved." "\0" - VALUE "OriginalFilename", "mrzscanner.exe" "\0" - VALUE "ProductName", "mrzscanner" "\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/example/windows/runner/flutter_window.cpp b/example/windows/runner/flutter_window.cpp deleted file mode 100644 index 955ee30..0000000 --- a/example/windows/runner/flutter_window.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#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/example/windows/runner/flutter_window.h b/example/windows/runner/flutter_window.h deleted file mode 100644 index 6da0652..0000000 --- a/example/windows/runner/flutter_window.h +++ /dev/null @@ -1,33 +0,0 @@ -#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/example/windows/runner/main.cpp b/example/windows/runner/main.cpp deleted file mode 100644 index 5aca9df..0000000 --- a/example/windows/runner/main.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#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"mrzscanner", 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/example/windows/runner/resource.h b/example/windows/runner/resource.h deleted file mode 100644 index 66a65d1..0000000 --- a/example/windows/runner/resource.h +++ /dev/null @@ -1,16 +0,0 @@ -//{{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/example/windows/runner/resources/app_icon.ico b/example/windows/runner/resources/app_icon.ico deleted file mode 100644 index c04e20c..0000000 Binary files a/example/windows/runner/resources/app_icon.ico and /dev/null differ diff --git a/example/windows/runner/runner.exe.manifest b/example/windows/runner/runner.exe.manifest deleted file mode 100644 index a42ea76..0000000 --- a/example/windows/runner/runner.exe.manifest +++ /dev/null @@ -1,20 +0,0 @@ - - - - - PerMonitorV2 - - - - - - - - - - - - - - - diff --git a/example/windows/runner/utils.cpp b/example/windows/runner/utils.cpp deleted file mode 100644 index b2b0873..0000000 --- a/example/windows/runner/utils.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#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(); - } - 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/example/windows/runner/utils.h b/example/windows/runner/utils.h deleted file mode 100644 index 3879d54..0000000 --- a/example/windows/runner/utils.h +++ /dev/null @@ -1,19 +0,0 @@ -#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/example/windows/runner/win32_window.cpp b/example/windows/runner/win32_window.cpp deleted file mode 100644 index 60608d0..0000000 --- a/example/windows/runner/win32_window.cpp +++ /dev/null @@ -1,288 +0,0 @@ -#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/example/windows/runner/win32_window.h b/example/windows/runner/win32_window.h deleted file mode 100644 index e901dde..0000000 --- a/example/windows/runner/win32_window.h +++ /dev/null @@ -1,102 +0,0 @@ -#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/example/windows_camera/.gitignore b/example/windows_camera/.gitignore deleted file mode 100644 index e9dc58d..0000000 --- a/example/windows_camera/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -.DS_Store -.dart_tool/ - -.packages -.pub/ - -build/ diff --git a/example/windows_camera/.metadata b/example/windows_camera/.metadata deleted file mode 100644 index 5bed526..0000000 --- a/example/windows_camera/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# 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: 18116933e77adc82f80866c928266a5b4f1ed645 - channel: stable - -project_type: plugin diff --git a/example/windows_camera/AUTHORS b/example/windows_camera/AUTHORS deleted file mode 100644 index b2178a5..0000000 --- a/example/windows_camera/AUTHORS +++ /dev/null @@ -1,8 +0,0 @@ -# Below is a list of people and organizations that have contributed -# to the Flutter project. Names should be added to the list like so: -# -# Name/Organization - -Google Inc. -Joonas Kerttula -Codemate Ltd. diff --git a/example/windows_camera/CHANGELOG.md b/example/windows_camera/CHANGELOG.md deleted file mode 100644 index 2c0c518..0000000 --- a/example/windows_camera/CHANGELOG.md +++ /dev/null @@ -1,61 +0,0 @@ -## NEXT - -* Aligns Dart and Flutter SDK constraints. - -## 0.2.1+5 - -* Updates links for the merge of flutter/plugins into flutter/packages. -* Updates minimum Flutter version to 3.0. - -## 0.2.1+4 - -* Updates code for stricter lint checks. - -## 0.2.1+3 - -* Updates to latest camera platform interface but fails if user attempts to use streaming with recording (since streaming is currently unsupported on Windows). - -## 0.2.1+2 - -* Updates code for `no_leading_underscores_for_local_identifiers` lint. -* Updates minimum Flutter version to 2.10. - -## 0.2.1+1 - -* Fixes avoid_redundant_argument_values lint warnings and minor typos. - -## 0.2.1 - -* Adds a check for string size before Win32 MultiByte <-> WideChar conversions - -## 0.2.0 - -**BREAKING CHANGES**: - * `CameraException.code` now has value `"CameraAccessDenied"` if camera access permission was denied. - * `CameraException.code` now has value `"camera_error"` if error occurs during capture. - -## 0.1.0+5 - -* Fixes bugs in in error handling. - -## 0.1.0+4 - -* Allows retrying camera initialization after error. - -## 0.1.0+3 - -* Updates the README to better explain how to use the unendorsed package. - -## 0.1.0+2 - -* Updates references to the obsolete master branch. - -## 0.1.0+1 - -* Removes unnecessary imports. -* Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors - lint warnings. - -## 0.1.0 - -* Initial release diff --git a/example/windows_camera/LICENSE b/example/windows_camera/LICENSE deleted file mode 100644 index c6823b8..0000000 --- a/example/windows_camera/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -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. diff --git a/example/windows_camera/README.md b/example/windows_camera/README.md deleted file mode 100644 index 11f68db..0000000 --- a/example/windows_camera/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# Camera Windows Plugin - -The Flutter Camera Windows Plugin project is ported from [camera_windows](https://github.com/flutter/packages/tree/main/packages/camera/camera_windows). It provides a temporary solution for solving the known [issue #97542](https://github.com/flutter/flutter/issues/97542): Support for image streaming is not yet implemented. With the plugin, you can get the camera frames for image processing. - -## Usage -1. In `pubspec.yaml` of your flutter project, add the following dependency: - - ```yaml - camera_windows: - git: - url: https://github.com/yushulx/flutter_camera_windows.git - ``` -2. Create a `StreamSubscription` to receive the camera frames for image processing: - - ```dart - void _onFrameAvailable(FrameAvailabledEvent event) { - if (mounted) { - Map map = event.toJson(); - final Uint8List? data = map['bytes'] as Uint8List?; - // image processing - } - } - - StreamSubscription? _frameAvailableStreamSubscription; - _frameAvailableStreamSubscription?.cancel(); - _frameAvailableStreamSubscription = - (CameraPlatform.instance as CameraWindows) - .onFrameAvailable(cameraId) - .listen(_onFrameAvailable); - ``` - - **Note: To avoid blocking the main thread, you need to move heavy computation to a worker thread: Dart isolate or native thread implemented in platform-specific code. The example demonstrates how to use Dynamsoft Barcode Reader to scan barcode and QR codes. The barcode decoding method is implemented using C++ thread and task queue.** \ No newline at end of file diff --git a/example/windows_camera/lib/camera_windows.dart b/example/windows_camera/lib/camera_windows.dart deleted file mode 100644 index b791d44..0000000 --- a/example/windows_camera/lib/camera_windows.dart +++ /dev/null @@ -1,478 +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:math'; - -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; -import 'package:stream_transform/stream_transform.dart'; - -/// An implementation of [CameraPlatform] for Windows. -class CameraWindows extends CameraPlatform { - /// Registers the Windows implementation of CameraPlatform. - static void registerWith() { - CameraPlatform.instance = CameraWindows(); - } - - /// The method channel used to interact with the native platform. - @visibleForTesting - final MethodChannel pluginChannel = - const MethodChannel('plugins.flutter.io/camera_windows'); - - /// Camera specific method channels to allow communicating with specific cameras. - final Map _cameraChannels = {}; - - /// The controller that broadcasts events coming from handleCameraMethodCall - /// - /// It is a `broadcast` because multiple controllers will connect to - /// different stream views of this Controller. - /// This is only exposed for test purposes. It shouldn't be used by clients of - /// the plugin as it may break or change at any time. - @visibleForTesting - final StreamController cameraEventStreamController = - StreamController.broadcast(); - - /// Returns a stream of camera events for the given [cameraId]. - Stream _cameraEvents(int cameraId) => - cameraEventStreamController.stream - .where((CameraEvent event) => event.cameraId == cameraId); - - @override - Future> availableCameras() async { - try { - final List>? cameras = await pluginChannel - .invokeListMethod>('availableCameras'); - - if (cameras == null) { - return []; - } - - return cameras.map((Map camera) { - return CameraDescription( - name: camera['name'] as String, - lensDirection: - parseCameraLensDirection(camera['lensFacing'] as String), - sensorOrientation: camera['sensorOrientation'] as int, - ); - }).toList(); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - @override - Future createCamera( - CameraDescription cameraDescription, - ResolutionPreset? resolutionPreset, { - bool enableAudio = false, - }) async { - try { - // If resolutionPreset is not specified, plugin selects the highest resolution possible. - final Map? reply = await pluginChannel - .invokeMapMethod('create', { - 'cameraName': cameraDescription.name, - 'resolutionPreset': _serializeResolutionPreset(resolutionPreset), - 'enableAudio': enableAudio, - }); - - if (reply == null) { - throw CameraException('System', 'Cannot create camera'); - } - - return reply['cameraId']! as int; - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - } - - @override - Future initializeCamera( - int cameraId, { - ImageFormatGroup imageFormatGroup = ImageFormatGroup.unknown, - }) async { - final int requestedCameraId = cameraId; - - /// Creates channel for camera events. - _cameraChannels.putIfAbsent(requestedCameraId, () { - final MethodChannel channel = MethodChannel( - 'plugins.flutter.io/camera_windows/camera$requestedCameraId'); - channel.setMethodCallHandler( - (MethodCall call) => handleCameraMethodCall(call, requestedCameraId), - ); - return channel; - }); - - final Map? reply; - try { - reply = await pluginChannel.invokeMapMethod( - 'initialize', - { - 'cameraId': requestedCameraId, - }, - ); - } on PlatformException catch (e) { - throw CameraException(e.code, e.message); - } - - cameraEventStreamController.add( - CameraInitializedEvent( - requestedCameraId, - reply!['previewWidth']!, - reply['previewHeight']!, - ExposureMode.auto, - false, - FocusMode.auto, - false, - ), - ); - } - - @override - Future dispose(int cameraId) async { - await pluginChannel.invokeMethod( - 'dispose', - {'cameraId': cameraId}, - ); - - // Destroy method channel after camera is disposed to be able to handle last messages. - if (_cameraChannels.containsKey(cameraId)) { - final MethodChannel? cameraChannel = _cameraChannels[cameraId]; - cameraChannel?.setMethodCallHandler(null); - _cameraChannels.remove(cameraId); - } - } - - @override - Stream onCameraInitialized(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onCameraResolutionChanged(int cameraId) { - /// Windows API does not automatically change the camera's resolution - /// during capture so these events are never send from the platform. - /// Support for changing resolution should be implemented, if support for - /// requesting resolution change is added to camera platform interface. - return const Stream.empty(); - } - - @override - Stream onCameraClosing(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onCameraError(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - Stream onFrameAvailable(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onVideoRecordedEvent(int cameraId) { - return _cameraEvents(cameraId).whereType(); - } - - @override - Stream onDeviceOrientationChanged() { - // TODO(jokerttu): Implement device orientation detection, https://github.com/flutter/flutter/issues/97540. - // Force device orientation to landscape as by default camera plugin uses portraitUp orientation. - return Stream.value( - const DeviceOrientationChangedEvent(DeviceOrientation.landscapeRight), - ); - } - - @override - Future lockCaptureOrientation( - int cameraId, - DeviceOrientation orientation, - ) async { - // TODO(jokerttu): Implement lock capture orientation feature, https://github.com/flutter/flutter/issues/97540. - throw UnimplementedError('lockCaptureOrientation() is not implemented.'); - } - - @override - Future unlockCaptureOrientation(int cameraId) async { - // TODO(jokerttu): Implement unlock capture orientation feature, https://github.com/flutter/flutter/issues/97540. - throw UnimplementedError('unlockCaptureOrientation() is not implemented.'); - } - - @override - Future takePicture(int cameraId) async { - final String? path; - path = await pluginChannel.invokeMethod( - 'takePicture', - {'cameraId': cameraId}, - ); - - return XFile(path!); - } - - @override - Future prepareForVideoRecording() => - pluginChannel.invokeMethod('prepareForVideoRecording'); - - @override - Future startVideoRecording(int cameraId, - {Duration? maxVideoDuration}) async { - return startVideoCapturing( - VideoCaptureOptions(cameraId, maxDuration: maxVideoDuration)); - } - - @override - Future startVideoCapturing(VideoCaptureOptions options) async { - if (options.streamCallback != null || options.streamOptions != null) { - throw UnimplementedError( - 'Streaming is not currently supported on Windows'); - } - - await pluginChannel.invokeMethod( - 'startVideoRecording', - { - 'cameraId': options.cameraId, - 'maxVideoDuration': options.maxDuration?.inMilliseconds, - }, - ); - } - - @override - Future stopVideoRecording(int cameraId) async { - final String? path; - - path = await pluginChannel.invokeMethod( - 'stopVideoRecording', - {'cameraId': cameraId}, - ); - - return XFile(path!); - } - - @override - Future pauseVideoRecording(int cameraId) async { - throw UnsupportedError( - 'pauseVideoRecording() is not supported due to Win32 API limitations.'); - } - - @override - Future resumeVideoRecording(int cameraId) async { - throw UnsupportedError( - 'resumeVideoRecording() is not supported due to Win32 API limitations.'); - } - - @override - Future setFlashMode(int cameraId, FlashMode mode) async { - // TODO(jokerttu): Implement flash mode support, https://github.com/flutter/flutter/issues/97537. - throw UnimplementedError('setFlashMode() is not implemented.'); - } - - @override - Future setExposureMode(int cameraId, ExposureMode mode) async { - // TODO(jokerttu): Implement explosure mode support, https://github.com/flutter/flutter/issues/97537. - throw UnimplementedError('setExposureMode() is not implemented.'); - } - - @override - Future setExposurePoint(int cameraId, Point? point) async { - assert(point == null || point.x >= 0 && point.x <= 1); - assert(point == null || point.y >= 0 && point.y <= 1); - - throw UnsupportedError( - 'setExposurePoint() is not supported due to Win32 API limitations.'); - } - - @override - Future getMinExposureOffset(int cameraId) async { - // TODO(jokerttu): Implement exposure control support, https://github.com/flutter/flutter/issues/97537. - // Value is returned to support existing implementations. - return 0.0; - } - - @override - Future getMaxExposureOffset(int cameraId) async { - // TODO(jokerttu): Implement exposure control support, https://github.com/flutter/flutter/issues/97537. - // Value is returned to support existing implementations. - return 0.0; - } - - @override - Future getExposureOffsetStepSize(int cameraId) async { - // TODO(jokerttu): Implement exposure control support, https://github.com/flutter/flutter/issues/97537. - // Value is returned to support existing implementations. - return 1.0; - } - - @override - Future setExposureOffset(int cameraId, double offset) async { - // TODO(jokerttu): Implement exposure control support, https://github.com/flutter/flutter/issues/97537. - throw UnimplementedError('setExposureOffset() is not implemented.'); - } - - @override - Future setFocusMode(int cameraId, FocusMode mode) async { - // TODO(jokerttu): Implement focus mode support, https://github.com/flutter/flutter/issues/97537. - throw UnimplementedError('setFocusMode() is not implemented.'); - } - - @override - Future setFocusPoint(int cameraId, Point? point) async { - assert(point == null || point.x >= 0 && point.x <= 1); - assert(point == null || point.y >= 0 && point.y <= 1); - - throw UnsupportedError( - 'setFocusPoint() is not supported due to Win32 API limitations.'); - } - - @override - Future getMinZoomLevel(int cameraId) async { - // TODO(jokerttu): Implement zoom level support, https://github.com/flutter/flutter/issues/97537. - // Value is returned to support existing implementations. - return 1.0; - } - - @override - Future getMaxZoomLevel(int cameraId) async { - // TODO(jokerttu): Implement zoom level support, https://github.com/flutter/flutter/issues/97537. - // Value is returned to support existing implementations. - return 1.0; - } - - @override - Future setZoomLevel(int cameraId, double zoom) async { - // TODO(jokerttu): Implement zoom level support, https://github.com/flutter/flutter/issues/97537. - throw UnimplementedError('setZoomLevel() is not implemented.'); - } - - @override - Future pausePreview(int cameraId) async { - await pluginChannel.invokeMethod( - 'pausePreview', - {'cameraId': cameraId}, - ); - } - - @override - Future resumePreview(int cameraId) async { - await pluginChannel.invokeMethod( - 'resumePreview', - {'cameraId': cameraId}, - ); - } - - @override - Widget buildPreview(int cameraId) { - return Texture(textureId: cameraId); - } - - /// Returns the resolution preset as a nullable String. - String? _serializeResolutionPreset(ResolutionPreset? resolutionPreset) { - switch (resolutionPreset) { - case null: - return null; - case ResolutionPreset.max: - return 'max'; - case ResolutionPreset.ultraHigh: - return 'ultraHigh'; - case ResolutionPreset.veryHigh: - return 'veryHigh'; - case ResolutionPreset.high: - return 'high'; - case ResolutionPreset.medium: - return 'medium'; - case ResolutionPreset.low: - return 'low'; - } - } - - /// Converts messages received from the native platform into camera events. - /// - /// This is only exposed for test purposes. It shouldn't be used by clients - /// of the plugin as it may break or change at any time. - @visibleForTesting - Future handleCameraMethodCall(MethodCall call, int cameraId) async { - switch (call.method) { - case 'camera_closing': - cameraEventStreamController.add( - CameraClosingEvent( - cameraId, - ), - ); - break; - case 'video_recorded': - final Map arguments = - (call.arguments as Map).cast(); - final int? maxDuration = arguments['maxVideoDuration'] as int?; - // This is called if maxVideoDuration was given on record start. - cameraEventStreamController.add( - VideoRecordedEvent( - cameraId, - XFile(arguments['path']! as String), - maxDuration != null ? Duration(milliseconds: maxDuration) : null, - ), - ); - break; - case 'error': - final Map arguments = - (call.arguments as Map).cast(); - cameraEventStreamController.add( - CameraErrorEvent( - cameraId, - arguments['description']! as String, - ), - ); - break; - case 'frame_available': - final Map arguments = - (call.arguments as Map).cast(); - Uint8List bytes = arguments['bytes']! as Uint8List; - cameraEventStreamController.add( - FrameAvailabledEvent(cameraId, bytes), - ); - break; - default: - throw UnimplementedError(); - } - } - - /// Parses string presentation of the camera lens direction and returns enum value. - @visibleForTesting - CameraLensDirection parseCameraLensDirection(String string) { - switch (string) { - case 'front': - return CameraLensDirection.front; - case 'back': - return CameraLensDirection.back; - case 'external': - return CameraLensDirection.external; - } - throw ArgumentError('Unknown CameraLensDirection value'); - } -} - -class FrameAvailabledEvent extends CameraEvent { - const FrameAvailabledEvent(super.cameraId, this.bytes); - - FrameAvailabledEvent.fromJson(Map json) - : bytes = json['bytes'] as Uint8List, - super(json['cameraId'] as int); - - final Uint8List bytes; - - Map toJson() => - {'cameraId': cameraId, 'bytes': bytes}; - - @override - bool operator ==(Object other) => - identical(this, other) || - super == other && - other is FrameAvailabledEvent && - runtimeType == other.runtimeType && - bytes == other.bytes; - - @override - int get hashCode => Object.hash(super.hashCode, bytes); -} diff --git a/example/windows_camera/pubspec.lock b/example/windows_camera/pubspec.lock deleted file mode 100644 index 28e8bd7..0000000 --- a/example/windows_camera/pubspec.lock +++ /dev/null @@ -1,229 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - async: - dependency: "direct dev" - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - camera_platform_interface: - dependency: "direct main" - description: - name: camera_platform_interface - sha256: "00d972adee2e8a282b4d7445e8e694aa1dc0c36b70455b99afa96fbf5e814119" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - characters: - dependency: transitive - description: - name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.dev" - source: hosted - version: "1.3.0" - clock: - dependency: transitive - description: - name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.dev" - source: hosted - version: "1.1.1" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - cross_file: - dependency: "direct main" - description: - name: cross_file - sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9" - url: "https://pub.dev" - source: hosted - version: "0.3.3+4" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - js: - dependency: transitive - description: - name: js - sha256: a5e201311cb08bf3912ebbe9a2be096e182d703f881136ec1e81a2338a9e120d - url: "https://pub.dev" - source: hosted - version: "0.6.4" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" - url: "https://pub.dev" - source: hosted - version: "10.0.5" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" - url: "https://pub.dev" - source: hosted - version: "3.0.5" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 - url: "https://pub.dev" - source: hosted - version: "1.15.0" - path: - dependency: transitive - description: - name: path - sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.99" - source_span: - dependency: transitive - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - stream_transform: - dependency: "direct main" - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" - url: "https://pub.dev" - source: hosted - version: "0.7.2" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" - url: "https://pub.dev" - source: hosted - version: "14.2.5" -sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" diff --git a/example/windows_camera/pubspec.yaml b/example/windows_camera/pubspec.yaml deleted file mode 100644 index 04c115a..0000000 --- a/example/windows_camera/pubspec.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: camera_windows -description: A Flutter plugin for getting information about and controlling the camera on Windows. -repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_windows -issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.2.1+5 - -environment: - sdk: ">=2.17.0 <3.0.0" - flutter: ">=3.0.0" - -flutter: - plugin: - implements: camera - platforms: - windows: - pluginClass: CameraWindows - dartPluginClass: CameraWindows - -dependencies: - camera_platform_interface: ^2.3.1 - cross_file: ^0.3.1 - flutter: - sdk: flutter - stream_transform: ^2.0.0 - -dev_dependencies: - async: ^2.5.0 - flutter_test: - sdk: flutter diff --git a/example/windows_camera/test/camera_windows_test.dart b/example/windows_camera/test/camera_windows_test.dart deleted file mode 100644 index 8d7b5d3..0000000 --- a/example/windows_camera/test/camera_windows_test.dart +++ /dev/null @@ -1,675 +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:async/async.dart'; -import 'package:camera_platform_interface/camera_platform_interface.dart'; -import 'package:camera_windows/camera_windows.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter/widgets.dart'; -import 'package:flutter_test/flutter_test.dart'; -import './utils/method_channel_mock.dart'; - -void main() { - const String pluginChannelName = 'plugins.flutter.io/camera_windows'; - TestWidgetsFlutterBinding.ensureInitialized(); - - group('$CameraWindows()', () { - test('registered instance', () { - CameraWindows.registerWith(); - expect(CameraPlatform.instance, isA()); - }); - - group('Creation, Initialization & Disposal Tests', () { - test('Should send creation data and receive back a camera id', () async { - // Arrange - final MethodChannelMock cameraMockChannel = MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': { - 'cameraId': 1, - 'imageFormatGroup': 'unknown', - } - }); - final CameraWindows plugin = CameraWindows(); - - // Act - final int cameraId = await plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.front, - sensorOrientation: 0), - ResolutionPreset.high, - ); - - // Assert - expect(cameraMockChannel.log, [ - isMethodCall( - 'create', - arguments: { - 'cameraName': 'Test', - 'resolutionPreset': 'high', - 'enableAudio': false - }, - ), - ]); - expect(cameraId, 1); - }); - - test( - 'Should throw CameraException when create throws a PlatformException', - () { - // Arrange - MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': PlatformException( - code: 'TESTING_ERROR_CODE', - message: 'Mock error message used during testing.', - ) - }); - final CameraWindows plugin = CameraWindows(); - - // Act - expect( - () => plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ), - ResolutionPreset.high, - ), - throwsA( - isA() - .having( - (CameraException e) => e.code, 'code', 'TESTING_ERROR_CODE') - .having((CameraException e) => e.description, 'description', - 'Mock error message used during testing.'), - ), - ); - }); - - test( - 'Should throw CameraException when initialize throws a PlatformException', - () { - // Arrange - MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'initialize': PlatformException( - code: 'TESTING_ERROR_CODE', - message: 'Mock error message used during testing.', - ) - }, - ); - final CameraWindows plugin = CameraWindows(); - - // Act - expect( - () => plugin.initializeCamera(0), - throwsA( - isA() - .having((CameraException e) => e.code, 'code', - 'TESTING_ERROR_CODE') - .having( - (CameraException e) => e.description, - 'description', - 'Mock error message used during testing.', - ), - ), - ); - }, - ); - - test('Should send initialization data', () async { - // Arrange - final MethodChannelMock cameraMockChannel = MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': { - 'cameraId': 1, - 'imageFormatGroup': 'unknown', - }, - 'initialize': { - 'previewWidth': 1920.toDouble(), - 'previewHeight': 1080.toDouble() - }, - }); - final CameraWindows plugin = CameraWindows(); - final int cameraId = await plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ), - ResolutionPreset.high, - ); - - // Act - await plugin.initializeCamera(cameraId); - - // Assert - expect(cameraId, 1); - expect(cameraMockChannel.log, [ - anything, - isMethodCall( - 'initialize', - arguments: {'cameraId': 1}, - ), - ]); - }); - - test('Should send a disposal call on dispose', () async { - // Arrange - final MethodChannelMock cameraMockChannel = MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': {'cameraId': 1}, - 'initialize': { - 'previewWidth': 1920.toDouble(), - 'previewHeight': 1080.toDouble() - }, - 'dispose': {'cameraId': 1} - }); - - final CameraWindows plugin = CameraWindows(); - final int cameraId = await plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ), - ResolutionPreset.high, - ); - await plugin.initializeCamera(cameraId); - - // Act - await plugin.dispose(cameraId); - - // Assert - expect(cameraId, 1); - expect(cameraMockChannel.log, [ - anything, - anything, - isMethodCall( - 'dispose', - arguments: {'cameraId': 1}, - ), - ]); - }); - }); - - group('Event Tests', () { - late CameraWindows plugin; - late int cameraId; - setUp(() async { - MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': {'cameraId': 1}, - 'initialize': { - 'previewWidth': 1920.toDouble(), - 'previewHeight': 1080.toDouble() - }, - }, - ); - - plugin = CameraWindows(); - cameraId = await plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ), - ResolutionPreset.high, - ); - await plugin.initializeCamera(cameraId); - }); - - test('Should receive camera closing events', () async { - // Act - final Stream eventStream = - plugin.onCameraClosing(cameraId); - final StreamQueue streamQueue = - StreamQueue(eventStream); - - // Emit test events - final CameraClosingEvent event = CameraClosingEvent(cameraId); - await plugin.handleCameraMethodCall( - MethodCall('camera_closing', event.toJson()), cameraId); - await plugin.handleCameraMethodCall( - MethodCall('camera_closing', event.toJson()), cameraId); - await plugin.handleCameraMethodCall( - MethodCall('camera_closing', event.toJson()), cameraId); - - // Assert - expect(await streamQueue.next, event); - expect(await streamQueue.next, event); - expect(await streamQueue.next, event); - - // Clean up - await streamQueue.cancel(); - }); - - test('Should receive camera error events', () async { - // Act - final Stream errorStream = - plugin.onCameraError(cameraId); - final StreamQueue streamQueue = - StreamQueue(errorStream); - - // Emit test events - final CameraErrorEvent event = - CameraErrorEvent(cameraId, 'Error Description'); - await plugin.handleCameraMethodCall( - MethodCall('error', event.toJson()), cameraId); - await plugin.handleCameraMethodCall( - MethodCall('error', event.toJson()), cameraId); - await plugin.handleCameraMethodCall( - MethodCall('error', event.toJson()), cameraId); - - // Assert - expect(await streamQueue.next, event); - expect(await streamQueue.next, event); - expect(await streamQueue.next, event); - - // Clean up - await streamQueue.cancel(); - }); - }); - - group('Function Tests', () { - late CameraWindows plugin; - late int cameraId; - - setUp(() async { - MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'create': {'cameraId': 1}, - 'initialize': { - 'previewWidth': 1920.toDouble(), - 'previewHeight': 1080.toDouble() - }, - }, - ); - plugin = CameraWindows(); - cameraId = await plugin.createCamera( - const CameraDescription( - name: 'Test', - lensDirection: CameraLensDirection.back, - sensorOrientation: 0, - ), - ResolutionPreset.high, - ); - await plugin.initializeCamera(cameraId); - }); - - test('Should fetch CameraDescription instances for available cameras', - () async { - // Arrange - final List returnData = [ - { - 'name': 'Test 1', - 'lensFacing': 'front', - 'sensorOrientation': 1 - }, - { - 'name': 'Test 2', - 'lensFacing': 'back', - 'sensorOrientation': 2 - } - ]; - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'availableCameras': returnData}, - ); - - // Act - final List cameras = await plugin.availableCameras(); - - // Assert - expect(channel.log, [ - isMethodCall('availableCameras', arguments: null), - ]); - expect(cameras.length, returnData.length); - for (int i = 0; i < returnData.length; i++) { - final Map typedData = - (returnData[i] as Map).cast(); - final CameraDescription cameraDescription = CameraDescription( - name: typedData['name']! as String, - lensDirection: plugin - .parseCameraLensDirection(typedData['lensFacing']! as String), - sensorOrientation: typedData['sensorOrientation']! as int, - ); - expect(cameras[i], cameraDescription); - } - }); - - test( - 'Should throw CameraException when availableCameras throws a PlatformException', - () { - // Arrange - MethodChannelMock( - channelName: pluginChannelName, - methods: { - 'availableCameras': PlatformException( - code: 'TESTING_ERROR_CODE', - message: 'Mock error message used during testing.', - ) - }); - - // Act - expect( - plugin.availableCameras, - throwsA( - isA() - .having( - (CameraException e) => e.code, 'code', 'TESTING_ERROR_CODE') - .having((CameraException e) => e.description, 'description', - 'Mock error message used during testing.'), - ), - ); - }); - - test('Should take a picture and return an XFile instance', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'takePicture': '/test/path.jpg'}); - - // Act - final XFile file = await plugin.takePicture(cameraId); - - // Assert - expect(channel.log, [ - isMethodCall('takePicture', arguments: { - 'cameraId': cameraId, - }), - ]); - expect(file.path, '/test/path.jpg'); - }); - - test('Should prepare for video recording', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'prepareForVideoRecording': null}, - ); - - // Act - await plugin.prepareForVideoRecording(); - - // Assert - expect(channel.log, [ - isMethodCall('prepareForVideoRecording', arguments: null), - ]); - }); - - test('Should start recording a video', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'startVideoRecording': null}, - ); - - // Act - await plugin.startVideoRecording(cameraId); - - // Assert - expect(channel.log, [ - isMethodCall('startVideoRecording', arguments: { - 'cameraId': cameraId, - 'maxVideoDuration': null, - }), - ]); - }); - - test('Should pass maxVideoDuration when starting recording a video', - () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'startVideoRecording': null}, - ); - - // Act - await plugin.startVideoRecording( - cameraId, - maxVideoDuration: const Duration(seconds: 10), - ); - - // Assert - expect(channel.log, [ - isMethodCall('startVideoRecording', arguments: { - 'cameraId': cameraId, - 'maxVideoDuration': 10000 - }), - ]); - }); - - test('capturing fails if trying to stream', () async { - // Act and Assert - expect( - () => plugin.startVideoCapturing(VideoCaptureOptions(cameraId, - streamCallback: (CameraImageData imageData) {})), - throwsA(isA()), - ); - }); - - test('Should stop a video recording and return the file', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'stopVideoRecording': '/test/path.mp4'}, - ); - - // Act - final XFile file = await plugin.stopVideoRecording(cameraId); - - // Assert - expect(channel.log, [ - isMethodCall('stopVideoRecording', arguments: { - 'cameraId': cameraId, - }), - ]); - expect(file.path, '/test/path.mp4'); - }); - - test('Should throw UnsupportedError when pause video recording is called', - () async { - // Act - expect( - () => plugin.pauseVideoRecording(cameraId), - throwsA(isA()), - ); - }); - - test( - 'Should throw UnsupportedError when resume video recording is called', - () async { - // Act - expect( - () => plugin.resumeVideoRecording(cameraId), - throwsA(isA()), - ); - }); - - test('Should throw UnimplementedError when flash mode is set', () async { - // Act - expect( - () => plugin.setFlashMode(cameraId, FlashMode.torch), - throwsA(isA()), - ); - }); - - test('Should throw UnimplementedError when exposure mode is set', - () async { - // Act - expect( - () => plugin.setExposureMode(cameraId, ExposureMode.auto), - throwsA(isA()), - ); - }); - - test('Should throw UnsupportedError when exposure point is set', - () async { - // Act - expect( - () => plugin.setExposurePoint(cameraId, null), - throwsA(isA()), - ); - }); - - test('Should get the min exposure offset', () async { - // Act - final double minExposureOffset = - await plugin.getMinExposureOffset(cameraId); - - // Assert - expect(minExposureOffset, 0.0); - }); - - test('Should get the max exposure offset', () async { - // Act - final double maxExposureOffset = - await plugin.getMaxExposureOffset(cameraId); - - // Assert - expect(maxExposureOffset, 0.0); - }); - - test('Should get the exposure offset step size', () async { - // Act - final double stepSize = - await plugin.getExposureOffsetStepSize(cameraId); - - // Assert - expect(stepSize, 1.0); - }); - - test('Should throw UnimplementedError when exposure offset is set', - () async { - // Act - expect( - () => plugin.setExposureOffset(cameraId, 0.5), - throwsA(isA()), - ); - }); - - test('Should throw UnimplementedError when focus mode is set', () async { - // Act - expect( - () => plugin.setFocusMode(cameraId, FocusMode.auto), - throwsA(isA()), - ); - }); - - test('Should throw UnsupportedError when exposure point is set', - () async { - // Act - expect( - () => plugin.setFocusMode(cameraId, FocusMode.auto), - throwsA(isA()), - ); - }); - - test('Should build a texture widget as preview widget', () async { - // Act - final Widget widget = plugin.buildPreview(cameraId); - - // Act - expect(widget is Texture, isTrue); - expect((widget as Texture).textureId, cameraId); - }); - - test('Should throw UnimplementedError when handling unknown method', () { - final CameraWindows plugin = CameraWindows(); - - expect( - () => plugin.handleCameraMethodCall( - const MethodCall('unknown_method'), 1), - throwsA(isA())); - }); - - test('Should get the max zoom level', () async { - // Act - final double maxZoomLevel = await plugin.getMaxZoomLevel(cameraId); - - // Assert - expect(maxZoomLevel, 1.0); - }); - - test('Should get the min zoom level', () async { - // Act - final double maxZoomLevel = await plugin.getMinZoomLevel(cameraId); - - // Assert - expect(maxZoomLevel, 1.0); - }); - - test('Should throw UnimplementedError when zoom level is set', () async { - // Act - expect( - () => plugin.setZoomLevel(cameraId, 2.0), - throwsA(isA()), - ); - }); - - test( - 'Should throw UnimplementedError when lock capture orientation is called', - () async { - // Act - expect( - () => plugin.setZoomLevel(cameraId, 2.0), - throwsA(isA()), - ); - }); - - test( - 'Should throw UnimplementedError when unlock capture orientation is called', - () async { - // Act - expect( - () => plugin.unlockCaptureOrientation(cameraId), - throwsA(isA()), - ); - }); - - test('Should pause the camera preview', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'pausePreview': null}, - ); - - // Act - await plugin.pausePreview(cameraId); - - // Assert - expect(channel.log, [ - isMethodCall('pausePreview', - arguments: {'cameraId': cameraId}), - ]); - }); - - test('Should resume the camera preview', () async { - // Arrange - final MethodChannelMock channel = MethodChannelMock( - channelName: pluginChannelName, - methods: {'resumePreview': null}, - ); - - // Act - await plugin.resumePreview(cameraId); - - // Assert - expect(channel.log, [ - isMethodCall('resumePreview', - arguments: {'cameraId': cameraId}), - ]); - }); - }); - }); -} diff --git a/example/windows_camera/test/utils/method_channel_mock.dart b/example/windows_camera/test/utils/method_channel_mock.dart deleted file mode 100644 index 559f606..0000000 --- a/example/windows_camera/test/utils/method_channel_mock.dart +++ /dev/null @@ -1,53 +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:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; - -/// A mock [MethodChannel] implementation for use in tests. -class MethodChannelMock { - /// Creates a new instance with the specified channel name. - /// - /// This method channel will handle all method invocations specified by - /// returning the value mapped to the method name key. If a delay is - /// specified, results are returned after the delay has elapsed. - MethodChannelMock({ - required String channelName, - this.delay, - required this.methods, - }) : methodChannel = MethodChannel(channelName) { - _ambiguate(TestDefaultBinaryMessengerBinding.instance)! - .defaultBinaryMessenger - .setMockMethodCallHandler(methodChannel, _handler); - } - - final Duration? delay; - final MethodChannel methodChannel; - final Map methods; - final List log = []; - - Future _handler(MethodCall methodCall) async { - log.add(methodCall); - - if (!methods.containsKey(methodCall.method)) { - throw MissingPluginException('No TEST implementation found for method ' - '${methodCall.method} on channel ${methodChannel.name}'); - } - - return Future.delayed(delay ?? Duration.zero, () { - final dynamic result = methods[methodCall.method]; - if (result is Exception) { - throw result; - } - - return Future.value(result); - }); - } -} - -/// This allows a value of type T or T? to be treated as a value of type T?. -/// -/// We use this so that APIs that have become non-nullable can still be used -/// with `!` and `?` on the stable branch. -T? _ambiguate(T? value) => value; diff --git a/example/windows_camera/windows/.gitignore b/example/windows_camera/windows/.gitignore deleted file mode 100644 index b3eb2be..0000000 --- a/example/windows_camera/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ - -# 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/example/windows_camera/windows/CMakeLists.txt b/example/windows_camera/windows/CMakeLists.txt deleted file mode 100644 index caeb109..0000000 --- a/example/windows_camera/windows/CMakeLists.txt +++ /dev/null @@ -1,99 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -set(PROJECT_NAME "camera_windows") -project(${PROJECT_NAME} LANGUAGES CXX) - -# This value is used when generating builds using this plugin, so it must -# not be changed -set(PLUGIN_NAME "${PROJECT_NAME}_plugin") - -list(APPEND PLUGIN_SOURCES - "camera_plugin.h" - "camera_plugin.cpp" - "camera.h" - "camera.cpp" - "capture_controller.h" - "capture_controller.cpp" - "capture_controller_listener.h" - "capture_engine_listener.h" - "capture_engine_listener.cpp" - "string_utils.h" - "string_utils.cpp" - "capture_device_info.h" - "capture_device_info.cpp" - "preview_handler.h" - "preview_handler.cpp" - "record_handler.h" - "record_handler.cpp" - "photo_handler.h" - "photo_handler.cpp" - "texture_handler.h" - "texture_handler.cpp" - "com_heap_ptr.h" -) - -add_library(${PLUGIN_NAME} SHARED - "camera_windows.cpp" - "include/camera_windows/camera_windows.h" - ${PLUGIN_SOURCES} -) - -apply_standard_settings(${PLUGIN_NAME}) -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PRIVATE flutter flutter_wrapper_plugin) -target_link_libraries(${PLUGIN_NAME} PRIVATE mf mfplat mfuuid d3d11) - -# List of absolute paths to libraries that should be bundled with the plugin -set(camera_windows_bundled_libraries - "" - PARENT_SCOPE -) - - -# === Tests === - -if (${include_${PROJECT_NAME}_tests}) -set(TEST_RUNNER "${PROJECT_NAME}_test") -enable_testing() -# TODO(stuartmorgan): Consider using a single shared, pre-checked-in googletest -# instance rather than downloading for each plugin. This approach makes sense -# for a template, but not for a monorepo with many plugins. -include(FetchContent) -FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/release-1.11.0.zip -) -# Prevent overriding the parent project's compiler/linker settings -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -# Disable install commands for gtest so it doesn't end up in the bundle. -set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of googletest" FORCE) - -FetchContent_MakeAvailable(googletest) - -# The plugin's C API is not very useful for unit testing, so build the sources -# directly into the test binary rather than using the DLL. -add_executable(${TEST_RUNNER} - test/mocks.h - test/camera_plugin_test.cpp - test/camera_test.cpp - test/capture_controller_test.cpp - ${PLUGIN_SOURCES} -) -apply_standard_settings(${TEST_RUNNER}) -target_include_directories(${TEST_RUNNER} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") -target_link_libraries(${TEST_RUNNER} PRIVATE flutter_wrapper_plugin) -target_link_libraries(${TEST_RUNNER} PRIVATE mf mfplat mfuuid d3d11) -target_link_libraries(${TEST_RUNNER} PRIVATE gtest_main gmock) - -# flutter_wrapper_plugin has link dependencies on the Flutter DLL. -add_custom_command(TARGET ${TEST_RUNNER} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${FLUTTER_LIBRARY}" $ -) - -include(GoogleTest) -gtest_discover_tests(${TEST_RUNNER}) -endif() diff --git a/example/windows_camera/windows/camera.cpp b/example/windows_camera/windows/camera.cpp deleted file mode 100644 index f4309d9..0000000 --- a/example/windows_camera/windows/camera.cpp +++ /dev/null @@ -1,318 +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. - -#include "camera.h" - -namespace camera_windows { -using flutter::EncodableList; -using flutter::EncodableMap; -using flutter::EncodableValue; - -// Camera channel events. -constexpr char kCameraMethodChannelBaseName[] = - "plugins.flutter.io/camera_windows/camera"; -constexpr char kVideoRecordedEvent[] = "video_recorded"; -constexpr char kCameraClosingEvent[] = "camera_closing"; -constexpr char kErrorEvent[] = "error"; -constexpr char kStreamedFrameAvailable[] = "frame_available"; -// Camera error codes -constexpr char kCameraAccessDenied[] = "CameraAccessDenied"; -constexpr char kCameraError[] = "camera_error"; -constexpr char kPluginDisposed[] = "plugin_disposed"; - -std::string GetErrorCode(CameraResult result) { - assert(result != CameraResult::kSuccess); - - switch (result) { - case CameraResult::kAccessDenied: - return kCameraAccessDenied; - - case CameraResult::kSuccess: - case CameraResult::kError: - default: - return kCameraError; - } -} - -CameraImpl::CameraImpl(const std::string& device_id) - : device_id_(device_id), Camera(device_id) {} - -CameraImpl::~CameraImpl() { - // Sends camera closing event. - OnCameraClosing(); - - capture_controller_ = nullptr; - SendErrorForPendingResults(kPluginDisposed, - "Plugin disposed before request was handled"); -} - -bool CameraImpl::InitCamera(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - bool record_audio, - ResolutionPreset resolution_preset) { - auto capture_controller_factory = - std::make_unique(); - return InitCamera(std::move(capture_controller_factory), texture_registrar, - messenger, record_audio, resolution_preset); -} - -bool CameraImpl::InitCamera( - std::unique_ptr capture_controller_factory, - flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, bool record_audio, - ResolutionPreset resolution_preset) { - assert(!device_id_.empty()); - messenger_ = messenger; - capture_controller_ = - capture_controller_factory->CreateCaptureController(this); - return capture_controller_->InitCaptureDevice( - texture_registrar, device_id_, record_audio, resolution_preset); -} - -bool CameraImpl::AddPendingResult( - PendingResultType type, std::unique_ptr> result) { - assert(result); - - auto it = pending_results_.find(type); - if (it != pending_results_.end()) { - result->Error("Duplicate request", "Method handler already called"); - return false; - } - - pending_results_.insert(std::make_pair(type, std::move(result))); - return true; -} - -std::unique_ptr> CameraImpl::GetPendingResultByType( - PendingResultType type) { - auto it = pending_results_.find(type); - if (it == pending_results_.end()) { - return nullptr; - } - auto result = std::move(it->second); - pending_results_.erase(it); - return result; -} - -bool CameraImpl::HasPendingResultByType(PendingResultType type) const { - auto it = pending_results_.find(type); - if (it == pending_results_.end()) { - return false; - } - return it->second != nullptr; -} - -void CameraImpl::SendErrorForPendingResults(const std::string& error_code, - const std::string& description) { - for (const auto& pending_result : pending_results_) { - pending_result.second->Error(error_code, description); - } - pending_results_.clear(); -} - -MethodChannel<>* CameraImpl::GetMethodChannel() { - assert(messenger_); - assert(camera_id_); - - // Use existing channel if initialized - if (camera_channel_) { - return camera_channel_.get(); - } - - auto channel_name = - std::string(kCameraMethodChannelBaseName) + std::to_string(camera_id_); - - camera_channel_ = std::make_unique>( - messenger_, channel_name, &flutter::StandardMethodCodec::GetInstance()); - - return camera_channel_.get(); -} - -void CameraImpl::OnCreateCaptureEngineSucceeded(int64_t texture_id) { - // Use texture id as camera id - camera_id_ = texture_id; - auto pending_result = - GetPendingResultByType(PendingResultType::kCreateCamera); - if (pending_result) { - pending_result->Success(EncodableMap( - {{EncodableValue("cameraId"), EncodableValue(texture_id)}})); - } -} - -void CameraImpl::OnCreateCaptureEngineFailed(CameraResult result, - const std::string& error) { - auto pending_result = - GetPendingResultByType(PendingResultType::kCreateCamera); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -} - -void CameraImpl::OnStartPreviewSucceeded(int32_t width, int32_t height) { - auto pending_result = GetPendingResultByType(PendingResultType::kInitialize); - if (pending_result) { - pending_result->Success(EncodableValue(EncodableMap({ - {EncodableValue("previewWidth"), - EncodableValue(static_cast(width))}, - {EncodableValue("previewHeight"), - EncodableValue(static_cast(height))}, - }))); - } -}; - -void CameraImpl::OnStartPreviewFailed(CameraResult result, - const std::string& error) { - auto pending_result = GetPendingResultByType(PendingResultType::kInitialize); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -}; - -void CameraImpl::OnResumePreviewSucceeded() { - auto pending_result = - GetPendingResultByType(PendingResultType::kResumePreview); - if (pending_result) { - pending_result->Success(); - } -} - -void CameraImpl::OnResumePreviewFailed(CameraResult result, - const std::string& error) { - auto pending_result = - GetPendingResultByType(PendingResultType::kResumePreview); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -} - -void CameraImpl::OnPausePreviewSucceeded() { - auto pending_result = - GetPendingResultByType(PendingResultType::kPausePreview); - if (pending_result) { - pending_result->Success(); - } -} - -void CameraImpl::OnPausePreviewFailed(CameraResult result, - const std::string& error) { - auto pending_result = - GetPendingResultByType(PendingResultType::kPausePreview); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -} - -void CameraImpl::OnStartRecordSucceeded() { - auto pending_result = GetPendingResultByType(PendingResultType::kStartRecord); - if (pending_result) { - pending_result->Success(); - } -}; - -void CameraImpl::OnStartRecordFailed(CameraResult result, - const std::string& error) { - auto pending_result = GetPendingResultByType(PendingResultType::kStartRecord); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -}; - -void CameraImpl::OnStopRecordSucceeded(const std::string& file_path) { - auto pending_result = GetPendingResultByType(PendingResultType::kStopRecord); - if (pending_result) { - pending_result->Success(EncodableValue(file_path)); - } -}; - -void CameraImpl::OnStopRecordFailed(CameraResult result, - const std::string& error) { - auto pending_result = GetPendingResultByType(PendingResultType::kStopRecord); - if (pending_result) { - std::string error_code = GetErrorCode(result); - pending_result->Error(error_code, error); - } -}; - -void CameraImpl::OnTakePictureSucceeded(const std::string& file_path) { - auto pending_result = GetPendingResultByType(PendingResultType::kTakePicture); - if (pending_result) { - pending_result->Success(EncodableValue(file_path)); - } -}; - -void CameraImpl::OnTakePictureFailed(CameraResult result, - const std::string& error) { - auto pending_take_picture_result = - GetPendingResultByType(PendingResultType::kTakePicture); - if (pending_take_picture_result) { - std::string error_code = GetErrorCode(result); - pending_take_picture_result->Error(error_code, error); - } -}; - -void CameraImpl::OnVideoRecordSucceeded(const std::string& file_path, - int64_t video_duration_ms) { - if (messenger_ && camera_id_ >= 0) { - auto channel = GetMethodChannel(); - - std::unique_ptr message_data = - std::make_unique( - EncodableMap({{EncodableValue("path"), EncodableValue(file_path)}, - {EncodableValue("maxVideoDuration"), - EncodableValue(video_duration_ms)}})); - - channel->InvokeMethod(kVideoRecordedEvent, std::move(message_data)); - } -} - -void CameraImpl::OnVideoRecordFailed(CameraResult result, - const std::string& error){}; - -void CameraImpl::OnCaptureError(CameraResult result, const std::string& error) { - if (messenger_ && camera_id_ >= 0) { - auto channel = GetMethodChannel(); - - std::unique_ptr message_data = - std::make_unique(EncodableMap( - {{EncodableValue("description"), EncodableValue(error)}})); - channel->InvokeMethod(kErrorEvent, std::move(message_data)); - } - - std::string error_code = GetErrorCode(result); - SendErrorForPendingResults(error_code, error); -} - -void CameraImpl::OnCameraClosing() { - if (messenger_ && camera_id_ >= 0) { - auto channel = GetMethodChannel(); - channel->InvokeMethod(kCameraClosingEvent, - std::move(std::make_unique())); - } -} - -void CameraImpl::OnStreamedFrameAvailable(uint8_t* data, uint32_t data_length) { - if (messenger_ && camera_id_ >= 0) { - auto channel = GetMethodChannel(); - - std::vector buffer; - if (buffer.size() != data_length) { - buffer.resize(data_length); - } - std::copy(data, data + data_length, buffer.begin()); - - std::unique_ptr message_data = - std::make_unique(EncodableMap( - {{EncodableValue("bytes"), EncodableValue(buffer)}})); - - channel->InvokeMethod(kStreamedFrameAvailable, - std::move(message_data)); - } -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/camera.h b/example/windows_camera/windows/camera.h deleted file mode 100644 index f67db6b..0000000 --- a/example/windows_camera/windows/camera.h +++ /dev/null @@ -1,207 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_H_ - -#include -#include - -#include - -#include "capture_controller.h" - -namespace camera_windows { - -using flutter::EncodableMap; -using flutter::MethodChannel; -using flutter::MethodResult; - -// A set of result types that are stored -// for processing asynchronous commands. -enum class PendingResultType { - kCreateCamera, - kInitialize, - kTakePicture, - kStartRecord, - kStopRecord, - kPausePreview, - kResumePreview, -}; - -// Interface implemented by cameras. -// -// Access is provided to an associated |CaptureController|, which can be used -// to capture video or photo from the camera. -class Camera : public CaptureControllerListener { - public: - explicit Camera(const std::string& device_id) {} - virtual ~Camera() = default; - - // Disallow copy and move. - Camera(const Camera&) = delete; - Camera& operator=(const Camera&) = delete; - - // Tests if this camera has the specified device ID. - virtual bool HasDeviceId(std::string& device_id) const = 0; - - // Tests if this camera has the specified camera ID. - virtual bool HasCameraId(int64_t camera_id) const = 0; - - // Adds a pending result. - // - // Returns an error result if the result has already been added. - virtual bool AddPendingResult(PendingResultType type, - std::unique_ptr> result) = 0; - - // Checks if a pending result of the specified type already exists. - virtual bool HasPendingResultByType(PendingResultType type) const = 0; - - // Returns a |CaptureController| that allows capturing video or still photos - // from this camera. - virtual camera_windows::CaptureController* GetCaptureController() = 0; - - // Initializes this camera and its associated capture controller. - // - // Returns false if initialization fails. - virtual bool InitCamera(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - bool record_audio, - ResolutionPreset resolution_preset) = 0; -}; - -// Concrete implementation of the |Camera| interface. -// -// This implementation is responsible for initializing the capture controller, -// listening for camera events, processing pending results, and notifying -// application code of processed events via the method channel. -class CameraImpl : public Camera { - public: - explicit CameraImpl(const std::string& device_id); - virtual ~CameraImpl(); - - // Disallow copy and move. - CameraImpl(const CameraImpl&) = delete; - CameraImpl& operator=(const CameraImpl&) = delete; - - // CaptureControllerListener - void OnCreateCaptureEngineSucceeded(int64_t texture_id) override; - void OnCreateCaptureEngineFailed(CameraResult result, - const std::string& error) override; - void OnStartPreviewSucceeded(int32_t width, int32_t height) override; - void OnStartPreviewFailed(CameraResult result, - const std::string& error) override; - void OnPausePreviewSucceeded() override; - void OnPausePreviewFailed(CameraResult result, - const std::string& error) override; - void OnResumePreviewSucceeded() override; - void OnResumePreviewFailed(CameraResult result, - const std::string& error) override; - void OnStartRecordSucceeded() override; - void OnStartRecordFailed(CameraResult result, - const std::string& error) override; - void OnStopRecordSucceeded(const std::string& file_path) override; - void OnStopRecordFailed(CameraResult result, - const std::string& error) override; - void OnTakePictureSucceeded(const std::string& file_path) override; - void OnTakePictureFailed(CameraResult result, - const std::string& error) override; - void OnVideoRecordSucceeded(const std::string& file_path, - int64_t video_duration) override; - void OnVideoRecordFailed(CameraResult result, - const std::string& error) override; - void OnCaptureError(CameraResult result, const std::string& error) override; - - void OnStreamedFrameAvailable(uint8_t* data, uint32_t data_length) override; - // Camera - bool HasDeviceId(std::string& device_id) const override { - return device_id_ == device_id; - } - bool HasCameraId(int64_t camera_id) const override { - return camera_id_ == camera_id; - } - bool AddPendingResult(PendingResultType type, - std::unique_ptr> result) override; - bool HasPendingResultByType(PendingResultType type) const override; - camera_windows::CaptureController* GetCaptureController() override { - return capture_controller_.get(); - } - bool InitCamera(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, bool record_audio, - ResolutionPreset resolution_preset) override; - - // Initializes the camera and its associated capture controller. - // - // This is a convenience method called by |InitCamera| but also used in - // tests. - // - // Returns false if initialization fails. - bool InitCamera( - std::unique_ptr capture_controller_factory, - flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, bool record_audio, - ResolutionPreset resolution_preset); - - private: - // Loops through all pending results and calls their error handler with given - // error ID and description. Pending results are cleared in the process. - // - // error_code: A string error code describing the error. - // description: A user-readable error message (optional). - void SendErrorForPendingResults(const std::string& error_code, - const std::string& description); - - // Called when camera is disposed. - // Sends camera closing message to the cameras method channel. - void OnCameraClosing(); - - // Initializes method channel instance and returns pointer it. - MethodChannel<>* GetMethodChannel(); - - // Finds pending result by type. - // Returns nullptr if type is not present. - std::unique_ptr> GetPendingResultByType( - PendingResultType type); - - std::map>> pending_results_; - std::unique_ptr capture_controller_; - std::unique_ptr> camera_channel_; - flutter::BinaryMessenger* messenger_ = nullptr; - int64_t camera_id_ = -1; - std::string device_id_; -}; - -// Factory class for creating |Camera| instances from a specified device ID. -class CameraFactory { - public: - CameraFactory() {} - virtual ~CameraFactory() = default; - - // Disallow copy and move. - CameraFactory(const CameraFactory&) = delete; - CameraFactory& operator=(const CameraFactory&) = delete; - - // Creates camera for given device id. - virtual std::unique_ptr CreateCamera( - const std::string& device_id) = 0; -}; - -// Concrete implementation of |CameraFactory|. -class CameraFactoryImpl : public CameraFactory { - public: - CameraFactoryImpl() {} - virtual ~CameraFactoryImpl() = default; - - // Disallow copy and move. - CameraFactoryImpl(const CameraFactoryImpl&) = delete; - CameraFactoryImpl& operator=(const CameraFactoryImpl&) = delete; - - std::unique_ptr CreateCamera(const std::string& device_id) override { - return std::make_unique(device_id); - } -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_H_ diff --git a/example/windows_camera/windows/camera_plugin.cpp b/example/windows_camera/windows/camera_plugin.cpp deleted file mode 100644 index 5503d17..0000000 --- a/example/windows_camera/windows/camera_plugin.cpp +++ /dev/null @@ -1,596 +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. - -#include "camera_plugin.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "capture_device_info.h" -#include "com_heap_ptr.h" -#include "string_utils.h" - -namespace camera_windows { -using flutter::EncodableList; -using flutter::EncodableMap; -using flutter::EncodableValue; - -namespace { - -// Channel events -constexpr char kChannelName[] = "plugins.flutter.io/camera_windows"; - -constexpr char kAvailableCamerasMethod[] = "availableCameras"; -constexpr char kCreateMethod[] = "create"; -constexpr char kInitializeMethod[] = "initialize"; -constexpr char kTakePictureMethod[] = "takePicture"; -constexpr char kStartVideoRecordingMethod[] = "startVideoRecording"; -constexpr char kStopVideoRecordingMethod[] = "stopVideoRecording"; -constexpr char kPausePreview[] = "pausePreview"; -constexpr char kResumePreview[] = "resumePreview"; -constexpr char kDisposeMethod[] = "dispose"; - -constexpr char kCameraNameKey[] = "cameraName"; -constexpr char kResolutionPresetKey[] = "resolutionPreset"; -constexpr char kEnableAudioKey[] = "enableAudio"; - -constexpr char kCameraIdKey[] = "cameraId"; -constexpr char kMaxVideoDurationKey[] = "maxVideoDuration"; - -constexpr char kResolutionPresetValueLow[] = "low"; -constexpr char kResolutionPresetValueMedium[] = "medium"; -constexpr char kResolutionPresetValueHigh[] = "high"; -constexpr char kResolutionPresetValueVeryHigh[] = "veryHigh"; -constexpr char kResolutionPresetValueUltraHigh[] = "ultraHigh"; -constexpr char kResolutionPresetValueMax[] = "max"; - -const std::string kPictureCaptureExtension = "jpeg"; -const std::string kVideoCaptureExtension = "mp4"; - -// Looks for |key| in |map|, returning the associated value if it is present, or -// a nullptr if not. -const EncodableValue* ValueOrNull(const EncodableMap& map, const char* key) { - auto it = map.find(EncodableValue(key)); - if (it == map.end()) { - return nullptr; - } - return &(it->second); -} - -// Looks for |key| in |map|, returning the associated int64 value if it is -// present, or std::nullopt if not. -std::optional GetInt64ValueOrNull(const EncodableMap& map, - const char* key) { - auto value = ValueOrNull(map, key); - if (!value) { - return std::nullopt; - } - - if (std::holds_alternative(*value)) { - return static_cast(std::get(*value)); - } - auto val64 = std::get_if(value); - if (!val64) { - return std::nullopt; - } - return *val64; -} - -// Parses resolution preset argument to enum value. -ResolutionPreset ParseResolutionPreset(const std::string& resolution_preset) { - if (resolution_preset.compare(kResolutionPresetValueLow) == 0) { - return ResolutionPreset::kLow; - } else if (resolution_preset.compare(kResolutionPresetValueMedium) == 0) { - return ResolutionPreset::kMedium; - } else if (resolution_preset.compare(kResolutionPresetValueHigh) == 0) { - return ResolutionPreset::kHigh; - } else if (resolution_preset.compare(kResolutionPresetValueVeryHigh) == 0) { - return ResolutionPreset::kVeryHigh; - } else if (resolution_preset.compare(kResolutionPresetValueUltraHigh) == 0) { - return ResolutionPreset::kUltraHigh; - } else if (resolution_preset.compare(kResolutionPresetValueMax) == 0) { - return ResolutionPreset::kMax; - } - return ResolutionPreset::kAuto; -} - -// Builds CaptureDeviceInfo object from given device holding device name and id. -std::unique_ptr GetDeviceInfo(IMFActivate* device) { - assert(device); - auto device_info = std::make_unique(); - ComHeapPtr name; - UINT32 name_size; - - HRESULT hr = device->GetAllocatedString(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, - &name, &name_size); - if (FAILED(hr)) { - return device_info; - } - - ComHeapPtr id; - UINT32 id_size; - hr = device->GetAllocatedString( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, &id, &id_size); - - if (FAILED(hr)) { - return device_info; - } - - device_info->SetDisplayName(Utf8FromUtf16(std::wstring(name, name_size))); - device_info->SetDeviceID(Utf8FromUtf16(std::wstring(id, id_size))); - return device_info; -} - -// Builds datetime string from current time. -// Used as part of the filenames for captured pictures and videos. -std::string GetCurrentTimeString() { - std::chrono::system_clock::duration now = - std::chrono::system_clock::now().time_since_epoch(); - - auto s = std::chrono::duration_cast(now).count(); - auto ms = - std::chrono::duration_cast(now).count() % 1000; - - struct tm newtime; - localtime_s(&newtime, &s); - - std::string time_start = ""; - time_start.resize(80); - size_t len = - strftime(&time_start[0], time_start.size(), "%Y_%m%d_%H%M%S_", &newtime); - if (len > 0) { - time_start.resize(len); - } - - // Add milliseconds to make sure the filename is unique - return time_start + std::to_string(ms); -} - -// Builds file path for picture capture. -std::optional GetFilePathForPicture() { - ComHeapPtr known_folder_path; - HRESULT hr = SHGetKnownFolderPath(FOLDERID_Pictures, KF_FLAG_CREATE, nullptr, - &known_folder_path); - if (FAILED(hr)) { - return std::nullopt; - } - - std::string path = Utf8FromUtf16(std::wstring(known_folder_path)); - - return path + "\\" + "PhotoCapture_" + GetCurrentTimeString() + "." + - kPictureCaptureExtension; -} - -// Builds file path for video capture. -std::optional GetFilePathForVideo() { - ComHeapPtr known_folder_path; - HRESULT hr = SHGetKnownFolderPath(FOLDERID_Videos, KF_FLAG_CREATE, nullptr, - &known_folder_path); - if (FAILED(hr)) { - return std::nullopt; - } - - std::string path = Utf8FromUtf16(std::wstring(known_folder_path)); - - return path + "\\" + "VideoCapture_" + GetCurrentTimeString() + "." + - kVideoCaptureExtension; -} -} // namespace - -// static -void CameraPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarWindows* registrar) { - auto channel = std::make_unique>( - registrar->messenger(), kChannelName, - &flutter::StandardMethodCodec::GetInstance()); - - std::unique_ptr plugin = std::make_unique( - registrar->texture_registrar(), registrar->messenger()); - - channel->SetMethodCallHandler( - [plugin_pointer = plugin.get()](const auto& call, auto result) { - plugin_pointer->HandleMethodCall(call, std::move(result)); - }); - - registrar->AddPlugin(std::move(plugin)); -} - -CameraPlugin::CameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger) - : texture_registrar_(texture_registrar), - messenger_(messenger), - camera_factory_(std::make_unique()) {} - -CameraPlugin::CameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - std::unique_ptr camera_factory) - : texture_registrar_(texture_registrar), - messenger_(messenger), - camera_factory_(std::move(camera_factory)) {} - -CameraPlugin::~CameraPlugin() {} - -void CameraPlugin::HandleMethodCall( - const flutter::MethodCall<>& method_call, - std::unique_ptr> result) { - const std::string& method_name = method_call.method_name(); - - if (method_name.compare(kAvailableCamerasMethod) == 0) { - return AvailableCamerasMethodHandler(std::move(result)); - } else if (method_name.compare(kCreateMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return CreateMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kInitializeMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return this->InitializeMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kTakePictureMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return TakePictureMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kStartVideoRecordingMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return StartVideoRecordingMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kStopVideoRecordingMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return StopVideoRecordingMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kPausePreview) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return PausePreviewMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kResumePreview) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return ResumePreviewMethodHandler(*arguments, std::move(result)); - } else if (method_name.compare(kDisposeMethod) == 0) { - const auto* arguments = - std::get_if(method_call.arguments()); - assert(arguments); - - return DisposeMethodHandler(*arguments, std::move(result)); - } else { - result->NotImplemented(); - } -} - -Camera* CameraPlugin::GetCameraByDeviceId(std::string& device_id) { - for (auto it = begin(cameras_); it != end(cameras_); ++it) { - if ((*it)->HasDeviceId(device_id)) { - return it->get(); - } - } - return nullptr; -} - -Camera* CameraPlugin::GetCameraByCameraId(int64_t camera_id) { - for (auto it = begin(cameras_); it != end(cameras_); ++it) { - if ((*it)->HasCameraId(camera_id)) { - return it->get(); - } - } - return nullptr; -} - -void CameraPlugin::DisposeCameraByCameraId(int64_t camera_id) { - for (auto it = begin(cameras_); it != end(cameras_); ++it) { - if ((*it)->HasCameraId(camera_id)) { - cameras_.erase(it); - return; - } - } -} - -void CameraPlugin::AvailableCamerasMethodHandler( - std::unique_ptr> result) { - // Enumerate devices. - ComHeapPtr devices; - UINT32 count = 0; - if (!this->EnumerateVideoCaptureDeviceSources(&devices, &count)) { - result->Error("System error", "Failed to get available cameras"); - // No need to free devices here, cos allocation failed. - return; - } - - if (count == 0) { - result->Success(EncodableValue(EncodableList())); - return; - } - - // Format found devices to the response. - EncodableList devices_list; - for (UINT32 i = 0; i < count; ++i) { - auto device_info = GetDeviceInfo(devices[i]); - auto deviceName = device_info->GetUniqueDeviceName(); - - devices_list.push_back(EncodableMap({ - {EncodableValue("name"), EncodableValue(deviceName)}, - {EncodableValue("lensFacing"), EncodableValue("front")}, - {EncodableValue("sensorOrientation"), EncodableValue(0)}, - })); - } - - result->Success(std::move(EncodableValue(devices_list))); -} - -bool CameraPlugin::EnumerateVideoCaptureDeviceSources(IMFActivate*** devices, - UINT32* count) { - return CaptureControllerImpl::EnumerateVideoCaptureDeviceSources(devices, - count); -} - -void CameraPlugin::CreateMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - // Parse enableAudio argument. - const auto* record_audio = - std::get_if(ValueOrNull(args, kEnableAudioKey)); - if (!record_audio) { - return result->Error("argument_error", - std::string(kEnableAudioKey) + " argument missing"); - } - - // Parse cameraName argument. - const auto* camera_name = - std::get_if(ValueOrNull(args, kCameraNameKey)); - if (!camera_name) { - return result->Error("argument_error", - std::string(kCameraNameKey) + " argument missing"); - } - - auto device_info = std::make_unique(); - if (!device_info->ParseDeviceInfoFromCameraName(*camera_name)) { - return result->Error( - "camera_error", "Cannot parse argument " + std::string(kCameraNameKey)); - } - - auto device_id = device_info->GetDeviceId(); - if (GetCameraByDeviceId(device_id)) { - return result->Error("camera_error", - "Camera with given device id already exists. Existing " - "camera must be disposed before creating it again."); - } - - std::unique_ptr camera = - camera_factory_->CreateCamera(device_id); - - if (camera->HasPendingResultByType(PendingResultType::kCreateCamera)) { - return result->Error("camera_error", - "Pending camera creation request exists"); - } - - if (camera->AddPendingResult(PendingResultType::kCreateCamera, - std::move(result))) { - // Parse resolution preset argument. - const auto* resolution_preset_argument = - std::get_if(ValueOrNull(args, kResolutionPresetKey)); - ResolutionPreset resolution_preset; - if (resolution_preset_argument) { - resolution_preset = ParseResolutionPreset(*resolution_preset_argument); - } else { - resolution_preset = ResolutionPreset::kAuto; - } - - bool initialized = camera->InitCamera(texture_registrar_, messenger_, - *record_audio, resolution_preset); - if (initialized) { - cameras_.push_back(std::move(camera)); - } - } -} - -void CameraPlugin::InitializeMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kInitialize)) { - return result->Error("camera_error", - "Pending initialization request exists"); - } - - if (camera->AddPendingResult(PendingResultType::kInitialize, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->StartPreview(); - } -} - -void CameraPlugin::PausePreviewMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kPausePreview)) { - return result->Error("camera_error", - "Pending pause preview request exists"); - } - - if (camera->AddPendingResult(PendingResultType::kPausePreview, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->PausePreview(); - } -} - -void CameraPlugin::ResumePreviewMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kResumePreview)) { - return result->Error("camera_error", - "Pending resume preview request exists"); - } - - if (camera->AddPendingResult(PendingResultType::kResumePreview, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->ResumePreview(); - } -} - -void CameraPlugin::StartVideoRecordingMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kStartRecord)) { - return result->Error("camera_error", - "Pending start recording request exists"); - } - - int64_t max_video_duration_ms = -1; - auto requested_max_video_duration_ms = - std::get_if(ValueOrNull(args, kMaxVideoDurationKey)); - - if (requested_max_video_duration_ms != nullptr) { - max_video_duration_ms = *requested_max_video_duration_ms; - } - - std::optional path = GetFilePathForVideo(); - if (path) { - if (camera->AddPendingResult(PendingResultType::kStartRecord, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->StartRecord(*path, max_video_duration_ms); - } - } else { - return result->Error("system_error", - "Failed to get path for video capture"); - } -} - -void CameraPlugin::StopVideoRecordingMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kStopRecord)) { - return result->Error("camera_error", - "Pending stop recording request exists"); - } - - if (camera->AddPendingResult(PendingResultType::kStopRecord, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->StopRecord(); - } -} - -void CameraPlugin::TakePictureMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - auto camera = GetCameraByCameraId(*camera_id); - if (!camera) { - return result->Error("camera_error", "Camera not created"); - } - - if (camera->HasPendingResultByType(PendingResultType::kTakePicture)) { - return result->Error("camera_error", "Pending take picture request exists"); - } - - std::optional path = GetFilePathForPicture(); - if (path) { - if (camera->AddPendingResult(PendingResultType::kTakePicture, - std::move(result))) { - auto cc = camera->GetCaptureController(); - assert(cc); - cc->TakePicture(*path); - } - } else { - return result->Error("system_error", - "Failed to get capture path for picture"); - } -} - -void CameraPlugin::DisposeMethodHandler( - const EncodableMap& args, std::unique_ptr> result) { - auto camera_id = GetInt64ValueOrNull(args, kCameraIdKey); - if (!camera_id) { - return result->Error("argument_error", - std::string(kCameraIdKey) + " missing"); - } - - DisposeCameraByCameraId(*camera_id); - result->Success(); -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/camera_plugin.h b/example/windows_camera/windows/camera_plugin.h deleted file mode 100644 index 1baa247..0000000 --- a/example/windows_camera/windows/camera_plugin.h +++ /dev/null @@ -1,132 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_PLUGIN_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_PLUGIN_H_ - -#include -#include -#include -#include - -#include - -#include "camera.h" -#include "capture_controller.h" -#include "capture_controller_listener.h" - -namespace camera_windows { -using flutter::MethodResult; - -namespace test { -namespace { -// Forward declaration of test class. -class MockCameraPlugin; -} // namespace -} // namespace test - -class CameraPlugin : public flutter::Plugin, - public VideoCaptureDeviceEnumerator { - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows* registrar); - - CameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger); - - // Creates a plugin instance with the given CameraFactory instance. - // Exists for unit testing with mock implementations. - CameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - std::unique_ptr camera_factory); - - virtual ~CameraPlugin(); - - // Disallow copy and move. - CameraPlugin(const CameraPlugin&) = delete; - CameraPlugin& operator=(const CameraPlugin&) = delete; - - // Called when a method is called on plugin channel. - void HandleMethodCall(const flutter::MethodCall<>& method_call, - std::unique_ptr> result); - - private: - // Loops through cameras and returns camera - // with matching device_id or nullptr. - Camera* GetCameraByDeviceId(std::string& device_id); - - // Loops through cameras and returns camera - // with matching camera_id or nullptr. - Camera* GetCameraByCameraId(int64_t camera_id); - - // Disposes camera by camera id. - void DisposeCameraByCameraId(int64_t camera_id); - - // Enumerates video capture devices. - bool EnumerateVideoCaptureDeviceSources(IMFActivate*** devices, - UINT32* count) override; - - // Handles availableCameras method calls. - // Enumerates video capture devices and - // returns list of available camera devices. - void AvailableCamerasMethodHandler( - std::unique_ptr> result); - - // Handles create method calls. - // Creates camera and initializes capture controller for requested device. - // Stores result object to be handled after request is processed. - void CreateMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles initialize method calls. - // Requests existing camera controller to start preview. - // Stores result object to be handled after request is processed. - void InitializeMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles takePicture method calls. - // Requests existing camera controller to take photo. - // Stores result object to be handled after request is processed. - void TakePictureMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles startVideoRecording method calls. - // Requests existing camera controller to start recording. - // Stores result object to be handled after request is processed. - void StartVideoRecordingMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles stopVideoRecording method calls. - // Requests existing camera controller to stop recording. - // Stores result object to be handled after request is processed. - void StopVideoRecordingMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles pausePreview method calls. - // Requests existing camera controller to pause recording. - // Stores result object to be handled after request is processed. - void PausePreviewMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles resumePreview method calls. - // Requests existing camera controller to resume preview. - // Stores result object to be handled after request is processed. - void ResumePreviewMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - // Handles dsipose method calls. - // Disposes camera if exists. - void DisposeMethodHandler(const EncodableMap& args, - std::unique_ptr> result); - - std::unique_ptr camera_factory_; - flutter::TextureRegistrar* texture_registrar_; - flutter::BinaryMessenger* messenger_; - std::vector> cameras_; - - friend class camera_windows::test::MockCameraPlugin; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAMERA_PLUGIN_H_ diff --git a/example/windows_camera/windows/camera_windows.cpp b/example/windows_camera/windows/camera_windows.cpp deleted file mode 100644 index 2d6b781..0000000 --- a/example/windows_camera/windows/camera_windows.cpp +++ /dev/null @@ -1,16 +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. - -#include "include/camera_windows/camera_windows.h" - -#include - -#include "camera_plugin.h" - -void CameraWindowsRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) { - camera_windows::CameraPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} diff --git a/example/windows_camera/windows/capture_controller.cpp b/example/windows_camera/windows/capture_controller.cpp deleted file mode 100644 index 91d3f4b..0000000 --- a/example/windows_camera/windows/capture_controller.cpp +++ /dev/null @@ -1,911 +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. - -#include "capture_controller.h" - -#include -#include -#include - -#include -#include - -#include "com_heap_ptr.h" -#include "photo_handler.h" -#include "preview_handler.h" -#include "record_handler.h" -#include "string_utils.h" -#include "texture_handler.h" - -namespace camera_windows { - -using Microsoft::WRL::ComPtr; - -CameraResult GetCameraResult(HRESULT hr) { - if (SUCCEEDED(hr)) { - return CameraResult::kSuccess; - } - - return hr == E_ACCESSDENIED ? CameraResult::kAccessDenied - : CameraResult::kError; -} - -CaptureControllerImpl::CaptureControllerImpl( - CaptureControllerListener* listener) - : capture_controller_listener_(listener), CaptureController(){}; - -CaptureControllerImpl::~CaptureControllerImpl() { - ResetCaptureController(); - capture_controller_listener_ = nullptr; -}; - -// static -bool CaptureControllerImpl::EnumerateVideoCaptureDeviceSources( - IMFActivate*** devices, UINT32* count) { - ComPtr attributes; - - HRESULT hr = MFCreateAttributes(&attributes, 1); - if (FAILED(hr)) { - return false; - } - - hr = attributes->SetGUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID); - if (FAILED(hr)) { - return false; - } - - hr = MFEnumDeviceSources(attributes.Get(), devices, count); - if (FAILED(hr)) { - return false; - } - - return true; -} - -HRESULT CaptureControllerImpl::CreateDefaultAudioCaptureSource() { - audio_source_ = nullptr; - ComHeapPtr devices; - UINT32 count = 0; - - ComPtr attributes; - HRESULT hr = MFCreateAttributes(&attributes, 1); - - if (SUCCEEDED(hr)) { - hr = attributes->SetGUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID); - } - - if (SUCCEEDED(hr)) { - hr = MFEnumDeviceSources(attributes.Get(), &devices, &count); - } - - if (SUCCEEDED(hr) && count > 0) { - ComHeapPtr audio_device_id; - UINT32 audio_device_id_size; - - // Use first audio device. - hr = devices[0]->GetAllocatedString( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, &audio_device_id, - &audio_device_id_size); - - if (SUCCEEDED(hr)) { - ComPtr audio_capture_source_attributes; - hr = MFCreateAttributes(&audio_capture_source_attributes, 2); - - if (SUCCEEDED(hr)) { - hr = audio_capture_source_attributes->SetGUID( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID); - } - - if (SUCCEEDED(hr)) { - hr = audio_capture_source_attributes->SetString( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, - audio_device_id); - } - - if (SUCCEEDED(hr)) { - hr = MFCreateDeviceSource(audio_capture_source_attributes.Get(), - audio_source_.GetAddressOf()); - } - } - } - - return hr; -} - -HRESULT CaptureControllerImpl::CreateVideoCaptureSourceForDevice( - const std::string& video_device_id) { - video_source_ = nullptr; - - ComPtr video_capture_source_attributes; - - HRESULT hr = MFCreateAttributes(&video_capture_source_attributes, 2); - if (FAILED(hr)) { - return hr; - } - - hr = video_capture_source_attributes->SetGUID( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID); - if (FAILED(hr)) { - return hr; - } - - hr = video_capture_source_attributes->SetString( - MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, - Utf16FromUtf8(video_device_id).c_str()); - if (FAILED(hr)) { - return hr; - } - - hr = MFCreateDeviceSource(video_capture_source_attributes.Get(), - video_source_.GetAddressOf()); - return hr; -} - -HRESULT CaptureControllerImpl::CreateD3DManagerWithDX11Device() { - // TODO: Use existing ANGLE device - - HRESULT hr = S_OK; - hr = D3D11CreateDevice(nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, - D3D11_CREATE_DEVICE_VIDEO_SUPPORT, nullptr, 0, - D3D11_SDK_VERSION, &dx11_device_, nullptr, nullptr); - if (FAILED(hr)) { - return hr; - } - - // Enable multithread protection - ComPtr multi_thread; - hr = dx11_device_.As(&multi_thread); - if (FAILED(hr)) { - return hr; - } - - multi_thread->SetMultithreadProtected(TRUE); - - hr = MFCreateDXGIDeviceManager(&dx_device_reset_token_, - dxgi_device_manager_.GetAddressOf()); - if (FAILED(hr)) { - return hr; - } - - hr = dxgi_device_manager_->ResetDevice(dx11_device_.Get(), - dx_device_reset_token_); - return hr; -} - -HRESULT CaptureControllerImpl::CreateCaptureEngine() { - assert(!video_device_id_.empty()); - - HRESULT hr = S_OK; - ComPtr attributes; - - // Creates capture engine only if not already initialized by test framework - if (!capture_engine_) { - ComPtr capture_engine_factory; - - hr = CoCreateInstance(CLSID_MFCaptureEngineClassFactory, nullptr, - CLSCTX_INPROC_SERVER, - IID_PPV_ARGS(&capture_engine_factory)); - if (FAILED(hr)) { - return hr; - } - - // Creates CaptureEngine. - hr = capture_engine_factory->CreateInstance(CLSID_MFCaptureEngine, - IID_PPV_ARGS(&capture_engine_)); - if (FAILED(hr)) { - return hr; - } - } - - hr = CreateD3DManagerWithDX11Device(); - - if (FAILED(hr)) { - return hr; - } - - // Creates video source only if not already initialized by test framework - if (!video_source_) { - hr = CreateVideoCaptureSourceForDevice(video_device_id_); - if (FAILED(hr)) { - return hr; - } - } - - // Creates audio source only if not already initialized by test framework - if (record_audio_ && !audio_source_) { - hr = CreateDefaultAudioCaptureSource(); - if (FAILED(hr)) { - return hr; - } - } - - if (!capture_engine_callback_handler_) { - capture_engine_callback_handler_ = - ComPtr(new CaptureEngineListener(this)); - } - - hr = MFCreateAttributes(&attributes, 2); - if (FAILED(hr)) { - return hr; - } - - hr = attributes->SetUnknown(MF_CAPTURE_ENGINE_D3D_MANAGER, - dxgi_device_manager_.Get()); - if (FAILED(hr)) { - return hr; - } - - hr = attributes->SetUINT32(MF_CAPTURE_ENGINE_USE_VIDEO_DEVICE_ONLY, - !record_audio_); - if (FAILED(hr)) { - return hr; - } - - // Check MF_CAPTURE_ENGINE_INITIALIZED event handling - // for response process. - hr = capture_engine_->Initialize(capture_engine_callback_handler_.Get(), - attributes.Get(), audio_source_.Get(), - video_source_.Get()); - return hr; -} - -void CaptureControllerImpl::ResetCaptureController() { - if (record_handler_ && record_handler_->CanStop()) { - if (record_handler_->IsContinuousRecording()) { - StopRecord(); - } else if (record_handler_->IsTimedRecording()) { - StopTimedRecord(); - } - } - - if (preview_handler_) { - StopPreview(); - } - - // Shuts down the media foundation platform object. - // Releases all resources including threads. - // Application should call MFShutdown the same number of times as MFStartup - if (media_foundation_started_) { - MFShutdown(); - } - - // States - media_foundation_started_ = false; - capture_engine_state_ = CaptureEngineState::kNotInitialized; - preview_frame_width_ = 0; - preview_frame_height_ = 0; - capture_engine_callback_handler_ = nullptr; - capture_engine_ = nullptr; - audio_source_ = nullptr; - video_source_ = nullptr; - base_preview_media_type_ = nullptr; - base_capture_media_type_ = nullptr; - - if (dxgi_device_manager_) { - dxgi_device_manager_->ResetDevice(dx11_device_.Get(), - dx_device_reset_token_); - } - dxgi_device_manager_ = nullptr; - dx11_device_ = nullptr; - - record_handler_ = nullptr; - preview_handler_ = nullptr; - photo_handler_ = nullptr; - texture_handler_ = nullptr; -} - -bool CaptureControllerImpl::InitCaptureDevice( - flutter::TextureRegistrar* texture_registrar, const std::string& device_id, - bool record_audio, ResolutionPreset resolution_preset) { - assert(capture_controller_listener_); - - if (IsInitialized()) { - capture_controller_listener_->OnCreateCaptureEngineFailed( - CameraResult::kError, "Capture device already initialized"); - return false; - } else if (capture_engine_state_ == CaptureEngineState::kInitializing) { - capture_controller_listener_->OnCreateCaptureEngineFailed( - CameraResult::kError, "Capture device already initializing"); - return false; - } - - capture_engine_state_ = CaptureEngineState::kInitializing; - resolution_preset_ = resolution_preset; - record_audio_ = record_audio; - texture_registrar_ = texture_registrar; - video_device_id_ = device_id; - - // MFStartup must be called before using Media Foundation. - if (!media_foundation_started_) { - HRESULT hr = MFStartup(MF_VERSION); - - if (FAILED(hr)) { - capture_controller_listener_->OnCreateCaptureEngineFailed( - GetCameraResult(hr), "Failed to create camera"); - ResetCaptureController(); - return false; - } - - media_foundation_started_ = true; - } - - HRESULT hr = CreateCaptureEngine(); - if (FAILED(hr)) { - capture_controller_listener_->OnCreateCaptureEngineFailed( - GetCameraResult(hr), "Failed to create camera"); - ResetCaptureController(); - return false; - } - - return true; -} - -void CaptureControllerImpl::TakePicture(const std::string& file_path) { - assert(capture_engine_callback_handler_); - assert(capture_engine_); - - if (!IsInitialized()) { - return OnPicture(CameraResult::kError, "Not initialized"); - } - - HRESULT hr = S_OK; - - if (!base_capture_media_type_) { - // Enumerates mediatypes and finds media type for video capture. - hr = FindBaseMediaTypes(); - if (FAILED(hr)) { - return OnPicture(GetCameraResult(hr), - "Failed to initialize photo capture"); - } - } - - if (!photo_handler_) { - photo_handler_ = std::make_unique(); - } else if (photo_handler_->IsTakingPhoto()) { - return OnPicture(CameraResult::kError, "Photo already requested"); - } - - // Check MF_CAPTURE_ENGINE_PHOTO_TAKEN event handling - // for response process. - hr = photo_handler_->TakePhoto(file_path, capture_engine_.Get(), - base_capture_media_type_.Get()); - if (FAILED(hr)) { - // Destroy photo handler on error cases to make sure state is resetted. - photo_handler_ = nullptr; - return OnPicture(GetCameraResult(hr), "Failed to take photo"); - } -} - -uint32_t CaptureControllerImpl::GetMaxPreviewHeight() const { - switch (resolution_preset_) { - case ResolutionPreset::kLow: - return 240; - break; - case ResolutionPreset::kMedium: - return 480; - break; - case ResolutionPreset::kHigh: - return 720; - break; - case ResolutionPreset::kVeryHigh: - return 1080; - break; - case ResolutionPreset::kUltraHigh: - return 2160; - break; - case ResolutionPreset::kMax: - case ResolutionPreset::kAuto: - default: - // no limit. - return 0xffffffff; - break; - } -} - -// Finds best media type for given source stream index and max height; -bool FindBestMediaType(DWORD source_stream_index, IMFCaptureSource* source, - IMFMediaType** target_media_type, uint32_t max_height, - uint32_t* target_frame_width, - uint32_t* target_frame_height, - float minimum_accepted_framerate = 15.f) { - assert(source); - ComPtr media_type; - - uint32_t best_width = 0; - uint32_t best_height = 0; - float best_framerate = 0.f; - - // Loop native media types. - for (int i = 0;; i++) { - if (FAILED(source->GetAvailableDeviceMediaType( - source_stream_index, i, media_type.GetAddressOf()))) { - break; - } - - uint32_t frame_rate_numerator, frame_rate_denominator; - if (FAILED(MFGetAttributeRatio(media_type.Get(), MF_MT_FRAME_RATE, - &frame_rate_numerator, - &frame_rate_denominator)) || - !frame_rate_denominator) { - continue; - } - - float frame_rate = - static_cast(frame_rate_numerator) / frame_rate_denominator; - if (frame_rate < minimum_accepted_framerate) { - continue; - } - - uint32_t frame_width; - uint32_t frame_height; - if (SUCCEEDED(MFGetAttributeSize(media_type.Get(), MF_MT_FRAME_SIZE, - &frame_width, &frame_height))) { - // Update target mediatype - if (frame_height <= max_height && - (best_width < frame_width || best_height < frame_height || - best_framerate < frame_rate)) { - media_type.CopyTo(target_media_type); - best_width = frame_width; - best_height = frame_height; - best_framerate = frame_rate; - } - } - } - - if (target_frame_width && target_frame_height) { - *target_frame_width = best_width; - *target_frame_height = best_height; - } - - return *target_media_type != nullptr; -} - -HRESULT CaptureControllerImpl::FindBaseMediaTypes() { - if (!IsInitialized()) { - return E_FAIL; - } - - ComPtr source; - HRESULT hr = capture_engine_->GetSource(&source); - if (FAILED(hr)) { - return hr; - } - - // Find base media type for previewing. - if (!FindBestMediaType( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_PREVIEW, - source.Get(), base_preview_media_type_.GetAddressOf(), - GetMaxPreviewHeight(), &preview_frame_width_, - &preview_frame_height_)) { - return E_FAIL; - } - - // Find base media type for record and photo capture. - if (!FindBestMediaType( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_RECORD, - source.Get(), base_capture_media_type_.GetAddressOf(), 0xffffffff, - nullptr, nullptr)) { - return E_FAIL; - } - - return S_OK; -} - -void CaptureControllerImpl::StartRecord(const std::string& file_path, - int64_t max_video_duration_ms) { - assert(capture_engine_); - - if (!IsInitialized()) { - return OnRecordStarted(CameraResult::kError, - "Camera not initialized. Camera should be " - "disposed and reinitialized."); - } - - HRESULT hr = S_OK; - - if (!base_capture_media_type_) { - // Enumerates mediatypes and finds media type for video capture. - hr = FindBaseMediaTypes(); - if (FAILED(hr)) { - return OnRecordStarted(GetCameraResult(hr), - "Failed to initialize video recording"); - } - } - - if (!record_handler_) { - record_handler_ = std::make_unique(record_audio_); - } else if (!record_handler_->CanStart()) { - return OnRecordStarted( - CameraResult::kError, - "Recording cannot be started. Previous recording must be stopped " - "first."); - } - - // Check MF_CAPTURE_ENGINE_RECORD_STARTED event handling for response - // process. - hr = record_handler_->StartRecord(file_path, max_video_duration_ms, - capture_engine_.Get(), - base_capture_media_type_.Get()); - if (FAILED(hr)) { - // Destroy record handler on error cases to make sure state is resetted. - record_handler_ = nullptr; - return OnRecordStarted(GetCameraResult(hr), - "Failed to start video recording"); - } -} - -void CaptureControllerImpl::StopRecord() { - assert(capture_controller_listener_); - - if (!IsInitialized()) { - return OnRecordStopped(CameraResult::kError, - "Camera not initialized. Camera should be " - "disposed and reinitialized."); - } - - if (!record_handler_ && !record_handler_->CanStop()) { - return OnRecordStopped(CameraResult::kError, - "Recording cannot be stopped."); - } - - // Check MF_CAPTURE_ENGINE_RECORD_STOPPED event handling for response - // process. - HRESULT hr = record_handler_->StopRecord(capture_engine_.Get()); - if (FAILED(hr)) { - return OnRecordStopped(GetCameraResult(hr), - "Failed to stop video recording"); - } -} - -// Stops timed recording. Called internally when requested time is passed. -// Check MF_CAPTURE_ENGINE_RECORD_STOPPED event handling for response process. -void CaptureControllerImpl::StopTimedRecord() { - assert(capture_controller_listener_); - if (!record_handler_ || !record_handler_->IsTimedRecording()) { - return; - } - - HRESULT hr = record_handler_->StopRecord(capture_engine_.Get()); - if (FAILED(hr)) { - // Destroy record handler on error cases to make sure state is resetted. - record_handler_ = nullptr; - return capture_controller_listener_->OnVideoRecordFailed( - GetCameraResult(hr), "Failed to record video"); - } -} - -// Starts capturing preview frames using preview handler -// After first frame is captured, OnPreviewStarted is called -void CaptureControllerImpl::StartPreview() { - assert(capture_engine_callback_handler_); - assert(capture_engine_); - assert(texture_handler_); - - if (!IsInitialized() || !texture_handler_) { - return OnPreviewStarted(CameraResult::kError, - "Camera not initialized. Camera should be " - "disposed and reinitialized."); - } - - HRESULT hr = S_OK; - - if (!base_preview_media_type_) { - // Enumerates mediatypes and finds media type for video capture. - hr = FindBaseMediaTypes(); - if (FAILED(hr)) { - return OnPreviewStarted(GetCameraResult(hr), - "Failed to initialize video preview"); - } - } - - texture_handler_->UpdateTextureSize(preview_frame_width_, - preview_frame_height_); - - // TODO(loic-sharma): This does not handle duplicate calls properly. - // See: https://github.com/flutter/flutter/issues/108404 - if (!preview_handler_) { - preview_handler_ = std::make_unique(); - } else if (preview_handler_->IsInitialized()) { - return OnPreviewStarted(CameraResult::kSuccess, ""); - } else { - return OnPreviewStarted(CameraResult::kError, "Preview already exists"); - } - - // Check MF_CAPTURE_ENGINE_PREVIEW_STARTED event handling for response - // process. - hr = preview_handler_->StartPreview(capture_engine_.Get(), - base_preview_media_type_.Get(), - capture_engine_callback_handler_.Get()); - - if (FAILED(hr)) { - // Destroy preview handler on error cases to make sure state is resetted. - preview_handler_ = nullptr; - return OnPreviewStarted(GetCameraResult(hr), - "Failed to start video preview"); - } -} - -// Stops preview. Called by destructor -// Use PausePreview and ResumePreview methods to for -// pausing and resuming the preview. -// Check MF_CAPTURE_ENGINE_PREVIEW_STOPPED event handling for response -// process. -HRESULT CaptureControllerImpl::StopPreview() { - assert(capture_engine_); - - if (!IsInitialized() || !preview_handler_) { - return S_OK; - } - - // Requests to stop preview. - return preview_handler_->StopPreview(capture_engine_.Get()); -} - -// Marks preview as paused. -// When preview is paused, captured frames are not processed for preview -// and flutter texture is not updated -void CaptureControllerImpl::PausePreview() { - assert(capture_controller_listener_); - - if (!preview_handler_ || !preview_handler_->IsInitialized()) { - return capture_controller_listener_->OnPausePreviewFailed( - CameraResult::kError, "Preview not started"); - } - - if (preview_handler_->PausePreview()) { - capture_controller_listener_->OnPausePreviewSucceeded(); - } else { - capture_controller_listener_->OnPausePreviewFailed( - CameraResult::kError, "Failed to pause preview"); - } -} - -// Marks preview as not paused. -// When preview is not paused, captured frames are processed for preview -// and flutter texture is updated. -void CaptureControllerImpl::ResumePreview() { - assert(capture_controller_listener_); - - if (!preview_handler_ || !preview_handler_->IsInitialized()) { - return capture_controller_listener_->OnResumePreviewFailed( - CameraResult::kError, "Preview not started"); - } - - if (preview_handler_->ResumePreview()) { - capture_controller_listener_->OnResumePreviewSucceeded(); - } else { - capture_controller_listener_->OnResumePreviewFailed( - CameraResult::kError, "Failed to pause preview"); - } -} - -// Handles capture engine events. -// Called via IMFCaptureEngineOnEventCallback implementation. -// Implements CaptureEngineObserver::OnEvent. -void CaptureControllerImpl::OnEvent(IMFMediaEvent* event) { - if (!IsInitialized() && - capture_engine_state_ != CaptureEngineState::kInitializing) { - return; - } - - GUID extended_type_guid; - if (SUCCEEDED(event->GetExtendedType(&extended_type_guid))) { - std::string error; - - HRESULT event_hr; - if (FAILED(event->GetStatus(&event_hr))) { - return; - } - - if (FAILED(event_hr)) { - // Reads system error - _com_error err(event_hr); - error = Utf8FromUtf16(err.ErrorMessage()); - } - - CameraResult event_result = GetCameraResult(event_hr); - if (extended_type_guid == MF_CAPTURE_ENGINE_ERROR) { - OnCaptureEngineError(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_INITIALIZED) { - OnCaptureEngineInitialized(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_PREVIEW_STARTED) { - // Preview is marked as started after first frame is captured. - // This is because, CaptureEngine might inform that preview is started - // even if error is thrown right after. - } else if (extended_type_guid == MF_CAPTURE_ENGINE_PREVIEW_STOPPED) { - OnPreviewStopped(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_RECORD_STARTED) { - OnRecordStarted(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_RECORD_STOPPED) { - OnRecordStopped(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_PHOTO_TAKEN) { - OnPicture(event_result, error); - } else if (extended_type_guid == MF_CAPTURE_ENGINE_CAMERA_STREAM_BLOCKED) { - // TODO: Inform capture state to flutter. - } else if (extended_type_guid == - MF_CAPTURE_ENGINE_CAMERA_STREAM_UNBLOCKED) { - // TODO: Inform capture state to flutter. - } - } -} - -// Handles Picture event and informs CaptureControllerListener. -void CaptureControllerImpl::OnPicture(CameraResult result, - const std::string& error) { - if (result == CameraResult::kSuccess && photo_handler_) { - if (capture_controller_listener_) { - std::string path = photo_handler_->GetPhotoPath(); - capture_controller_listener_->OnTakePictureSucceeded(path); - } - photo_handler_->OnPhotoTaken(); - } else { - if (capture_controller_listener_) { - capture_controller_listener_->OnTakePictureFailed(result, error); - } - // Destroy photo handler on error cases to make sure state is resetted. - photo_handler_ = nullptr; - } -} - -// Handles CaptureEngineInitialized event and informs -// CaptureControllerListener. -void CaptureControllerImpl::OnCaptureEngineInitialized( - CameraResult result, const std::string& error) { - if (capture_controller_listener_) { - if (result != CameraResult::kSuccess) { - capture_controller_listener_->OnCreateCaptureEngineFailed( - result, "Failed to initialize capture engine"); - ResetCaptureController(); - return; - } - - // Create texture handler and register new texture. - texture_handler_ = std::make_unique(texture_registrar_); - texture_handler_->SetCaptureControllerListener(capture_controller_listener_); - texture_handler_->SetMirrorPreviewState(false); - - int64_t texture_id = texture_handler_->RegisterTexture(); - if (texture_id >= 0) { - capture_controller_listener_->OnCreateCaptureEngineSucceeded(texture_id); - capture_engine_state_ = CaptureEngineState::kInitialized; - } else { - capture_controller_listener_->OnCreateCaptureEngineFailed( - CameraResult::kError, "Failed to create texture_id"); - // Reset state - ResetCaptureController(); - } - } -} - -// Handles CaptureEngineError event and informs CaptureControllerListener. -void CaptureControllerImpl::OnCaptureEngineError(CameraResult result, - const std::string& error) { - if (capture_controller_listener_) { - capture_controller_listener_->OnCaptureError(result, error); - } - - // TODO: If MF_CAPTURE_ENGINE_ERROR is returned, - // should capture controller be reinitialized automatically? -} - -// Handles PreviewStarted event and informs CaptureControllerListener. -// This should be called only after first frame has been received or -// in error cases. -void CaptureControllerImpl::OnPreviewStarted(CameraResult result, - const std::string& error) { - if (preview_handler_ && result == CameraResult::kSuccess) { - preview_handler_->OnPreviewStarted(); - } else { - // Destroy preview handler on error cases to make sure state is resetted. - preview_handler_ = nullptr; - } - - if (capture_controller_listener_) { - if (result == CameraResult::kSuccess && preview_frame_width_ > 0 && - preview_frame_height_ > 0) { - capture_controller_listener_->OnStartPreviewSucceeded( - preview_frame_width_, preview_frame_height_); - } else { - capture_controller_listener_->OnStartPreviewFailed(result, error); - } - } -}; - -// Handles PreviewStopped event. -void CaptureControllerImpl::OnPreviewStopped(CameraResult result, - const std::string& error) { - // Preview handler is destroyed if preview is stopped as it - // does not have any use anymore. - preview_handler_ = nullptr; -}; - -// Handles RecordStarted event and informs CaptureControllerListener. -void CaptureControllerImpl::OnRecordStarted(CameraResult result, - const std::string& error) { - if (result == CameraResult::kSuccess && record_handler_) { - record_handler_->OnRecordStarted(); - if (capture_controller_listener_) { - capture_controller_listener_->OnStartRecordSucceeded(); - } - } else { - if (capture_controller_listener_) { - capture_controller_listener_->OnStartRecordFailed(result, error); - } - - // Destroy record handler on error cases to make sure state is resetted. - record_handler_ = nullptr; - } -}; - -// Handles RecordStopped event and informs CaptureControllerListener. -void CaptureControllerImpl::OnRecordStopped(CameraResult result, - const std::string& error) { - if (capture_controller_listener_ && record_handler_) { - // Always calls OnStopRecord listener methods - // to handle separate stop record request for timed records. - - if (result == CameraResult::kSuccess) { - std::string path = record_handler_->GetRecordPath(); - capture_controller_listener_->OnStopRecordSucceeded(path); - if (record_handler_->IsTimedRecording()) { - capture_controller_listener_->OnVideoRecordSucceeded( - path, (record_handler_->GetRecordedDuration() / 1000)); - } - } else { - capture_controller_listener_->OnStopRecordFailed(result, error); - if (record_handler_->IsTimedRecording()) { - capture_controller_listener_->OnVideoRecordFailed(result, error); - } - } - } - - if (result == CameraResult::kSuccess && record_handler_) { - record_handler_->OnRecordStopped(); - } else { - // Destroy record handler on error cases to make sure state is resetted. - record_handler_ = nullptr; - } -} - -// Updates texture handlers buffer with given data. -// Called via IMFCaptureEngineOnSampleCallback implementation. -// Implements CaptureEngineObserver::UpdateBuffer. -bool CaptureControllerImpl::UpdateBuffer(uint8_t* buffer, - uint32_t data_length) { - if (!texture_handler_) { - return false; - } - - return texture_handler_->UpdateBuffer(buffer, data_length); -} - -// Handles capture time update from each processed frame. -// Stops timed recordings if requested recording duration has passed. -// Called via IMFCaptureEngineOnSampleCallback implementation. -// Implements CaptureEngineObserver::UpdateCaptureTime. -void CaptureControllerImpl::UpdateCaptureTime(uint64_t capture_time_us) { - if (!IsInitialized()) { - return; - } - - if (preview_handler_ && preview_handler_->IsStarting()) { - // Informs that first frame is captured successfully and preview has - // started. - OnPreviewStarted(CameraResult::kSuccess, ""); - } - - // Checks if max_video_duration_ms is passed. - if (record_handler_) { - record_handler_->UpdateRecordingTime(capture_time_us); - if (record_handler_->ShouldStopTimedRecording()) { - StopTimedRecord(); - } - } -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/capture_controller.h b/example/windows_camera/windows/capture_controller.h deleted file mode 100644 index 9536be7..0000000 --- a/example/windows_camera/windows/capture_controller.h +++ /dev/null @@ -1,296 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_H_ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "capture_controller_listener.h" -#include "capture_engine_listener.h" -#include "photo_handler.h" -#include "preview_handler.h" -#include "record_handler.h" -#include "texture_handler.h" - -namespace camera_windows { -using flutter::TextureRegistrar; -using Microsoft::WRL::ComPtr; - -// Camera resolution presets. Used to request a capture resolution. -enum class ResolutionPreset { - // Automatic resolution, uses the highest resolution available. - kAuto, - // 240p (320x240) - kLow, - // 480p (720x480) - kMedium, - // 720p (1280x720) - kHigh, - // 1080p (1920x1080) - kVeryHigh, - // 2160p (4096x2160) - kUltraHigh, - // The highest resolution available. - kMax, -}; - -// Camera capture engine state. -// -// On creation, |CaptureControllers| start in state |kNotInitialized|. -// On initialization, the capture controller transitions to the |kInitializing| -// and then |kInitialized| state. -enum class CaptureEngineState { kNotInitialized, kInitializing, kInitialized }; - -// Interface for a class that enumerates video capture device sources. -class VideoCaptureDeviceEnumerator { - private: - virtual bool EnumerateVideoCaptureDeviceSources(IMFActivate*** devices, - UINT32* count) = 0; -}; - -// Interface implemented by capture controllers. -// -// Capture controllers are used to capture video streams or still photos from -// their associated |Camera|. -class CaptureController { - public: - CaptureController() {} - virtual ~CaptureController() = default; - - // Disallow copy and move. - CaptureController(const CaptureController&) = delete; - CaptureController& operator=(const CaptureController&) = delete; - - // Initializes the capture controller with the specified device id. - // - // Returns false if the capture controller could not be initialized - // or is already initialized. - // - // texture_registrar: Pointer to Flutter TextureRegistrar instance. Used to - // register texture for capture preview. - // device_id: A string that holds information of camera device id to - // be captured. - // record_audio: A boolean value telling if audio should be captured on - // video recording. - // resolution_preset: Maximum capture resolution height. - virtual bool InitCaptureDevice(TextureRegistrar* texture_registrar, - const std::string& device_id, - bool record_audio, - ResolutionPreset resolution_preset) = 0; - - // Returns preview frame width - virtual uint32_t GetPreviewWidth() const = 0; - - // Returns preview frame height - virtual uint32_t GetPreviewHeight() const = 0; - - // Starts the preview. - virtual void StartPreview() = 0; - - // Pauses the preview. - virtual void PausePreview() = 0; - - // Resumes the preview. - virtual void ResumePreview() = 0; - - // Starts recording video. - virtual void StartRecord(const std::string& file_path, - int64_t max_video_duration_ms) = 0; - - // Stops the current video recording. - virtual void StopRecord() = 0; - - // Captures a still photo. - virtual void TakePicture(const std::string& file_path) = 0; -}; - -// Concrete implementation of the |CaptureController| interface. -// -// Handles the video preview stream via a |PreviewHandler| instance, video -// capture via a |RecordHandler| instance, and still photo capture via a -// |PhotoHandler| instance. -class CaptureControllerImpl : public CaptureController, - public CaptureEngineObserver { - public: - static bool EnumerateVideoCaptureDeviceSources(IMFActivate*** devices, - UINT32* count); - - explicit CaptureControllerImpl(CaptureControllerListener* listener); - virtual ~CaptureControllerImpl(); - - // Disallow copy and move. - CaptureControllerImpl(const CaptureControllerImpl&) = delete; - CaptureControllerImpl& operator=(const CaptureControllerImpl&) = delete; - - // CaptureController - bool InitCaptureDevice(TextureRegistrar* texture_registrar, - const std::string& device_id, bool record_audio, - ResolutionPreset resolution_preset) override; - uint32_t GetPreviewWidth() const override { return preview_frame_width_; } - uint32_t GetPreviewHeight() const override { return preview_frame_height_; } - void StartPreview() override; - void PausePreview() override; - void ResumePreview() override; - void StartRecord(const std::string& file_path, - int64_t max_video_duration_ms) override; - void StopRecord() override; - void TakePicture(const std::string& file_path) override; - - // CaptureEngineObserver - void OnEvent(IMFMediaEvent* event) override; - bool IsReadyForSample() const override { - return capture_engine_state_ == CaptureEngineState::kInitialized && - preview_handler_ && preview_handler_->IsRunning(); - } - bool UpdateBuffer(uint8_t* data, uint32_t data_length) override; - void UpdateCaptureTime(uint64_t capture_time) override; - - // Sets capture engine, for testing purposes. - void SetCaptureEngine(IMFCaptureEngine* capture_engine) { - capture_engine_ = capture_engine; - } - - // Sets video source, for testing purposes. - void SetVideoSource(IMFMediaSource* video_source) { - video_source_ = video_source; - } - - // Sets audio source, for testing purposes. - void SetAudioSource(IMFMediaSource* audio_source) { - audio_source_ = audio_source; - } - - private: - // Helper function to return initialized state as boolean; - bool IsInitialized() const { - return capture_engine_state_ == CaptureEngineState::kInitialized; - } - - // Resets capture controller state. - // This is called if capture engine creation fails or is disposed. - void ResetCaptureController(); - - // Returns max preview height calculated from resolution present. - uint32_t GetMaxPreviewHeight() const; - - // Uses first audio source to capture audio. - // Note: Enumerating audio sources via platform interface is not supported. - HRESULT CreateDefaultAudioCaptureSource(); - - // Initializes video capture source from camera device. - HRESULT CreateVideoCaptureSourceForDevice(const std::string& video_device_id); - - // Creates DX11 Device and D3D Manager. - HRESULT CreateD3DManagerWithDX11Device(); - - // Initializes capture engine object. - HRESULT CreateCaptureEngine(); - - // Enumerates video_sources media types and finds out best resolution - // for preview and video capture. - HRESULT FindBaseMediaTypes(); - - // Stops timed video record. Called internally when record handler when max - // recording time is exceeded. - void StopTimedRecord(); - - // Stops preview. Called internally on camera reset and dispose. - HRESULT StopPreview(); - - // Handles capture engine initalization event. - void OnCaptureEngineInitialized(CameraResult result, - const std::string& error); - - // Handles capture engine errors. - void OnCaptureEngineError(CameraResult result, const std::string& error); - - // Handles picture events. - void OnPicture(CameraResult result, const std::string& error); - - // Handles preview started events. - void OnPreviewStarted(CameraResult result, const std::string& error); - - // Handles preview stopped events. - void OnPreviewStopped(CameraResult result, const std::string& error); - - // Handles record started events. - void OnRecordStarted(CameraResult result, const std::string& error); - - // Handles record stopped events. - void OnRecordStopped(CameraResult result, const std::string& error); - - bool media_foundation_started_ = false; - bool record_audio_ = false; - uint32_t preview_frame_width_ = 0; - uint32_t preview_frame_height_ = 0; - UINT dx_device_reset_token_ = 0; - std::unique_ptr record_handler_; - std::unique_ptr preview_handler_; - std::unique_ptr photo_handler_; - std::unique_ptr texture_handler_; - CaptureControllerListener* capture_controller_listener_; - - std::string video_device_id_; - CaptureEngineState capture_engine_state_ = - CaptureEngineState::kNotInitialized; - ResolutionPreset resolution_preset_ = ResolutionPreset::kMedium; - ComPtr capture_engine_; - ComPtr capture_engine_callback_handler_; - ComPtr dxgi_device_manager_; - ComPtr dx11_device_; - ComPtr base_capture_media_type_; - ComPtr base_preview_media_type_; - ComPtr video_source_; - ComPtr audio_source_; - - TextureRegistrar* texture_registrar_ = nullptr; -}; - -// Inferface for factory classes that create |CaptureController| instances. -class CaptureControllerFactory { - public: - CaptureControllerFactory() {} - virtual ~CaptureControllerFactory() = default; - - // Disallow copy and move. - CaptureControllerFactory(const CaptureControllerFactory&) = delete; - CaptureControllerFactory& operator=(const CaptureControllerFactory&) = delete; - - // Create and return a |CaptureController| that makes callbacks on the - // specified |CaptureControllerListener|, which must not be null. - virtual std::unique_ptr CreateCaptureController( - CaptureControllerListener* listener) = 0; -}; - -// Concreate implementation of |CaptureControllerFactory|. -class CaptureControllerFactoryImpl : public CaptureControllerFactory { - public: - CaptureControllerFactoryImpl() {} - virtual ~CaptureControllerFactoryImpl() = default; - - // Disallow copy and move. - CaptureControllerFactoryImpl(const CaptureControllerFactoryImpl&) = delete; - CaptureControllerFactoryImpl& operator=(const CaptureControllerFactoryImpl&) = - delete; - - std::unique_ptr CreateCaptureController( - CaptureControllerListener* listener) override { - return std::make_unique(listener); - } -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_H_ diff --git a/example/windows_camera/windows/capture_controller_listener.h b/example/windows_camera/windows/capture_controller_listener.h deleted file mode 100644 index 958ada2..0000000 --- a/example/windows_camera/windows/capture_controller_listener.h +++ /dev/null @@ -1,136 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_LISTENER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_LISTENER_H_ - -#include - -namespace camera_windows { - -// Results that can occur when interacting with the camera. -enum class CameraResult { - // Camera operation succeeded. - kSuccess, - - // Camera operation failed. - kError, - - // Camera access permission is denied. - kAccessDenied, -}; - -// Interface for classes that receives callbacks on events from the associated -// |CaptureController|. -class CaptureControllerListener { - public: - virtual ~CaptureControllerListener() = default; - - // Called by CaptureController on successful capture engine initialization. - // - // texture_id: A 64bit integer id registered by TextureRegistrar - virtual void OnCreateCaptureEngineSucceeded(int64_t texture_id) = 0; - - // Called by CaptureController if initializing the capture engine fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnCreateCaptureEngineFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully started preview. - // - // width: Preview frame width. - // height: Preview frame height. - virtual void OnStartPreviewSucceeded(int32_t width, int32_t height) = 0; - - // Called by CaptureController if starting the preview fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnStartPreviewFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully paused preview. - virtual void OnPausePreviewSucceeded() = 0; - - // Called by CaptureController if pausing the preview fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnPausePreviewFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully resumed preview. - virtual void OnResumePreviewSucceeded() = 0; - - // Called by CaptureController if resuming the preview fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnResumePreviewFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully started recording. - virtual void OnStartRecordSucceeded() = 0; - - // Called by CaptureController if starting the recording fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnStartRecordFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully stopped recording. - // - // file_path: Filesystem path of the recorded video file. - virtual void OnStopRecordSucceeded(const std::string& file_path) = 0; - - // Called by CaptureController if stopping the recording fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnStopRecordFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController on successfully captured picture. - // - // file_path: Filesystem path of the captured image. - virtual void OnTakePictureSucceeded(const std::string& file_path) = 0; - - // Called by CaptureController if taking picture fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnTakePictureFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController when timed recording is successfully recorded. - // - // file_path: Filesystem path of the captured image. - // video_duration: Duration of recorded video in milliseconds. - virtual void OnVideoRecordSucceeded(const std::string& file_path, - int64_t video_duration_ms) = 0; - - // Called by CaptureController if timed recording fails. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnVideoRecordFailed(CameraResult result, - const std::string& error) = 0; - - // Called by CaptureController if capture engine returns error. - // For example when camera is disconnected while on use. - // - // result: The kind of result. - // error: A string describing the error. - virtual void OnCaptureError(CameraResult result, - const std::string& error) = 0; - - virtual void OnStreamedFrameAvailable(uint8_t* data, uint32_t data_length) = 0; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_CONTROLLER_LISTENER_H_ diff --git a/example/windows_camera/windows/capture_device_info.cpp b/example/windows_camera/windows/capture_device_info.cpp deleted file mode 100644 index 446056a..0000000 --- a/example/windows_camera/windows/capture_device_info.cpp +++ /dev/null @@ -1,29 +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. - -#include "capture_device_info.h" - -#include -#include - -namespace camera_windows { -std::string CaptureDeviceInfo::GetUniqueDeviceName() const { - return display_name_ + " <" + device_id_ + ">"; -} - -bool CaptureDeviceInfo::ParseDeviceInfoFromCameraName( - const std::string& camera_name) { - size_t delimeter_index = camera_name.rfind(' ', camera_name.length()); - if (delimeter_index != std::string::npos) { - auto deviceInfo = std::make_unique(); - display_name_ = camera_name.substr(0, delimeter_index); - device_id_ = camera_name.substr(delimeter_index + 2, - camera_name.length() - delimeter_index - 3); - return true; - } - - return false; -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/capture_device_info.h b/example/windows_camera/windows/capture_device_info.h deleted file mode 100644 index 63ffa85..0000000 --- a/example/windows_camera/windows/capture_device_info.h +++ /dev/null @@ -1,49 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_DEVICE_INFO_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_DEVICE_INFO_H_ - -#include - -namespace camera_windows { - -// Name and device ID information for a capture device. -class CaptureDeviceInfo { - public: - CaptureDeviceInfo() {} - virtual ~CaptureDeviceInfo() = default; - - // Disallow copy and move. - CaptureDeviceInfo(const CaptureDeviceInfo&) = delete; - CaptureDeviceInfo& operator=(const CaptureDeviceInfo&) = delete; - - // Build unique device name from display name and device id. - // Format: "display_name ". - std::string GetUniqueDeviceName() const; - - // Parses display name and device id from unique device name format. - // Format: "display_name ". - bool CaptureDeviceInfo::ParseDeviceInfoFromCameraName( - const std::string& camera_name); - - // Updates display name. - void SetDisplayName(const std::string& display_name) { - display_name_ = display_name; - } - - // Updates device id. - void SetDeviceID(const std::string& device_id) { device_id_ = device_id; } - - // Returns device id. - std::string GetDeviceId() const { return device_id_; } - - private: - std::string display_name_; - std::string device_id_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_DEVICE_INFO_H_ diff --git a/example/windows_camera/windows/capture_engine_listener.cpp b/example/windows_camera/windows/capture_engine_listener.cpp deleted file mode 100644 index 5425b38..0000000 --- a/example/windows_camera/windows/capture_engine_listener.cpp +++ /dev/null @@ -1,90 +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. - -#include "capture_engine_listener.h" - -#include -#include - -namespace camera_windows { - -using Microsoft::WRL::ComPtr; - -// IUnknown -STDMETHODIMP_(ULONG) CaptureEngineListener::AddRef() { - return InterlockedIncrement(&ref_); -} - -// IUnknown -STDMETHODIMP_(ULONG) -CaptureEngineListener::Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; -} - -// IUnknown -STDMETHODIMP_(HRESULT) -CaptureEngineListener::QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCaptureEngineOnEventCallback) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } else if (riid == IID_IMFCaptureEngineOnSampleCallback) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; -} - -STDMETHODIMP CaptureEngineListener::OnEvent(IMFMediaEvent* event) { - if (observer_) { - observer_->OnEvent(event); - } - return S_OK; -} - -// IMFCaptureEngineOnSampleCallback -HRESULT CaptureEngineListener::OnSample(IMFSample* sample) { - HRESULT hr = S_OK; - - if (this->observer_ && sample) { - LONGLONG raw_time_stamp = 0; - // Receives the presentation time, in 100-nanosecond units. - sample->GetSampleTime(&raw_time_stamp); - - // Report time in microseconds. - this->observer_->UpdateCaptureTime( - static_cast(raw_time_stamp / 10)); - - if (!this->observer_->IsReadyForSample()) { - // No texture target available or not previewing, just return status. - return hr; - } - - ComPtr buffer; - hr = sample->ConvertToContiguousBuffer(&buffer); - - // Draw the frame. - if (SUCCEEDED(hr) && buffer) { - DWORD max_length = 0; - DWORD current_length = 0; - uint8_t* data; - if (SUCCEEDED(buffer->Lock(&data, &max_length, ¤t_length))) { - this->observer_->UpdateBuffer(data, current_length); - } - hr = buffer->Unlock(); - } - } - return hr; -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/capture_engine_listener.h b/example/windows_camera/windows/capture_engine_listener.h deleted file mode 100644 index 081e3ea..0000000 --- a/example/windows_camera/windows/capture_engine_listener.h +++ /dev/null @@ -1,69 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_ENGINE_LISTENER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_ENGINE_LISTENER_H_ - -#include - -#include -#include - -namespace camera_windows { - -// A class that implements callbacks for events from a |CaptureEngineListener|. -class CaptureEngineObserver { - public: - virtual ~CaptureEngineObserver() = default; - - // Returns true if sample can be processed. - virtual bool IsReadyForSample() const = 0; - - // Handles Capture Engine media events. - virtual void OnEvent(IMFMediaEvent* event) = 0; - - // Updates texture buffer - virtual bool UpdateBuffer(uint8_t* data, uint32_t new_length) = 0; - - // Handles capture timestamps updates. - // Used to stop timed recordings when recorded time is exceeded. - virtual void UpdateCaptureTime(uint64_t capture_time) = 0; -}; - -// Listener for Windows Media Foundation capture engine events and samples. -// -// Events are redirected to observers for processing. Samples are preprosessed -// and sent to the associated observer if it is ready to process samples. -class CaptureEngineListener : public IMFCaptureEngineOnSampleCallback, - public IMFCaptureEngineOnEventCallback { - public: - CaptureEngineListener(CaptureEngineObserver* observer) : observer_(observer) { - assert(observer); - } - - ~CaptureEngineListener() {} - - // Disallow copy and move. - CaptureEngineListener(const CaptureEngineListener&) = delete; - CaptureEngineListener& operator=(const CaptureEngineListener&) = delete; - - // IUnknown - STDMETHODIMP_(ULONG) AddRef(); - STDMETHODIMP_(ULONG) Release(); - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv); - - // IMFCaptureEngineOnEventCallback - STDMETHODIMP OnEvent(IMFMediaEvent* pEvent); - - // IMFCaptureEngineOnSampleCallback - STDMETHODIMP_(HRESULT) OnSample(IMFSample* pSample); - - private: - CaptureEngineObserver* observer_; - volatile ULONG ref_ = 0; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_CAPTURE_ENGINE_LISTENER_H_ diff --git a/example/windows_camera/windows/com_heap_ptr.h b/example/windows_camera/windows/com_heap_ptr.h deleted file mode 100644 index a314ed3..0000000 --- a/example/windows_camera/windows/com_heap_ptr.h +++ /dev/null @@ -1,66 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_COMHEAPPTR_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_COMHEAPPTR_H_ - -#include - -#include - -namespace camera_windows { -// Wrapper for COM object for automatic memory release support -// Destructor uses CoTaskMemFree to release memory allocations. -template -class ComHeapPtr { - public: - ComHeapPtr() : p_obj_(nullptr) {} - ComHeapPtr(T* p_obj) : p_obj_(p_obj) {} - - // Frees memory on destruction. - ~ComHeapPtr() { Free(); } - - // Prevent copying / ownership transfer as not currently needed. - ComHeapPtr(ComHeapPtr const&) = delete; - ComHeapPtr& operator=(ComHeapPtr const&) = delete; - - // Returns the pointer to the memory. - operator T*() { return p_obj_; } - - // Returns the pointer to the memory. - T* operator->() { - assert(p_obj_ != nullptr); - return p_obj_; - } - - // Returns the pointer to the memory. - const T* operator->() const { - assert(p_obj_ != nullptr); - return p_obj_; - } - - // Returns the pointer to the memory. - T** operator&() { - // Wrapped object must be nullptr to avoid memory leaks. - // Object can be released with Reset(nullptr). - assert(p_obj_ == nullptr); - return &p_obj_; - } - - // Frees the memory pointed to, and sets the pointer to nullptr. - void Free() { - if (p_obj_) { - CoTaskMemFree(p_obj_); - } - p_obj_ = nullptr; - } - - private: - // Pointer to memory. - T* p_obj_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_COMHEAPPTR_H_ diff --git a/example/windows_camera/windows/include/camera_windows/camera_windows.h b/example/windows_camera/windows/include/camera_windows/camera_windows.h deleted file mode 100644 index b1e28b8..0000000 --- a/example/windows_camera/windows/include/camera_windows/camera_windows.h +++ /dev/null @@ -1,27 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_INCLUDE_CAMERA_WINDOWS_CAMERA_WINDOWS_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_INCLUDE_CAMERA_WINDOWS_CAMERA_WINDOWS_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void CameraWindowsRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_INCLUDE_CAMERA_WINDOWS_CAMERA_WINDOWS_H_ diff --git a/example/windows_camera/windows/photo_handler.cpp b/example/windows_camera/windows/photo_handler.cpp deleted file mode 100644 index 479f0d3..0000000 --- a/example/windows_camera/windows/photo_handler.cpp +++ /dev/null @@ -1,143 +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. - -#include "photo_handler.h" - -#include -#include -#include - -#include - -#include "capture_engine_listener.h" -#include "string_utils.h" - -namespace camera_windows { - -using Microsoft::WRL::ComPtr; - -// Initializes media type for photo capture for jpeg images. -HRESULT BuildMediaTypeForPhotoCapture(IMFMediaType* src_media_type, - IMFMediaType** photo_media_type, - GUID image_format) { - assert(src_media_type); - ComPtr new_media_type; - - HRESULT hr = MFCreateMediaType(&new_media_type); - if (FAILED(hr)) { - return hr; - } - - // Clones everything from original media type. - hr = src_media_type->CopyAllItems(new_media_type.Get()); - if (FAILED(hr)) { - return hr; - } - - hr = new_media_type->SetGUID(MF_MT_MAJOR_TYPE, MFMediaType_Image); - if (FAILED(hr)) { - return hr; - } - - hr = new_media_type->SetGUID(MF_MT_SUBTYPE, image_format); - if (FAILED(hr)) { - return hr; - } - - new_media_type.CopyTo(photo_media_type); - return hr; -} - -HRESULT PhotoHandler::InitPhotoSink(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type) { - assert(capture_engine); - assert(base_media_type); - - HRESULT hr = S_OK; - - if (photo_sink_) { - // If photo sink already exists, only update output filename. - hr = photo_sink_->SetOutputFileName(Utf16FromUtf8(file_path_).c_str()); - - if (FAILED(hr)) { - photo_sink_ = nullptr; - } - - return hr; - } - - ComPtr photo_media_type; - ComPtr capture_sink; - - // Get sink with photo type. - hr = - capture_engine->GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PHOTO, &capture_sink); - if (FAILED(hr)) { - return hr; - } - - hr = capture_sink.As(&photo_sink_); - if (FAILED(hr)) { - photo_sink_ = nullptr; - return hr; - } - - hr = photo_sink_->RemoveAllStreams(); - if (FAILED(hr)) { - photo_sink_ = nullptr; - return hr; - } - - hr = BuildMediaTypeForPhotoCapture(base_media_type, - photo_media_type.GetAddressOf(), - GUID_ContainerFormatJpeg); - - if (FAILED(hr)) { - photo_sink_ = nullptr; - return hr; - } - - DWORD photo_sink_stream_index; - hr = photo_sink_->AddStream( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_PHOTO, - photo_media_type.Get(), nullptr, &photo_sink_stream_index); - if (FAILED(hr)) { - photo_sink_ = nullptr; - return hr; - } - - hr = photo_sink_->SetOutputFileName(Utf16FromUtf8(file_path_).c_str()); - if (FAILED(hr)) { - photo_sink_ = nullptr; - return hr; - } - - return hr; -} - -HRESULT PhotoHandler::TakePhoto(const std::string& file_path, - IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type) { - assert(!file_path.empty()); - assert(capture_engine); - assert(base_media_type); - - file_path_ = file_path; - - HRESULT hr = InitPhotoSink(capture_engine, base_media_type); - if (FAILED(hr)) { - return hr; - } - - photo_state_ = PhotoState::kTakingPhoto; - - return capture_engine->TakePhoto(); -} - -void PhotoHandler::OnPhotoTaken() { - assert(photo_state_ == PhotoState::kTakingPhoto); - photo_state_ = PhotoState::kIdle; -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/photo_handler.h b/example/windows_camera/windows/photo_handler.h deleted file mode 100644 index 4d6ddf1..0000000 --- a/example/windows_camera/windows/photo_handler.h +++ /dev/null @@ -1,80 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PHOTO_HANDLER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PHOTO_HANDLER_H_ - -#include -#include -#include - -#include -#include - -#include "capture_engine_listener.h" - -namespace camera_windows { -using Microsoft::WRL::ComPtr; - -// Various states that the photo handler can be in. -// -// When created, the handler is in |kNotStarted| state and transtions in -// sequential order through the states. -enum class PhotoState { - kNotStarted, - kIdle, - kTakingPhoto, -}; - -// Handles photo sink initialization and tracks photo capture states. -class PhotoHandler { - public: - PhotoHandler() {} - virtual ~PhotoHandler() = default; - - // Prevent copying. - PhotoHandler(PhotoHandler const&) = delete; - PhotoHandler& operator=(PhotoHandler const&) = delete; - - // Initializes photo sink if not initialized and requests the capture engine - // to take photo. - // - // Sets photo state to: kTakingPhoto. - // - // capture_engine: A pointer to capture engine instance. - // Called to take the photo. - // base_media_type: A pointer to base media type used as a base - // for the actual photo capture media type. - // file_path: A string that hold file path for photo capture. - HRESULT TakePhoto(const std::string& file_path, - IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type); - - // Set the photo handler recording state to: kIdle. - void OnPhotoTaken(); - - // Returns true if photo state is kIdle. - bool IsInitialized() const { return photo_state_ == PhotoState::kIdle; } - - // Returns true if photo state is kTakingPhoto. - bool IsTakingPhoto() const { - return photo_state_ == PhotoState::kTakingPhoto; - } - - // Returns the filesystem path of the captured photo. - std::string GetPhotoPath() const { return file_path_; } - - private: - // Initializes record sink for video file capture. - HRESULT InitPhotoSink(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type); - - std::string file_path_; - PhotoState photo_state_ = PhotoState::kNotStarted; - ComPtr photo_sink_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PHOTO_HANDLER_H_ diff --git a/example/windows_camera/windows/preview_handler.cpp b/example/windows_camera/windows/preview_handler.cpp deleted file mode 100644 index 538754c..0000000 --- a/example/windows_camera/windows/preview_handler.cpp +++ /dev/null @@ -1,166 +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. - -#include "preview_handler.h" - -#include -#include - -#include - -#include "capture_engine_listener.h" -#include "string_utils.h" - -namespace camera_windows { - -using Microsoft::WRL::ComPtr; - -// Initializes media type for video preview. -HRESULT BuildMediaTypeForVideoPreview(IMFMediaType* src_media_type, - IMFMediaType** preview_media_type) { - assert(src_media_type); - ComPtr new_media_type; - - HRESULT hr = MFCreateMediaType(&new_media_type); - if (FAILED(hr)) { - return hr; - } - - // Clones everything from original media type. - hr = src_media_type->CopyAllItems(new_media_type.Get()); - if (FAILED(hr)) { - return hr; - } - - // Changes subtype to MFVideoFormat_RGB32. - hr = new_media_type->SetGUID(MF_MT_SUBTYPE, MFVideoFormat_RGB32); - if (FAILED(hr)) { - return hr; - } - - hr = new_media_type->SetUINT32(MF_MT_ALL_SAMPLES_INDEPENDENT, TRUE); - if (FAILED(hr)) { - return hr; - } - - new_media_type.CopyTo(preview_media_type); - - return hr; -} - -HRESULT PreviewHandler::InitPreviewSink( - IMFCaptureEngine* capture_engine, IMFMediaType* base_media_type, - CaptureEngineListener* sample_callback) { - assert(capture_engine); - assert(base_media_type); - assert(sample_callback); - - HRESULT hr = S_OK; - - if (preview_sink_) { - // Preview sink already initialized. - return hr; - } - - ComPtr preview_media_type; - ComPtr capture_sink; - - // Get sink with preview type. - hr = capture_engine->GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW, - &capture_sink); - if (FAILED(hr)) { - return hr; - } - - hr = capture_sink.As(&preview_sink_); - if (FAILED(hr)) { - preview_sink_ = nullptr; - return hr; - } - - hr = preview_sink_->RemoveAllStreams(); - if (FAILED(hr)) { - preview_sink_ = nullptr; - return hr; - } - - hr = BuildMediaTypeForVideoPreview(base_media_type, - preview_media_type.GetAddressOf()); - - if (FAILED(hr)) { - preview_sink_ = nullptr; - return hr; - } - - DWORD preview_sink_stream_index; - hr = preview_sink_->AddStream( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_PREVIEW, - preview_media_type.Get(), nullptr, &preview_sink_stream_index); - - if (FAILED(hr)) { - return hr; - } - - hr = preview_sink_->SetSampleCallback(preview_sink_stream_index, - sample_callback); - - if (FAILED(hr)) { - preview_sink_ = nullptr; - return hr; - } - - return hr; -} - -HRESULT PreviewHandler::StartPreview(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type, - CaptureEngineListener* sample_callback) { - assert(capture_engine); - assert(base_media_type); - - HRESULT hr = - InitPreviewSink(capture_engine, base_media_type, sample_callback); - - if (FAILED(hr)) { - return hr; - } - - preview_state_ = PreviewState::kStarting; - return capture_engine->StartPreview(); -} - -HRESULT PreviewHandler::StopPreview(IMFCaptureEngine* capture_engine) { - if (preview_state_ == PreviewState::kStarting || - preview_state_ == PreviewState::kRunning || - preview_state_ == PreviewState::kPaused) { - preview_state_ = PreviewState::kStopping; - return capture_engine->StopPreview(); - } - return E_FAIL; -} - -bool PreviewHandler::PausePreview() { - if (preview_state_ != PreviewState::kRunning) { - return false; - } - preview_state_ = PreviewState::kPaused; - return true; -} - -bool PreviewHandler::ResumePreview() { - if (preview_state_ != PreviewState::kPaused) { - return false; - } - preview_state_ = PreviewState::kRunning; - return true; -} - -void PreviewHandler::OnPreviewStarted() { - assert(preview_state_ == PreviewState::kStarting); - if (preview_state_ == PreviewState::kStarting) { - preview_state_ = PreviewState::kRunning; - } -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/preview_handler.h b/example/windows_camera/windows/preview_handler.h deleted file mode 100644 index 311cf5a..0000000 --- a/example/windows_camera/windows/preview_handler.h +++ /dev/null @@ -1,101 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PREVIEW_HANDLER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PREVIEW_HANDLER_H_ - -#include -#include -#include - -#include -#include - -#include "capture_engine_listener.h" - -namespace camera_windows { -using Microsoft::WRL::ComPtr; - -// States the preview handler can be in. -// -// When created, the handler starts in |kNotStarted| state and mostly -// transitions in sequential order of the states. When the preview is running, -// it can be set to the |kPaused| state and later resumed to |kRunning| state. -enum class PreviewState { - kNotStarted, - kStarting, - kRunning, - kPaused, - kStopping -}; - -// Handler for a camera's video preview. -// -// Handles preview sink initialization and manages the state of the video -// preview. -class PreviewHandler { - public: - PreviewHandler() {} - virtual ~PreviewHandler() = default; - - // Prevent copying. - PreviewHandler(PreviewHandler const&) = delete; - PreviewHandler& operator=(PreviewHandler const&) = delete; - - // Initializes preview sink and requests capture engine to start previewing. - // Sets preview state to: starting. - // - // capture_engine: A pointer to capture engine instance. Used to start - // the actual recording. - // base_media_type: A pointer to base media type used as a base - // for the actual video capture media type. - // sample_callback: A pointer to capture engine listener. - // This is set as sample callback for preview sink. - HRESULT StartPreview(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type, - CaptureEngineListener* sample_callback); - - // Stops existing recording. - // - // capture_engine: A pointer to capture engine instance. Used to stop - // the ongoing recording. - HRESULT StopPreview(IMFCaptureEngine* capture_engine); - - // Set the preview handler recording state to: paused. - bool PausePreview(); - - // Set the preview handler recording state to: running. - bool ResumePreview(); - - // Set the preview handler recording state to: running. - void OnPreviewStarted(); - - // Returns true if preview state is running or paused. - bool IsInitialized() const { - return preview_state_ == PreviewState::kRunning || - preview_state_ == PreviewState::kPaused; - } - - // Returns true if preview state is running. - bool IsRunning() const { return preview_state_ == PreviewState::kRunning; } - - // Return true if preview state is paused. - bool IsPaused() const { return preview_state_ == PreviewState::kPaused; } - - // Returns true if preview state is starting. - bool IsStarting() const { return preview_state_ == PreviewState::kStarting; } - - private: - // Initializes record sink for video file capture. - HRESULT InitPreviewSink(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type, - CaptureEngineListener* sample_callback); - - PreviewState preview_state_ = PreviewState::kNotStarted; - ComPtr preview_sink_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_PREVIEW_HANDLER_H_ diff --git a/example/windows_camera/windows/record_handler.cpp b/example/windows_camera/windows/record_handler.cpp deleted file mode 100644 index 0f71925..0000000 --- a/example/windows_camera/windows/record_handler.cpp +++ /dev/null @@ -1,259 +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. - -#include "record_handler.h" - -#include -#include - -#include - -#include "string_utils.h" - -namespace camera_windows { - -using Microsoft::WRL::ComPtr; - -// Initializes media type for video capture. -HRESULT BuildMediaTypeForVideoCapture(IMFMediaType* src_media_type, - IMFMediaType** video_record_media_type, - GUID capture_format) { - assert(src_media_type); - ComPtr new_media_type; - - HRESULT hr = MFCreateMediaType(&new_media_type); - if (FAILED(hr)) { - return hr; - } - - // Clones everything from original media type. - hr = src_media_type->CopyAllItems(new_media_type.Get()); - if (FAILED(hr)) { - return hr; - } - - hr = new_media_type->SetGUID(MF_MT_SUBTYPE, capture_format); - if (FAILED(hr)) { - return hr; - } - - new_media_type.CopyTo(video_record_media_type); - return S_OK; -} - -// Queries interface object from collection. -template -HRESULT GetCollectionObject(IMFCollection* pCollection, DWORD index, - Q** ppObj) { - ComPtr pUnk; - HRESULT hr = pCollection->GetElement(index, pUnk.GetAddressOf()); - if (FAILED(hr)) { - return hr; - } - return pUnk->QueryInterface(IID_PPV_ARGS(ppObj)); -} - -// Initializes media type for audo capture. -HRESULT BuildMediaTypeForAudioCapture(IMFMediaType** audio_record_media_type) { - ComPtr audio_output_attributes; - ComPtr src_media_type; - ComPtr new_media_type; - ComPtr available_output_types; - DWORD mt_count = 0; - - HRESULT hr = MFCreateAttributes(&audio_output_attributes, 1); - if (FAILED(hr)) { - return hr; - } - - // Enumerates only low latency audio outputs. - hr = audio_output_attributes->SetUINT32(MF_LOW_LATENCY, TRUE); - if (FAILED(hr)) { - return hr; - } - - DWORD mft_flags = (MFT_ENUM_FLAG_ALL & (~MFT_ENUM_FLAG_FIELDOFUSE)) | - MFT_ENUM_FLAG_SORTANDFILTER; - - hr = MFTranscodeGetAudioOutputAvailableTypes( - MFAudioFormat_AAC, mft_flags, audio_output_attributes.Get(), - available_output_types.GetAddressOf()); - if (FAILED(hr)) { - return hr; - } - - hr = GetCollectionObject(available_output_types.Get(), 0, - src_media_type.GetAddressOf()); - if (FAILED(hr)) { - return hr; - } - - hr = available_output_types->GetElementCount(&mt_count); - if (FAILED(hr)) { - return hr; - } - - if (mt_count == 0) { - // No sources found, mark process as failure. - return E_FAIL; - } - - // Create new media type to copy original media type to. - hr = MFCreateMediaType(&new_media_type); - if (FAILED(hr)) { - return hr; - } - - hr = src_media_type->CopyAllItems(new_media_type.Get()); - if (FAILED(hr)) { - return hr; - } - - new_media_type.CopyTo(audio_record_media_type); - return hr; -} - -HRESULT RecordHandler::InitRecordSink(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type) { - assert(!file_path_.empty()); - assert(capture_engine); - assert(base_media_type); - - HRESULT hr = S_OK; - if (record_sink_) { - // If record sink already exists, only update output filename. - hr = record_sink_->SetOutputFileName(Utf16FromUtf8(file_path_).c_str()); - - if (FAILED(hr)) { - record_sink_ = nullptr; - } - return hr; - } - - ComPtr video_record_media_type; - ComPtr capture_sink; - - // Gets sink from capture engine with record type. - - hr = capture_engine->GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, - &capture_sink); - if (FAILED(hr)) { - return hr; - } - - hr = capture_sink.As(&record_sink_); - if (FAILED(hr)) { - return hr; - } - - // Removes existing streams if available. - hr = record_sink_->RemoveAllStreams(); - if (FAILED(hr)) { - return hr; - } - - hr = BuildMediaTypeForVideoCapture(base_media_type, - video_record_media_type.GetAddressOf(), - MFVideoFormat_H264); - if (FAILED(hr)) { - return hr; - } - - DWORD video_record_sink_stream_index; - hr = record_sink_->AddStream( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_RECORD, - video_record_media_type.Get(), nullptr, &video_record_sink_stream_index); - if (FAILED(hr)) { - return hr; - } - - if (record_audio_) { - ComPtr audio_record_media_type; - HRESULT audio_capture_hr = S_OK; - audio_capture_hr = - BuildMediaTypeForAudioCapture(audio_record_media_type.GetAddressOf()); - - if (SUCCEEDED(audio_capture_hr)) { - DWORD audio_record_sink_stream_index; - hr = record_sink_->AddStream( - (DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_AUDIO, - audio_record_media_type.Get(), nullptr, - &audio_record_sink_stream_index); - } - - if (FAILED(hr)) { - return hr; - } - } - - hr = record_sink_->SetOutputFileName(Utf16FromUtf8(file_path_).c_str()); - - return hr; -} - -HRESULT RecordHandler::StartRecord(const std::string& file_path, - int64_t max_duration, - IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type) { - assert(!file_path.empty()); - assert(capture_engine); - assert(base_media_type); - - type_ = max_duration < 0 ? RecordingType::kContinuous : RecordingType::kTimed; - max_video_duration_ms_ = max_duration; - file_path_ = file_path; - recording_start_timestamp_us_ = -1; - recording_duration_us_ = 0; - - HRESULT hr = InitRecordSink(capture_engine, base_media_type); - if (FAILED(hr)) { - return hr; - } - - recording_state_ = RecordState::kStarting; - return capture_engine->StartRecord(); -} - -HRESULT RecordHandler::StopRecord(IMFCaptureEngine* capture_engine) { - if (recording_state_ == RecordState::kRunning) { - recording_state_ = RecordState::kStopping; - return capture_engine->StopRecord(true, false); - } - return E_FAIL; -} - -void RecordHandler::OnRecordStarted() { - if (recording_state_ == RecordState::kStarting) { - recording_state_ = RecordState::kRunning; - } -} - -void RecordHandler::OnRecordStopped() { - if (recording_state_ == RecordState::kStopping) { - file_path_ = ""; - recording_start_timestamp_us_ = -1; - recording_duration_us_ = 0; - max_video_duration_ms_ = -1; - recording_state_ = RecordState::kNotStarted; - type_ = RecordingType::kNone; - } -} - -void RecordHandler::UpdateRecordingTime(uint64_t timestamp) { - if (recording_start_timestamp_us_ < 0) { - recording_start_timestamp_us_ = timestamp; - } - - recording_duration_us_ = (timestamp - recording_start_timestamp_us_); -} - -bool RecordHandler::ShouldStopTimedRecording() const { - return type_ == RecordingType::kTimed && - recording_state_ == RecordState::kRunning && - max_video_duration_ms_ > 0 && - recording_duration_us_ >= - (static_cast(max_video_duration_ms_) * 1000); -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/record_handler.h b/example/windows_camera/windows/record_handler.h deleted file mode 100644 index 0c87bf9..0000000 --- a/example/windows_camera/windows/record_handler.h +++ /dev/null @@ -1,118 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_RECORD_HANDLER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_RECORD_HANDLER_H_ - -#include -#include -#include - -#include -#include - -namespace camera_windows { -using Microsoft::WRL::ComPtr; - -enum class RecordingType { - // Camera is not recording. - kNone, - // Recording continues until it is stopped with a separate stop command. - kContinuous, - // Recording stops automatically after requested record time is passed. - kTimed -}; - -// States that the record handler can be in. -// -// When created, the handler starts in |kNotStarted| state and transtions in -// sequential order through the states. -enum class RecordState { kNotStarted, kStarting, kRunning, kStopping }; - -// Handler for video recording via the camera. -// -// Handles record sink initialization and manages the state of video recording. -class RecordHandler { - public: - RecordHandler(bool record_audio) : record_audio_(record_audio) {} - virtual ~RecordHandler() = default; - - // Prevent copying. - RecordHandler(RecordHandler const&) = delete; - RecordHandler& operator=(RecordHandler const&) = delete; - - // Initializes record sink and requests capture engine to start recording. - // - // Sets record state to: starting. - // - // file_path: A string that hold file path for video capture. - // max_duration: A int64 value of maximun recording duration. - // If value is -1 video recording is considered as - // a continuous recording. - // capture_engine: A pointer to capture engine instance. Used to start - // the actual recording. - // base_media_type: A pointer to base media type used as a base - // for the actual video capture media type. - HRESULT StartRecord(const std::string& file_path, int64_t max_duration, - IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type); - - // Stops existing recording. - // - // capture_engine: A pointer to capture engine instance. Used to stop - // the ongoing recording. - HRESULT StopRecord(IMFCaptureEngine* capture_engine); - - // Set the record handler recording state to: running. - void OnRecordStarted(); - - // Resets the record handler state and - // sets recording state to: not started. - void OnRecordStopped(); - - // Returns true if recording type is continuous recording. - bool IsContinuousRecording() const { - return type_ == RecordingType::kContinuous; - } - - // Returns true if recording type is timed recording. - bool IsTimedRecording() const { return type_ == RecordingType::kTimed; } - - // Returns true if new recording can be started. - bool CanStart() const { return recording_state_ == RecordState::kNotStarted; } - - // Returns true if recording can be stopped. - bool CanStop() const { return recording_state_ == RecordState::kRunning; } - - // Returns the filesystem path of the video recording. - std::string GetRecordPath() const { return file_path_; } - - // Returns the duration of the video recording in microseconds. - uint64_t GetRecordedDuration() const { return recording_duration_us_; } - - // Calculates new recording time from capture timestamp. - void UpdateRecordingTime(uint64_t timestamp); - - // Returns true if recording time has exceeded the maximum duration for timed - // recordings. - bool ShouldStopTimedRecording() const; - - private: - // Initializes record sink for video file capture. - HRESULT InitRecordSink(IMFCaptureEngine* capture_engine, - IMFMediaType* base_media_type); - - bool record_audio_ = false; - int64_t max_video_duration_ms_ = -1; - int64_t recording_start_timestamp_us_ = -1; - uint64_t recording_duration_us_ = 0; - std::string file_path_; - RecordState recording_state_ = RecordState::kNotStarted; - RecordingType type_ = RecordingType::kNone; - ComPtr record_sink_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_RECORD_HANDLER_H_ diff --git a/example/windows_camera/windows/string_utils.cpp b/example/windows_camera/windows/string_utils.cpp deleted file mode 100644 index 34b1336..0000000 --- a/example/windows_camera/windows/string_utils.cpp +++ /dev/null @@ -1,60 +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. - -#include "string_utils.h" - -#include -#include - -#include - -namespace camera_windows { - -// Converts the given UTF-16 string to UTF-8. -std::string Utf8FromUtf16(const std::wstring& utf16_string) { - if (utf16_string.empty()) { - return std::string(); - } - int target_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string.data(), - static_cast(utf16_string.length()), nullptr, 0, nullptr, nullptr); - 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.data(), - static_cast(utf16_string.length()), utf8_string.data(), - target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} - -// Converts the given UTF-8 string to UTF-16. -std::wstring Utf16FromUtf8(const std::string& utf8_string) { - if (utf8_string.empty()) { - return std::wstring(); - } - int target_length = - ::MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, utf8_string.data(), - static_cast(utf8_string.length()), nullptr, 0); - std::wstring utf16_string; - if (target_length == 0 || target_length > utf16_string.max_size()) { - return utf16_string; - } - utf16_string.resize(target_length); - int converted_length = - ::MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, utf8_string.data(), - static_cast(utf8_string.length()), - utf16_string.data(), target_length); - if (converted_length == 0) { - return std::wstring(); - } - return utf16_string; -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/string_utils.h b/example/windows_camera/windows/string_utils.h deleted file mode 100644 index 562c46a..0000000 --- a/example/windows_camera/windows/string_utils.h +++ /dev/null @@ -1,22 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_STRING_UTILS_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_STRING_UTILS_H_ - -#include - -#include - -namespace camera_windows { - -// Converts the given UTF-16 string to UTF-8. -std::string Utf8FromUtf16(const std::wstring& utf16_string); - -// Converts the given UTF-8 string to UTF-16. -std::wstring Utf16FromUtf8(const std::string& utf8_string); - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_STRING_UTILS_H_ diff --git a/example/windows_camera/windows/test/camera_plugin_test.cpp b/example/windows_camera/windows/test/camera_plugin_test.cpp deleted file mode 100644 index 9cab069..0000000 --- a/example/windows_camera/windows/test/camera_plugin_test.cpp +++ /dev/null @@ -1,1055 +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. - -#include "camera_plugin.h" - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "mocks.h" - -namespace camera_windows { -namespace test { - -using flutter::EncodableMap; -using flutter::EncodableValue; -using ::testing::_; -using ::testing::DoAll; -using ::testing::EndsWith; -using ::testing::Eq; -using ::testing::Pointee; -using ::testing::Return; - -void MockInitCamera(MockCamera* camera, bool success) { - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kCreateCamera))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, - AddPendingResult(Eq(PendingResultType::kCreateCamera), _)) - .Times(1) - .WillOnce([camera](PendingResultType type, - std::unique_ptr> result) { - camera->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, HasDeviceId(Eq(camera->device_id_))) - .WillRepeatedly(Return(true)); - - EXPECT_CALL(*camera, InitCamera) - .Times(1) - .WillOnce([camera, success](flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - bool record_audio, - ResolutionPreset resolution_preset) { - assert(camera->pending_result_); - if (success) { - camera->pending_result_->Success(EncodableValue(1)); - return true; - } else { - camera->pending_result_->Error("camera_error", "InitCamera failed."); - return false; - } - }); -} - -TEST(CameraPlugin, AvailableCamerasHandlerSuccessIfNoCameras) { - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - std::unique_ptr result = - std::make_unique(); - - MockCameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - - EXPECT_CALL(plugin, EnumerateVideoCaptureDeviceSources) - .Times(1) - .WillOnce([](IMFActivate*** devices, UINT32* count) { - *count = 0U; - *devices = static_cast( - CoTaskMemAlloc(sizeof(IMFActivate*) * (*count))); - return true; - }); - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal).Times(1); - - plugin.HandleMethodCall( - flutter::MethodCall("availableCameras", - std::make_unique()), - std::move(result)); -} - -TEST(CameraPlugin, AvailableCamerasHandlerErrorIfFailsToEnumerateDevices) { - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - std::unique_ptr result = - std::make_unique(); - - MockCameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - - EXPECT_CALL(plugin, EnumerateVideoCaptureDeviceSources) - .Times(1) - .WillOnce([](IMFActivate*** devices, UINT32* count) { return false; }); - - EXPECT_CALL(*result, ErrorInternal).Times(1); - EXPECT_CALL(*result, SuccessInternal).Times(0); - - plugin.HandleMethodCall( - flutter::MethodCall("availableCameras", - std::make_unique()), - std::move(result)); -} - -TEST(CameraPlugin, CreateHandlerCallsInitCamera) { - std::unique_ptr result = - std::make_unique(); - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - MockInitCamera(camera.get(), true); - - // Move mocked camera to the factory to be passed - // for plugin with CreateCamera function. - camera_factory_->pending_camera_ = std::move(camera); - - EXPECT_CALL(*camera_factory_, CreateCamera(MOCK_DEVICE_ID)); - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(Pointee(EncodableValue(1)))); - - CameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - EncodableMap args = { - {EncodableValue("cameraName"), EncodableValue(MOCK_CAMERA_NAME)}, - {EncodableValue("resolutionPreset"), EncodableValue(nullptr)}, - {EncodableValue("enableAudio"), EncodableValue(true)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(result)); -} - -TEST(CameraPlugin, CreateHandlerErrorOnInvalidDeviceId) { - std::unique_ptr result = - std::make_unique(); - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - - CameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - EncodableMap args = { - {EncodableValue("cameraName"), EncodableValue(MOCK_INVALID_CAMERA_NAME)}, - {EncodableValue("resolutionPreset"), EncodableValue(nullptr)}, - {EncodableValue("enableAudio"), EncodableValue(true)}, - }; - - EXPECT_CALL(*result, ErrorInternal).Times(1); - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(result)); -} - -TEST(CameraPlugin, CreateHandlerErrorOnExistingDeviceId) { - std::unique_ptr first_create_result = - std::make_unique(); - std::unique_ptr second_create_result = - std::make_unique(); - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - MockInitCamera(camera.get(), true); - - // Move mocked camera to the factory to be passed - // for plugin with CreateCamera function. - camera_factory_->pending_camera_ = std::move(camera); - - EXPECT_CALL(*camera_factory_, CreateCamera(MOCK_DEVICE_ID)); - - EXPECT_CALL(*first_create_result, ErrorInternal).Times(0); - EXPECT_CALL(*first_create_result, - SuccessInternal(Pointee(EncodableValue(1)))); - - CameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - EncodableMap args = { - {EncodableValue("cameraName"), EncodableValue(MOCK_CAMERA_NAME)}, - {EncodableValue("resolutionPreset"), EncodableValue(nullptr)}, - {EncodableValue("enableAudio"), EncodableValue(true)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(first_create_result)); - - EXPECT_CALL(*second_create_result, ErrorInternal).Times(1); - EXPECT_CALL(*second_create_result, SuccessInternal).Times(0); - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(second_create_result)); -} - -TEST(CameraPlugin, CreateHandlerAllowsRetry) { - std::unique_ptr first_create_result = - std::make_unique(); - std::unique_ptr second_create_result = - std::make_unique(); - std::unique_ptr texture_registrar_ = - std::make_unique(); - std::unique_ptr messenger_ = - std::make_unique(); - std::unique_ptr camera_factory_ = - std::make_unique(); - - // The camera will fail initialization once and then succeed. - EXPECT_CALL(*camera_factory_, CreateCamera(MOCK_DEVICE_ID)) - .Times(2) - .WillOnce([](const std::string& device_id) { - std::unique_ptr first_camera = - std::make_unique(MOCK_DEVICE_ID); - - MockInitCamera(first_camera.get(), false); - - return first_camera; - }) - .WillOnce([](const std::string& device_id) { - std::unique_ptr second_camera = - std::make_unique(MOCK_DEVICE_ID); - - MockInitCamera(second_camera.get(), true); - - return second_camera; - }); - - EXPECT_CALL(*first_create_result, ErrorInternal).Times(1); - EXPECT_CALL(*first_create_result, SuccessInternal).Times(0); - - CameraPlugin plugin(texture_registrar_.get(), messenger_.get(), - std::move(camera_factory_)); - EncodableMap args = { - {EncodableValue("cameraName"), EncodableValue(MOCK_CAMERA_NAME)}, - {EncodableValue("resolutionPreset"), EncodableValue(nullptr)}, - {EncodableValue("enableAudio"), EncodableValue(true)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(first_create_result)); - - EXPECT_CALL(*second_create_result, ErrorInternal).Times(0); - EXPECT_CALL(*second_create_result, - SuccessInternal(Pointee(EncodableValue(1)))); - - plugin.HandleMethodCall( - flutter::MethodCall("create", - std::make_unique(EncodableMap(args))), - std::move(second_create_result)); -} - -TEST(CameraPlugin, InitializeHandlerCallStartPreview) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kInitialize))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, AddPendingResult(Eq(PendingResultType::kInitialize), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, StartPreview()) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("initialize", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, InitializeHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, StartPreview).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("initialize", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, TakePictureHandlerCallsTakePictureWithPath) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kTakePicture))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, AddPendingResult(Eq(PendingResultType::kTakePicture), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, TakePicture(EndsWith(".jpeg"))) - .Times(1) - .WillOnce([cam = camera.get()](const std::string& file_path) { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("takePicture", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, TakePictureHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, TakePicture).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("takePicture", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, StartVideoRecordingHandlerCallsStartRecordWithPath) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kStartRecord))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, AddPendingResult(Eq(PendingResultType::kStartRecord), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, StartRecord(EndsWith(".mp4"), -1)) - .Times(1) - .WillOnce([cam = camera.get()](const std::string& file_path, - int64_t max_video_duration_ms) { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("startVideoRecording", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, - StartVideoRecordingHandlerCallsStartRecordWithPathAndCaptureDuration) { - int64_t mock_camera_id = 1234; - int32_t mock_video_duration = 100000; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kStartRecord))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, AddPendingResult(Eq(PendingResultType::kStartRecord), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, - StartRecord(EndsWith(".mp4"), Eq(mock_video_duration))) - .Times(1) - .WillOnce([cam = camera.get()](const std::string& file_path, - int64_t max_video_duration_ms) { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - {EncodableValue("maxVideoDuration"), EncodableValue(mock_video_duration)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("startVideoRecording", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, StartVideoRecordingHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, StartRecord(_, -1)).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("startVideoRecording", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, StopVideoRecordingHandlerCallsStopRecord) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kStopRecord))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, AddPendingResult(Eq(PendingResultType::kStopRecord), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, StopRecord) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("stopVideoRecording", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, StopVideoRecordingHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, StopRecord).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("stopVideoRecording", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, ResumePreviewHandlerCallsResumePreview) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kResumePreview))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, - AddPendingResult(Eq(PendingResultType::kResumePreview), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, ResumePreview) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("resumePreview", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, ResumePreviewHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, ResumePreview).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("resumePreview", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, PausePreviewHandlerCallsPausePreview) { - int64_t mock_camera_id = 1234; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId(Eq(mock_camera_id))) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, - HasPendingResultByType(Eq(PendingResultType::kPausePreview))) - .Times(1) - .WillOnce(Return(false)); - - EXPECT_CALL(*camera, - AddPendingResult(Eq(PendingResultType::kPausePreview), _)) - .Times(1) - .WillOnce([cam = camera.get()](PendingResultType type, - std::unique_ptr> result) { - cam->pending_result_ = std::move(result); - return true; - }); - - EXPECT_CALL(*camera, GetCaptureController) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->capture_controller_.get(); - }); - - EXPECT_CALL(*capture_controller, PausePreview) - .Times(1) - .WillOnce([cam = camera.get()]() { - assert(cam->pending_result_); - return cam->pending_result_->Success(); - }); - - camera->camera_id_ = mock_camera_id; - camera->capture_controller_ = std::move(capture_controller); - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(0); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(1); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(mock_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("pausePreview", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -TEST(CameraPlugin, PausePreviewHandlerErrorOnInvalidCameraId) { - int64_t mock_camera_id = 1234; - int64_t missing_camera_id = 5678; - - std::unique_ptr initialize_result = - std::make_unique(); - - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - - std::unique_ptr capture_controller = - std::make_unique(); - - EXPECT_CALL(*camera, HasCameraId) - .Times(1) - .WillOnce([cam = camera.get()](int64_t camera_id) { - return cam->camera_id_ == camera_id; - }); - - EXPECT_CALL(*camera, HasPendingResultByType).Times(0); - EXPECT_CALL(*camera, AddPendingResult).Times(0); - EXPECT_CALL(*camera, GetCaptureController).Times(0); - EXPECT_CALL(*capture_controller, PausePreview).Times(0); - - camera->camera_id_ = mock_camera_id; - - MockCameraPlugin plugin(std::make_unique().get(), - std::make_unique().get(), - std::make_unique()); - - // Add mocked camera to plugins camera list. - plugin.AddCamera(std::move(camera)); - - EXPECT_CALL(*initialize_result, ErrorInternal).Times(1); - EXPECT_CALL(*initialize_result, SuccessInternal).Times(0); - - EncodableMap args = { - {EncodableValue("cameraId"), EncodableValue(missing_camera_id)}, - }; - - plugin.HandleMethodCall( - flutter::MethodCall("pausePreview", - std::make_unique(EncodableMap(args))), - std::move(initialize_result)); -} - -} // namespace test -} // namespace camera_windows diff --git a/example/windows_camera/windows/test/camera_test.cpp b/example/windows_camera/windows/test/camera_test.cpp deleted file mode 100644 index 158a2c2..0000000 --- a/example/windows_camera/windows/test/camera_test.cpp +++ /dev/null @@ -1,505 +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. - -#include "camera.h" - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "mocks.h" - -namespace camera_windows { -using ::testing::_; -using ::testing::Eq; -using ::testing::NiceMock; -using ::testing::Pointee; -using ::testing::Return; - -namespace test { - -TEST(Camera, InitCameraCreatesCaptureController) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller_factory = - std::make_unique(); - - EXPECT_CALL(*capture_controller_factory, CreateCaptureController) - .Times(1) - .WillOnce([]() { - std::unique_ptr> capture_controller = - std::make_unique>(); - - EXPECT_CALL(*capture_controller, InitCaptureDevice) - .Times(1) - .WillOnce(Return(true)); - - return capture_controller; - }); - - EXPECT_TRUE(camera->GetCaptureController() == nullptr); - - // Init camera with mock capture controller factory - bool result = - camera->InitCamera(std::move(capture_controller_factory), - std::make_unique().get(), - std::make_unique().get(), false, - ResolutionPreset::kAuto); - EXPECT_TRUE(result); - EXPECT_TRUE(camera->GetCaptureController() != nullptr); -} - -TEST(Camera, InitCameraReportsFailure) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller_factory = - std::make_unique(); - - EXPECT_CALL(*capture_controller_factory, CreateCaptureController) - .Times(1) - .WillOnce([]() { - std::unique_ptr> capture_controller = - std::make_unique>(); - - EXPECT_CALL(*capture_controller, InitCaptureDevice) - .Times(1) - .WillOnce(Return(false)); - - return capture_controller; - }); - - EXPECT_TRUE(camera->GetCaptureController() == nullptr); - - // Init camera with mock capture controller factory - bool result = - camera->InitCamera(std::move(capture_controller_factory), - std::make_unique().get(), - std::make_unique().get(), false, - ResolutionPreset::kAuto); - EXPECT_FALSE(result); - EXPECT_TRUE(camera->GetCaptureController() != nullptr); -} - -TEST(Camera, AddPendingResultReturnsErrorForDuplicates) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr first_pending_result = - std::make_unique(); - std::unique_ptr second_pending_result = - std::make_unique(); - - EXPECT_CALL(*first_pending_result, ErrorInternal).Times(0); - EXPECT_CALL(*first_pending_result, SuccessInternal); - EXPECT_CALL(*second_pending_result, ErrorInternal).Times(1); - - camera->AddPendingResult(PendingResultType::kCreateCamera, - std::move(first_pending_result)); - - // This should fail - camera->AddPendingResult(PendingResultType::kCreateCamera, - std::move(second_pending_result)); - - // Mark pending result as succeeded - camera->OnCreateCaptureEngineSucceeded(0); -} - -TEST(Camera, OnCreateCaptureEngineSucceededReturnsCameraId) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const int64_t texture_id = 12345; - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL( - *result, - SuccessInternal(Pointee(EncodableValue(EncodableMap( - {{EncodableValue("cameraId"), EncodableValue(texture_id)}}))))); - - camera->AddPendingResult(PendingResultType::kCreateCamera, std::move(result)); - - camera->OnCreateCaptureEngineSucceeded(texture_id); -} - -TEST(Camera, CreateCaptureEngineReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kCreateCamera, std::move(result)); - - camera->OnCreateCaptureEngineFailed(CameraResult::kError, error_text); -} - -TEST(Camera, CreateCaptureEngineReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kCreateCamera, std::move(result)); - - camera->OnCreateCaptureEngineFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnStartPreviewSucceededReturnsFrameSize) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const int32_t width = 123; - const int32_t height = 456; - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL( - *result, - SuccessInternal(Pointee(EncodableValue(EncodableMap({ - {EncodableValue("previewWidth"), EncodableValue((float)width)}, - {EncodableValue("previewHeight"), EncodableValue((float)height)}, - }))))); - - camera->AddPendingResult(PendingResultType::kInitialize, std::move(result)); - - camera->OnStartPreviewSucceeded(width, height); -} - -TEST(Camera, StartPreviewReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kInitialize, std::move(result)); - - camera->OnStartPreviewFailed(CameraResult::kError, error_text); -} - -TEST(Camera, StartPreviewReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kInitialize, std::move(result)); - - camera->OnStartPreviewFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnPausePreviewSucceededReturnsSuccess) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(nullptr)); - - camera->AddPendingResult(PendingResultType::kPausePreview, std::move(result)); - - camera->OnPausePreviewSucceeded(); -} - -TEST(Camera, PausePreviewReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kPausePreview, std::move(result)); - - camera->OnPausePreviewFailed(CameraResult::kError, error_text); -} - -TEST(Camera, PausePreviewReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kPausePreview, std::move(result)); - - camera->OnPausePreviewFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnResumePreviewSucceededReturnsSuccess) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(nullptr)); - - camera->AddPendingResult(PendingResultType::kResumePreview, - std::move(result)); - - camera->OnResumePreviewSucceeded(); -} - -TEST(Camera, ResumePreviewReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kResumePreview, - std::move(result)); - - camera->OnResumePreviewFailed(CameraResult::kError, error_text); -} - -TEST(Camera, OnResumePreviewPermissionFailureReturnsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kResumePreview, - std::move(result)); - - camera->OnResumePreviewFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnStartRecordSucceededReturnsSuccess) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(nullptr)); - - camera->AddPendingResult(PendingResultType::kStartRecord, std::move(result)); - - camera->OnStartRecordSucceeded(); -} - -TEST(Camera, StartRecordReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kStartRecord, std::move(result)); - - camera->OnStartRecordFailed(CameraResult::kError, error_text); -} - -TEST(Camera, StartRecordReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kStartRecord, std::move(result)); - - camera->OnStartRecordFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnStopRecordSucceededReturnsSuccess) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string file_path = "C:\temp\filename.mp4"; - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(Pointee(EncodableValue(file_path)))); - - camera->AddPendingResult(PendingResultType::kStopRecord, std::move(result)); - - camera->OnStopRecordSucceeded(file_path); -} - -TEST(Camera, StopRecordReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kStopRecord, std::move(result)); - - camera->OnStopRecordFailed(CameraResult::kError, error_text); -} - -TEST(Camera, StopRecordReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kStopRecord, std::move(result)); - - camera->OnStopRecordFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnTakePictureSucceededReturnsSuccess) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string file_path = "C:\\temp\\filename.jpeg"; - - EXPECT_CALL(*result, ErrorInternal).Times(0); - EXPECT_CALL(*result, SuccessInternal(Pointee(EncodableValue(file_path)))); - - camera->AddPendingResult(PendingResultType::kTakePicture, std::move(result)); - - camera->OnTakePictureSucceeded(file_path); -} - -TEST(Camera, TakePictureReportsError) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, ErrorInternal(Eq("camera_error"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kTakePicture, std::move(result)); - - camera->OnTakePictureFailed(CameraResult::kError, error_text); -} - -TEST(Camera, TakePictureReportsAccessDenied) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr result = - std::make_unique(); - - const std::string error_text = "error_text"; - - EXPECT_CALL(*result, SuccessInternal).Times(0); - EXPECT_CALL(*result, - ErrorInternal(Eq("CameraAccessDenied"), Eq(error_text), _)); - - camera->AddPendingResult(PendingResultType::kTakePicture, std::move(result)); - - camera->OnTakePictureFailed(CameraResult::kAccessDenied, error_text); -} - -TEST(Camera, OnVideoRecordSucceededInvokesCameraChannelEvent) { - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller_factory = - std::make_unique(); - - std::unique_ptr binary_messenger = - std::make_unique(); - - const std::string file_path = "C:\\temp\\filename.mp4"; - const int64_t camera_id = 12345; - std::string camera_channel = - std::string("plugins.flutter.io/camera_windows/camera") + - std::to_string(camera_id); - const int64_t video_duration = 1000000; - - EXPECT_CALL(*capture_controller_factory, CreateCaptureController) - .Times(1) - .WillOnce( - []() { return std::make_unique>(); }); - - // TODO: test binary content. - // First time is video record success message, - // and second is camera closing message. - EXPECT_CALL(*binary_messenger, Send(Eq(camera_channel), _, _, _)).Times(2); - - // Init camera with mock capture controller factory - camera->InitCamera(std::move(capture_controller_factory), - std::make_unique().get(), - binary_messenger.get(), false, ResolutionPreset::kAuto); - - // Pass camera id for camera - camera->OnCreateCaptureEngineSucceeded(camera_id); - - camera->OnVideoRecordSucceeded(file_path, video_duration); - - // Dispose camera before message channel. - camera = nullptr; -} - -} // namespace test -} // namespace camera_windows diff --git a/example/windows_camera/windows/test/capture_controller_test.cpp b/example/windows_camera/windows/test/capture_controller_test.cpp deleted file mode 100644 index 8d6632c..0000000 --- a/example/windows_camera/windows/test/capture_controller_test.cpp +++ /dev/null @@ -1,1438 +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. - -#include "capture_controller.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "mocks.h" -#include "string_utils.h" - -namespace camera_windows { - -namespace test { - -using Microsoft::WRL::ComPtr; -using ::testing::_; -using ::testing::Eq; -using ::testing::Return; - -void MockInitCaptureController(CaptureControllerImpl* capture_controller, - MockTextureRegistrar* texture_registrar, - MockCaptureEngine* engine, MockCamera* camera, - int64_t mock_texture_id) { - ComPtr video_source = new MockMediaSource(); - ComPtr audio_source = new MockMediaSource(); - - capture_controller->SetCaptureEngine( - reinterpret_cast(engine)); - capture_controller->SetVideoSource( - reinterpret_cast(video_source.Get())); - capture_controller->SetAudioSource( - reinterpret_cast(audio_source.Get())); - - EXPECT_CALL(*texture_registrar, RegisterTexture) - .Times(1) - .WillOnce([reg = texture_registrar, - mock_texture_id](flutter::TextureVariant* texture) -> int64_t { - EXPECT_TRUE(texture); - reg->texture_ = texture; - reg->texture_id_ = mock_texture_id; - return reg->texture_id_; - }); - EXPECT_CALL(*texture_registrar, UnregisterTexture(Eq(mock_texture_id))) - .Times(1); - EXPECT_CALL(*camera, OnCreateCaptureEngineFailed).Times(0); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded(Eq(mock_texture_id))) - .Times(1); - EXPECT_CALL(*engine, Initialize).Times(1); - - bool result = capture_controller->InitCaptureDevice( - texture_registrar, MOCK_DEVICE_ID, true, ResolutionPreset::kAuto); - - EXPECT_TRUE(result); - - // MockCaptureEngine::Initialize is called - EXPECT_TRUE(engine->initialized_); - - engine->CreateFakeEvent(S_OK, MF_CAPTURE_ENGINE_INITIALIZED); -} - -void MockAvailableMediaTypes(MockCaptureEngine* engine, - MockCaptureSource* capture_source, - uint32_t mock_preview_width, - uint32_t mock_preview_height) { - EXPECT_CALL(*engine, GetSource) - .Times(1) - .WillOnce( - [src_source = capture_source](IMFCaptureSource** target_source) { - *target_source = src_source; - src_source->AddRef(); - return S_OK; - }); - - EXPECT_CALL( - *capture_source, - GetAvailableDeviceMediaType( - Eq((DWORD) - MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_PREVIEW), - _, _)) - .WillRepeatedly([mock_preview_width, mock_preview_height]( - DWORD stream_index, DWORD media_type_index, - IMFMediaType** media_type) { - // We give only one media type to loop through - if (media_type_index != 0) return MF_E_NO_MORE_TYPES; - *media_type = - new FakeMediaType(MFMediaType_Video, MFVideoFormat_RGB32, - mock_preview_width, mock_preview_height); - (*media_type)->AddRef(); - return S_OK; - }); - - EXPECT_CALL( - *capture_source, - GetAvailableDeviceMediaType( - Eq((DWORD)MF_CAPTURE_ENGINE_PREFERRED_SOURCE_STREAM_FOR_VIDEO_RECORD), - _, _)) - .WillRepeatedly([mock_preview_width, mock_preview_height]( - DWORD stream_index, DWORD media_type_index, - IMFMediaType** media_type) { - // We give only one media type to loop through - if (media_type_index != 0) return MF_E_NO_MORE_TYPES; - *media_type = - new FakeMediaType(MFMediaType_Video, MFVideoFormat_RGB32, - mock_preview_width, mock_preview_height); - (*media_type)->AddRef(); - return S_OK; - }); -} - -void MockStartPreview(CaptureControllerImpl* capture_controller, - MockCapturePreviewSink* preview_sink, - MockTextureRegistrar* texture_registrar, - MockCaptureEngine* engine, MockCamera* camera, - std::unique_ptr mock_source_buffer, - uint32_t mock_source_buffer_size, - uint32_t mock_preview_width, uint32_t mock_preview_height, - int64_t mock_texture_id) { - EXPECT_CALL(*engine, GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW, _)) - .Times(1) - .WillOnce([src_sink = preview_sink](MF_CAPTURE_ENGINE_SINK_TYPE sink_type, - IMFCaptureSink** target_sink) { - *target_sink = src_sink; - src_sink->AddRef(); - return S_OK; - }); - - EXPECT_CALL(*preview_sink, RemoveAllStreams).Times(1).WillOnce(Return(S_OK)); - EXPECT_CALL(*preview_sink, AddStream).Times(1).WillOnce(Return(S_OK)); - EXPECT_CALL(*preview_sink, SetSampleCallback) - .Times(1) - .WillOnce([sink = preview_sink]( - DWORD dwStreamSinkIndex, - IMFCaptureEngineOnSampleCallback* pCallback) -> HRESULT { - sink->sample_callback_ = pCallback; - return S_OK; - }); - - ComPtr capture_source = new MockCaptureSource(); - MockAvailableMediaTypes(engine, capture_source.Get(), mock_preview_width, - mock_preview_height); - - EXPECT_CALL(*engine, StartPreview()).Times(1).WillOnce(Return(S_OK)); - - // Called by destructor - EXPECT_CALL(*engine, StopPreview()).Times(1).WillOnce(Return(S_OK)); - - // Called after first processed sample - EXPECT_CALL(*camera, - OnStartPreviewSucceeded(mock_preview_width, mock_preview_height)) - .Times(1); - EXPECT_CALL(*camera, OnStartPreviewFailed).Times(0); - EXPECT_CALL(*texture_registrar, MarkTextureFrameAvailable(mock_texture_id)) - .Times(1); - - capture_controller->StartPreview(); - - EXPECT_EQ(capture_controller->GetPreviewHeight(), mock_preview_height); - EXPECT_EQ(capture_controller->GetPreviewWidth(), mock_preview_width); - - // Capture engine is now started and will first send event of started preview - engine->CreateFakeEvent(S_OK, MF_CAPTURE_ENGINE_PREVIEW_STARTED); - - // SendFake sample - preview_sink->SendFakeSample(mock_source_buffer.get(), - mock_source_buffer_size); -} - -void MockPhotoSink(MockCaptureEngine* engine, - MockCapturePhotoSink* photo_sink) { - EXPECT_CALL(*engine, GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PHOTO, _)) - .Times(1) - .WillOnce([src_sink = photo_sink](MF_CAPTURE_ENGINE_SINK_TYPE sink_type, - IMFCaptureSink** target_sink) { - *target_sink = src_sink; - src_sink->AddRef(); - return S_OK; - }); - EXPECT_CALL(*photo_sink, RemoveAllStreams).Times(1).WillOnce(Return(S_OK)); - EXPECT_CALL(*photo_sink, AddStream).Times(1).WillOnce(Return(S_OK)); - EXPECT_CALL(*photo_sink, SetOutputFileName).Times(1).WillOnce(Return(S_OK)); -} - -void MockRecordStart(CaptureControllerImpl* capture_controller, - MockCaptureEngine* engine, - MockCaptureRecordSink* record_sink, MockCamera* camera, - const std::string& mock_path_to_video) { - EXPECT_CALL(*engine, StartRecord()).Times(1).WillOnce(Return(S_OK)); - - EXPECT_CALL(*engine, GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, _)) - .Times(1) - .WillOnce([src_sink = record_sink](MF_CAPTURE_ENGINE_SINK_TYPE sink_type, - IMFCaptureSink** target_sink) { - *target_sink = src_sink; - src_sink->AddRef(); - return S_OK; - }); - - EXPECT_CALL(*record_sink, RemoveAllStreams).Times(1).WillOnce(Return(S_OK)); - EXPECT_CALL(*record_sink, AddStream).Times(2).WillRepeatedly(Return(S_OK)); - EXPECT_CALL(*record_sink, SetOutputFileName).Times(1).WillOnce(Return(S_OK)); - - capture_controller->StartRecord(mock_path_to_video, -1); - - EXPECT_CALL(*camera, OnStartRecordSucceeded()).Times(1); - engine->CreateFakeEvent(S_OK, MF_CAPTURE_ENGINE_RECORD_STARTED); -} - -TEST(CaptureController, - InitCaptureEngineCallsOnCreateCaptureEngineSucceededWithTextureId) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Init capture controller with mocks and tests - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, InitCaptureEngineCanOnlyBeCalledOnce) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Init capture controller once with mocks and tests - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - // Init capture controller a second time. - EXPECT_CALL(*camera, OnCreateCaptureEngineFailed).Times(1); - - bool result = capture_controller->InitCaptureDevice( - texture_registrar.get(), MOCK_DEVICE_ID, true, ResolutionPreset::kAuto); - - EXPECT_FALSE(result); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, InitCaptureEngineReportsFailure) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - ComPtr video_source = new MockMediaSource(); - ComPtr audio_source = new MockMediaSource(); - - capture_controller->SetCaptureEngine( - reinterpret_cast(engine.Get())); - capture_controller->SetVideoSource( - reinterpret_cast(video_source.Get())); - capture_controller->SetAudioSource( - reinterpret_cast(audio_source.Get())); - - // Cause initialization to fail - EXPECT_CALL(*engine.Get(), Initialize).Times(1).WillOnce(Return(E_FAIL)); - - EXPECT_CALL(*texture_registrar, RegisterTexture).Times(0); - EXPECT_CALL(*texture_registrar, UnregisterTexture(_)).Times(0); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded).Times(0); - EXPECT_CALL(*camera, - OnCreateCaptureEngineFailed(Eq(CameraResult::kError), - Eq("Failed to create camera"))) - .Times(1); - - bool result = capture_controller->InitCaptureDevice( - texture_registrar.get(), MOCK_DEVICE_ID, true, ResolutionPreset::kAuto); - - EXPECT_FALSE(result); - EXPECT_FALSE(engine->initialized_); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, InitCaptureEngineReportsAccessDenied) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - ComPtr video_source = new MockMediaSource(); - ComPtr audio_source = new MockMediaSource(); - - capture_controller->SetCaptureEngine( - reinterpret_cast(engine.Get())); - capture_controller->SetVideoSource( - reinterpret_cast(video_source.Get())); - capture_controller->SetAudioSource( - reinterpret_cast(audio_source.Get())); - - // Cause initialization to fail - EXPECT_CALL(*engine.Get(), Initialize) - .Times(1) - .WillOnce(Return(E_ACCESSDENIED)); - - EXPECT_CALL(*texture_registrar, RegisterTexture).Times(0); - EXPECT_CALL(*texture_registrar, UnregisterTexture(_)).Times(0); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded).Times(0); - EXPECT_CALL(*camera, - OnCreateCaptureEngineFailed(Eq(CameraResult::kAccessDenied), - Eq("Failed to create camera"))) - .Times(1); - - bool result = capture_controller->InitCaptureDevice( - texture_registrar.get(), MOCK_DEVICE_ID, true, ResolutionPreset::kAuto); - - EXPECT_FALSE(result); - EXPECT_FALSE(engine->initialized_); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, ReportsInitializedErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - EXPECT_CALL(*camera, OnCreateCaptureEngineFailed( - Eq(CameraResult::kError), - Eq("Failed to initialize capture engine"))) - .Times(1); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded).Times(0); - - // Send initialization failed event - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_INITIALIZED); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, ReportsInitializedAccessDeniedEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - EXPECT_CALL(*camera, OnCreateCaptureEngineFailed( - Eq(CameraResult::kAccessDenied), - Eq("Failed to initialize capture engine"))) - .Times(1); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded).Times(0); - - // Send initialization failed event - engine->CreateFakeEvent(E_ACCESSDENIED, MF_CAPTURE_ENGINE_INITIALIZED); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, ReportsCaptureEngineErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - EXPECT_CALL(*(camera.get()), - OnCaptureError(Eq(CameraResult::kError), Eq("Unspecified error"))) - .Times(1); - - // Send error event. - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_ERROR); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, ReportsCaptureEngineAccessDeniedEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - EXPECT_CALL(*(camera.get()), OnCaptureError(Eq(CameraResult::kAccessDenied), - Eq("Access is denied."))) - .Times(1); - - // Send error event. - engine->CreateFakeEvent(E_ACCESSDENIED, MF_CAPTURE_ENGINE_ERROR); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, StartPreviewStartsProcessingSamples) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr preview_sink = new MockCapturePreviewSink(); - - // Let's keep these small for mock texture data. Two pixels should be - // enough. - uint32_t mock_preview_width = 2; - uint32_t mock_preview_height = 1; - uint32_t pixels_total = mock_preview_width * mock_preview_height; - uint32_t pixel_size = 4; - - // Build mock texture - uint32_t mock_texture_data_size = pixels_total * pixel_size; - - std::unique_ptr mock_source_buffer = - std::make_unique(mock_texture_data_size); - - uint8_t mock_red_pixel = 0x11; - uint8_t mock_green_pixel = 0x22; - uint8_t mock_blue_pixel = 0x33; - MFVideoFormatRGB32Pixel* mock_source_buffer_data = - (MFVideoFormatRGB32Pixel*)mock_source_buffer.get(); - - for (uint32_t i = 0; i < pixels_total; i++) { - mock_source_buffer_data[i].r = mock_red_pixel; - mock_source_buffer_data[i].g = mock_green_pixel; - mock_source_buffer_data[i].b = mock_blue_pixel; - } - - // Start preview and run preview tests - MockStartPreview(capture_controller.get(), preview_sink.Get(), - texture_registrar.get(), engine.Get(), camera.get(), - std::move(mock_source_buffer), mock_texture_data_size, - mock_preview_width, mock_preview_height, mock_texture_id); - - // Test texture processing - EXPECT_TRUE(texture_registrar->texture_); - if (texture_registrar->texture_) { - auto pixel_buffer_texture = - std::get_if(texture_registrar->texture_); - EXPECT_TRUE(pixel_buffer_texture); - - if (pixel_buffer_texture) { - auto converted_buffer = - pixel_buffer_texture->CopyPixelBuffer((size_t)100, (size_t)100); - - EXPECT_TRUE(converted_buffer); - if (converted_buffer) { - EXPECT_EQ(converted_buffer->height, mock_preview_height); - EXPECT_EQ(converted_buffer->width, mock_preview_width); - - FlutterDesktopPixel* converted_buffer_data = - (FlutterDesktopPixel*)(converted_buffer->buffer); - - for (uint32_t i = 0; i < pixels_total; i++) { - EXPECT_EQ(converted_buffer_data[i].r, mock_red_pixel); - EXPECT_EQ(converted_buffer_data[i].g, mock_green_pixel); - EXPECT_EQ(converted_buffer_data[i].b, mock_blue_pixel); - } - - // Call release callback to get mutex lock unlocked. - converted_buffer->release_callback(converted_buffer->release_context); - } - converted_buffer = nullptr; - } - pixel_buffer_texture = nullptr; - } - - capture_controller = nullptr; - engine = nullptr; - camera = nullptr; - texture_registrar = nullptr; -} - -TEST(CaptureController, ReportsStartPreviewError) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Cause start preview to fail - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW, _)) - .Times(1) - .WillOnce(Return(E_FAIL)); - - EXPECT_CALL(*engine.Get(), StartPreview).Times(0); - EXPECT_CALL(*engine.Get(), StopPreview).Times(0); - EXPECT_CALL(*camera, OnStartPreviewSucceeded).Times(0); - EXPECT_CALL(*camera, - OnStartPreviewFailed(Eq(CameraResult::kError), - Eq("Failed to start video preview"))) - .Times(1); - - capture_controller->StartPreview(); - - capture_controller = nullptr; - engine = nullptr; - camera = nullptr; - texture_registrar = nullptr; -} - -// TODO(loic-sharma): Test duplicate calls to start preview. - -TEST(CaptureController, IgnoresStartPreviewErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - EXPECT_CALL(*camera, OnStartPreviewFailed).Times(0); - EXPECT_CALL(*camera, OnCreateCaptureEngineSucceeded).Times(0); - - // Send a start preview error event - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_PREVIEW_STARTED); - - capture_controller = nullptr; - camera = nullptr; - texture_registrar = nullptr; - engine = nullptr; -} - -TEST(CaptureController, ReportsStartPreviewAccessDenied) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Cause start preview to fail - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_PREVIEW, _)) - .Times(1) - .WillOnce(Return(E_ACCESSDENIED)); - - EXPECT_CALL(*engine.Get(), StartPreview).Times(0); - EXPECT_CALL(*engine.Get(), StopPreview).Times(0); - EXPECT_CALL(*camera, OnStartPreviewSucceeded).Times(0); - EXPECT_CALL(*camera, - OnStartPreviewFailed(Eq(CameraResult::kAccessDenied), - Eq("Failed to start video preview"))) - .Times(1); - - capture_controller->StartPreview(); - - capture_controller = nullptr; - engine = nullptr; - camera = nullptr; - texture_registrar = nullptr; -} - -TEST(CaptureController, StartRecordSuccess) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), mock_path_to_video); - - // Called by destructor - EXPECT_CALL(*(engine.Get()), StopRecord(true, false)) - .Times(1) - .WillOnce(Return(S_OK)); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStartRecordError) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Cause start record to fail - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, _)) - .Times(1) - .WillOnce(Return(E_FAIL)); - - EXPECT_CALL(*engine.Get(), StartRecord).Times(0); - EXPECT_CALL(*engine.Get(), StopRecord).Times(0); - EXPECT_CALL(*camera, OnStartRecordSucceeded).Times(0); - EXPECT_CALL(*camera, - OnStartRecordFailed(Eq(CameraResult::kError), - Eq("Failed to start video recording"))) - .Times(1); - - capture_controller->StartRecord("mock_path", -1); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; -} - -TEST(CaptureController, ReportsStartRecordAccessDenied) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Cause start record to fail - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, _)) - .Times(1) - .WillOnce(Return(E_ACCESSDENIED)); - - EXPECT_CALL(*engine.Get(), StartRecord).Times(0); - EXPECT_CALL(*engine.Get(), StopRecord).Times(0); - EXPECT_CALL(*camera, OnStartRecordSucceeded).Times(0); - EXPECT_CALL(*camera, - OnStartRecordFailed(Eq(CameraResult::kAccessDenied), - Eq("Failed to start video recording"))) - .Times(1); - - capture_controller->StartRecord("mock_path", -1); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; -} - -TEST(CaptureController, ReportsStartRecordErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - - EXPECT_CALL(*engine.Get(), StartRecord()).Times(1).WillOnce(Return(S_OK)); - - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, _)) - .Times(1) - .WillOnce([src_sink = record_sink](MF_CAPTURE_ENGINE_SINK_TYPE sink_type, - IMFCaptureSink** target_sink) { - *target_sink = src_sink.Get(); - src_sink->AddRef(); - return S_OK; - }); - - EXPECT_CALL(*record_sink.Get(), RemoveAllStreams) - .Times(1) - .WillOnce(Return(S_OK)); - EXPECT_CALL(*record_sink.Get(), AddStream) - .Times(2) - .WillRepeatedly(Return(S_OK)); - EXPECT_CALL(*record_sink.Get(), SetOutputFileName) - .Times(1) - .WillOnce(Return(S_OK)); - - capture_controller->StartRecord(mock_path_to_video, -1); - - // Send a start record failed event - EXPECT_CALL(*camera, OnStartRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStartRecordFailed(Eq(CameraResult::kError), - Eq("Unspecified error"))) - .Times(1); - - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_RECORD_STARTED); - - // Destructor shouldn't attempt to stop the recording that failed to start. - EXPECT_CALL(*engine.Get(), StopRecord).Times(0); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStartRecordAccessDeniedEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - - EXPECT_CALL(*engine.Get(), StartRecord()).Times(1).WillOnce(Return(S_OK)); - - EXPECT_CALL(*engine.Get(), GetSink(MF_CAPTURE_ENGINE_SINK_TYPE_RECORD, _)) - .Times(1) - .WillOnce([src_sink = record_sink](MF_CAPTURE_ENGINE_SINK_TYPE sink_type, - IMFCaptureSink** target_sink) { - *target_sink = src_sink.Get(); - src_sink->AddRef(); - return S_OK; - }); - - EXPECT_CALL(*record_sink.Get(), RemoveAllStreams) - .Times(1) - .WillOnce(Return(S_OK)); - EXPECT_CALL(*record_sink.Get(), AddStream) - .Times(2) - .WillRepeatedly(Return(S_OK)); - EXPECT_CALL(*record_sink.Get(), SetOutputFileName) - .Times(1) - .WillOnce(Return(S_OK)); - - // Send a start record failed event - capture_controller->StartRecord(mock_path_to_video, -1); - - EXPECT_CALL(*camera, OnStartRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStartRecordFailed(Eq(CameraResult::kAccessDenied), - Eq("Access is denied."))) - .Times(1); - - engine->CreateFakeEvent(E_ACCESSDENIED, MF_CAPTURE_ENGINE_RECORD_STARTED); - - // Destructor shouldn't attempt to stop the recording that failed to start. - EXPECT_CALL(*engine.Get(), StopRecord).Times(0); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, StopRecordSuccess) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), mock_path_to_video); - - // Request to stop record - EXPECT_CALL(*(engine.Get()), StopRecord(true, false)) - .Times(1) - .WillOnce(Return(S_OK)); - capture_controller->StopRecord(); - - // OnStopRecordSucceeded should be called with mocked file path - EXPECT_CALL(*camera, OnStopRecordSucceeded(Eq(mock_path_to_video))).Times(1); - EXPECT_CALL(*camera, OnStopRecordFailed).Times(0); - - engine->CreateFakeEvent(S_OK, MF_CAPTURE_ENGINE_RECORD_STOPPED); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStopRecordError) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), "mock_path_to_video"); - - // Cause stop record to fail - EXPECT_CALL(*(engine.Get()), StopRecord(true, false)) - .Times(1) - .WillOnce(Return(E_FAIL)); - - EXPECT_CALL(*camera, OnStopRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStopRecordFailed(Eq(CameraResult::kError), - Eq("Failed to stop video recording"))) - .Times(1); - - capture_controller->StopRecord(); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStopRecordAccessDenied) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), "mock_path_to_video"); - - // Cause stop record to fail - EXPECT_CALL(*(engine.Get()), StopRecord(true, false)) - .Times(1) - .WillOnce(Return(E_ACCESSDENIED)); - - EXPECT_CALL(*camera, OnStopRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStopRecordFailed(Eq(CameraResult::kAccessDenied), - Eq("Failed to stop video recording"))) - .Times(1); - - capture_controller->StopRecord(); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStopRecordErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), mock_path_to_video); - - // Send a stop record failure event - EXPECT_CALL(*camera, OnStopRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStopRecordFailed(Eq(CameraResult::kError), - Eq("Unspecified error"))) - .Times(1); - - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_RECORD_STOPPED); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, ReportsStopRecordAccessDeniedEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - // Start record - ComPtr record_sink = new MockCaptureRecordSink(); - std::string mock_path_to_video = "mock_path_to_video"; - MockRecordStart(capture_controller.get(), engine.Get(), record_sink.Get(), - camera.get(), mock_path_to_video); - - // Send a stop record failure event - EXPECT_CALL(*camera, OnStopRecordSucceeded).Times(0); - EXPECT_CALL(*camera, OnStopRecordFailed(Eq(CameraResult::kAccessDenied), - Eq("Access is denied."))) - .Times(1); - - engine->CreateFakeEvent(E_ACCESSDENIED, MF_CAPTURE_ENGINE_RECORD_STOPPED); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - record_sink = nullptr; -} - -TEST(CaptureController, TakePictureSuccess) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to take picture - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - ComPtr photo_sink = new MockCapturePhotoSink(); - - // Initialize photo sink - MockPhotoSink(engine.Get(), photo_sink.Get()); - - // Request photo - std::string mock_path_to_photo = "mock_path_to_photo"; - EXPECT_CALL(*(engine.Get()), TakePhoto()).Times(1).WillOnce(Return(S_OK)); - capture_controller->TakePicture(mock_path_to_photo); - - // OnTakePictureSucceeded should be called with mocked file path - EXPECT_CALL(*camera, OnTakePictureSucceeded(Eq(mock_path_to_photo))).Times(1); - EXPECT_CALL(*camera, OnTakePictureFailed).Times(0); - engine->CreateFakeEvent(S_OK, MF_CAPTURE_ENGINE_PHOTO_TAKEN); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - photo_sink = nullptr; -} - -TEST(CaptureController, ReportsTakePictureError) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to take picture - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - ComPtr photo_sink = new MockCapturePhotoSink(); - - // Initialize photo sink - MockPhotoSink(engine.Get(), photo_sink.Get()); - - // Cause take picture to fail - EXPECT_CALL(*(engine.Get()), TakePhoto).Times(1).WillOnce(Return(E_FAIL)); - - EXPECT_CALL(*camera, OnTakePictureSucceeded).Times(0); - EXPECT_CALL(*camera, OnTakePictureFailed(Eq(CameraResult::kError), - Eq("Failed to take photo"))) - .Times(1); - - capture_controller->TakePicture("mock_path_to_photo"); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - photo_sink = nullptr; -} - -TEST(CaptureController, ReportsTakePictureAccessDenied) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to take picture - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - ComPtr photo_sink = new MockCapturePhotoSink(); - - // Initialize photo sink - MockPhotoSink(engine.Get(), photo_sink.Get()); - - // Cause take picture to fail. - EXPECT_CALL(*(engine.Get()), TakePhoto) - .Times(1) - .WillOnce(Return(E_ACCESSDENIED)); - - EXPECT_CALL(*camera, OnTakePictureSucceeded).Times(0); - EXPECT_CALL(*camera, OnTakePictureFailed(Eq(CameraResult::kAccessDenied), - Eq("Failed to take photo"))) - .Times(1); - - capture_controller->TakePicture("mock_path_to_photo"); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - photo_sink = nullptr; -} - -TEST(CaptureController, ReportsPhotoTakenErrorEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to take picture - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - ComPtr photo_sink = new MockCapturePhotoSink(); - - // Initialize photo sink - MockPhotoSink(engine.Get(), photo_sink.Get()); - - // Request photo - std::string mock_path_to_photo = "mock_path_to_photo"; - EXPECT_CALL(*(engine.Get()), TakePhoto()).Times(1).WillOnce(Return(S_OK)); - capture_controller->TakePicture(mock_path_to_photo); - - // Send take picture failed event - EXPECT_CALL(*camera, OnTakePictureSucceeded).Times(0); - EXPECT_CALL(*camera, OnTakePictureFailed(Eq(CameraResult::kError), - Eq("Unspecified error"))) - .Times(1); - - engine->CreateFakeEvent(E_FAIL, MF_CAPTURE_ENGINE_PHOTO_TAKEN); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - photo_sink = nullptr; -} - -TEST(CaptureController, ReportsPhotoTakenAccessDeniedEvent) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to take picture - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr capture_source = new MockCaptureSource(); - - // Prepare fake media types - MockAvailableMediaTypes(engine.Get(), capture_source.Get(), 1, 1); - - ComPtr photo_sink = new MockCapturePhotoSink(); - - // Initialize photo sink - MockPhotoSink(engine.Get(), photo_sink.Get()); - - // Request photo - std::string mock_path_to_photo = "mock_path_to_photo"; - EXPECT_CALL(*(engine.Get()), TakePhoto()).Times(1).WillOnce(Return(S_OK)); - capture_controller->TakePicture(mock_path_to_photo); - - // Send take picture failed event - EXPECT_CALL(*camera, OnTakePictureSucceeded).Times(0); - EXPECT_CALL(*camera, OnTakePictureFailed(Eq(CameraResult::kAccessDenied), - Eq("Access is denied."))) - .Times(1); - - engine->CreateFakeEvent(E_ACCESSDENIED, MF_CAPTURE_ENGINE_PHOTO_TAKEN); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; - photo_sink = nullptr; -} - -TEST(CaptureController, PauseResumePreviewSuccess) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - ComPtr preview_sink = new MockCapturePreviewSink(); - - std::unique_ptr mock_source_buffer = - std::make_unique(0); - - // Start preview to be able to start record - MockStartPreview(capture_controller.get(), preview_sink.Get(), - texture_registrar.get(), engine.Get(), camera.get(), - std::move(mock_source_buffer), 0, 1, 1, mock_texture_id); - - EXPECT_CALL(*camera, OnPausePreviewSucceeded()).Times(1); - capture_controller->PausePreview(); - - EXPECT_CALL(*camera, OnResumePreviewSucceeded()).Times(1); - capture_controller->ResumePreview(); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; -} - -TEST(CaptureController, PausePreviewFailsIfPreviewNotStarted) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - // Pause preview fails if not started - EXPECT_CALL(*camera, OnPausePreviewFailed(Eq(CameraResult::kError), - Eq("Preview not started"))) - .Times(1); - - capture_controller->PausePreview(); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; -} - -TEST(CaptureController, ResumePreviewFailsIfPreviewNotStarted) { - ComPtr engine = new MockCaptureEngine(); - std::unique_ptr camera = - std::make_unique(MOCK_DEVICE_ID); - std::unique_ptr capture_controller = - std::make_unique(camera.get()); - std::unique_ptr texture_registrar = - std::make_unique(); - int64_t mock_texture_id = 1234; - - // Initialize capture controller to be able to start preview - MockInitCaptureController(capture_controller.get(), texture_registrar.get(), - engine.Get(), camera.get(), mock_texture_id); - - // Resume preview fails if not started. - EXPECT_CALL(*camera, OnResumePreviewFailed(Eq(CameraResult::kError), - Eq("Preview not started"))) - .Times(1); - - capture_controller->ResumePreview(); - - capture_controller = nullptr; - texture_registrar = nullptr; - engine = nullptr; - camera = nullptr; -} - -} // namespace test -} // namespace camera_windows diff --git a/example/windows_camera/windows/test/mocks.h b/example/windows_camera/windows/test/mocks.h deleted file mode 100644 index 627cf9c..0000000 --- a/example/windows_camera/windows/test/mocks.h +++ /dev/null @@ -1,1037 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEST_MOCKS_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEST_MOCKS_H_ - -#include -#include -#include -#include -#include -#include -#include - -#include "camera.h" -#include "camera_plugin.h" -#include "capture_controller.h" -#include "capture_controller_listener.h" -#include "capture_engine_listener.h" - -namespace camera_windows { -namespace test { - -namespace { - -using flutter::EncodableMap; -using flutter::EncodableValue; -using ::testing::_; - -class MockMethodResult : public flutter::MethodResult<> { - public: - ~MockMethodResult() = default; - - MOCK_METHOD(void, SuccessInternal, (const EncodableValue* result), - (override)); - MOCK_METHOD(void, ErrorInternal, - (const std::string& error_code, const std::string& error_message, - const EncodableValue* details), - (override)); - MOCK_METHOD(void, NotImplementedInternal, (), (override)); -}; - -class MockBinaryMessenger : public flutter::BinaryMessenger { - public: - ~MockBinaryMessenger() = default; - - MOCK_METHOD(void, Send, - (const std::string& channel, const uint8_t* message, - size_t message_size, flutter::BinaryReply reply), - (const)); - - MOCK_METHOD(void, SetMessageHandler, - (const std::string& channel, - flutter::BinaryMessageHandler handler), - ()); -}; - -class MockTextureRegistrar : public flutter::TextureRegistrar { - public: - MockTextureRegistrar() { - ON_CALL(*this, RegisterTexture) - .WillByDefault([this](flutter::TextureVariant* texture) -> int64_t { - EXPECT_TRUE(texture); - this->texture_ = texture; - this->texture_id_ = 1000; - return this->texture_id_; - }); - - // Deprecated pre-Flutter-3.4 version. - ON_CALL(*this, UnregisterTexture(_)) - .WillByDefault([this](int64_t tid) -> bool { - if (tid == this->texture_id_) { - texture_ = nullptr; - this->texture_id_ = -1; - return true; - } - return false; - }); - - // Flutter 3.4+ version. - ON_CALL(*this, UnregisterTexture(_, _)) - .WillByDefault( - [this](int64_t tid, std::function callback) -> void { - // Forward to the pre-3.4 implementation so that expectations can - // be the same for all versions. - this->UnregisterTexture(tid); - if (callback) { - callback(); - } - }); - - ON_CALL(*this, MarkTextureFrameAvailable) - .WillByDefault([this](int64_t tid) -> bool { - if (tid == this->texture_id_) { - return true; - } - return false; - }); - } - - ~MockTextureRegistrar() { texture_ = nullptr; } - - MOCK_METHOD(int64_t, RegisterTexture, (flutter::TextureVariant * texture), - (override)); - - // Pre-Flutter-3.4 version. - MOCK_METHOD(bool, UnregisterTexture, (int64_t), (override)); - // Flutter 3.4+ version. - // TODO(cbracken): Add an override annotation to this once 3.4+ is the - // minimum version tested in CI. - MOCK_METHOD(void, UnregisterTexture, - (int64_t, std::function callback), ()); - MOCK_METHOD(bool, MarkTextureFrameAvailable, (int64_t), (override)); - - int64_t texture_id_ = -1; - flutter::TextureVariant* texture_ = nullptr; -}; - -class MockCameraFactory : public CameraFactory { - public: - MockCameraFactory() { - ON_CALL(*this, CreateCamera).WillByDefault([this]() { - assert(this->pending_camera_); - return std::move(this->pending_camera_); - }); - } - - ~MockCameraFactory() = default; - - // Disallow copy and move. - MockCameraFactory(const MockCameraFactory&) = delete; - MockCameraFactory& operator=(const MockCameraFactory&) = delete; - - MOCK_METHOD(std::unique_ptr, CreateCamera, - (const std::string& device_id), (override)); - - std::unique_ptr pending_camera_; -}; - -class MockCamera : public Camera { - public: - MockCamera(const std::string& device_id) - : device_id_(device_id), Camera(device_id){}; - - ~MockCamera() = default; - - // Disallow copy and move. - MockCamera(const MockCamera&) = delete; - MockCamera& operator=(const MockCamera&) = delete; - - MOCK_METHOD(void, OnCreateCaptureEngineSucceeded, (int64_t texture_id), - (override)); - MOCK_METHOD(std::unique_ptr>, GetPendingResultByType, - (PendingResultType type)); - MOCK_METHOD(void, OnCreateCaptureEngineFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnStartPreviewSucceeded, (int32_t width, int32_t height), - (override)); - MOCK_METHOD(void, OnStartPreviewFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnResumePreviewSucceeded, (), (override)); - MOCK_METHOD(void, OnResumePreviewFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnPausePreviewSucceeded, (), (override)); - MOCK_METHOD(void, OnPausePreviewFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnStartRecordSucceeded, (), (override)); - MOCK_METHOD(void, OnStartRecordFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnStopRecordSucceeded, (const std::string& file_path), - (override)); - MOCK_METHOD(void, OnStopRecordFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnTakePictureSucceeded, (const std::string& file_path), - (override)); - MOCK_METHOD(void, OnTakePictureFailed, - (CameraResult result, const std::string& error), (override)); - - MOCK_METHOD(void, OnVideoRecordSucceeded, - (const std::string& file_path, int64_t video_duration), - (override)); - MOCK_METHOD(void, OnVideoRecordFailed, - (CameraResult result, const std::string& error), (override)); - MOCK_METHOD(void, OnCaptureError, - (CameraResult result, const std::string& error), (override)); - MOCK_METHOD(void, OnStreamedFrameAvailable, (uint8_t* data, uint32_t data_length), (override)); - - MOCK_METHOD(bool, HasDeviceId, (std::string & device_id), (const override)); - MOCK_METHOD(bool, HasCameraId, (int64_t camera_id), (const override)); - - MOCK_METHOD(bool, AddPendingResult, - (PendingResultType type, std::unique_ptr> result), - (override)); - MOCK_METHOD(bool, HasPendingResultByType, (PendingResultType type), - (const override)); - - MOCK_METHOD(camera_windows::CaptureController*, GetCaptureController, (), - (override)); - - MOCK_METHOD(bool, InitCamera, - (flutter::TextureRegistrar * texture_registrar, - flutter::BinaryMessenger* messenger, bool record_audio, - ResolutionPreset resolution_preset), - (override)); - - std::unique_ptr capture_controller_; - std::unique_ptr> pending_result_; - std::string device_id_; - int64_t camera_id_ = -1; -}; - -class MockCaptureControllerFactory : public CaptureControllerFactory { - public: - MockCaptureControllerFactory(){}; - virtual ~MockCaptureControllerFactory() = default; - - // Disallow copy and move. - MockCaptureControllerFactory(const MockCaptureControllerFactory&) = delete; - MockCaptureControllerFactory& operator=(const MockCaptureControllerFactory&) = - delete; - - MOCK_METHOD(std::unique_ptr, CreateCaptureController, - (CaptureControllerListener * listener), (override)); -}; - -class MockCaptureController : public CaptureController { - public: - ~MockCaptureController() = default; - - MOCK_METHOD(bool, InitCaptureDevice, - (flutter::TextureRegistrar * texture_registrar, - const std::string& device_id, bool record_audio, - ResolutionPreset resolution_preset), - (override)); - - MOCK_METHOD(uint32_t, GetPreviewWidth, (), (const override)); - MOCK_METHOD(uint32_t, GetPreviewHeight, (), (const override)); - - // Actions - MOCK_METHOD(void, StartPreview, (), (override)); - MOCK_METHOD(void, ResumePreview, (), (override)); - MOCK_METHOD(void, PausePreview, (), (override)); - MOCK_METHOD(void, StartRecord, - (const std::string& file_path, int64_t max_video_duration_ms), - (override)); - MOCK_METHOD(void, StopRecord, (), (override)); - MOCK_METHOD(void, TakePicture, (const std::string& file_path), (override)); -}; - -// MockCameraPlugin extends CameraPlugin behaviour a bit to allow adding cameras -// without creating them first with create message handler and mocking static -// system calls -class MockCameraPlugin : public CameraPlugin { - public: - MockCameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger) - : CameraPlugin(texture_registrar, messenger){}; - - // Creates a plugin instance with the given CameraFactory instance. - // Exists for unit testing with mock implementations. - MockCameraPlugin(flutter::TextureRegistrar* texture_registrar, - flutter::BinaryMessenger* messenger, - std::unique_ptr camera_factory) - : CameraPlugin(texture_registrar, messenger, std::move(camera_factory)){}; - - ~MockCameraPlugin() = default; - - // Disallow copy and move. - MockCameraPlugin(const MockCameraPlugin&) = delete; - MockCameraPlugin& operator=(const MockCameraPlugin&) = delete; - - MOCK_METHOD(bool, EnumerateVideoCaptureDeviceSources, - (IMFActivate * **devices, UINT32* count), (override)); - - // Helper to add camera without creating it via CameraFactory for testing - // purposes - void AddCamera(std::unique_ptr camera) { - cameras_.push_back(std::move(camera)); - } -}; - -class MockCaptureSource : public IMFCaptureSource { - public: - MockCaptureSource(){}; - ~MockCaptureSource() = default; - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCaptureSource) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - MOCK_METHOD(HRESULT, GetCaptureDeviceSource, - (MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType, - IMFMediaSource** ppMediaSource)); - MOCK_METHOD(HRESULT, GetCaptureDeviceActivate, - (MF_CAPTURE_ENGINE_DEVICE_TYPE mfCaptureEngineDeviceType, - IMFActivate** ppActivate)); - MOCK_METHOD(HRESULT, GetService, - (REFIID rguidService, REFIID riid, IUnknown** ppUnknown)); - MOCK_METHOD(HRESULT, AddEffect, - (DWORD dwSourceStreamIndex, IUnknown* pUnknown)); - - MOCK_METHOD(HRESULT, RemoveEffect, - (DWORD dwSourceStreamIndex, IUnknown* pUnknown)); - MOCK_METHOD(HRESULT, RemoveAllEffects, (DWORD dwSourceStreamIndex)); - MOCK_METHOD(HRESULT, GetAvailableDeviceMediaType, - (DWORD dwSourceStreamIndex, DWORD dwMediaTypeIndex, - IMFMediaType** ppMediaType)); - MOCK_METHOD(HRESULT, SetCurrentDeviceMediaType, - (DWORD dwSourceStreamIndex, IMFMediaType* pMediaType)); - MOCK_METHOD(HRESULT, GetCurrentDeviceMediaType, - (DWORD dwSourceStreamIndex, IMFMediaType** ppMediaType)); - MOCK_METHOD(HRESULT, GetDeviceStreamCount, (DWORD * pdwStreamCount)); - MOCK_METHOD(HRESULT, GetDeviceStreamCategory, - (DWORD dwSourceStreamIndex, - MF_CAPTURE_ENGINE_STREAM_CATEGORY* pStreamCategory)); - MOCK_METHOD(HRESULT, GetMirrorState, - (DWORD dwStreamIndex, BOOL* pfMirrorState)); - MOCK_METHOD(HRESULT, SetMirrorState, - (DWORD dwStreamIndex, BOOL fMirrorState)); - MOCK_METHOD(HRESULT, GetStreamIndexFromFriendlyName, - (UINT32 uifriendlyName, DWORD* pdwActualStreamIndex)); - - private: - volatile ULONG ref_ = 0; -}; - -// Uses IMFMediaSourceEx which has SetD3DManager method. -class MockMediaSource : public IMFMediaSourceEx { - public: - MockMediaSource(){}; - ~MockMediaSource() = default; - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFMediaSource) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - // IMFMediaSource - HRESULT GetCharacteristics(DWORD* dwCharacteristics) override { - return E_NOTIMPL; - } - // IMFMediaSource - HRESULT CreatePresentationDescriptor( - IMFPresentationDescriptor** presentationDescriptor) override { - return E_NOTIMPL; - } - // IMFMediaSource - HRESULT Start(IMFPresentationDescriptor* presentationDescriptor, - const GUID* guidTimeFormat, - const PROPVARIANT* varStartPosition) override { - return E_NOTIMPL; - } - // IMFMediaSource - HRESULT Stop(void) override { return E_NOTIMPL; } - // IMFMediaSource - HRESULT Pause(void) override { return E_NOTIMPL; } - // IMFMediaSource - HRESULT Shutdown(void) override { return E_NOTIMPL; } - - // IMFMediaEventGenerator - HRESULT GetEvent(DWORD dwFlags, IMFMediaEvent** event) override { - return E_NOTIMPL; - } - // IMFMediaEventGenerator - HRESULT BeginGetEvent(IMFAsyncCallback* callback, - IUnknown* unkState) override { - return E_NOTIMPL; - } - // IMFMediaEventGenerator - HRESULT EndGetEvent(IMFAsyncResult* result, IMFMediaEvent** event) override { - return E_NOTIMPL; - } - // IMFMediaEventGenerator - HRESULT QueueEvent(MediaEventType met, REFGUID guidExtendedType, - HRESULT hrStatus, const PROPVARIANT* value) override { - return E_NOTIMPL; - } - - // IMFMediaSourceEx - HRESULT GetSourceAttributes(IMFAttributes** attributes) { return E_NOTIMPL; } - // IMFMediaSourceEx - HRESULT GetStreamAttributes(DWORD stream_id, IMFAttributes** attributes) { - return E_NOTIMPL; - } - // IMFMediaSourceEx - HRESULT SetD3DManager(IUnknown* manager) { return S_OK; } - - private: - volatile ULONG ref_ = 0; -}; - -class MockCapturePreviewSink : public IMFCapturePreviewSink { - public: - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetOutputMediaType, - (DWORD dwSinkStreamIndex, IMFMediaType** ppMediaType)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetService, - (DWORD dwSinkStreamIndex, REFGUID rguidService, REFIID riid, - IUnknown** ppUnknown)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, AddStream, - (DWORD dwSourceStreamIndex, IMFMediaType* pMediaType, - IMFAttributes* pAttributes, DWORD* pdwSinkStreamIndex)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, Prepare, ()); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, RemoveAllStreams, ()); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetRenderHandle, (HANDLE handle)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetRenderSurface, (IUnknown * pSurface)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, UpdateVideo, - (const MFVideoNormalizedRect* pSrc, const RECT* pDst, - const COLORREF* pBorderClr)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetSampleCallback, - (DWORD dwStreamSinkIndex, - IMFCaptureEngineOnSampleCallback* pCallback)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, GetMirrorState, (BOOL * pfMirrorState)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetMirrorState, (BOOL fMirrorState)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, GetRotation, - (DWORD dwStreamIndex, DWORD* pdwRotationValue)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetRotation, - (DWORD dwStreamIndex, DWORD dwRotationValue)); - - // IMFCapturePreviewSink - MOCK_METHOD(HRESULT, SetCustomSink, (IMFMediaSink * pMediaSink)); - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCapturePreviewSink) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - void SendFakeSample(uint8_t* src_buffer, uint32_t size) { - assert(sample_callback_); - ComPtr sample; - ComPtr buffer; - HRESULT hr = MFCreateSample(&sample); - - if (SUCCEEDED(hr)) { - hr = MFCreateMemoryBuffer(size, &buffer); - } - - if (SUCCEEDED(hr)) { - uint8_t* target_data; - if (SUCCEEDED(buffer->Lock(&target_data, nullptr, nullptr))) { - std::copy(src_buffer, src_buffer + size, target_data); - } - hr = buffer->Unlock(); - } - - if (SUCCEEDED(hr)) { - hr = buffer->SetCurrentLength(size); - } - - if (SUCCEEDED(hr)) { - hr = sample->AddBuffer(buffer.Get()); - } - - if (SUCCEEDED(hr)) { - sample_callback_->OnSample(sample.Get()); - } - } - - ComPtr sample_callback_; - - private: - ~MockCapturePreviewSink() = default; - volatile ULONG ref_ = 0; -}; - -class MockCaptureRecordSink : public IMFCaptureRecordSink { - public: - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetOutputMediaType, - (DWORD dwSinkStreamIndex, IMFMediaType** ppMediaType)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetService, - (DWORD dwSinkStreamIndex, REFGUID rguidService, REFIID riid, - IUnknown** ppUnknown)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, AddStream, - (DWORD dwSourceStreamIndex, IMFMediaType* pMediaType, - IMFAttributes* pAttributes, DWORD* pdwSinkStreamIndex)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, Prepare, ()); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, RemoveAllStreams, ()); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, SetOutputByteStream, - (IMFByteStream * pByteStream, REFGUID guidContainerType)); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, SetOutputFileName, (LPCWSTR fileName)); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, SetSampleCallback, - (DWORD dwStreamSinkIndex, - IMFCaptureEngineOnSampleCallback* pCallback)); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, SetCustomSink, (IMFMediaSink * pMediaSink)); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, GetRotation, - (DWORD dwStreamIndex, DWORD* pdwRotationValue)); - - // IMFCaptureRecordSink - MOCK_METHOD(HRESULT, SetRotation, - (DWORD dwStreamIndex, DWORD dwRotationValue)); - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCaptureRecordSink) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - private: - ~MockCaptureRecordSink() = default; - volatile ULONG ref_ = 0; -}; - -class MockCapturePhotoSink : public IMFCapturePhotoSink { - public: - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetOutputMediaType, - (DWORD dwSinkStreamIndex, IMFMediaType** ppMediaType)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, GetService, - (DWORD dwSinkStreamIndex, REFGUID rguidService, REFIID riid, - IUnknown** ppUnknown)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, AddStream, - (DWORD dwSourceStreamIndex, IMFMediaType* pMediaType, - IMFAttributes* pAttributes, DWORD* pdwSinkStreamIndex)); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, Prepare, ()); - - // IMFCaptureSink - MOCK_METHOD(HRESULT, RemoveAllStreams, ()); - - // IMFCapturePhotoSink - MOCK_METHOD(HRESULT, SetOutputFileName, (LPCWSTR fileName)); - - // IMFCapturePhotoSink - MOCK_METHOD(HRESULT, SetSampleCallback, - (IMFCaptureEngineOnSampleCallback * pCallback)); - - // IMFCapturePhotoSink - MOCK_METHOD(HRESULT, SetOutputByteStream, (IMFByteStream * pByteStream)); - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCapturePhotoSink) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - private: - ~MockCapturePhotoSink() = default; - volatile ULONG ref_ = 0; -}; - -template -class FakeIMFAttributesBase : public T { - static_assert(std::is_base_of::value, - "I must inherit from IMFAttributes"); - - // IIMFAttributes - HRESULT GetItem(REFGUID guidKey, PROPVARIANT* pValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetItemType(REFGUID guidKey, MF_ATTRIBUTE_TYPE* pType) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT CompareItem(REFGUID guidKey, REFPROPVARIANT Value, - BOOL* pbResult) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT Compare(IMFAttributes* pTheirs, MF_ATTRIBUTES_MATCH_TYPE MatchType, - BOOL* pbResult) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetUINT32(REFGUID guidKey, UINT32* punValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetUINT64(REFGUID guidKey, UINT64* punValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetDouble(REFGUID guidKey, double* pfValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetGUID(REFGUID guidKey, GUID* pguidValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetStringLength(REFGUID guidKey, UINT32* pcchLength) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetString(REFGUID guidKey, LPWSTR pwszValue, UINT32 cchBufSize, - UINT32* pcchLength) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetAllocatedString(REFGUID guidKey, LPWSTR* ppwszValue, - UINT32* pcchLength) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetBlobSize(REFGUID guidKey, UINT32* pcbBlobSize) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetBlob(REFGUID guidKey, UINT8* pBuf, UINT32 cbBufSize, - UINT32* pcbBlobSize) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetAllocatedBlob(REFGUID guidKey, UINT8** ppBuf, - UINT32* pcbSize) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT GetUnknown(REFGUID guidKey, REFIID riid, - __RPC__deref_out_opt LPVOID* ppv) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetItem(REFGUID guidKey, REFPROPVARIANT Value) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT DeleteItem(REFGUID guidKey) override { return E_NOTIMPL; } - - // IIMFAttributes - HRESULT DeleteAllItems(void) override { return E_NOTIMPL; } - - // IIMFAttributes - HRESULT SetUINT32(REFGUID guidKey, UINT32 unValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetUINT64(REFGUID guidKey, UINT64 unValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetDouble(REFGUID guidKey, double fValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetGUID(REFGUID guidKey, REFGUID guidValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetString(REFGUID guidKey, LPCWSTR wszValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetBlob(REFGUID guidKey, const UINT8* pBuf, - UINT32 cbBufSize) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT SetUnknown(REFGUID guidKey, IUnknown* pUnknown) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT LockStore(void) override { return E_NOTIMPL; } - - // IIMFAttributes - HRESULT UnlockStore(void) override { return E_NOTIMPL; } - - // IIMFAttributes - HRESULT GetCount(UINT32* pcItems) override { return E_NOTIMPL; } - - // IIMFAttributes - HRESULT GetItemByIndex(UINT32 unIndex, GUID* pguidKey, - PROPVARIANT* pValue) override { - return E_NOTIMPL; - } - - // IIMFAttributes - HRESULT CopyAllItems(IMFAttributes* pDest) override { return E_NOTIMPL; } -}; - -class FakeMediaType : public FakeIMFAttributesBase { - public: - FakeMediaType(GUID major_type, GUID sub_type, int width, int height) - : major_type_(major_type), - sub_type_(sub_type), - width_(width), - height_(height){}; - - // IMFAttributes - HRESULT GetUINT64(REFGUID key, UINT64* value) override { - if (key == MF_MT_FRAME_SIZE) { - *value = (int64_t)width_ << 32 | (int64_t)height_; - return S_OK; - } else if (key == MF_MT_FRAME_RATE) { - *value = (int64_t)frame_rate_ << 32 | 1; - return S_OK; - } - return E_FAIL; - }; - - // IMFAttributes - HRESULT GetGUID(REFGUID key, GUID* value) override { - if (key == MF_MT_MAJOR_TYPE) { - *value = major_type_; - return S_OK; - } else if (key == MF_MT_SUBTYPE) { - *value = sub_type_; - return S_OK; - } - return E_FAIL; - } - - // IIMFAttributes - HRESULT CopyAllItems(IMFAttributes* pDest) override { - pDest->SetUINT64(MF_MT_FRAME_SIZE, - (int64_t)width_ << 32 | (int64_t)height_); - pDest->SetUINT64(MF_MT_FRAME_RATE, (int64_t)frame_rate_ << 32 | 1); - pDest->SetGUID(MF_MT_MAJOR_TYPE, major_type_); - pDest->SetGUID(MF_MT_SUBTYPE, sub_type_); - return S_OK; - } - - // IMFMediaType - HRESULT STDMETHODCALLTYPE GetMajorType(GUID* pguidMajorType) override { - return E_NOTIMPL; - }; - - // IMFMediaType - HRESULT STDMETHODCALLTYPE IsCompressedFormat(BOOL* pfCompressed) override { - return E_NOTIMPL; - } - - // IMFMediaType - HRESULT STDMETHODCALLTYPE IsEqual(IMFMediaType* pIMediaType, - DWORD* pdwFlags) override { - return E_NOTIMPL; - } - - // IMFMediaType - HRESULT STDMETHODCALLTYPE GetRepresentation( - GUID guidRepresentation, LPVOID* ppvRepresentation) override { - return E_NOTIMPL; - } - - // IMFMediaType - HRESULT STDMETHODCALLTYPE FreeRepresentation( - GUID guidRepresentation, LPVOID pvRepresentation) override { - return E_NOTIMPL; - } - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFMediaType) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - private: - ~FakeMediaType() = default; - volatile ULONG ref_ = 0; - const GUID major_type_; - const GUID sub_type_; - const int width_; - const int height_; - const int frame_rate_ = 30; -}; - -class MockCaptureEngine : public IMFCaptureEngine { - public: - MockCaptureEngine() { - ON_CALL(*this, Initialize) - .WillByDefault([this](IMFCaptureEngineOnEventCallback* callback, - IMFAttributes* attributes, IUnknown* audioSource, - IUnknown* videoSource) -> HRESULT { - EXPECT_TRUE(callback); - EXPECT_TRUE(attributes); - EXPECT_TRUE(videoSource); - // audioSource is allowed to be nullptr; - callback_ = callback; - videoSource_ = reinterpret_cast(videoSource); - audioSource_ = reinterpret_cast(audioSource); - initialized_ = true; - return S_OK; - }); - }; - - virtual ~MockCaptureEngine() = default; - - MOCK_METHOD(HRESULT, Initialize, - (IMFCaptureEngineOnEventCallback * callback, - IMFAttributes* attributes, IUnknown* audioSource, - IUnknown* videoSource)); - MOCK_METHOD(HRESULT, StartPreview, ()); - MOCK_METHOD(HRESULT, StopPreview, ()); - MOCK_METHOD(HRESULT, StartRecord, ()); - MOCK_METHOD(HRESULT, StopRecord, - (BOOL finalize, BOOL flushUnprocessedSamples)); - MOCK_METHOD(HRESULT, TakePhoto, ()); - MOCK_METHOD(HRESULT, GetSink, - (MF_CAPTURE_ENGINE_SINK_TYPE type, IMFCaptureSink** sink)); - MOCK_METHOD(HRESULT, GetSource, (IMFCaptureSource * *ppSource)); - - // IUnknown - STDMETHODIMP_(ULONG) AddRef() { return InterlockedIncrement(&ref_); } - - // IUnknown - STDMETHODIMP_(ULONG) Release() { - LONG ref = InterlockedDecrement(&ref_); - if (ref == 0) { - delete this; - } - return ref; - } - - // IUnknown - STDMETHODIMP_(HRESULT) QueryInterface(const IID& riid, void** ppv) { - *ppv = nullptr; - - if (riid == IID_IMFCaptureEngine) { - *ppv = static_cast(this); - ((IUnknown*)*ppv)->AddRef(); - return S_OK; - } - - return E_NOINTERFACE; - } - - void CreateFakeEvent(HRESULT hrStatus, GUID event_type) { - EXPECT_TRUE(initialized_); - ComPtr event; - MFCreateMediaEvent(MEExtendedType, event_type, hrStatus, nullptr, &event); - if (callback_) { - callback_->OnEvent(event.Get()); - } - } - - ComPtr callback_; - ComPtr videoSource_; - ComPtr audioSource_; - volatile ULONG ref_ = 0; - bool initialized_ = false; -}; - -#define MOCK_DEVICE_ID "mock_device_id" -#define MOCK_CAMERA_NAME "mock_camera_name <" MOCK_DEVICE_ID ">" -#define MOCK_INVALID_CAMERA_NAME "invalid_camera_name" - -} // namespace -} // namespace test -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEST_MOCKS_H_ diff --git a/example/windows_camera/windows/texture_handler.cpp b/example/windows_camera/windows/texture_handler.cpp deleted file mode 100644 index e59955f..0000000 --- a/example/windows_camera/windows/texture_handler.cpp +++ /dev/null @@ -1,146 +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. - -#include "texture_handler.h" - -#include - -namespace camera_windows { - -TextureHandler::~TextureHandler() { - // Texture might still be processed while destructor is called. - // Lock mutex for safe destruction - const std::lock_guard lock(buffer_mutex_); - if (texture_registrar_ && texture_id_ > 0) { - texture_registrar_->UnregisterTexture(texture_id_); - } - texture_id_ = -1; - texture_ = nullptr; - texture_registrar_ = nullptr; -} - -int64_t TextureHandler::RegisterTexture() { - if (!texture_registrar_) { - return -1; - } - - // Create flutter desktop pixelbuffer texture; - texture_ = - std::make_unique(flutter::PixelBufferTexture( - [this](size_t width, - size_t height) -> const FlutterDesktopPixelBuffer* { - return this->ConvertPixelBufferForFlutter(width, height); - })); - - texture_id_ = texture_registrar_->RegisterTexture(texture_.get()); - return texture_id_; -} - -bool TextureHandler::UpdateBuffer(uint8_t* data, uint32_t data_length) { - // Scoped lock guard. - { - const std::lock_guard lock(buffer_mutex_); - if (!TextureRegistered()) { - return false; - } - - if (source_buffer_.size() != data_length) { - // Update source buffer size. - source_buffer_.resize(data_length); - } - std::copy(data, data + data_length, source_buffer_.data()); - } - OnBufferUpdated(); - return true; -}; - -// Marks texture frame available after buffer is updated. -void TextureHandler::OnBufferUpdated() { - if (TextureRegistered()) { - texture_registrar_->MarkTextureFrameAvailable(texture_id_); - } -} - -const FlutterDesktopPixelBuffer* TextureHandler::ConvertPixelBufferForFlutter( - size_t target_width, size_t target_height) { - // TODO: optimize image processing size by adjusting capture size - // dynamically to match target_width and target_height. - // If target size changes, create new media type for preview and set new - // target framesize to MF_MT_FRAME_SIZE attribute. - // Size should be kept inside requested resolution preset. - // Update output media type with IMFCaptureSink2::SetOutputMediaType method - // call and implement IMFCaptureEngineOnSampleCallback2::OnSynchronizedEvent - // to detect size changes. - - // Lock buffer mutex to protect texture processing - std::unique_lock buffer_lock(buffer_mutex_); - if (!TextureRegistered()) { - return nullptr; - } - - const uint32_t bytes_per_pixel = 4; - const uint32_t pixels_total = preview_frame_width_ * preview_frame_height_; - const uint32_t data_size = pixels_total * bytes_per_pixel; - if (data_size > 0 && source_buffer_.size() == data_size) { - if (dest_buffer_.size() != data_size) { - dest_buffer_.resize(data_size); - } - - // Map buffers to structs for easier conversion. - MFVideoFormatRGB32Pixel* src = - reinterpret_cast(source_buffer_.data()); - FlutterDesktopPixel* dst = - reinterpret_cast(dest_buffer_.data()); - - for (uint32_t y = 0; y < preview_frame_height_; y++) { - for (uint32_t x = 0; x < preview_frame_width_; x++) { - uint32_t sp = (y * preview_frame_width_) + x; - if (mirror_preview_) { - // Software mirror mode. - // IMFCapturePreviewSink also has the SetMirrorState setting, - // but if enabled, samples will not be processed. - - // Calculates mirrored pixel position. - uint32_t tp = - (y * preview_frame_width_) + ((preview_frame_width_ - 1) - x); - dst[tp].r = src[sp].r; - dst[tp].g = src[sp].g; - dst[tp].b = src[sp].b; - dst[tp].a = 255; - } else { - dst[sp].r = src[sp].r; - dst[sp].g = src[sp].g; - dst[sp].b = src[sp].b; - dst[sp].a = 255; - } - } - } - - if (!flutter_desktop_pixel_buffer_) { - flutter_desktop_pixel_buffer_ = - std::make_unique(); - - // Unlocks mutex after texture is processed. - flutter_desktop_pixel_buffer_->release_callback = - [](void* release_context) { - auto mutex = reinterpret_cast(release_context); - mutex->unlock(); - }; - } - - flutter_desktop_pixel_buffer_->buffer = dest_buffer_.data(); - flutter_desktop_pixel_buffer_->width = preview_frame_width_; - flutter_desktop_pixel_buffer_->height = preview_frame_height_; - if (capture_controller_listener_) { - capture_controller_listener_->OnStreamedFrameAvailable(dest_buffer_.data(), preview_frame_width_ * preview_frame_height_ * 4); - } - // Releases unique_lock and set mutex pointer for release context. - flutter_desktop_pixel_buffer_->release_context = buffer_lock.release(); - - return flutter_desktop_pixel_buffer_.get(); - } - return nullptr; -} - -} // namespace camera_windows diff --git a/example/windows_camera/windows/texture_handler.h b/example/windows_camera/windows/texture_handler.h deleted file mode 100644 index 5903730..0000000 --- a/example/windows_camera/windows/texture_handler.h +++ /dev/null @@ -1,100 +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. - -#ifndef PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEXTURE_HANDLER_H_ -#define PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEXTURE_HANDLER_H_ - -#include - -#include -#include -#include - -#include "capture_controller_listener.h" - -namespace camera_windows { - -// Describes flutter desktop pixelbuffers pixel data order. -struct FlutterDesktopPixel { - uint8_t r = 0; - uint8_t g = 0; - uint8_t b = 0; - uint8_t a = 0; -}; - -// Describes MFVideoFormat_RGB32 data order. -struct MFVideoFormatRGB32Pixel { - uint8_t b = 0; - uint8_t g = 0; - uint8_t r = 0; - uint8_t x = 0; -}; - -// Handles the registration of Flutter textures, pixel buffers, and the -// conversion of texture formats. -class TextureHandler { - public: - TextureHandler(flutter::TextureRegistrar* texture_registrar) - : texture_registrar_(texture_registrar) {} - virtual ~TextureHandler(); - - // Prevent copying. - TextureHandler(TextureHandler const&) = delete; - TextureHandler& operator=(TextureHandler const&) = delete; - - // Updates source data buffer with given data. - bool UpdateBuffer(uint8_t* data, uint32_t data_length); - - // Registers texture and updates given texture_id pointer value. - int64_t RegisterTexture(); - - // Updates current preview texture size. - void UpdateTextureSize(uint32_t width, uint32_t height) { - preview_frame_width_ = width; - preview_frame_height_ = height; - } - - // Sets software mirror state. - void SetMirrorPreviewState(bool mirror) { mirror_preview_ = mirror; } - - void SetCaptureControllerListener( - CaptureControllerListener* capture_controller_listener) { - capture_controller_listener_ = capture_controller_listener; - } - - private: - // Informs flutter texture registrar of updated texture. - void OnBufferUpdated(); - - // Converts local pixel buffer to flutter pixel buffer. - const FlutterDesktopPixelBuffer* ConvertPixelBufferForFlutter(size_t width, - size_t height); - - // Checks if texture registrar, texture id and texture are available. - bool TextureRegistered() { - return texture_registrar_ && texture_ && texture_id_ > -1; - } - - bool mirror_preview_ = true; - int64_t texture_id_ = -1; - uint32_t bytes_per_pixel_ = 4; - uint32_t source_buffer_size_ = 0; - uint32_t preview_frame_width_ = 0; - uint32_t preview_frame_height_ = 0; - - std::vector source_buffer_; - std::vector dest_buffer_; - std::unique_ptr texture_; - std::unique_ptr flutter_desktop_pixel_buffer_ = - nullptr; - flutter::TextureRegistrar* texture_registrar_ = nullptr; - - std::mutex buffer_mutex_; - - CaptureControllerListener* capture_controller_listener_; -}; - -} // namespace camera_windows - -#endif // PACKAGES_CAMERA_CAMERA_WINDOWS_WINDOWS_TEXTURE_HANDLER_H_ diff --git a/example/web/favicon.png b/favicon.png similarity index 100% rename from example/web/favicon.png rename to favicon.png diff --git a/flutter.js b/flutter.js new file mode 100644 index 0000000..44a8b8e --- /dev/null +++ b/flutter.js @@ -0,0 +1,4 @@ +(()=>{var L=()=>navigator.vendor==="Google Inc."||navigator.agent==="Edg/",W=()=>typeof ImageDecoder>"u"?!1:L(),E=()=>typeof Intl.v8BreakIterator<"u"&&typeof Intl.Segmenter<"u",P=()=>{let s=[0,97,115,109,1,0,0,0,1,5,1,95,1,120,0];return WebAssembly.validate(new Uint8Array(s))},p={hasImageCodecs:W(),hasChromiumBreakIterators:E(),supportsWasmGC:P(),crossOriginIsolated:window.crossOriginIsolated};function u(...s){return new URL(S(...s),document.baseURI).toString()}function S(...s){return s.filter(t=>!!t).map((t,i)=>i===0?_(t):j(_(t))).filter(t=>t.length).join("/")}function j(s){let t=0;for(;t0&&s.charAt(t-1)==="/";)t--;return s.substring(0,t)}function b(s,t){return s.canvasKitBaseUrl?s.canvasKitBaseUrl:t.engineRevision&&!t.useLocalCanvasKit?S("https://www.gstatic.com/flutter-canvaskit",t.engineRevision):"canvaskit"}var h=class{constructor(){this._scriptLoaded=!1}setTrustedTypesPolicy(t){this._ttPolicy=t}async loadEntrypoint(t){let{entrypointUrl:i=u("main.dart.js"),onEntrypointLoaded:r,nonce:e}=t||{};return this._loadJSEntrypoint(i,r,e)}async load(t,i,r,e,n){n??=o=>{o.initializeEngine(r).then(l=>l.runApp())};let{entryPointBaseUrl:a}=r;if(t.compileTarget==="dart2wasm")return this._loadWasmEntrypoint(t,i,a,n);{let o=t.mainJsPath??"main.dart.js",l=u(a,o);return this._loadJSEntrypoint(l,n,e)}}didCreateEngineInitializer(t){typeof this._didCreateEngineInitializerResolve=="function"&&(this._didCreateEngineInitializerResolve(t),this._didCreateEngineInitializerResolve=null,delete _flutter.loader.didCreateEngineInitializer),typeof this._onEntrypointLoaded=="function"&&this._onEntrypointLoaded(t)}_loadJSEntrypoint(t,i,r){let e=typeof i=="function";if(!this._scriptLoaded){this._scriptLoaded=!0;let n=this._createScriptTag(t,r);if(e)console.debug("Injecting diff --git a/ios/.gitignore b/ios/.gitignore deleted file mode 100644 index 0c88507..0000000 --- a/ios/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -.idea/ -.vagrant/ -.sconsign.dblite -.svn/ - -.DS_Store -*.swp -profile - -DerivedData/ -build/ -GeneratedPluginRegistrant.h -GeneratedPluginRegistrant.m - -.generated/ - -*.pbxuser -*.mode1v3 -*.mode2v3 -*.perspectivev3 - -!default.pbxuser -!default.mode1v3 -!default.mode2v3 -!default.perspectivev3 - -xcuserdata - -*.moved-aside - -*.pyc -*sync/ -Icon? -.tags* - -/Flutter/Generated.xcconfig -/Flutter/ephemeral/ -/Flutter/flutter_export_environment.sh \ No newline at end of file diff --git a/ios/Assets/.gitkeep b/ios/Assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/ios/Classes/FlutterOcrSdkPlugin.h b/ios/Classes/FlutterOcrSdkPlugin.h deleted file mode 100644 index ad373a5..0000000 --- a/ios/Classes/FlutterOcrSdkPlugin.h +++ /dev/null @@ -1,4 +0,0 @@ -#import - -@interface FlutterOcrSdkPlugin : NSObject -@end diff --git a/ios/Classes/FlutterOcrSdkPlugin.m b/ios/Classes/FlutterOcrSdkPlugin.m deleted file mode 100644 index 9591143..0000000 --- a/ios/Classes/FlutterOcrSdkPlugin.m +++ /dev/null @@ -1,15 +0,0 @@ -#import "FlutterOcrSdkPlugin.h" -#if __has_include() -#import -#else -// Support project import fallback if the generated compatibility header -// is not copied when this plugin is created as a library. -// https://forums.swift.org/t/swift-static-libraries-dont-copy-generated-objective-c-header/19816 -#import "flutter_ocr_sdk-Swift.h" -#endif - -@implementation FlutterOcrSdkPlugin -+ (void)registerWithRegistrar:(NSObject*)registrar { - [SwiftFlutterOcrSdkPlugin registerWithRegistrar:registrar]; -} -@end diff --git a/ios/Classes/SwiftFlutterOcrSdkPlugin.swift b/ios/Classes/SwiftFlutterOcrSdkPlugin.swift deleted file mode 100644 index 29c954e..0000000 --- a/ios/Classes/SwiftFlutterOcrSdkPlugin.swift +++ /dev/null @@ -1,120 +0,0 @@ -import Flutter -import UIKit -import DynamsoftCore -import DynamsoftLabelRecognizer - -public class SwiftFlutterOcrSdkPlugin: NSObject, FlutterPlugin, LicenseVerificationListener { - var completionHandlers: [FlutterResult] = [] - private var recognizer: DynamsoftLabelRecognizer? - - public static func register(with registrar: FlutterPluginRegistrar) { - let channel = FlutterMethodChannel(name: "flutter_ocr_sdk", binaryMessenger: registrar.messenger()) - let instance = SwiftFlutterOcrSdkPlugin() - registrar.addMethodCallDelegate(instance, channel: channel) - } - - override init() { - recognizer = DynamsoftLabelRecognizer.init() - } - - public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) { - let arguments: NSDictionary = call.arguments as! NSDictionary - switch call.method { - case "getPlatformVersion": - result("iOS " + UIDevice.current.systemVersion) - case "init": - completionHandlers.append(result) - let license: String = arguments.value(forKey: "key") as! String - DynamsoftLicenseManager.initLicense(license, verificationDelegate: self) - case "loadModelFiles": - let name: String = arguments.value(forKey: "name") as! String - let prototxtBuffer: FlutterStandardTypedData = arguments.value(forKey: "prototxtBuffer") as! FlutterStandardTypedData - let txtBuffer: FlutterStandardTypedData = arguments.value(forKey: "txtBuffer") as! FlutterStandardTypedData - let characterModelBuffer: FlutterStandardTypedData = arguments.value(forKey: "characterModelBuffer") as! FlutterStandardTypedData - DynamsoftLabelRecognizer.appendCharacterModel(name, prototxtBuffer: prototxtBuffer.data, txtBuffer: txtBuffer.data, characterModelBuffer: characterModelBuffer.data) - result(0) - case "loadTemplate": - if self.recognizer == nil { - result(.none) - return - } - let params: String = arguments.value(forKey: "template") as! String - try? self.recognizer!.initRuntimeSettings(params) - result(0) - case "recognizeByFile": - if recognizer == nil { - result(.none) - return - } - - DispatchQueue.global().async { - let filename: String = arguments.value(forKey: "filename") as! String - let res = try? self.recognizer!.recognizeFile(filename) - result(self.wrapResults(results: res)) - } - case "recognizeByBuffer": - if self.recognizer == nil { - result(.none) - return - } - - DispatchQueue.global().async { - let buffer: FlutterStandardTypedData = arguments.value(forKey: "bytes") as! FlutterStandardTypedData - let width: Int = arguments.value(forKey: "width") as! Int - let height: Int = arguments.value(forKey: "height") as! Int - let stride: Int = arguments.value(forKey: "stride") as! Int - let format: Int = arguments.value(forKey: "format") as! Int - let enumImagePixelFormat = EnumImagePixelFormat(rawValue: format) - let imageData = iImageData.init() - imageData.bytes = buffer.data - imageData.width = width - imageData.height = height - imageData.stride = stride - imageData.format = enumImagePixelFormat! - let res = try? self.recognizer!.recognizeBuffer(imageData) - result(self.wrapResults(results: res)) - } - default: - result(.none) - } - } - - public func licenseVerificationCallback(_ isSuccess: Bool, error: Error?) { - if isSuccess { - completionHandlers.first?(0) - } else{ - completionHandlers.first?(-1) - } - } - - func wrapResults(results:[iDLRResult]?) -> NSArray { - let outResults = NSMutableArray() - if results == nil { - return outResults - } - for item in results! { - let area = NSMutableArray() - - for line in item.lineResults! { - let dictionary = NSMutableDictionary() - dictionary.setObject(line.confidence, forKey: "confidence" as NSCopying) - dictionary.setObject(line.text ?? "", forKey: "text" as NSCopying) - - let points = line.location!.points as! [CGPoint] - dictionary.setObject(Int(points[0].x), forKey: "x1" as NSCopying) - dictionary.setObject(Int(points[0].y), forKey: "y1" as NSCopying) - dictionary.setObject(Int(points[1].x), forKey: "x2" as NSCopying) - dictionary.setObject(Int(points[1].y), forKey: "y2" as NSCopying) - dictionary.setObject(Int(points[2].x), forKey: "x3" as NSCopying) - dictionary.setObject(Int(points[2].y), forKey: "y3" as NSCopying) - dictionary.setObject(Int(points[3].x), forKey: "x4" as NSCopying) - dictionary.setObject(Int(points[3].y), forKey: "y4" as NSCopying) - - area.add(dictionary) - } - outResults.add(area) - } - - return outResults - } -} diff --git a/ios/flutter_ocr_sdk.podspec b/ios/flutter_ocr_sdk.podspec deleted file mode 100644 index 442fbc6..0000000 --- a/ios/flutter_ocr_sdk.podspec +++ /dev/null @@ -1,24 +0,0 @@ -# -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. -# Run `pod lib lint flutter_ocr_sdk.podspec` to validate before publishing. -# -Pod::Spec.new do |s| - s.name = 'flutter_ocr_sdk' - s.version = '1.0.0' - s.summary = 'A wrapper for Dynamsoft OCR SDK, detecting MRZ in passports, travel documents, and ID cards.' - s.description = <<-DESC -A wrapper for Dynamsoft OCR SDK, detecting MRZ in passports, travel documents, and ID cards. - DESC - s.homepage = 'https://github.com/yushulx/flutter_ocr_sdk' - s.license = { :file => '../LICENSE' } - s.author = { 'yushulx' => 'lingxiao1002@gmail.com' } - s.source = { :path => '.' } - s.source_files = 'Classes/**/*' - s.dependency 'Flutter' - s.platform = :ios, '9.0' - s.dependency 'DynamsoftLabelRecognizer', '2.2.20' - s.dependency 'DynamsoftCore', '2.0.2' - # Flutter.framework does not contain a i386 slice. - s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } - s.swift_version = '5.0' -end diff --git a/lib/flutter_ocr_sdk.dart b/lib/flutter_ocr_sdk.dart deleted file mode 100644 index dee782d..0000000 --- a/lib/flutter_ocr_sdk.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'dart:typed_data'; - -import 'flutter_ocr_sdk_platform_interface.dart'; -import 'mrz_line.dart'; - -class FlutterOcrSdk { - Future getPlatformVersion() { - return FlutterOcrSdkPlatform.instance.getPlatformVersion(); - } - - /// Initialize the SDK: https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform - Future init(String key) { - return FlutterOcrSdkPlatform.instance.init(key); - } - - Future>?> recognizeByBuffer( - Uint8List bytes, int width, int height, int stride, int format) { - return FlutterOcrSdkPlatform.instance - .recognizeByBuffer(bytes, width, height, stride, format); - } - - Future>?> recognizeByFile(String filename) { - return FlutterOcrSdkPlatform.instance.recognizeByFile(filename); - } - - Future loadModel() async { - return FlutterOcrSdkPlatform.instance.loadModel(); - } -} diff --git a/lib/flutter_ocr_sdk_method_channel.dart b/lib/flutter_ocr_sdk_method_channel.dart deleted file mode 100644 index 9099cc3..0000000 --- a/lib/flutter_ocr_sdk_method_channel.dart +++ /dev/null @@ -1,190 +0,0 @@ -import 'dart:convert'; -import 'dart:io'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_ocr_sdk/mrz_line.dart'; -import 'package:path/path.dart'; -import 'package:path_provider/path_provider.dart'; - -import 'flutter_ocr_sdk_platform_interface.dart'; - -/// An implementation of [FlutterOcrSdkPlatform] that uses method channels. -class MethodChannelFlutterOcrSdk extends FlutterOcrSdkPlatform { - /// The method channel used to interact with the native platform. - @visibleForTesting - final methodChannel = const MethodChannel('flutter_ocr_sdk'); - - @override - Future getPlatformVersion() async { - final version = - await methodChannel.invokeMethod('getPlatformVersion'); - return version; - } - - /// Initialize the SDK - @override - Future init(String key) async { - return await methodChannel.invokeMethod('init', {'key': key}); - } - - /// Do OCR by image buffer. - /// Returns a [List>] containing the OCR results. - @override - Future>?> recognizeByBuffer( - Uint8List bytes, int width, int height, int stride, int format) async { - List? results = - await methodChannel.invokeMethod('recognizeByBuffer', { - 'bytes': bytes, - 'width': width, - 'height': height, - 'stride': stride, - 'format': format, - }); - - if (results == null || results.isEmpty) return []; - - return _resultWrapper(results); - } - - /// Do OCR by file. - /// Returns a [List>] containing the OCR results. - @override - Future>?> recognizeByFile(String filename) async { - List? results = - await methodChannel.invokeMethod('recognizeByFile', { - 'filename': filename, - }); - - if (results == null || results.isEmpty) return []; - - return _resultWrapper(results); - } - - /// Convert JSON string to List - List> _resultWrapper(List data) { - List> results = []; - - for (List area in data) { - List lines = []; - if (area.length == 2 || area.length == 3) { - for (int i = 0; i < area.length; i++) { - MrzLine line = MrzLine(); - Map map = area[i]; - line.confidence = map['confidence']; - line.text = map['text']; - line.x1 = map['x1']; - line.y1 = map['y1']; - line.x2 = map['x2']; - line.y2 = map['y2']; - line.x3 = map['x3']; - line.y3 = map['y3']; - line.x4 = map['x4']; - line.y4 = map['y4']; - lines.add(line); - } - } - - results.add(lines); - } - - return results; - } - - /// Load custom model files. - /// Returns a [String] containing the OCR results. - Future loadModelFiles(String name, Uint8List prototxtBuffer, - Uint8List txtBuffer, Uint8List characterModelBuffer) async { - return await methodChannel.invokeMethod('loadModelFiles', { - 'name': name, - 'prototxtBuffer': prototxtBuffer, - 'txtBuffer': txtBuffer, - 'characterModelBuffer': characterModelBuffer, - }); - } - - /// Load s template file. - Future loadTemplate(String template) async { - return await methodChannel.invokeMethod('loadTemplate', { - 'template': template, - }); - } - - /// Load the whole model by folder. - @override - Future loadModel() async { - final directory = await getApplicationDocumentsDirectory(); - - String modelPath = 'packages/flutter_ocr_sdk/lib/model/'; - - bool isDesktop = false; - if (Platform.isWindows || Platform.isLinux) { - isDesktop = true; - } - - int? ret = 0; - var fileNames = ["MRZ"]; - for (var i = 0; i < fileNames.length; i++) { - var fileName = fileNames[i]; - - var prototxtName = '$fileName.prototxt'; - var prototxtBufferPath = join(modelPath, prototxtName); - ByteData prototxtBuffer = await loadAssetBytes(prototxtBufferPath); - - var txtBufferName = '$fileName.txt'; - var txtBufferPath = join(modelPath, txtBufferName); - ByteData txtBuffer = await loadAssetBytes(txtBufferPath); - - var characterModelName = '$fileName.caffemodel'; - var characterModelBufferPath = join(modelPath, characterModelName); - ByteData characterModelBuffer = - await loadAssetBytes(characterModelBufferPath); - - if (isDesktop) { - List bytes = prototxtBuffer.buffer.asUint8List(); - await File(join(directory.path, prototxtName)).writeAsBytes(bytes); - - bytes = txtBuffer.buffer.asUint8List(); - await File(join(directory.path, txtBufferName)).writeAsBytes(bytes); - - bytes = characterModelBuffer.buffer.asUint8List(); - await File(join(directory.path, characterModelName)) - .writeAsBytes(bytes); - } else { - loadModelFiles( - fileName, - prototxtBuffer.buffer.asUint8List(), - txtBuffer.buffer.asUint8List(), - characterModelBuffer.buffer.asUint8List()); - } - } - - var templateName = 'MRZ.json'; - var templatePath = join(modelPath, templateName); - String template = await loadAssetString(templatePath); - if (isDesktop) { - var templateMap = json.decode(template); - templateMap['CharacterModelArray'][0]['DirectoryPath'] = directory.path; - - ByteData templateBuffer = await loadAssetBytes(templatePath); - List bytes = templateBuffer.buffer.asUint8List(); - await File(join(directory.path, templateName)).writeAsBytes(bytes); - await methodChannel.invokeMethod('loadModel', - {'path': directory.path, 'template': json.encode(templateMap)}); - } else { - ret = await loadTemplate(template); - } - - return ret; - } - - /// Retrieve a string from the asset bundle. - Future loadAssetString(String path) async { - return await rootBundle.loadString(path); - } - - /// Retrieve a binary resource from the asset bundle as a data stream. - Future loadAssetBytes(String path) async { - return await rootBundle.load(path); - } -} diff --git a/lib/flutter_ocr_sdk_platform_interface.dart b/lib/flutter_ocr_sdk_platform_interface.dart deleted file mode 100644 index b7d5837..0000000 --- a/lib/flutter_ocr_sdk_platform_interface.dart +++ /dev/null @@ -1,90 +0,0 @@ -import 'package:flutter/services.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -import 'flutter_ocr_sdk_method_channel.dart'; -import 'mrz_line.dart'; - -/// Image pixel format. -enum ImagePixelFormat { - /// 0:Black, 1:White - IPF_BINARY, - - /// 0:White, 1:Black - IPF_BINARYINVERTED, - - /// 8bit gray - IPF_GRAYSCALED, - - /// NV21 - IPF_NV21, - - /// 16bit with RGB channel order stored in memory from high to low address - IPF_RGB_565, - - /// 16bit with RGB channel order stored in memory from high to low address - IPF_RGB_555, - - /// 24bit with RGB channel order stored in memory from high to low address - IPF_RGB_888, - - /// 32bit with ARGB channel order stored in memory from high to low address - IPF_ARGB_8888, - - /// 48bit with RGB channel order stored in memory from high to low address - IPF_RGB_161616, - - /// 64bit with ARGB channel order stored in memory from high to low address - IPF_ARGB_16161616, - - /// 32bit with ABGR channel order stored in memory from high to low address - IPF_ABGR_8888, - - /// 64bit with ABGR channel order stored in memory from high to low address - IPF_ABGR_16161616, - - /// 24bit with BGR channel order stored in memory from high to low address - IPF_BGR_888 -} - -abstract class FlutterOcrSdkPlatform extends PlatformInterface { - /// Constructs a FlutterOcrSdkPlatform. - FlutterOcrSdkPlatform() : super(token: _token); - - static final Object _token = Object(); - - static FlutterOcrSdkPlatform _instance = MethodChannelFlutterOcrSdk(); - - /// The default instance of [FlutterOcrSdkPlatform] to use. - /// - /// Defaults to [MethodChannelFlutterOcrSdk]. - static FlutterOcrSdkPlatform get instance => _instance; - - /// Platform-specific implementations should set this with their own - /// platform-specific class that extends [FlutterOcrSdkPlatform] when - /// they register themselves. - static set instance(FlutterOcrSdkPlatform instance) { - PlatformInterface.verifyToken(instance, _token); - _instance = instance; - } - - Future getPlatformVersion() { - throw UnimplementedError('platformVersion() has not been implemented.'); - } - - Future init(String key) { - throw UnimplementedError('init() has not been implemented.'); - } - - Future>?> recognizeByBuffer( - Uint8List bytes, int width, int height, int stride, int format) { - throw UnimplementedError('recognizeByBuffer() has not been implemented.'); - } - - Future>?> recognizeByFile(String filename) { - throw UnimplementedError('recognizeByFile() has not been implemented.'); - } - - Future loadModel() async { - throw UnimplementedError('loadModel() has not been implemented.'); - } -} diff --git a/lib/flutter_ocr_sdk_web.dart b/lib/flutter_ocr_sdk_web.dart deleted file mode 100644 index 208465a..0000000 --- a/lib/flutter_ocr_sdk_web.dart +++ /dev/null @@ -1,64 +0,0 @@ -// In order to *not* need this ignore, consider extracting the "web" version -// of your plugin as a separate package, instead of inlining it in the same -// package as the core of your plugin. -// ignore: avoid_web_libraries_in_flutter -import 'dart:html' as html show window; -import 'dart:typed_data'; - -import 'package:flutter_ocr_sdk/web_dlr_manager.dart'; -import 'package:flutter_web_plugins/flutter_web_plugins.dart'; - -import 'flutter_ocr_sdk_platform_interface.dart'; -import 'mrz_line.dart'; - -/// A web implementation of the FlutterOcrSdkPlatform of the FlutterOcrSdk plugin. -class FlutterOcrSdkWeb extends FlutterOcrSdkPlatform { - final DLRManager _dlrManager = DLRManager(); - - /// Constructs a FlutterOcrSdkWeb - FlutterOcrSdkWeb(); - - static void registerWith(Registrar registrar) { - FlutterOcrSdkPlatform.instance = FlutterOcrSdkWeb(); - } - - /// Returns a [String] containing the version of the platform. - @override - Future getPlatformVersion() async { - final version = html.window.navigator.userAgent; - return version; - } - - /// Initialize the SDK: https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform - @override - Future init(String key) { - return _dlrManager.init(key); - } - - /// Recognize MRZ from a buffer - /// [bytes] is the buffer - /// [width] is the width of the image - /// [height] is the height of the image - /// [stride] is the stride of the image - /// [format] is the format of the image - /// Returns a list of MRZ lines - @override - Future>?> recognizeByBuffer( - Uint8List bytes, int width, int height, int stride, int format) async { - return _dlrManager.recognizeByBuffer(bytes, width, height, stride, format); - } - - /// Recognize MRZ from a file - /// [filename] is the path of the file - /// Returns a list of MRZ lines - @override - Future>?> recognizeByFile(String filename) async { - return _dlrManager.recognizeByFile(filename); - } - - /// Load the MRZ detection model. - @override - Future loadModel() async { - return _dlrManager.loadModel(); - } -} diff --git a/lib/mrz_line.dart b/lib/mrz_line.dart deleted file mode 100644 index b906dae..0000000 --- a/lib/mrz_line.dart +++ /dev/null @@ -1,23 +0,0 @@ -/// MrzLine class. -class MrzLine { - int confidence = 0; - String text = ''; - - int x1 = 0, y1 = 0, x2 = 0, y2 = 0, x3 = 0, y3 = 0, x4 = 0, y4 = 0; - - @override - String toString() { - String result = ''; - result += 'Confidence: $confidence\n'; - result += 'Text: $text\n'; - result += 'x1: $x1\n'; - result += 'y1: $y1\n'; - result += 'x2: $x2\n'; - result += 'y2: $y2\n'; - result += 'x3: $x3\n'; - result += 'y3: $y3\n'; - result += 'x4: $x4\n'; - - return result; - } -} diff --git a/lib/mrz_parser.dart b/lib/mrz_parser.dart deleted file mode 100644 index 3c57194..0000000 --- a/lib/mrz_parser.dart +++ /dev/null @@ -1,184 +0,0 @@ -import 'mrz_result.dart'; - -class MRZ { - /// Parse two lines of MRZ string. - static MrzResult parseTwoLines(String line1, String line2) { - MrzResult mrzInfo = MrzResult(); - String type = line1.substring(0, 1); - RegExp exp = RegExp(r'[I|P|V]'); - RegExpMatch? match = exp.firstMatch(type); - if (match == null) { - return mrzInfo; - } - - if (type == 'P') { - mrzInfo.type = 'PASSPORT (TD-3)'; - } else if (type == 'V') { - if (line1.length == 44) { - mrzInfo.type = 'VISA (MRV-A)'; - } else if (line1.length == 36) { - mrzInfo.type = 'VISA (MRV-B)'; - } - } else if (type == 'I') { - mrzInfo.type = 'ID CARD (TD-2)'; - } - - // Get issuing State information - String nation = line1.substring(2, 5); - exp = RegExp(r'[0-9]'); - match = exp.firstMatch(nation); - if (match != null) return mrzInfo; - if (nation[nation.length - 1] == '<') { - nation = nation.substring(0, 2); - } - mrzInfo.nationality = nation; - // Get surname information - line1 = line1.substring(5); - int pos = line1.indexOf('<<'); - String surName = line1.substring(0, pos); - exp = RegExp(r'[0-9]'); - match = exp.firstMatch(surName); - if (match != null) return mrzInfo; - surName = surName.replaceAll('<', ' '); - mrzInfo.surname = surName; - // Get givenname information - String givenName = line1.substring(surName.length + 2); - exp = RegExp(r'[0-9]'); - match = exp.firstMatch(givenName); - if (match != null) return mrzInfo; - givenName = givenName.replaceAll('<', ' '); - givenName = givenName.trim(); - mrzInfo.givenName = givenName; - // Get passport number information - String passportNumber = ''; - passportNumber = line2.substring(0, 9); - passportNumber = passportNumber.replaceAll('<', ' '); - mrzInfo.passportNumber = passportNumber; - // Get Nationality information - String issueCountry = line2.substring(10, 13); - exp = RegExp(r'[0-9]'); - match = exp.firstMatch(issueCountry); - if (match != null) return mrzInfo; - if (issueCountry[issueCountry.length - 1] == '<') { - issueCountry = issueCountry.substring(0, 2); - } - mrzInfo.issuingCountry = issueCountry; - // Get date of birth information - String birth = line2.substring(13, 19); - DateTime now = DateTime.now(); - int currentYear = now.year; - if (int.parse(birth.substring(0, 2)) > (currentYear % 100)) { - birth = '19$birth'; - } else { - birth = '20$birth'; - } - birth = - '${birth.substring(0, 4)}/${birth.substring(4, 6)}/${birth.substring(6, 8)}'; - mrzInfo.birthDate = birth; - - // Get gender information - String gender = line2[20]; - exp = RegExp(r'[M|F|x|<]'); - match = exp.firstMatch(gender); - if (match == null) return mrzInfo; - mrzInfo.gender = gender; - // Get date of expiry information - String expiry = line2.substring(21, 27); - exp = RegExp(r'[A-Za-z]'); - match = exp.firstMatch(expiry); - if (match != null) return mrzInfo; - if (int.parse(expiry.substring(0, 2)) >= 60) { - expiry = '19$expiry'; - } else { - expiry = '20$expiry'; - } - expiry = - '${expiry.substring(0, 4)}/${expiry.substring(4, 6)}/${expiry.substring(6)}'; - mrzInfo.expiration = expiry; - - return mrzInfo; - } - - /// Parse three lines of MRZ string. - static MrzResult parseThreeLines(String line1, String line2, String line3) { - MrzResult mrzInfo = MrzResult(); - String type = line1.substring(0, 1); - RegExp exp = RegExp(r'[I|P|V]'); - RegExpMatch? match = exp.firstMatch(type); - if (match == null) { - return mrzInfo; - } - - mrzInfo.type = 'ID CARD (TD-1)'; - // Get nationality information - String nation = line2.substring(15, 18); - exp = RegExp(r'[0-9]'); - match = exp.firstMatch(nation); - if (match != null) return mrzInfo; - nation = nation.replaceAll('<', ''); - mrzInfo.nationality = nation; - // Get surname information - int pos = line3.indexOf('<<'); - String surName = line3.substring(0, pos); - exp = RegExp(r'[0-9]'); - match = exp.firstMatch(surName); - if (match != null) return mrzInfo; - surName = surName.replaceAll('<', ' '); - surName.trim(); - mrzInfo.surname = surName; - // Get givenname information - String givenName = line3.substring(surName.length + 2); - exp = RegExp(r'[0-9]'); - match = exp.firstMatch(givenName); - if (match != null) return mrzInfo; - givenName = givenName.replaceAll('<', ' '); - givenName = givenName.trim(); - mrzInfo.givenName = givenName; - // Get passport number information - String passportNumber = ''; - passportNumber = line1.substring(5, 14); - passportNumber = passportNumber.replaceAll('<', ' '); - mrzInfo.passportNumber = passportNumber; - // Get issuing country or organization information - String issueCountry = line1.substring(2, 5); - exp = RegExp(r'[0-9]'); - match = exp.firstMatch(issueCountry); - if (match != null) return mrzInfo; - issueCountry = issueCountry.replaceAll('<', ''); - mrzInfo.issuingCountry = issueCountry; - // Get date of birth information - String birth = line2.substring(0, 6); - exp = RegExp(r'[A-Za-z]'); - match = exp.firstMatch(birth); - if (match != null) return mrzInfo; - - DateTime now = DateTime.now(); - int currentYear = now.year; - if (int.parse(birth.substring(0, 2)) > (currentYear % 100)) { - birth = '19$birth'; - } else { - birth = '20$birth'; - } - birth = - '${birth.substring(0, 4)}/${birth.substring(4, 6)}/${birth.substring(6, 8)}'; - mrzInfo.birthDate = birth; - - // Get gender information - String gender = line2[7]; - exp = RegExp(r'[M|F|x|<]'); - match = exp.firstMatch(gender); - if (match == null) return mrzInfo; - gender = gender.replaceAll('<', 'X'); - mrzInfo.gender = gender; - // Get date of expiry information - String expiry = '20$line2.substring(8, 14)'; - exp = RegExp(r'[A-Za-z]'); - match = exp.firstMatch(expiry); - if (match != null) return mrzInfo; - expiry = - '${expiry.substring(0, 4)}/${expiry.substring(4, 6)}/${expiry.substring(6)}'; - mrzInfo.expiration = expiry; - - return mrzInfo; - } -} diff --git a/lib/mrz_result.dart b/lib/mrz_result.dart deleted file mode 100644 index 46ccac6..0000000 --- a/lib/mrz_result.dart +++ /dev/null @@ -1,101 +0,0 @@ -/// MrzResult class. -class MrzResult { - /// Document type. - String? type; - - /// Nationality. - String? nationality; - - /// Surname. - String? surname; - - /// Given name. - String? givenName; - - /// Passport number. - String? passportNumber; - - /// Issuing country. - String? issuingCountry; - - /// Birth date. - String? birthDate; - - /// Gender. - String? gender; - - /// Expiration date. - String? expiration; - - // MRZ lines - String? lines; - - MrzResult( - {String? type, - String? nationality, - String? surname, - String? givenName, - String? passportNumber, - String? issuingCountry, - String? birthDate, - String? gender, - String? expiration, - String? lines}) - : this.type = type ?? 'N/A', - this.nationality = nationality ?? 'N/A', - this.surname = surname ?? 'N/A', - this.givenName = givenName ?? 'N/A', - this.passportNumber = passportNumber ?? 'N/A', - this.issuingCountry = issuingCountry ?? 'N/A', - this.birthDate = birthDate ?? 'N/A', - this.gender = gender ?? 'N/A', - this.expiration = expiration ?? 'N/A', - this.lines = lines ?? 'N/A'; - - @override - String toString() { - if (type == null || type!.isEmpty) return "No results"; - - String result = ''; - - result += 'Type: $type\n\n'; - result += 'Nationality: $nationality\n\n'; - result += 'Surname: $surname\n\n'; - result += 'Given name: $givenName\n\n'; - result += 'Passport Number: $passportNumber\n\n'; - result += 'Issue Country: $issuingCountry\n\n'; - result += 'Date of birth: $birthDate\n\n'; - result += 'Gender: $gender\n\n'; - result += 'Expiration: $expiration\n\n'; - - return result; - } - - Map toJson() => { - 'type': type ?? '', - 'nationality': nationality ?? '', - 'surname': surname ?? '', - 'givenName': givenName ?? '', - 'passportNumber': passportNumber ?? '', - 'issuingCountry': issuingCountry ?? '', - 'birthDate': birthDate ?? '', - 'gender': gender ?? '', - 'expiration': expiration ?? '', - 'lines': lines, - }; - - factory MrzResult.fromJson(Map json) { - return MrzResult( - type: json['type'], - nationality: json['nationality'], - surname: json['surname'], - givenName: json['givenName'], - passportNumber: json['passportNumber'], - issuingCountry: json['issuingCountry'], - birthDate: json['birthDate'], - gender: json['gender'], - expiration: json['expiration'], - lines: json['lines'], - ); - } -} diff --git a/lib/shims/dart_js_util.dart b/lib/shims/dart_js_util.dart deleted file mode 100644 index 7d766e8..0000000 --- a/lib/shims/dart_js_util.dart +++ /dev/null @@ -1,15 +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:js_util' as js_util; - -/// A utility that shims dart:js_util to manipulate JavaScript interop objects. -class JsUtil { - /// Returns true if the object [o] has the property [name]. - bool hasProperty(Object o, Object name) => js_util.hasProperty(o, name); - - /// Returns the value of the property [name] in the object [o]. - dynamic getProperty(Object o, Object name) => - js_util.getProperty(o, name); -} diff --git a/lib/shims/dart_ui.dart b/lib/shims/dart_ui.dart deleted file mode 100644 index 3a32721..0000000 --- a/lib/shims/dart_ui.dart +++ /dev/null @@ -1,10 +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. - -/// This file shims dart:ui in web-only scenarios, getting rid of the need to -/// suppress analyzer warnings. - -// TODO(ditman): Remove this file once web-only dart:ui APIs are exposed from -// a dedicated place. https://github.com/flutter/flutter/issues/55000 -export 'dart_ui_fake.dart' if (dart.library.html) 'dart_ui_real.dart'; diff --git a/lib/shims/dart_ui_fake.dart b/lib/shims/dart_ui_fake.dart deleted file mode 100644 index 8757ca2..0000000 --- a/lib/shims/dart_ui_fake.dart +++ /dev/null @@ -1,33 +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:html' as html; - -// Fake interface for the logic that this package needs from (web-only) dart:ui. -// This is conditionally exported so the analyzer sees these methods as available. - -// ignore_for_file: avoid_classes_with_only_static_members -// ignore_for_file: camel_case_types - -/// Shim for web_ui engine.PlatformViewRegistry -/// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/ui.dart#L62 -class platformViewRegistry { - /// Shim for registerViewFactory - /// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/ui.dart#L72 - static bool registerViewFactory( - String viewTypeId, html.Element Function(int viewId) viewFactory) { - return false; - } -} - -/// Shim for web_ui engine.AssetManager. -/// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/src/engine/assets.dart#L12 -class webOnlyAssetManager { - /// Shim for getAssetUrl. - /// https://github.com/flutter/engine/blob/master/lib/web_ui/lib/src/engine/assets.dart#L45 - static String getAssetUrl(String asset) => ''; -} - -/// Signature of callbacks that have no arguments and return no data. -typedef VoidCallback = void Function(); diff --git a/lib/shims/dart_ui_real.dart b/lib/shims/dart_ui_real.dart deleted file mode 100644 index 276b768..0000000 --- a/lib/shims/dart_ui_real.dart +++ /dev/null @@ -1,5 +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. - -export 'dart:ui'; diff --git a/lib/utils.dart b/lib/utils.dart deleted file mode 100644 index 6b7e860..0000000 --- a/lib/utils.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'dart:async'; -import 'dart:js_util'; -import 'package:js/js.dart'; - -typedef Func1 = R Function(A a); - -@JS('JSON.stringify') -external String stringify(Object obj); - -@JS('JSON.parse') -external dynamic parse(String str); - -@JS('typeof') -external String typeOf(Object obj); - -@JS('console.log') -external void log(Object obj); - -@JS('alert') -external void alert(Object obj); - -@JS('Promise') -class PromiseJsImpl extends ThenableJsImpl { - external PromiseJsImpl(Function resolver); - external static PromiseJsImpl all(List values); - external static PromiseJsImpl reject(error); - external static PromiseJsImpl resolve(value); -} - -@anonymous -@JS() -abstract class ThenableJsImpl { - external ThenableJsImpl then([Func1 onResolve, Func1 onReject]); -} - -Future handleThenable(ThenableJsImpl thenable) => - promiseToFuture(thenable); diff --git a/lib/web_dlr_manager.dart b/lib/web_dlr_manager.dart deleted file mode 100644 index ec4d3ce..0000000 --- a/lib/web_dlr_manager.dart +++ /dev/null @@ -1,109 +0,0 @@ -@JS('Dynamsoft') -library dynamsoft; - -import 'dart:convert'; -import 'dart:typed_data'; - -import 'package:js/js.dart'; - -import 'mrz_line.dart'; -import 'utils.dart'; - -/// DocumentNormalizer class. -@JS('DLR.LabelRecognizer') -class LabelRecognizer { - external static set license(String license); - external static set engineResourcePath(String resourcePath); - external static PromiseJsImpl createInstance(); - external PromiseJsImpl updateRuntimeSettingsFromString(String settings); - external PromiseJsImpl> recognize(dynamic source); - external PromiseJsImpl> recognizeBuffer( - Uint8List buffer, int width, int height, int stride, int format); -} - -/// DLRManager class. -class DLRManager { - LabelRecognizer? _recognizer; - - /// Configure Dynamsoft Label Recognizer. - /// Returns 0 if successful. - Future init(String key) async { - int ret = 0; - - try { - LabelRecognizer.license = key; - } catch (e) { - print(e); - ret = -1; - } - - _recognizer = await handleThenable(LabelRecognizer.createInstance()); - - return ret; - } - - /// MRZ detection. - /// [file] - path to the file. - /// Returns a [List] of [List]. - Future>?> recognizeByFile(String file) async { - if (_recognizer != null) { - List results = - await handleThenable(_recognizer!.recognize(file)); - return _resultWrapper(results); - } - - return []; - } - - /// MRZ detection. - /// [bytes] - image buffer. - /// Returns a [List] of [List]. - Future>?> recognizeByBuffer( - Uint8List bytes, int width, int height, int stride, int format) async { - if (_recognizer != null) { - List results = await handleThenable( - _recognizer!.recognizeBuffer(bytes, width, height, stride, format)); - return _resultWrapper(results); - } - - return []; - } - - Future loadModel() async { - if (_recognizer != null) { - await handleThenable(_recognizer!.updateRuntimeSettingsFromString("MRZ")); - } - return 0; - } - - /// Convert List to List>. - List> _resultWrapper(List results) { - List> output = []; - - for (dynamic result in results) { - Map value = json.decode(stringify(result)); - - List area = value['lineResults']; - List lines = []; - if (area.length == 2 || area.length == 3) { - for (int i = 0; i < area.length; i++) { - MrzLine line = MrzLine(); - line.text = area[i]['text']; - line.confidence = area[i]['confidence']; - line.x1 = area[i]['location']['points'][0]['x']; - line.y1 = area[i]['location']['points'][0]['y']; - line.x2 = area[i]['location']['points'][1]['x']; - line.y2 = area[i]['location']['points'][1]['y']; - line.x3 = area[i]['location']['points'][2]['x']; - line.y3 = area[i]['location']['points'][2]['y']; - line.x4 = area[i]['location']['points'][3]['x']; - line.y4 = area[i]['location']['points'][3]['y']; - lines.add(line); - } - } - output.add(lines); - } - - return output; - } -} diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt deleted file mode 100644 index f62ee97..0000000 --- a/linux/CMakeLists.txt +++ /dev/null @@ -1,49 +0,0 @@ -# The Flutter tooling requires that developers have CMake 3.10 or later -# installed. You should not increase this version, as doing so will cause -# the plugin to fail to compile for some customers of the plugin. -cmake_minimum_required(VERSION 3.10) - -# Project-level configuration. -set(PROJECT_NAME "flutter_ocr_sdk") -project(${PROJECT_NAME} LANGUAGES CXX) - -# This value is used when generating builds using this plugin, so it must -# not be changed. -set(PLUGIN_NAME "flutter_ocr_sdk_plugin") - -link_directories("${PROJECT_SOURCE_DIR}/lib/") - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -# -# Any new source files that you add to the plugin should be added here. -add_library(${PLUGIN_NAME} SHARED - "flutter_ocr_sdk_plugin.cc" -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PRIVATE flutter "DynamsoftLabelRecognizer") -target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK) - -# List of absolute paths to libraries that should be bundled with the plugin. -# This list could contain prebuilt libraries, or libraries created by an -# external build triggered from this build file. -set(flutter_ocr_sdk_bundled_libraries - "" - PARENT_SCOPE -) diff --git a/linux/flutter_ocr_sdk_plugin.cc b/linux/flutter_ocr_sdk_plugin.cc deleted file mode 100644 index d16713a..0000000 --- a/linux/flutter_ocr_sdk_plugin.cc +++ /dev/null @@ -1,178 +0,0 @@ -#include "include/flutter_ocr_sdk/flutter_ocr_sdk_plugin.h" - -#include -#include -#include - -#include - -#include "include/dlr_manager.h" - -#define FLUTTER_OCR_SDK_PLUGIN(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), flutter_ocr_sdk_plugin_get_type(), \ - FlutterOcrSdkPlugin)) - -struct _FlutterOcrSdkPlugin { - GObject parent_instance; - DlrManager *manager; -}; - -G_DEFINE_TYPE(FlutterOcrSdkPlugin, flutter_ocr_sdk_plugin, g_object_get_type()) - -// Called when a method call is received from Flutter. -static void flutter_ocr_sdk_plugin_handle_method_call( - FlutterOcrSdkPlugin* self, - FlMethodCall* method_call) { - g_autoptr(FlMethodResponse) response = nullptr; - - const gchar* method = fl_method_call_get_name(method_call); - FlValue* args = fl_method_call_get_args(method_call); - - if (strcmp(method, "getPlatformVersion") == 0) { - struct utsname uname_data = {}; - uname(&uname_data); - g_autofree gchar *version = g_strdup_printf("Linux %s", uname_data.version); - g_autoptr(FlValue) result = fl_value_new_string(version); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "init") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) - { - return; - } - - FlValue *value = fl_value_lookup_string(args, "key"); - if (value == nullptr) - { - return; - } - const char *license = fl_value_get_string(value); - - int ret = self->manager->Init(license); - g_autoptr(FlValue) result = fl_value_new_int(ret); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "loadModel") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) - { - return; - } - - FlValue *value = fl_value_lookup_string(args, "path"); - if (value == nullptr) - { - return; - } - const char *path = fl_value_get_string(value); - - value = fl_value_lookup_string(args, "template"); - if (value == nullptr) - { - return; - } - const char * params = fl_value_get_string(value); - - int ret = self->manager->LoadModel(path, params); - g_autoptr(FlValue) result = fl_value_new_int(ret); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "recognizeByFile") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) - { - return; - } - - FlValue *value = fl_value_lookup_string(args, "filename"); - if (value == nullptr) - { - return; - } - const char *filename = fl_value_get_string(value); - - g_autoptr(FlValue) result = self->manager->RecognizeFile(filename); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else if (strcmp(method, "recognizeByBuffer") == 0) - { - if (fl_value_get_type(args) != FL_VALUE_TYPE_MAP) { - return; - } - - FlValue* value = fl_value_lookup_string(args, "bytes"); - if (value == nullptr) { - return; - } - unsigned char* bytes = (unsigned char*)fl_value_get_uint8_list(value); - - value = fl_value_lookup_string(args, "width"); - if (value == nullptr) { - return; - } - int width = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "height"); - if (value == nullptr) { - return; - } - int height = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "stride"); - if (value == nullptr) { - return; - } - int stride = fl_value_get_int(value); - - value = fl_value_lookup_string(args, "format"); - if (value == nullptr) { - return; - } - int format = fl_value_get_int(value); - - g_autoptr(FlValue) result = self->manager->RecognizeBuffer(bytes, width, height, stride, format, stride * height); - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); - } - else { - response = FL_METHOD_RESPONSE(fl_method_not_implemented_response_new()); - } - - fl_method_call_respond(method_call, response, nullptr); -} - -static void flutter_ocr_sdk_plugin_dispose(GObject* object) { - FlutterOcrSdkPlugin *self = FLUTTER_OCR_SDK_PLUGIN(object); - delete self->manager; - G_OBJECT_CLASS(flutter_ocr_sdk_plugin_parent_class)->dispose(object); -} - -static void flutter_ocr_sdk_plugin_class_init(FlutterOcrSdkPluginClass* klass) { - G_OBJECT_CLASS(klass)->dispose = flutter_ocr_sdk_plugin_dispose; -} - -static void flutter_ocr_sdk_plugin_init(FlutterOcrSdkPlugin* self) { - self->manager = new DlrManager(); -} - -static void method_call_cb(FlMethodChannel* channel, FlMethodCall* method_call, - gpointer user_data) { - FlutterOcrSdkPlugin* plugin = FLUTTER_OCR_SDK_PLUGIN(user_data); - flutter_ocr_sdk_plugin_handle_method_call(plugin, method_call); -} - -void flutter_ocr_sdk_plugin_register_with_registrar(FlPluginRegistrar* registrar) { - FlutterOcrSdkPlugin* plugin = FLUTTER_OCR_SDK_PLUGIN( - g_object_new(flutter_ocr_sdk_plugin_get_type(), nullptr)); - - g_autoptr(FlStandardMethodCodec) codec = fl_standard_method_codec_new(); - g_autoptr(FlMethodChannel) channel = - fl_method_channel_new(fl_plugin_registrar_get_messenger(registrar), - "flutter_ocr_sdk", - FL_METHOD_CODEC(codec)); - fl_method_channel_set_method_call_handler(channel, method_call_cb, - g_object_ref(plugin), - g_object_unref); - - g_object_unref(plugin); -} diff --git a/linux/include/DynamsoftCore.h b/linux/include/DynamsoftCore.h deleted file mode 100644 index fd21693..0000000 --- a/linux/include/DynamsoftCore.h +++ /dev/null @@ -1,833 +0,0 @@ -#ifndef __DYNAMSOFT_CORE_H__ -#define __DYNAMSOFT_CORE_H__ - -#define DYNAMSOFT_CORE_VERSION "1.0.0.0826" - - - -/**Successful. */ -#define DM_OK 0 - -/**Unknown error. */ -#define DMERR_UNKNOWN -10000 - -/**Not enough memory to perform the operation. */ -#define DMERR_NO_MEMORY -10001 - -/**Null pointer */ -#define DMERR_NULL_POINTER -10002 - -/**License invalid*/ -#define DMERR_LICENSE_INVALID -10003 - -/**License expired*/ -#define DMERR_LICENSE_EXPIRED -10004 - -/**File not found*/ -#define DMERR_FILE_NOT_FOUND -10005 - -/**The file type is not supported. */ -#define DMERR_FILETYPE_NOT_SUPPORTED -10006 - -/**The BPP (Bits Per Pixel) is not supported. */ -#define DMERR_BPP_NOT_SUPPORTED -10007 - -/**Failed to read the image. */ -#define DMERR_IMAGE_READ_FAILED -10012 - -/**Failed to read the TIFF image. */ -#define DMERR_TIFF_READ_FAILED -10013 - -/**The DIB (Device-Independent Bitmaps) buffer is invalid. */ -#define DMERR_DIB_BUFFER_INVALID -10018 - -/**Failed to read the PDF image. */ -#define DMERR_PDF_READ_FAILED -10021 - -/**The PDF DLL is missing. */ -#define DMERR_PDF_DLL_MISSING -10022 - -/**Recognition timeout. */ -#define DMERR_RECOGNITION_TIMEOUT -10026 - -/**Json parse failed*/ -#define DMERR_JSON_PARSE_FAILED -10030 - -/**Json type invalid*/ -#define DMERR_JSON_TYPE_INVALID -10031 - -/**Json key invalid*/ -#define DMERR_JSON_KEY_INVALID -10032 - -/**Json value invalid*/ -#define DMERR_JSON_VALUE_INVALID -10033 - -/**Json name key missing*/ -#define DMERR_JSON_NAME_KEY_MISSING -10034 - -/**The value of the key "Name" is duplicated.*/ -#define DMERR_JSON_NAME_VALUE_DUPLICATED -10035 - -/**Template name invalid*/ -#define DMERR_TEMPLATE_NAME_INVALID -10036 - -/**Parameter value invalid*/ -#define DMERR_PARAMETER_VALUE_INVALID -10038 - -/**Failed to set mode's argument.*/ -#define DMERR_SET_MODE_ARGUMENT_ERROR -10051 - -/**Failed to get mode's argument.*/ -#define DMERR_GET_MODE_ARGUMENT_ERROR -10055 - - -#ifndef _COMMON_PART1_ -#define _COMMON_PART1_ - -/**No license.*/ -#define DMERR_NO_LICENSE -20000 - -/**The Handshake Code is invalid.*/ -#define DMERR_HANDSHAKE_CODE_INVALID -20001 - -/**Failed to read or write license buffer. */ -#define DMERR_LICENSE_BUFFER_FAILED -20002 - -/**Failed to synchronize license info with license server. */ -#define DMERR_LICENSE_SYNC_FAILED -20003 - -/**Device dose not match with buffer. */ -#define DMERR_DEVICE_NOT_MATCH -20004 - -/**Failed to bind device. */ -#define DMERR_BIND_DEVICE_FAILED -20005 - -/**Interface InitLicenseFromDLS can not be used together with other license initiation interfaces. */ -#define DMERR_LICENSE_INTERFACE_CONFLICT -20006 - -/**License Client dll is missing.*/ -#define DMERR_LICENSE_CLIENT_DLL_MISSING -20007 - -/**Instance count is over limit.*/ -#define DMERR_INSTANCE_COUNT_OVER_LIMIT -20008 - -/**Interface InitLicenseFromDLS has to be called before creating any SDK objects.*/ -#define DMERR_LICENSE_INIT_SEQUENCE_FAILED -20009 - -/**Trial License*/ -#define DMERR_TRIAL_LICENSE -20010 - -/**Failed to reach License Server.*/ -#define DMERR_FAILED_TO_REACH_LTS -20200 - -/**Failed to reach License Server.*/ -#define DMERR_FAILED_TO_REACH_DLS -20200 - - -/** -* @enum DM_DeploymentType -* -* Describes the deployment type. -*/ -typedef enum DM_DeploymentType -{ - /**Server deployment type*/ - DM_DT_SERVER = 1, - - /**Desktop*/ - DM_DT_DESKTOP = 2, - - /**Embedded device deployment type*/ - DM_DT_EMBEDDED_DEVICE = 6, - - /**OEM deployment type*/ - DM_DT_OEM = 7, - - /**Mobile deployment type*/ - DM_DT_MOBILE = 9 -}DM_DeploymentType; - -/** -* @enum DM_LicenseModule -* -* Describes the license module. -*/ -typedef enum DM_LicenseModule -{ - /**One-D barcodes license module*/ - DM_LM_ONED = 1, - - /**QR Code barcodes license module*/ - DM_LM_QR_CODE = 2, - - /**PDF417 barcodes license module*/ - DM_LM_PDF417 = 3, - - /**Datamatrix barcodes license module*/ - DM_LM_DATAMATRIX = 4, - - /**Aztec barcodes license module*/ - DM_LM_AZTEC = 5, - - /**MAXICODE barcodes license module*/ - DM_LM_MAXICODE = 6, - - /**Patch code barcodes license module*/ - DM_LM_PATCHCODE = 7, - - /**GS1 Databar barcodes license module*/ - DM_LM_GS1_DATABAR = 8, - - /**GS1 Composite barcodes license module*/ - DM_LM_GS1_COMPOSITE = 9, - - /**Postal code barcodes license module*/ - DM_LM_POSTALCODE = 10, - - /**DotCode barcodes license module*/ - DM_LM_DOTCODE = 11, - - /**Intermediate result license module*/ - DM_LM_INTERMEDIATE_RESULT = 12, - - /**Datamatrix DPM(Direct Part Marking) license module*/ - DM_LM_DPM = 13, - - /**Nonstandard barcodes license module*/ - DM_LM_NONSTANDARD_BARCODE = 16 -}DM_LicenseModule; - -/** -* @enum DM_UUIDGenerationMethod -* -* Describes the UUID generation method. -*/ -typedef enum DM_UUIDGenerationMethod -{ - /**Generates UUID with randon values.*/ - DM_UUIDGM_RANDOM = 1, - - /**Generates UUID based on hardware info.*/ - DM_UUIDGM_HARDWARE = 2 -}DM_UUIDGenerationMethod; - -/** -* @enum DM_ChargeWay -* -* Describes the charge way. -*/ -typedef enum DM_ChargeWay -{ - /**The charge way automatically determined by the license server.*/ - DM_CW_AUTO = 0, - - /**Charges by the count of devices.*/ - DM_CW_DEVICE_COUNT = 1, - - /**Charges by the count of barcode scans.*/ - DM_CW_SCAN_COUNT = 2, - - /**Charges by the count of concurrent devices.*/ - DM_CW_CONCURRENT_DEVICE_COUNT = 3, - - /**Charges by the count of app domains.*/ - DM_CW_APP_DOMIAN_COUNT = 6, - - /**Charges by the count of active devices.*/ - DM_CW_ACTIVE_DEVICE_COUNT = 8, - - /**Charges by the count of instances.*/ - DM_CW_INSTANCE_COUNT = 9, - - /**Charges by the count of concurrent instances.*/ - DM_CW_CONCURRENT_INSTANCE_COUNT = 10 -}DM_ChargeWay; - -/** -* @enum Product -* -* Describes the Product. -*/ -typedef enum Product -{ - /** Dynamsoft Barcode Reader */ - PROD_DBR = 0x01, - - /** Dynamsoft Label Recognition */ - PROD_DLR = 0x02, - - /** Dynamic Web Twain */ - PROD_DWT = 0x04, - - /** Dynamsoft Camera Enhancer */ - PROD_DCE = 0x08, - - /** Dynamsoft Panorama */ - PROD_DPS = 0x10, - - /** All Products */ - PROD_ALL = 0xffff -}Product; - -#endif - -#ifndef _COMMON_PART2_ -#define _COMMON_PART2_ -/** -* @enum ImagePixelFormat -* -* Describes the image pixel format. -* -*/ -typedef enum ImagePixelFormat -{ - /**0:Black, 1:White */ - IPF_BINARY, - - /**0:White, 1:Black */ - IPF_BINARYINVERTED, - - /**8bit gray */ - IPF_GRAYSCALED, - - /**NV21 */ - IPF_NV21, - - /**16bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_565, - - /**16bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_555, - - /**24bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_888, - - /**32bit with ARGB channel order stored in memory from high to low address*/ - IPF_ARGB_8888, - - /**48bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_161616, - - /**64bit with ARGB channel order stored in memory from high to low address*/ - IPF_ARGB_16161616, - - /**32bit with ABGR channel order stored in memory from high to low address*/ - IPF_ABGR_8888, - - /**64bit with ABGR channel order stored in memory from high to low address*/ - IPF_ABGR_16161616, - - /**24bit with BGR channel order stored in memory from high to low address*/ - IPF_BGR_888 - -}ImagePixelFormat; - -/** -* @enum GrayscaleTransformationMode -* -* Describes the grayscale transformation mode. -*/ -typedef enum GrayscaleTransformationMode -{ - /**Transforms to inverted grayscale. Recommended for light on dark images. */ - GTM_INVERTED = 0x01, - - /**Keeps the original grayscale. Recommended for dark on light images. */ - GTM_ORIGINAL = 0x02, - - /**Lets the library choose an algorithm automatically for grayscale transformation.*/ - GTM_AUTO = 0x04, - - /**Reserved setting for grayscale transformation mode.*/ -#if defined(_WIN32) || defined(_WIN64) - GTM_REV = 0x80000000, -#else - GTM_REV = -2147483648, -#endif - - /**Skips grayscale transformation. */ - GTM_SKIP = 0x00 - -}GrayscaleTransformationMode; - -/** -* @enum RegionPredetectionMode -* -* Describes the region predetection mode. -* -*/ -typedef enum RegionPredetectionMode -{ - /**Auto*/ - RPM_AUTO = 0x01, - - /**Takes the whole image as a region*/ - RPM_GENERAL = 0x02, - - /**Detects region using the general algorithm based on RGB colour contrast*/ - RPM_GENERAL_RGB_CONTRAST = 0x04, - - /**Detects region using the general algorithm based on gray contrast*/ - RPM_GENERAL_GRAY_CONTRAST = 0x08, - - /**Detects region using the general algorithm based on HSV colour contrast*/ - RPM_GENERAL_HSV_CONTRAST = 0x10, - - /**Reserved setting for region predection mode.*/ -#if defined(_WIN32) || defined(_WIN64) - RPM_REV = 0x80000000, -#else - RPM_REV = -2147483648, -#endif - - /**Skip*/ - RPM_SKIP = 0 -}RegionPredetectionMode; - -/** -* @enum BinarizationMode -* -* Describes the binarization mode. -* -*/ -typedef enum BinarizationMode -{ - /**Not supported yet. */ - BM_AUTO = 0x01, - - /**Binarizes the image based on the local block. Check @ref BM for available argument settings.*/ - BM_LOCAL_BLOCK = 0x02, - - /**Performs image binarization based on the given threshold. Check @ref BM for available argument settings.*/ - BM_THRESHOLD = 0x04, - - /**Reserved setting for binarization mode.*/ -#if defined(_WIN32) || defined(_WIN64) - BM_REV = 0x80000000, -#else - BM_REV = -2147483648, -#endif - - /**Skips the binarization. */ - BM_SKIP = 0x00 -}BinarizationMode; - - -/** -* @enum ScaleUpMode -* -* Describes scale up mode. -* -*/ -typedef enum ScaleUpMode -{ - /**Skip the scale-up process.*/ - SUM_SKIP = 0x00, - - /**The library chooses an interpolation method automatically to scale up.*/ - SUM_AUTO = 0x01, - - /**Scales up using the linear interpolation method.*/ - SUM_LINEAR_INTERPOLATION = 0x02, - - /**Scales up using the nearest-neighbour interpolation method.*/ - SUM_NEAREST_NEIGHBOUR_INTERPOLATION = 0x04, - - /**Reserved setting for scale up mode.*/ -#if defined(_WIN32) || defined(_WIN64) - SUM_REV = 0x80000000 -#else - SUM_REV = -2147483648 -#endif -}ScaleUpMode; - -/** -* @enum ColourConversionMode -* -* Describes colour conversion mode. -* -*/ -typedef enum ColourConversionMode -{ - /**Skips the colour conversion.*/ - CICM_SKIP = 0x00, - - /**Converts a colour image to a grayscale image using the general RGB converting algorithm.*/ - CICM_GENERAL = 0x01, - - /**Converts a colour image to a grayscale image using one of the HSV channels.*/ - CICM_HSV = 0x02, - -#if defined(_WIN32) || defined(_WIN64) - CICM_REV = 0x80000000 -#else - CICM_REV = -2147483648 -#endif - -}ColourConversionMode; - -/** -* @enum TextureDetectionMode -* -* Describes the texture detection mode. -*/ -typedef enum TextureDetectionMode -{ - /**Not supported yet. */ - TDM_AUTO = 0x01, - - /**Detects texture using the general algorithm. Check @ref TDM for available argument settings.*/ - TDM_GENERAL_WIDTH_CONCENTRATION = 0x02, - - /**Reserved setting for texture detection mode.*/ -#if defined(_WIN32) || defined(_WIN64) - TDM_REV = 0x80000000, -#else - TDM_REV = -2147483648, -#endif - - /**Skips texture detection. */ - TDM_SKIP = 0x00 - -}TextureDetectionMode; - -/** -* @enum PDFReadingMode -* -* Describes the PDF reading mode. -*/ -typedef enum PDFReadingMode -{ - /** Lets the library choose the reading mode automatically. */ - PDFRM_AUTO = 0x01, - - /** Detects barcode from vector data in PDF file.*/ - PDFRM_VECTOR = 0x02, - - /** Converts the PDF file to image(s) first, then perform barcode recognition.*/ - PDFRM_RASTER = 0x04, - - /**Reserved setting for PDF reading mode.*/ -#if defined(_WIN32) || defined(_WIN64) - PDFRM_REV = 0x80000000, -#else - PDFRM_REV = -2147483648, -#endif -}PDFReadingMode; - -/** -* @enum BarcodeFormat -* -* Describes the barcode types in BarcodeFormat group 1. All the formats can be combined, such as BF_CODE_39 | BF_CODE_128. -* Note: The barcode format our library will search for is composed of [BarcodeFormat group 1](@ref BarcodeFormat) and [BarcodeFormat group 2](@ref BarcodeFormat_2), so you need to specify the barcode format in group 1 and group 2 individually. -*/ -typedef enum BarcodeFormat -{ - /**All supported formats in BarcodeFormat group 1*/ -#if defined(_WIN32) || defined(_WIN64) - BF_ALL = 0xFE1FFFFF, -#else - BF_ALL = -31457281, -#endif - - /**Combined value of BF_CODABAR, BF_CODE_128, BF_CODE_39, BF_CODE_39_Extended, BF_CODE_93, BF_EAN_13, BF_EAN_8, INDUSTRIAL_25, BF_ITF, BF_UPC_A, BF_UPC_E, BF_MSI_CODE; */ - BF_ONED = 0x001007FF, - - /**Combined value of BF_GS1_DATABAR_OMNIDIRECTIONAL, BF_GS1_DATABAR_TRUNCATED, BF_GS1_DATABAR_STACKED, BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL, BF_GS1_DATABAR_EXPANDED, BF_GS1_DATABAR_EXPANDED_STACKED, BF_GS1_DATABAR_LIMITED*/ - BF_GS1_DATABAR = 0x0003F800, - - /**Code 39 */ - BF_CODE_39 = 0x1, - - /**Code 128 */ - BF_CODE_128 = 0x2, - - /**Code 93 */ - BF_CODE_93 = 0x4, - - /**Codabar */ - BF_CODABAR = 0x8, - - /**Interleaved 2 of 5 */ - BF_ITF = 0x10, - - /**EAN-13 */ - BF_EAN_13 = 0x20, - - /**EAN-8 */ - BF_EAN_8 = 0x40, - - /**UPC-A */ - BF_UPC_A = 0x80, - - /**UPC-E */ - BF_UPC_E = 0x100, - - /**Industrial 2 of 5 */ - BF_INDUSTRIAL_25 = 0x200, - - /**CODE39 Extended */ - BF_CODE_39_EXTENDED = 0x400, - - /**GS1 Databar Omnidirectional*/ - BF_GS1_DATABAR_OMNIDIRECTIONAL = 0x800, - - /**GS1 Databar Truncated*/ - BF_GS1_DATABAR_TRUNCATED = 0x1000, - - /**GS1 Databar Stacked*/ - BF_GS1_DATABAR_STACKED = 0x2000, - - /**GS1 Databar Stacked Omnidirectional*/ - BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL = 0x4000, - - /**GS1 Databar Expanded*/ - BF_GS1_DATABAR_EXPANDED = 0x8000, - - /**GS1 Databar Expaned Stacked*/ - BF_GS1_DATABAR_EXPANDED_STACKED = 0x10000, - - /**GS1 Databar Limited*/ - BF_GS1_DATABAR_LIMITED = 0x20000, - - /**Patch code. */ - BF_PATCHCODE = 0x00040000, - - /**PDF417 */ - BF_PDF417 = 0x02000000, - - /**QRCode */ - BF_QR_CODE = 0x04000000, - - /**DataMatrix */ - BF_DATAMATRIX = 0x08000000, - - /**AZTEC */ - BF_AZTEC = 0x10000000, - - /**MAXICODE */ - BF_MAXICODE = 0x20000000, - - /**Micro QR Code*/ - BF_MICRO_QR = 0x40000000, - - /**Micro PDF417*/ - BF_MICRO_PDF417 = 0x00080000, - - /**GS1 Composite Code*/ -#if defined(_WIN32) || defined(_WIN64) - BF_GS1_COMPOSITE = 0x80000000, -#else - BF_GS1_COMPOSITE = -2147483648, -#endif - - /**MSI Code*/ - BF_MSI_CODE = 0x100000, - - /**No barcode format in BarcodeFormat group 1*/ - BF_NULL = 0x00 - -}BarcodeFormat; - -/** -* @enum BarcodeFormat_2 -* -* Describes the barcode types in BarcodeFormat group 2. -* Note: The barcode format our library will search for is composed of [BarcodeFormat group 1](@ref BarcodeFormat) and [BarcodeFormat group 2](@ref BarcodeFormat_2), so you need to specify the barcode format in group 1 and group 2 individually. -*/ -typedef enum BarcodeFormat_2 -{ - /**No barcode format in BarcodeFormat group 2*/ - BF2_NULL = 0x00, - - /**Combined value of BF2_USPSINTELLIGENTMAIL, BF2_POSTNET, BF2_PLANET, BF2_AUSTRALIANPOST, BF2_RM4SCC. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_POSTALCODE = 0x01F00000, - - /**Nonstandard barcode */ - BF2_NONSTANDARD_BARCODE = 0x01, - - /**USPS Intelligent Mail. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_USPSINTELLIGENTMAIL = 0x00100000, - - /**Postnet. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_POSTNET = 0x00200000, - - /**Planet. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_PLANET = 0x00400000, - - /**Australian Post. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_AUSTRALIANPOST = 0x00800000, - - /**Royal Mail 4-State Customer Barcode. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_RM4SCC = 0x01000000, - - /**DotCode. When you set this barcode format, the library will automatically add LM_STATISTICS_MARKS to LocalizationModes if you doesn't set it.*/ - BF2_DOTCODE = 0x02 -}BarcodeFormat_2; - -#pragma pack(push) -#pragma pack(1) - -typedef struct tagDMPoint -{ - /**The X coordinate of the point.*/ - int x; - - /**The Y coordinate of the point.*/ - int y; -}DM_Point; - -typedef struct tagQuadrilateral -{ - /**The four points of the quadrilateral.*/ - DM_Point points[4]; - -}Quadrilateral; - -/** -* @struct ImageData -* -* Stores the image data. -* -*/ -typedef struct tagImageData -{ - /**The length of the image data byte.*/ - int bytesLength; - - /**The image data content in a byte array.*/ - unsigned char* bytes; - - /**The width of the image in pixels.*/ - int width; - - /**The height of the image in pixels.*/ - int height; - - /**The stride(or scan width) of the image.*/ - int stride; - - /**The image pixel format used in the image byte array.*/ - ImagePixelFormat format; -}ImageData; - - -/** -* Stores Dynamsoft License Server connection parameters. -* -*/ -typedef struct tagDM_DLSConnectionParameters -{ - /**The URL of the license server.*/ - char* mainServerURL; - - /**The URL of the standby license server.*/ - char* standbyServerURL; - - /**The handshake code.*/ - char* handshakeCode; - - /**The session password of the handshake code set in license server.*/ - char* sessionPassword; - - /**Sets the deployment type.*/ - DM_DeploymentType deploymentType; - - /**Sets the charge way.*/ - DM_ChargeWay chargeWay; - - /**Sets the method to generate UUID.*/ - DM_UUIDGenerationMethod UUIDGenerationMethod; - - /**Sets the max days to buffer the license info.*/ - int maxBufferDays; - - /**Sets the count of license modules to use.*/ - int limitedLicenseModulesCount; - - /**Sets the license modules to use.*/ - DM_LicenseModule* limitedLicenseModules; - - /**Sets the max concurrent instance count.*/ - int maxConcurrentInstanceCount; - - /**Sets the organization ID.*/ - char* organizationID; - - /* Sets the products. A combined value of Product Enumeration items. */ - int products; - - /**Reserved memory for struct. The length of this array indicates the size of the memory reserved for this struct.*/ - char reserved[52]; -}DM_DLSConnectionParameters; - -#pragma pack(pop) - -#endif - -/** -* @enum ImagePreprocessingMode -* -* Describes the image preprocessing mode. -* -*/ -typedef enum GrayscaleEnhancementMode -{ - /**Not supported yet. */ - GEM_AUTO = 0x01, - - /**Takes the unpreprocessed image for following operations. */ - GEM_GENERAL = 0x02, - - /**Preprocesses the image using the gray equalization algorithm. Check @ref IPM for available argument settings.*/ - GEM_GRAY_EQUALIZE = 0x04, - - /**Preprocesses the image using the gray smoothing algorithm. Check @ref IPM for available argument settings.*/ - GEM_GRAY_SMOOTH = 0x08, - - /**Preprocesses the image using the sharpening and smoothing algorithm. Check @ref IPM for available argument settings.*/ - GEM_SHARPEN_SMOOTH = 0x10, - - /**Reserved setting for image preprocessing mode.*/ -#if defined(_WIN32) || defined(_WIN64) - GEM_REV = 0x80000000, -#else - GEM_REV = -2147483648, -#endif - - /**Skips image preprocessing. */ - GEM_SKIP = 0x00 -}GrayscaleEnhancementMode; - - -#pragma pack(push) -#pragma pack(1) - -typedef struct tagBarcodeResult -{ - BarcodeFormat barcodeFormat; - BarcodeFormat_2 barcodeFormat_2; - const char* text; - unsigned char* bytes; - int bytesLength; - Quadrilateral location; - int moduleSize; - int pageNumber; - char reserved[64]; -}BarcodeResult; - -typedef struct tagBarcodeResultArray -{ - int resultsCount; - BarcodeResult** results; -}BarcodeResultArray; - -#pragma pack(pop) - -#endif \ No newline at end of file diff --git a/linux/include/DynamsoftLabelRecognizer.h b/linux/include/DynamsoftLabelRecognizer.h deleted file mode 100644 index 0c40e0f..0000000 --- a/linux/include/DynamsoftLabelRecognizer.h +++ /dev/null @@ -1,947 +0,0 @@ -#pragma once - -#if !defined(_WIN32) && !defined(_WIN64) -#define DLR_API __attribute__((visibility("default"))) -#include -#else -#ifdef DLR_EXPORTS -#define DLR_API __declspec(dllexport) -#else -#define DLR_API -#endif -#include -#endif - -#include "DynamsoftCore.h" - - -#define DLR_VERSION "2.2.10.0616" - -/**Recognition timeout*/ -#define DLRERR_RECOGNITION_TIMEOUT -10026 - -/**Character Model file is not found*/ -#define DLRERR_CHARACTER_MODEL_FILE_NOT_FOUND -10100 - - -/** -* @enum LocalizationSourceType -* -* Describes localization source type. -* -*/ -typedef enum LocalizationSourceType -{ - /**Define the reference region using the manually specified location.*/ - LST_MANUAL_SPECIFICATION = 0x01, - - /**Define the reference region using the result(s) of region predetection process.*/ - LST_PREDETECTED_REGION = 0x02, - - /**Define the reference region using the barcode info.*/ - LST_BARCODE = 0x04 -}LocalizationSourceType; - - - -#pragma pack(push) -#pragma pack(1) - - -/** -* @struct DLR_DictionaryCorrectionThreshold -* -* Stores the dictionary correction threshold. -*/ -typedef struct tagDLRDictionaryCorrectionThreshold -{ - int minWordLength; - int maxWordLength; - int threshold; -}DLR_DictionaryCorrectionThreshold; - -/** -* @struct DLR_Region -* -* Stores the region info. -* -*/ -typedef struct tagDLRReferenceRegion -{ - /**The source type used to localize the reference region(s). - * - * @par Value range: - * A value of the LocalizationSourceType Enumeration items. - * @par Default value: - * LST_MANUAL_SPECIFICATION - * @sa DLRLocalizationSourceType - * - */ - LocalizationSourceType localizationSourceType; - - /**Four vertexes in a clockwise direction of a quadrilateral. Index 0 represents the left-most vertex. - * - * @par Remarks: - * It works only when localizationSourceType is settings to DLR_LST_MANUAL_SPECIFICATION. - * The library will localize reference region(s) based on the quadrilateral set by current setting. - * - */ - Quadrilateral location; - - /**Whether or not to use percentage to measure the coordinate. - * - * @par Value range: - * [0, 1] - * @par Default value: - * 1 - * @par Remarks: - * It works only when localizationSourceType is settings to DLR_LST_MANUAL_SPECIFICATION. - * 0: not by percentage - * 1: by percentage - * When it's set to 1, the values of points indicate percentage (from 0 to 100); Otherwise, they indicate coordinates in pixel. - * - */ - int regionMeasuredByPercentage; - - /**The index of a specific region predetection mode in the regionPredetectionModes parameter. - * - * @par Value range: - * [-1, 0x7fffffff] - * @par Default value: - * -1 - * @par Remarks: - * It works only when localizationSourceType is settings to DLR_LST_PREDETECTED_REGION. - * The library will localize reference region(s) based on the detected regions from the specified region predetection mode. - * - */ - int regionPredetectionModesIndex; - - /**The formats of the barcode in BarcodeFormat group 1. - * - * @par Value range: - * A combined value of BarcodeFormat Enumeration items. - * @par Default value: - * DLR_BF_ALL - * @par Remarks: - * Barcode formats in BarcodeFormat group 1 can be combined. - * It works only when localizationSourceType is settings to LST_BARCODE. - * The library will localize reference region(s) based on the barcodes whose format meets current setting. - * - */ - int barcodeFormatIds; - - /**The formats of the barcode in BarcodeFormat group 2. - * - * @par Value range: - * A combined value of BarcodeFormat_2 Enumeration items. - * @par Default value: - * DLR_BF2_NULL - * @par Remarks: - * Barcode formats in BarcodeFormat group 2 can be combined. - * It works only when localizationSourceType is settings to LST_BARCODE. - * The library will localize reference region(s) based on the barcodes whose format meets current setting. - * - */ - int barcodeFormatIds_2; - - /**The regular express pattern of barcode text. - * - * @par Remarks: - * It works only when localizationSourceType is settings to DLR_LST_BARCODE. - * The library will localize reference region(s) based on the barcodes whose format meets current setting. - * - */ - char barcodeTextRegExPattern[64]; - - /**Resered memory for struct. The length of this array indicates the size of the memory reserved for this struct.*/ - char reserved[64]; -}DLR_ReferenceRegion; - -/** -* Stores the FurtherModes. -* -*/ -typedef struct tagDLRFurtherModes -{ - /**Sets the mode and priority for converting a colour image to a grayscale image. - * - * @par Value range: - * Each array item can be any one of the ColourConversionMode Enumeration items. - * @par Default value: - * [CICM_GENERAL,CICM_SKIP,CICM_SKIP,CICM_SKIP,CICM_SKIP,CICM_SKIP,CICM_SKIP,CICM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * @sa ColourConversionMode - */ - ColourConversionMode colourConversionModes[8]; - - /**Sets the mode and priority for the grayscale image conversion. - * - * @par Value range: - * Each array item can be any one of the DLRGrayscaleTransformationMode Enumeration items. - * @par Default value: - * [GTM_ORIGINAL,GTM_SKIP,GTM_SKIP,GTM_SKIP,GTM_SKIP,GTM_SKIP,GTM_SKIP,GTM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * @sa GrayscaleTransformationMode - */ - GrayscaleTransformationMode grayscaleTransformationModes[8]; - - /**Sets the region pre-detection mode for barcodes search. - * - * @par Value range: - * Each array item can be any one of the RegionPredetectionMode Enumeration items - * @par Default value: - * [RPM_GENERAL,RPM_SKIP,RPM_SKIP,RPM_SKIP,RPM_SKIP,RPM_SKIP,RPM_SKIP,RPM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * If the image is large and the barcode on the image is very small, it is recommended to enable region predetection to speed up the localization process and recognition accuracy. - * @sa RegionPredetectionMode - */ - RegionPredetectionMode regionPredetectionModes[8]; - - /**Sets the mode and priority for image preprocessing algorithms. - * - * @par Value range: - * Each array item can be any one of the GrayscaleEnhancementMode Enumeration items. - * @par Default value: - * [GEM_GENERAL,GEM_SKIP,GEM_SKIP,GEM_SKIP,GEM_SKIP,GEM_SKIP,GEM_SKIP,GEM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * @sa GrayscaleEnhancementMode - */ - GrayscaleEnhancementMode grayscaleEnhancementModes[8]; - - /**Sets the mode and priority for texture detection. - * - * @par Value range: - * Each array item can be any one of the TextureDetectionMode Enumeration items - * @par Default value: - * [TDM_GENERAL_WIDTH_CONCENTRATION,TDM_SKIP,TDM_SKIP,TDM_SKIP,TDM_SKIP,TDM_SKIP,TDM_SKIP,TDM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * @sa TextureDetectionMode - */ - TextureDetectionMode textureDetectionModes[8]; - - /**Reserved memory for struct. The length of this array indicates the size of the memory reserved for this struct. - * - */ - char reserved[128]; -}DLR_FurtherModes; - -/** -* @struct DLR_RuntimeSettings -* -* Defines a struct to configure the runtime settings. These settings control the recognition process. -* -*/ -typedef struct tagDLRRuntimeSettings -{ - /**Sets the number of the threads the algorithm will use to recognize label. - * - * @par Value range: - * [1, 4] - * @par Default value: - * 4 - * @par Remarks: - * To keep a balance between speed and quality, the library concurrently runs four different threads by default. - * - */ - int maxThreadCount; - - /**Sets the name of the CharacterModel. - * - * @par Value range: - * ["Letter", "NumberLetter", "NumberUppercase", "Number"] or other customized character model name. - * - */ - char characterModelName[64]; - - - /**Sets the reference region to search for text.*/ - DLR_ReferenceRegion referenceRegion; - - /**Sets the text area relative to the reference region.*/ - Quadrilateral textArea; - - /**Sets the dictionnary path.*/ - char dictionaryPath[256]; - - /**Sets the dictionary correction threshold.*/ - DLR_DictionaryCorrectionThreshold dictionaryCorrectionThreshold; - - /**Sets the mode and priority for binarization. - * - * @par Value range: - * Each array item can be any one of the BinarizationMode Enumeration items. - * @par Default value: - * [BM_LOCAL_BLOCK,BM_SKIP,BM_SKIP,BM_SKIP,BM_SKIP,BM_SKIP,BM_SKIP,BM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * @sa BinarizationMode - */ - BinarizationMode binarizationModes[8]; - - /**Sets further modes.*/ - DLR_FurtherModes furtherModes; - /**Sets the maximum amount of time (in milliseconds) . - * - * @par Value range: - * [0, 0x7fffffff] - * @par Default value: - * 10000 - * @par Remarks: - * If you want to stop reading after a certain period of time, you can use this parameter to set a timeout. - */ - int timeout; - - /**Reserved memory for the struct.*/ - char reserved[60]; -}DLR_RuntimeSettings; - -/** -* @struct DLR_CharacterResult -* -* Stores character result. -* -*/ -typedef struct tagDLRCharacterResult -{ - /**The recognized character with highest confidence.*/ - char characterH; - - /**The recognized character with middle confidence.*/ - char characterM; - - /**The recognized character with lowest confidence.*/ - char characterL; - - /**The location of current character.*/ - Quadrilateral location; - - /**The confidence of the recognized character with highest confidence.*/ - int characterHConfidence; - - /**The confidence of the recognized character with middle confidence.*/ - int characterMConfidence; - - /**The confidence of the recognized character with lowest confidence.*/ - int characterLConfidence; - - /**Reserved memory for the struct.*/ - char reserved[32]; -}DLR_CharacterResult, *PDLR_CharacterResult; - -/** -* @struct DLRLineResult -* -* Stores line result. -* -*/ -typedef struct tagLineResult -{ - /**The name of the line specification used to recognize current line result.*/ - const char* lineSpecificationName; - - /**The recognized text, ends by '\0'.*/ - const char* text; - - /**The character model used to recognize the text.*/ - const char* characterModelName; - - /**The localization of current line.*/ - Quadrilateral location; - - /**The confidence of the result.*/ - int confidence; - - /**The character result count.*/ - int characterResultsCount; - - /**The character results array.*/ - PDLR_CharacterResult* characterResults; - - /**Reserved memory for the struct.*/ - char reserved[64]; -}DLR_LineResult, *PDLR_LineResult; - -/** -* @struct DLR_Result -* -* Stores result. -* -*/ -typedef struct tagDLRResult -{ - /**The name of the reference region used to recognize current result.*/ - const char* referenceRegionName; - - /**The name of the text area used to recognize current result.*/ - const char* textAreaName; - - /**The localization result.*/ - Quadrilateral location; - - /**The confidence of the result.*/ - int confidence; - - /**The line result count.*/ - int lineResultsCount; - - /**The line results array.*/ - PDLR_LineResult* lineResults; - - /**Page number.*/ - int pageNumber; - - /**Reserved memory for the struct.*/ - char reserved[60]; -}DLR_Result, *PDLR_Result; - -/** -* @struct DLR_ResultArray -* -* Stores result array. -* -*/ -typedef struct tagDLRResultArray -{ - /**The recognized results array.*/ - PDLR_Result* results; - - /**The total count of recognized results.*/ - int resultsCount; -}DLR_ResultArray; - - -#pragma pack(pop) - -#ifdef __cplusplus -extern "C" { -#endif - - /** - * Returns the error info string. - * - * @param [in] errorCode The error code. - * - * @return The error message. - * - */ - DLR_API const char* DLR_GetErrorString(const int errorCode); - - /** - * Returns the version info of the SDK. - * - * @return The version info string. - * - */ - DLR_API const char* DLR_GetVersion(); - - /** - * Creates a Dynamsoft DLR instance. - * - * @return An DLR instance. If failed, return NULL. - * - */ - DLR_API void* DLR_CreateInstance(); - - /** - * Destorys an instance of Dynamsoft DLR instance. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * - */ - DLR_API void DLR_DestroyInstance(void* recognizer); - - /** - * Reads product key and activates the SDK. - * - * @param [in] pLicense The product key. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - DLR_API int DLR_InitLicense(const char* pLicense, char errorMsgBuffer[], const int errorMsgBufferLen); - - /** - * Gets current settings and save it into a struct. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in, out] pSettings The struct of runtime settings. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - DLR_API int DLR_GetRuntimeSettings(void* recognizer, DLR_RuntimeSettings* pSettings); - - /** - * Updates runtime settings with a given struct. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] pSettings The struct of runtime settings. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - */ - DLR_API int DLR_UpdateRuntimeSettings(void* recognizer, DLR_RuntimeSettings* pSettings, char errorMsgBuffer[], const int errorMsgBufferLen); - - - /** - * Initializes runtime settings with the settings in a given JSON string. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] content A JSON string that represents the content of the settings. - * @param [in,out] errorMsgBuffer (Optional) The buffer is allocated by caller and the recommended length - * is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen (Optional) The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * GetErrorString() to get detailed error message. - * - */ - DLR_API int DLR_UpdateRuntimeSettingsFromString(void* recognizer, const char* content, char errorMsgBuffer[], int errorMsgBufferLen); - - /** - * Reset runtime settings. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * - */ - DLR_API int DLR_ResetRuntimeSettings(void* recognizer); - - /** - * Sets the optional argument for a specified mode in Modes parameters. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] pModesName The mode parameter name to set argument. - * @param [in] index The array index of mode parameter to indicate a specific mode. - * @param [in] pArgumentName The name of the argument to set. - * @param [in] pArgumentValue The value of the argument to set. - * @param [in,out] errorMsgBuffer The buffer is allocated by the caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - DLR_API int DLR_SetModeArgument(void *recognizer, const char *pModesName, const int index, const char *pArgumentName, const char *pArgumentValue, char errorMsgBuffer[], const int errorMsgBufferLen); - - /** - * Gets the optional argument for a specified mode in Modes parameters. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] pModesName The mode parameter name to get argument. - * @param [in] index The array index of mode parameter to indicate a specific mode. - * @param [in] pArgumentName The name of the argument to get. - * @param [in,out] valueBuffer The buffer is allocated by caller and the recommended length is 480. The argument value would be copied to the buffer. - * @param [in] valueBufferLen The length of allocated buffer. - * @param [in,out] errorMsgBuffer The buffer is allocated by the caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - DLR_API int DLR_GetModeArgument(void *recognizer, const char *pModesName, const int index, const char *pArgumentName, char valueBuffer[], const int valueBufferLen, char errorMsgBuffer[], const int errorMsgBufferLen); - - /** - * - * Get all template settings' names; - * - */ - DLR_API int DLR_GetAllTemplateSettingsNames(void* recognizer, char(*names)[64], int arrLen); - - /** - * Clear template settings. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * - */ - DLR_API int DLR_ClearAppendedSettings(void* recognizer); - - /** - * Appends DLRParameter settings in a string to the SDK object. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] content A json string that represents the content of the settings. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - DLR_API int DLR_AppendSettingsFromString(void* recognizer, const char* content, char errorMsgBuffer[], const int errorMsgBufferLen); - - /** - * Appends DLRParameter settings in a file to the SDK object. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] filePath The settings file path. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - DLR_API int DLR_AppendSettingsFromFile(void* recognizer, const char* filePath, char errorMsgBuffer[], const int errorMsgBufferLen); - - /** - * Output DLRParameter settings into a file(JSON file). - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] outputFilePath The output file path which stores settings. - * @param [in] templateName The name of the template which is to be output. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - DLR_API int DLR_OutputSettingsToFile(void* recognizer, const char* outputFilePath, const char* templateName); - - /** - * Output DLRParameter settings into a file(JSON file). - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in,out] content The output string which stores the contents of current settings. - * @param [in] contentLen The length of output string. - * @param [in] templateName The name of the template which is to be output. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - DLR_API int DLR_OutputSettingsToString(void* recognizer, char content[], const int contentLen, const char* templateName); - - /** - * Recognizes text from memory buffer containing image pixels in defined format. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] pImageDate A struct of DLRImageData that represents an image. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - DLR_API int DLR_RecognizeByBuffer(void* recognizer, const ImageData* pImageData, const char* templateName); - - /** - * Recognizes text from a specified image file. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] fileName A string defining the file name. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - DLR_API int DLR_RecognizeByFile(void* recognizer, const char* fileName, const char* templateName); - - /** - * Recognizes text from a specified image file in memory. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] pFileBytes The image file bytes in memory. - * @param [in] fileSize The length of the file bytes in memory. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - DLR_API int DLR_RecognizeFileInMemory(void* recognizer, const unsigned char* pFileBytes, int fileSize, const char* templateName); - - /** - * Get all recognized results. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param[in, out] pResults The results are allocated by our SDK and should be freed by calling the function DLR_FreeDLRResults. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - DLR_API int DLR_GetAllResults(void* recognizer, DLR_ResultArray** pResults); - - /** - * Free memory allocated for recognized results. - * - * @param[in] pResults Recognized results. - * - */ - DLR_API void DLR_FreeResults(DLR_ResultArray** pResults); - - /** - * Updates reference region which is defined with source type DLR_LST_BARCODE - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] barcodeResults The barcode results used to localize reference region. - * @param [in] templateName The template name. A template name is the value of key LabelRecognitionParameter.Name defined in JSON formatted settings. - * If no template name is specified, current runtime settings will be used. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - DLR_API int DLR_UpdateReferenceRegionFromBarcodeResults(void* recognizer, BarcodeResultArray* barcodeResults, const char * templateName); - -#ifdef __cplusplus -} -#endif - -#ifdef __cplusplus - -class LabelRecognizerInner; - -namespace dynamsoft -{ - namespace dlr - { - - class DLR_API CLabelRecognizer - { - protected: - LabelRecognizerInner * m_DLRInner; - - public: - CLabelRecognizer(); - - ~CLabelRecognizer(); - - /** - * Returns the error info string. - * - * @param [in] errorCode The error code. - * - * @return The error message. - * - */ - static const char* GetErrorString(const int errorCode); - - /** - * Returns the version info of the SDK. - * - * @return The version info string. - * - */ - static const char* GetVersion(); - - /** - * Reads product key and activates the SDK. - * - * @param [in] pLicense The product key. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - static int InitLicense(const char* pLicense, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0); - - /** - * Gets current settings and save it into a struct. - * - * @param [in, out] pSettings The struct of runtime settings. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - int GetRuntimeSettings(DLR_RuntimeSettings* pSettings); - - /** - * Updates runtime settings with a given struct. - * - * @param [in] pSettings The struct of runtime settings. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - int UpdateRuntimeSettings(DLR_RuntimeSettings* pSettings, char errorMsgBuffer[] = NULL, const int errorMsgBufferLen = 0); - - /** - * Initializes runtime settings with the settings in a given JSON string. - * - * @param [in] content A JSON string that represents the content of the settings. - * @param [in,out] errorMsgBuffer (Optional) The buffer is allocated by caller and the recommended length - * is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen (Optional) The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * GetErrorString() to get detailed error message. - * - */ - int UpdateRuntimeSettingsFromString(const char* content, char errorMsgBuffer[] = NULL, int errorMsgBufferLen = 0); - /** - * Reset runtime settings. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int ResetRuntimeSettings(); - - /** - * Sets the optional argument for a specified mode in Modes parameters. - * - * @param [in] pModesName The mode parameter name to set argument. - * @param [in] index The array index of mode parameter to indicate a specific mode. - * @param [in] pArgumentName The name of the argument to set. - * @param [in] pArgumentValue The value of the argument to set. - * @param [in,out] errorMsgBuffer The buffer is allocated by the caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - int SetModeArgument(const char *pModesName, const int index, const char *pArgumentName, const char *pArgumentValue, char errorMsgBuffer[] = NULL, const int errorMsgBufferLen = 0); - - /** - * Gets the optional argument for a specified mode in Modes parameters. - * - * @param [in] pModesName The mode parameter name to get argument. - * @param [in] index The array index of mode parameter to indicate a specific mode. - * @param [in] pArgumentName The name of the argument to get. - * @param [in,out] valueBuffer The buffer is allocated by caller and the recommended length is 480. The argument value would be copied to the buffer. - * @param [in] valueBufferLen The length of allocated buffer. - * @param [in,out] errorMsgBuffer The buffer is allocated by the caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - int GetModeArgument(const char *pModesName, const int index, const char *pArgumentName, char valueBuffer[], const int valueBufferLen, char errorMsgBuffer[] = NULL, const int errorMsgBufferLen = 0); - - - int GetAllTemplateSettingsNames(char(*names)[64], int arrLen); - - /** - * Clear template settings. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int ClearAppendedSettings(); - - /** - * Appends DLRParameter settings in a string to the SDK object. - * - * @param [in] content A json string that represents the content of the settings. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - int AppendSettingsFromString(const char* content, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0); - - /** - * Appends DLRParameter settings in a file to the SDK object. - * - * @param [in] filePath The settings file path. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - int AppendSettingsFromFile(const char* filePath, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0); - - /** - * Output DLRParameter settings into a file(JSON file). - * - * @param [in] outputFilePath The output file path which stores settings. - * @param [in] templateName The name of the template which is to be output. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int OutputSettingsToFile(const char* outputFilePath, const char* templateName); - - /** - * Output DLRParameter settings into a file(JSON file). - * - * @param [in,out] content The output string which stores the contents of current settings. - * @param [in] contentLen The length of output string. - * @param [in] templateName The name of the template which is to be output. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - int OutputSettingsToString(char content[], const int contentLen, const char* templateName); - - /** - * Recognizes text from memory buffer containing image pixels in defined format. - * - * @param [in] pImageDate A struct of DLRImageData that represents an image. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int RecognizeByBuffer(const ImageData* pImageData, const char* templateName); - - /** - * Recognizes text from a specified image file. - * - * @param [in] fileName A string defining the file name. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int RecognizeByFile(const char* fileName, const char* templateName); - - /** - * Recognizes text from a specified image file in memory. - * - * @param [in] pFileBytes The image file bytes in memory. - * @param [in] fileSize The length of the file bytes in memory. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int RecognizeFileInMemory(const unsigned char* pFileBytes, int fileSize, const char* templateName); - - /** - * Get all recognized results. - * - * @param[in, out] pResults The results are allocated by our SDK and should be freed by calling the function DLR_FreeDLRResults. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int GetAllResults(DLR_ResultArray** pResults); - - /** - * Free memory allocated for recognized results. - * - * @param[in] pResults Recognized results. - * - */ - static void FreeResults(DLR_ResultArray** pResults); - - /** - * Updates reference region which is defined with source type DLR_LST_BARCODE - * - * @param [in] barcodeResults The barcode results used to localize reference region. - * @param [in] templateName The template name. A template name is the value of key LabelRecognizerParameter.Name defined in JSON formatted settings. - * If no template name is specified, current runtime settings will be used. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * GetErrorString() to get detailed error message. - */ - int UpdateReferenceRegionFromBarcodeResults(const BarcodeResultArray* barcodeResults, const char * templateName); - - private: - CLabelRecognizer(const CLabelRecognizer& r); - CLabelRecognizer& operator=(const CLabelRecognizer& r); - }; - } -} -#endif \ No newline at end of file diff --git a/linux/include/dlr_manager.h b/linux/include/dlr_manager.h deleted file mode 100644 index 97e81bb..0000000 --- a/linux/include/dlr_manager.h +++ /dev/null @@ -1,189 +0,0 @@ -#ifndef DLR_MANAGER_H_ -#define DLR_MANAGER_H_ - -#include "DynamsoftCore.h" -#include "DynamsoftLabelRecognizer.h" - -#include -#include -#include - -#include -#include - -using namespace std; -using namespace dynamsoft::dlr; - -class DlrManager -{ -public: - ~DlrManager() - { - if (recognizer != NULL) - { - DLR_DestroyInstance(recognizer); - recognizer = NULL; - } - }; - - int Init(const char *license) - { - // Click https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform to get a trial license. - char errorMsgBuffer[512]; - int ret = DLR_InitLicense(license, errorMsgBuffer, 512); - printf("DC_InitLicense: %s\n", errorMsgBuffer); - recognizer = DLR_CreateInstance(); - return ret; - } - - int LoadModel(const char *modelPath, const char *params) - { - if (!recognizer) - return -1; - - char errorMessage[256]; - - int ret = DLR_AppendSettingsFromString(recognizer, params, errorMessage, 256); - - return ret; - } - - FlValue *RecognizeFile(const char *filename) - { - FlValue *out = fl_value_new_list(); - if (recognizer == NULL) - return out; - - int ret = DLR_RecognizeByFile(recognizer, filename, "locr"); - if (ret) - { - printf("Detection error: %s\n", DLR_GetErrorString(ret)); - } - return WrapResults(); - } - - FlValue *WrapResults() - { - FlValue *out = fl_value_new_list(); - DLR_ResultArray *pResults = NULL; - DLR_GetAllResults(recognizer, &pResults); - if (!pResults) - { - return out; - } - - int count = pResults->resultsCount; - - for (int i = 0; i < count; i++) - { - FlValue *area = fl_value_new_list(); - DLR_Result *mrzResult = pResults->results[i]; - int lCount = mrzResult->lineResultsCount; - for (int j = 0; j < lCount; j++) - { - FlValue *lineInfo = fl_value_new_map(); - - DM_Point *points = mrzResult->lineResults[j]->location.points; - int x1 = points[0].x; - int y1 = points[0].y; - int x2 = points[1].x; - int y2 = points[1].y; - int x3 = points[2].x; - int y3 = points[2].y; - int x4 = points[3].x; - int y4 = points[3].y; - - fl_value_set_string_take(lineInfo, "confidence", fl_value_new_int(mrzResult->confidence)); - fl_value_set_string_take(lineInfo, "text", fl_value_new_string(mrzResult->lineResults[j]->text)); - fl_value_set_string_take(lineInfo, "x1", fl_value_new_int(x1)); - fl_value_set_string_take(lineInfo, "y1", fl_value_new_int(y1)); - fl_value_set_string_take(lineInfo, "x2", fl_value_new_int(x2)); - fl_value_set_string_take(lineInfo, "y2", fl_value_new_int(y2)); - fl_value_set_string_take(lineInfo, "x3", fl_value_new_int(x3)); - fl_value_set_string_take(lineInfo, "y3", fl_value_new_int(y3)); - fl_value_set_string_take(lineInfo, "x4", fl_value_new_int(x4)); - fl_value_set_string_take(lineInfo, "y4", fl_value_new_int(y4)); - - fl_value_append_take(area, lineInfo); - } - - fl_value_append_take(out, area); - } - - // Release memory - DLR_FreeResults(&pResults); - return out; - } - - FlValue *RecognizeBuffer(unsigned char *buffer, int width, int height, int stride, int format, int length) - { - FlValue *out = fl_value_new_list(); - if (recognizer == NULL) - return out; - - ImagePixelFormat pixelFormat = IPF_BGR_888; - switch (format) - { - case 0: - pixelFormat = IPF_BINARY; - break; - case 1: - pixelFormat = IPF_BINARYINVERTED; - break; - case 2: - pixelFormat = IPF_GRAYSCALED; - break; - case 3: - pixelFormat = IPF_NV21; - break; - case 4: - pixelFormat = IPF_RGB_565; - break; - case 5: - pixelFormat = IPF_RGB_555; - break; - case 6: - pixelFormat = IPF_RGB_888; - break; - case 7: - pixelFormat = IPF_ARGB_8888; - break; - case 8: - pixelFormat = IPF_RGB_161616; - break; - case 9: - pixelFormat = IPF_ARGB_16161616; - break; - case 10: - pixelFormat = IPF_ABGR_8888; - break; - case 11: - pixelFormat = IPF_ABGR_16161616; - break; - case 12: - pixelFormat = IPF_BGR_888; - break; - } - - ImageData data; - data.bytes = buffer; - data.width = width; - data.height = height; - data.stride = stride; - data.format = pixelFormat; - data.bytesLength = length; - - int ret = DLR_RecognizeByBuffer(recognizer, &data, "locr"); - if (ret) - { - printf("Detection error: %s\n", DLR_GetErrorString(ret)); - } - - return WrapResults(); - } - -private: - void *recognizer; -}; - -#endif \ No newline at end of file diff --git a/linux/include/flutter_ocr_sdk/flutter_ocr_sdk_plugin.h b/linux/include/flutter_ocr_sdk/flutter_ocr_sdk_plugin.h deleted file mode 100644 index 9d97860..0000000 --- a/linux/include/flutter_ocr_sdk/flutter_ocr_sdk_plugin.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef FLUTTER_PLUGIN_FLUTTER_OCR_SDK_PLUGIN_H_ -#define FLUTTER_PLUGIN_FLUTTER_OCR_SDK_PLUGIN_H_ - -#include - -G_BEGIN_DECLS - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __attribute__((visibility("default"))) -#else -#define FLUTTER_PLUGIN_EXPORT -#endif - -typedef struct _FlutterOcrSdkPlugin FlutterOcrSdkPlugin; -typedef struct { - GObjectClass parent_class; -} FlutterOcrSdkPluginClass; - -FLUTTER_PLUGIN_EXPORT GType flutter_ocr_sdk_plugin_get_type(); - -FLUTTER_PLUGIN_EXPORT void flutter_ocr_sdk_plugin_register_with_registrar( - FlPluginRegistrar* registrar); - -G_END_DECLS - -#endif // FLUTTER_PLUGIN_FLUTTER_OCR_SDK_PLUGIN_H_ diff --git a/linux/lib/libDynamicPdf.so b/linux/lib/libDynamicPdf.so deleted file mode 100644 index 249892b..0000000 Binary files a/linux/lib/libDynamicPdf.so and /dev/null differ diff --git a/linux/lib/libDynamsoftLabelRecognizer.so b/linux/lib/libDynamsoftLabelRecognizer.so deleted file mode 100644 index a0af090..0000000 Binary files a/linux/lib/libDynamsoftLabelRecognizer.so and /dev/null differ diff --git a/linux/lib/libDynamsoftLicenseClient.so b/linux/lib/libDynamsoftLicenseClient.so deleted file mode 100644 index 8b13018..0000000 Binary files a/linux/lib/libDynamsoftLicenseClient.so and /dev/null differ diff --git a/main.dart.js b/main.dart.js new file mode 100644 index 0000000..a4d9d92 --- /dev/null +++ b/main.dart.js @@ -0,0 +1,83439 @@ +(function dartProgram(){function copyProperties(a,b){var s=Object.keys(a) +for(var r=0;r=0)return true +if(typeof version=="function"&&version.length==0){var q=version() +if(/^\d+\.\d+\.\d+\.\d+$/.test(q))return true}}catch(p){}return false}() +function inherit(a,b){a.prototype.constructor=a +a.prototype["$i"+a.name]=a +if(b!=null){if(z){Object.setPrototypeOf(a.prototype,b.prototype) +return}var s=Object.create(b.prototype) +copyProperties(a.prototype,s) +a.prototype=s}}function inheritMany(a,b){for(var s=0;s4294967295)throw A.c(A.bY(a,0,4294967295,"length",null)) +return J.lk(new Array(a),b)}, +nw(a,b){if(a<0)throw A.c(A.cx("Length must be a non-negative integer: "+a,null)) +return A.b(new Array(a),b.h("v<0>"))}, +a0K(a,b){if(a<0)throw A.c(A.cx("Length must be a non-negative integer: "+a,null)) +return A.b(new Array(a),b.h("v<0>"))}, +lk(a,b){return J.a0L(A.b(a,b.h("v<0>")))}, +a0L(a){a.fixed$length=Array +return a}, +aqs(a){a.fixed$length=Array +a.immutable$list=Array +return a}, +aBD(a,b){return J.Uk(a,b)}, +aqt(a){if(a<256)switch(a){case 9:case 10:case 11:case 12:case 13:case 32:case 133:case 160:return!0 +default:return!1}switch(a){case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8232:case 8233:case 8239:case 8287:case 12288:case 65279:return!0 +default:return!1}}, +aqu(a,b){var s,r +for(s=a.length;b0;b=s){s=b-1 +r=a.charCodeAt(s) +if(r!==32&&r!==13&&!J.aqt(r))break}return b}, +jg(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.qi.prototype +return J.wA.prototype}if(typeof a=="string")return J.jJ.prototype +if(a==null)return J.wz.prototype +if(typeof a=="boolean")return J.wy.prototype +if(Array.isArray(a))return J.v.prototype +if(typeof a!="object"){if(typeof a=="function")return J.f_.prototype +if(typeof a=="symbol")return J.ny.prototype +if(typeof a=="bigint")return J.nx.prototype +return a}if(a instanceof A.J)return a +return J.TY(a)}, +aJ2(a){if(typeof a=="number")return J.lm.prototype +if(typeof a=="string")return J.jJ.prototype +if(a==null)return a +if(Array.isArray(a))return J.v.prototype +if(typeof a!="object"){if(typeof a=="function")return J.f_.prototype +if(typeof a=="symbol")return J.ny.prototype +if(typeof a=="bigint")return J.nx.prototype +return a}if(a instanceof A.J)return a +return J.TY(a)}, +ax(a){if(typeof a=="string")return J.jJ.prototype +if(a==null)return a +if(Array.isArray(a))return J.v.prototype +if(typeof a!="object"){if(typeof a=="function")return J.f_.prototype +if(typeof a=="symbol")return J.ny.prototype +if(typeof a=="bigint")return J.nx.prototype +return a}if(a instanceof A.J)return a +return J.TY(a)}, +bP(a){if(a==null)return a +if(Array.isArray(a))return J.v.prototype +if(typeof a!="object"){if(typeof a=="function")return J.f_.prototype +if(typeof a=="symbol")return J.ny.prototype +if(typeof a=="bigint")return J.nx.prototype +return a}if(a instanceof A.J)return a +return J.TY(a)}, +aJ3(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.qi.prototype +return J.wA.prototype}if(a==null)return a +if(!(a instanceof A.J))return J.j_.prototype +return a}, +anE(a){if(typeof a=="number")return J.lm.prototype +if(a==null)return a +if(!(a instanceof A.J))return J.j_.prototype +return a}, +auV(a){if(typeof a=="number")return J.lm.prototype +if(typeof a=="string")return J.jJ.prototype +if(a==null)return a +if(!(a instanceof A.J))return J.j_.prototype +return a}, +ak6(a){if(typeof a=="string")return J.jJ.prototype +if(a==null)return a +if(!(a instanceof A.J))return J.j_.prototype +return a}, +dB(a){if(a==null)return a +if(typeof a!="object"){if(typeof a=="function")return J.f_.prototype +if(typeof a=="symbol")return J.ny.prototype +if(typeof a=="bigint")return J.nx.prototype +return a}if(a instanceof A.J)return a +return J.TY(a)}, +dC(a){if(a==null)return a +if(!(a instanceof A.J))return J.j_.prototype +return a}, +ayf(a,b){if(typeof a=="number"&&typeof b=="number")return a+b +return J.aJ2(a).a6(a,b)}, +e(a,b){if(a==null)return b==null +if(typeof a!="object")return b!=null&&a===b +return J.jg(a).k(a,b)}, +ayg(a,b){if(typeof a=="number"&&typeof b=="number")return a*b +return J.auV(a).ad(a,b)}, +ayh(a,b){if(typeof a=="number"&&typeof b=="number")return a-b +return J.anE(a).ac(a,b)}, +ah(a,b){if(typeof b==="number")if(Array.isArray(a)||typeof a=="string"||A.av1(a,a[v.dispatchPropertyName]))if(b>>>0===b&&b>>0===b&&b0?1:a<0?-1:a +return J.aJ3(a).gGq(a)}, +DN(a){return J.bP(a).gan(a)}, +ayu(a){return J.dC(a).gtW(a)}, +fW(a){return J.dB(a).gm(a)}, +ayv(a){return J.dB(a).gaF(a)}, +ayw(a,b,c){return J.bP(a).tD(a,b,c)}, +akU(a,b){return J.dC(a).aU(a,b)}, +akV(a){return J.dC(a).hd(a)}, +ayx(a){return J.dC(a).rr(a)}, +aoH(a){return J.bP(a).El(a)}, +ayy(a,b){return J.bP(a).bw(a,b)}, +ayz(a,b){return J.dC(a).acy(a,b)}, +kK(a,b,c){return J.bP(a).fA(a,b,c)}, +ayA(a,b,c,d){return J.bP(a).rE(a,b,c,d)}, +ayB(a){return J.dC(a).rX(a)}, +ayC(a,b,c,d,e){return J.dC(a).iM(a,b,c,d,e)}, +DO(a,b,c){return J.dB(a).bj(a,b,c)}, +ayD(a,b){return J.dB(a).adQ(a,b)}, +ayE(a,b,c,d,e,f){return J.dB(a).adR(a,b,c,d,e,f)}, +ayF(a){return J.bP(a).hY(a)}, +kL(a,b){return J.bP(a).A(a,b)}, +ayG(a){return J.bP(a).f4(a)}, +ayH(a,b){return J.dB(a).J(a,b)}, +aoI(a,b){return J.dC(a).a1(a,b)}, +aoJ(a,b){return J.dC(a).bc(a,b)}, +ayI(a,b){return J.ax(a).sq(a,b)}, +ayJ(a,b,c,d,e){return J.bP(a).bx(a,b,c,d,e)}, +pi(a,b){return J.bP(a).fM(a,b)}, +aoK(a,b){return J.bP(a).en(a,b)}, +ayK(a,b){return J.ak6(a).tS(a,b)}, +aoL(a,b){return J.bP(a).Fp(a,b)}, +akW(a,b,c){return J.dC(a).aT(a,b,c)}, +ayL(a,b,c,d){return J.dC(a).ej(a,b,c,d)}, +ayM(a){return J.anE(a).Y(a)}, +akX(a){return J.bP(a).dl(a)}, +ayN(a,b){return J.anE(a).iT(a,b)}, +ayO(a){return J.bP(a).hn(a)}, +el(a){return J.jg(a).j(a)}, +ayP(a){return J.ak6(a).aeP(a)}, +ayQ(a,b){return J.dB(a).aeW(a,b)}, +akY(a,b){return J.bP(a).jM(a,b)}, +qh:function qh(){}, +wy:function wy(){}, +wz:function wz(){}, +d:function d(){}, +hU:function hU(){}, +IB:function IB(){}, +j_:function j_(){}, +f_:function f_(){}, +nx:function nx(){}, +ny:function ny(){}, +v:function v(a){this.$ti=a}, +a0R:function a0R(a){this.$ti=a}, +c2:function c2(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +lm:function lm(){}, +qi:function qi(){}, +wA:function wA(){}, +jJ:function jJ(){}},A={ +aJi(){var s,r,q=$.anc +if(q!=null)return q +s=A.bO("Chrom(e|ium)\\/([0-9]+)\\.",!0,!1) +q=$.aw().gq2() +r=s.di(q) +if(r!=null){q=r.b[2] +q.toString +return $.anc=A.fl(q,null)<=110}return $.anc=!1}, +p3(){var s=A.mz(1,1) +if(A.ft(s,"webgl2",null)!=null){if($.aw().gbX()===B.ak)return 1 +return 2}if(A.ft(s,"webgl",null)!=null)return 1 +return-1}, +auy(){return self.Intl.v8BreakIterator!=null&&self.Intl.Segmenter!=null}, +ag(){return $.be.aX()}, +aK0(a){return a===B.hN?$.be.aX().FilterMode.Nearest:$.be.aX().FilterMode.Linear}, +arW(a){var s=a.encodeToBytes() +return s==null?null:s}, +aDY(a,b){return a.setColorInt(b)}, +avq(a){var s,r,q,p=new Float32Array(16) +for(s=0;s<4;++s)for(r=s*4,q=0;q<4;++q)p[q*4+s]=a[r+q] +return p}, +aK1(a){var s,r,q=new Float32Array(9) +for(s=0;s<9;++s){r=B.lA[s] +if(r<16)q[s]=a[r] +else q[s]=0}return q}, +aK2(a){var s,r,q=new Float32Array(9) +for(s=0;s<9;++s){r=B.lA[s] +if(r<16)q[s]=a[r] +else q[s]=0}return q}, +avr(a){var s=new Float32Array(2) +s[0]=a.a +s[1]=a.b +return s}, +aK_(a){var s=$.axu() +return s}, +aJr(a){return t.e.a(self.window.flutterCanvasKit.Malloc(self.Float32Array,a))}, +ajC(a,b){var s=a.toTypedArray(),r=b.a +s[0]=(r>>>16&255)/255 +s[1]=(r>>>8&255)/255 +s[2]=(r&255)/255 +s[3]=(r>>>24&255)/255 +return s}, +eH(a){var s=new Float32Array(4) +s[0]=a.a +s[1]=a.b +s[2]=a.c +s[3]=a.d +return s}, +ak_(a){return new A.x(a[0],a[1],a[2],a[3])}, +u0(a){var s=new Float32Array(12) +s[0]=a.a +s[1]=a.b +s[2]=a.c +s[3]=a.d +s[4]=a.e +s[5]=a.f +s[6]=a.r +s[7]=a.w +s[8]=a.x +s[9]=a.y +s[10]=a.z +s[11]=a.Q +return s}, +aJZ(a){var s,r=new Uint32Array(2) +for(s=0;s<2;++s)r[s]=a[s].a +return r}, +arU(a,b,c,d,e){var s=c==null?null:c,r=e==null?null:e +return a.saveLayer(b,s,d,r)}, +arY(a){if(!("RequiresClientICU" in a))return!1 +return A.ky(a.RequiresClientICU())}, +as1(a,b){a.fontSize=b +return b}, +as3(a,b){a.heightMultiplier=b +return b}, +as2(a,b){a.halfLeading=b +return b}, +as0(a,b){var s=A.et(b) +a.fontFamilies=s +return s}, +as_(a,b){a.halfLeading=b +return b}, +arV(a){var s,r,q=a.graphemeLayoutBounds,p=B.b.df(q,t.i) +q=p.a +s=J.ax(q) +r=p.$ti.y[1] +return new A.iA(new A.x(r.a(s.i(q,0)),r.a(s.i(q,1)),r.a(s.i(q,2)),r.a(s.i(q,3))),new A.ch(B.c.Y(a.graphemeClusterTextRange.start),B.c.Y(a.graphemeClusterTextRange.end)),B.ia[B.c.Y(a.dir.value)])}, +arX(a,b,c,d,e){return t.e.a({width:e,height:d,colorType:c,alphaType:a,colorSpace:b})}, +aJ1(a){var s,r="chromium/canvaskit.js" +switch(a.a){case 0:s=A.b([],t.s) +if(A.auy())s.push(r) +s.push("canvaskit.js") +return s +case 1:return A.b(["canvaskit.js"],t.s) +case 2:return A.b([r],t.s)}}, +aGq(){var s,r=A.d9().b +if(r==null)s=null +else{r=r.canvasKitVariant +if(r==null)r=null +s=r}r=A.aJ1(A.aAN(B.EG,s==null?"auto":s)) +return new A.ay(r,new A.aiX(),A.Z(r).h("ay<1,q>"))}, +aI8(a,b){return b+a}, +TV(){var s=0,r=A.C(t.e),q,p,o,n,m +var $async$TV=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:p=t.e +n=p +m=A +s=4 +return A.y(A.ajc(A.aGq()),$async$TV) +case 4:s=3 +return A.y(m.cN(b.default(p.a({locateFile:A.ajg(A.aGO())})),t.K),$async$TV) +case 3:o=n.a(b) +if(A.arY(o.ParagraphBuilder)&&!A.auy())throw A.c(A.c8("The CanvasKit variant you are using only works on Chromium browsers. Please use a different CanvasKit variant, or use a Chromium browser.")) +q=o +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$TV,r)}, +ajc(a){var s=0,r=A.C(t.e),q,p=2,o,n,m,l,k,j,i +var $async$ajc=A.D(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:m=a.$ti,l=new A.bS(a,a.gq(0),m.h("bS")),m=m.h("aI.E") +case 3:if(!l.t()){s=4 +break}k=l.d +n=k==null?m.a(k):k +p=6 +s=9 +return A.y(A.ajb(n),$async$ajc) +case 9:k=c +q=k +s=1 +break +p=2 +s=8 +break +case 6:p=5 +i=o +s=3 +break +s=8 +break +case 5:s=2 +break +case 8:s=3 +break +case 4:throw A.c(A.c8("Failed to download any of the following CanvasKit URLs: "+a.j(0))) +case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$ajc,r)}, +ajb(a){var s=0,r=A.C(t.e),q,p,o +var $async$ajb=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:p=self.window.document.baseURI +if(p==null)p=null +p=p==null?new self.URL(a):new self.URL(a,p) +o=t.e +s=3 +return A.y(A.cN(import(A.aID(p.toString())),t.m),$async$ajb) +case 3:q=o.a(c) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$ajb,r)}, +a1z(a){var s="ColorFilter",r=new A.Hi(a),q=new A.ey(s,t.R) +q.i0(r,a.AL(),s,t.e) +r.b!==$&&A.bx() +r.b=q +return r}, +aGx(){var s,r=new Float32Array(20) +for(s=0;s<4;++s)r[B.Da[s]]=1 +return $.aHa=r}, +aIC(a,b){var s=$.be.aX().ColorFilter.MakeBlend(A.ajC($.Ug(),a),$.aou()[b.a]) +if(s==null)return $.be.aX().ColorFilter.MakeMatrix($.axq()) +return s}, +azv(a){return new A.uL(a)}, +aIt(a){switch(0){case 0:return new A.EG(a.a,a.b)}}, +apq(a,b){var s=b.h("v<0>") +return new A.Fy(a,A.b([],s),A.b([],s),b.h("Fy<0>"))}, +am7(a){var s=null +return new A.hg(B.GJ,s,s,s,a,s)}, +arz(a,b,c){var s=new self.window.flutterCanvasKit.Font(c),r=A.et(A.b([0],t.t)) +s.getGlyphBounds(r,null,null) +return new A.o8(b,a,c)}, +aJK(a,b,c){var s,r,q,p,o,n,m,l,k,j,i="encoded image bytes" +if($.ay9()&&b==null&&c==null)return A.We(a,i) +else{s=new A.EF(i,a,b,c) +r=$.be.aX().MakeAnimatedImageFromEncoded(a) +if(r==null)A.aa(A.q9("Failed to decode image data.\nImage source: encoded image bytes")) +q=b==null +if(!q||c!=null)if(r.getFrameCount()>1)$.dc().$1("targetWidth and targetHeight for multi-frame images not supported") +else{p=r.makeImageAtCurrentFrame() +if(!q&&b<=0)b=null +if(c!=null&&c<=0)c=null +q=b==null +if(q&&c!=null)b=B.c.a7(c*(p.width()/p.height())) +else if(c==null&&!q)c=B.f.fQ(b,p.width()/p.height()) +o=new A.hE() +n=o.km(B.dO) +m=A.Wh() +q=A.Wf(p,null) +l=p.width() +k=p.height() +b.toString +c.toString +n.il(q,new A.x(0,0,0+l,0+k),new A.x(0,0,b,c),m) +k=m.b +k===$&&A.a() +k.l() +k=o.lY().td(b,c).b +k===$&&A.a() +k=k.a +k===$&&A.a() +k=k.a +k.toString +j=A.arW(k) +if(j==null)A.aa(A.q9("Failed to re-size image")) +r=$.be.aX().MakeAnimatedImageFromEncoded(j) +if(r==null)A.aa(A.q9("Failed to decode re-sized image data.\nImage source: encoded image bytes"))}s.d=B.c.Y(r.getFrameCount()) +s.e=B.c.Y(r.getRepetitionCount()) +q=new A.ey("Codec",t.R) +q.i0(s,r,"Codec",t.e) +s.a!==$&&A.bx() +s.a=q +return s}}, +q9(a){return new A.GI(a)}, +Wf(a,b){var s=new A.kY($,b),r=new A.F3(A.aA(t.XY),t.lp),q=new A.ey("SkImage",t.R) +q.i0(r,a,"SkImage",t.e) +r.a!==$&&A.bx() +r.a=q +s.b=r +s.Kg() +return s}, +azu(a,b,c){return new A.uJ(a,b,c,new A.u7(new A.Vj()))}, +We(a,b){var s=0,r=A.C(t.Lh),q,p,o +var $async$We=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:o=A.aIK(a) +if(o==null)throw A.c(A.q9("Failed to detect image file format using the file header.\nFile header was "+(!B.R.gM(a)?"["+A.aI7(B.R.bZ(a,0,Math.min(10,a.length)))+"]":"empty")+".\nImage source: "+b)) +p=A.azu(o,a,b) +s=3 +return A.y(p.n8(),$async$We) +case 3:q=p +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$We,r)}, +U2(a,b){var s=0,r=A.C(t.V4),q,p,o,n +var $async$U2=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:s=b===B.Cz?3:4 +break +case 3:n=A +s=5 +return A.y(A.anA(a),$async$U2) +case 5:q=n.es(d.buffer,0,null) +s=1 +break +case 4:s=6 +return A.y(A.akt(a),$async$U2) +case 6:p=d +if(A.aHJ(a,b)){q=A.es(p,0,null) +s=1 +break}o=A.rC(a)==="BGRX" +if(A.rC(a)==="BGRA"||o)if(b===B.hV||o){A.aGg(p,o) +q=A.es(p,0,null) +s=1 +break}else if(b===B.hU){A.aGf(p) +q=A.es(p,0,null) +s=1 +break}q=A.es(p,0,null) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$U2,r)}, +aGg(a,b){var s,r,q,p,o=A.dh(a,0,null) +for(s=o.length,r=0;r>>16}, +aGf(a){var s,r,q,p,o,n,m,l,k=A.dh(a,0,null) +for(s=k.length,r=0;r=m||o>=j))i.a.push(a[s])}if(i.a.length!==0)l.push(i) +return new A.qQ(l)}, +Wh(){var s,r=new self.window.flutterCanvasKit.Paint(),q=new A.pB(r,B.cU,B.b1,B.fx,B.hN) +r.setAntiAlias(!0) +r.setColorInt(4278190080) +s=new A.ey("Paint",t.R) +s.i0(q,r,"Paint",t.e) +q.b!==$&&A.bx() +q.b=s +return q}, +azx(){var s=new self.window.flutterCanvasKit.Path() +s.setFillType($.Uh()[0]) +return A.ap5(s,B.b2)}, +ap5(a,b){var s=new A.uO(b),r=new A.ey("Path",t.R) +r.i0(s,a,"Path",t.e) +s.a!==$&&A.bx() +s.a=r +return s}, +azj(){var s,r +if($.aw().gby()===B.K||$.aw().gby()===B.b8)return new A.a52(A.E(t.lz,t.Es)) +s=A.aS(self.document,"flt-canvas-container") +r=$.akO()&&$.aw().gby()!==B.K +return new A.a5r(new A.i7(r,!1,s),A.E(t.lz,t.pw))}, +aEa(a){var s=A.aS(self.document,"flt-canvas-container") +return new A.i7($.akO()&&$.aw().gby()!==B.K&&!a,a,s)}, +azw(a,b){var s,r +t.S3.a(a) +s=t.e.a({}) +r=A.et(A.ane(a.a,a.b)) +s.fontFamilies=r +r=a.c +if(r!=null)s.fontSize=r +switch(a.x){case null:case void 0:break +case B.t:A.as_(s,!0) +break +case B.x1:A.as_(s,!1) +break}s.leading=a.e +r=A.anY(a.f,a.r) +s.fontStyle=r +s.forceStrutHeight=a.w +s.strutEnabled=!0 +return s}, +ala(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){return new A.pC(b,c,d,e,f,m,k,a2,s,g,a0,h,j,q,a3,o,p,r,a,n,a1,i,l)}, +anY(a,b){var s=t.e.a({}) +if(a!=null)s.weight=$.axU()[a.a] +return s}, +ane(a,b){var s=A.b([],t.s) +if(a!=null)s.push(a) +if(b!=null&&!B.b.dA(b,new A.aj1(a)))B.b.L(s,b) +B.b.L(s,$.ap().grb().gDD().as) +return s}, +aDL(a,b){var s=b.length +if(s<=10)return a.c +if(s<=100)return a.b +if(s<=5e4)return a.a +return null}, +auT(a,b){var s,r=A.apP($.axr().i(0,b).segment(a)),q=A.b([],t.t) +for(;r.t();){s=r.b +s===$&&A.a() +q.push(B.c.Y(s.index))}q.push(a.length) +return new Uint32Array(A.p4(q))}, +aIZ(a){var s,r,q,p,o=A.aux(a,a,$.ay8()),n=o.length,m=new Uint32Array((n+1)*2) +m[0]=0 +m[1]=0 +for(s=0;s>>16&255)/255 +s[1]=(a.gm(a)>>>8&255)/255 +s[2]=(a.gm(a)&255)/255 +s[3]=(a.gm(a)>>>24&255)/255 +return s}, +alg(){return self.window.navigator.clipboard!=null?new A.Wu():new A.YS()}, +amd(){return $.aw().gby()===B.b8||self.window.navigator.clipboard==null?new A.YT():new A.Wv()}, +d9(){var s,r=$.atM +if(r==null){r=self.window.flutterConfiguration +s=new A.Zf() +if(r!=null)s.b=r +$.atM=s +r=s}return r}, +aqx(a){var s=a.nonce +return s==null?null:s}, +aDz(a){switch(a){case"DeviceOrientation.portraitUp":return"portrait-primary" +case"DeviceOrientation.portraitDown":return"portrait-secondary" +case"DeviceOrientation.landscapeLeft":return"landscape-primary" +case"DeviceOrientation.landscapeRight":return"landscape-secondary" +default:return null}}, +et(a){$.aw() +return a}, +alT(a){$.aw() +return a}, +apT(a){var s=a.innerHeight +return s==null?null:s}, +alz(a,b){return a.matchMedia(b)}, +aly(a,b){return a.getComputedStyle(b)}, +aAp(a){return new A.XN(a)}, +aAs(a){var s=a.languages +if(s==null)s=null +else{s=B.b.fA(s,new A.XR(),t.N) +s=A.a8(s,!0,s.$ti.h("aI.E"))}return s}, +aS(a,b){return a.createElement(b)}, +bV(a,b,c,d){if(c!=null)if(d==null)a.addEventListener(b,c) +else a.addEventListener(b,c,d)}, +cz(a,b,c,d){if(c!=null)if(d==null)a.removeEventListener(b,c) +else a.removeEventListener(b,c,d)}, +aIw(a){return A.b6(a)}, +h3(a){var s=a.timeStamp +return s==null?null:s}, +apJ(a){if(a.parentNode!=null)a.parentNode.removeChild(a)}, +alv(a,b){a.textContent=b +return b}, +FH(a,b){return a.cloneNode(b)}, +aIv(a){return A.aS(self.document,a)}, +aAr(a){return a.tagName}, +apx(a,b,c){var s=A.a4(c) +if(s==null)s=t.K.a(s) +return a.setAttribute(b,s)}, +XO(a,b){a.tabIndex=b +return b}, +ct(a,b){var s=A.E(t.N,t.y) +if(b!=null)s.n(0,"preventScroll",b) +s=A.a4(s) +if(s==null)s=t.K.a(s) +a.focus(s)}, +aAq(a){var s +for(;a.firstChild!=null;){s=a.firstChild +s.toString +a.removeChild(s)}}, +aAm(a,b){return A.l(a,"width",b)}, +aAh(a,b){return A.l(a,"height",b)}, +aps(a,b){return A.l(a,"position",b)}, +aAk(a,b){return A.l(a,"top",b)}, +aAi(a,b){return A.l(a,"left",b)}, +aAl(a,b){return A.l(a,"visibility",b)}, +aAj(a,b){return A.l(a,"overflow",b)}, +l(a,b,c){a.setProperty(b,c,"")}, +FE(a){var s=a.src +return s==null?null:s}, +apy(a,b){a.src=b +return b}, +mz(a,b){var s +$.auM=$.auM+1 +s=A.aS(self.window.document,"canvas") +if(b!=null)A.l6(s,b) +if(a!=null)A.l5(s,a) +return s}, +l6(a,b){a.width=b +return b}, +l5(a,b){a.height=b +return b}, +ft(a,b,c){var s +if(c==null)return a.getContext(b) +else{s=A.a4(c) +if(s==null)s=t.K.a(s) +return a.getContext(b,s)}}, +aAo(a){var s=A.ft(a,"2d",null) +s.toString +return t.e.a(s)}, +aAn(a,b){var s +if(b===1){s=A.ft(a,"webgl",null) +s.toString +return t.e.a(s)}s=A.ft(a,"webgl2",null) +s.toString +return t.e.a(s)}, +XL(a,b){var s=A.et(b) +a.fillStyle=s +return s}, +apv(a,b){a.lineWidth=b +return b}, +XM(a,b){var s=A.et(b) +a.strokeStyle=s +return s}, +alo(a,b,c,d,e,f,g,h,i,j){if(e==null)return a.drawImage(b,c,d) +else{f.toString +g.toString +h.toString +i.toString +j.toString +return A.b7(a,"drawImage",[b,c,d,e,f,g,h,i,j])}}, +XK(a,b){if(b==null)a.fill() +else a.fill(A.et(b))}, +apt(a,b,c,d){a.fillText(b,c,d)}, +apu(a,b,c,d,e,f,g){return A.b7(a,"setTransform",[b,c,d,e,f,g])}, +apw(a,b,c,d,e,f,g){return A.b7(a,"transform",[b,c,d,e,f,g])}, +XJ(a,b){if(b==null)a.clip() +else a.clip(A.et(b))}, +alp(a,b){a.filter=b +return b}, +alr(a,b){a.shadowOffsetX=b +return b}, +als(a,b){a.shadowOffsetY=b +return b}, +alq(a,b){a.shadowColor=b +return b}, +tV(a){return A.aJ7(a)}, +aJ7(a){var s=0,r=A.C(t.Lk),q,p=2,o,n,m,l,k +var $async$tV=A.D(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:p=4 +s=7 +return A.y(A.cN(self.window.fetch(a),t.e),$async$tV) +case 7:n=c +q=new A.GG(a,n) +s=1 +break +p=2 +s=6 +break +case 4:p=3 +k=o +m=A.a6(k) +throw A.c(new A.GE(a,m)) +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$tV,r)}, +ak8(a){var s=0,r=A.C(t.pI),q +var $async$ak8=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:s=3 +return A.y(A.tV(a),$async$ak8) +case 3:q=c.gxv().nv() +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$ak8,r)}, +aIx(a,b,c){var s,r,q +if(c==null)return new self.FontFace(a,A.et(b)) +else{s=self.FontFace +r=A.et(b) +q=A.a4(c) +if(q==null)q=t.K.a(q) +return new s(a,r,q)}}, +apQ(a){var s=a.height +return s==null?null:s}, +apG(a,b){var s=b==null?null:b +a.value=s +return s}, +apE(a){var s=a.selectionStart +return s==null?null:s}, +apD(a){var s=a.selectionEnd +return s==null?null:s}, +apF(a){var s=a.value +return s==null?null:s}, +jv(a){var s=a.code +return s==null?null:s}, +h4(a){var s=a.key +return s==null?null:s}, +FG(a){var s=a.shiftKey +return s==null?null:s}, +apH(a){var s=a.state +if(s==null)s=null +else{s=A.any(s) +s.toString}return s}, +aIu(a){var s=self +return new s.Blob(t.ef.a(A.et(a)))}, +apI(a){var s=a.matches +return s==null?null:s}, +vl(a){var s=a.buttons +return s==null?null:s}, +apM(a){var s=a.pointerId +return s==null?null:s}, +alx(a){var s=a.pointerType +return s==null?null:s}, +apN(a){var s=a.tiltX +return s==null?null:s}, +apO(a){var s=a.tiltY +return s==null?null:s}, +apR(a){var s=a.wheelDeltaX +return s==null?null:s}, +apS(a){var s=a.wheelDeltaY +return s==null?null:s}, +XP(a,b){a.type=b +return b}, +apC(a,b){var s=b==null?null:b +a.value=s +return s}, +alu(a){var s=a.value +return s==null?null:s}, +alt(a){var s=a.disabled +return s==null?null:s}, +apB(a,b){a.disabled=b +return b}, +apA(a){var s=a.selectionStart +return s==null?null:s}, +apz(a){var s=a.selectionEnd +return s==null?null:s}, +apK(a,b){a.height=b +return b}, +apL(a,b){a.width=b +return b}, +alw(a,b,c){var s +if(c==null)return a.getContext(b) +else{s=A.a4(c) +if(s==null)s=t.K.a(s) +return a.getContext(b,s)}}, +aAt(a,b){var s +if(b===1){s=A.alw(a,"webgl",null) +s.toString +return t.e.a(s)}s=A.alw(a,"webgl2",null) +s.toString +return t.e.a(s)}, +bW(a,b,c){var s=A.b6(c) +a.addEventListener(b,s) +return new A.FJ(b,a,s)}, +aIy(a){return new self.ResizeObserver(A.ajg(new A.ajR(a)))}, +aID(a){if(self.window.trustedTypes!=null)return $.ay7().createScriptURL(a) +return a}, +apP(a){return new A.FF(t.e.a(a[self.Symbol.iterator]()),t.yN)}, +anw(a){var s,r +if(self.Intl.Segmenter==null)throw A.c(A.cp("Intl.Segmenter() is not supported.")) +s=self.Intl.Segmenter +r=t.N +r=A.a4(A.as(["granularity",a],r,r)) +if(r==null)r=t.K.a(r) +return new s([],r)}, +auL(){var s,r +if(self.Intl.v8BreakIterator==null)throw A.c(A.cp("v8BreakIterator is not supported.")) +s=self.Intl.v8BreakIterator +r=A.a4(B.Gv) +if(r==null)r=t.K.a(r) +return new s([],r)}, +U3(a,b){var s +if(b.k(0,B.h))return a +s=new A.bp(new Float32Array(16)) +s.ba(a) +s.aq(0,b.a,b.b) +return s}, +auO(a,b,c){var s=a.aeC() +if(c!=null)A.anW(s,A.U3(c,b).a) +return s}, +anV(){var s=0,r=A.C(t.H) +var $async$anV=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:if(!$.anh){$.anh=!0 +self.window.requestAnimationFrame(A.b6(new A.akx()))}return A.A(null,r)}}) +return A.B($async$anV,r)}, +aB7(a,b){var s=t.S,r=A.ce(null,t.H),q=A.b(["Roboto"],t.s) +s=new A.ZA(a,A.aA(s),A.aA(s),b,B.b.mM(b,new A.ZB()),B.b.mM(b,new A.ZC()),B.b.mM(b,new A.ZD()),B.b.mM(b,new A.ZE()),B.b.mM(b,new A.ZF()),B.b.mM(b,new A.ZG()),r,q,A.aA(s)) +q=t.Te +s.b=new A.G3(s,A.aA(q),A.E(t.N,q)) +return s}, +aFM(a,b,c){var s,r,q,p,o,n,m,l,k=A.b([],t.t),j=A.b([],c.h("v<0>")) +for(s=a.length,r=0,q=0,p=1,o=0;o"))}, +TW(a){return A.aIS(a)}, +aIS(a){var s=0,r=A.C(t.bY),q,p,o,n,m,l +var $async$TW=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:n={} +l=t.Lk +s=3 +return A.y(A.tV(a.tu("FontManifest.json")),$async$TW) +case 3:m=l.a(c) +if(!m.gE0()){$.dc().$1("Font manifest does not exist at `"+m.a+"` - ignoring.") +q=new A.w5(A.b([],t.z8)) +s=1 +break}p=B.cJ.Us(B.lw) +n.a=null +o=p.j2(new A.Rf(new A.ajW(n),[],t.xm)) +s=4 +return A.y(m.gxv().xH(0,new A.ajX(o),t.u9),$async$TW) +case 4:o.aJ(0) +n=n.a +if(n==null)throw A.c(A.hC(u.u)) +n=J.kK(t.j.a(n),new A.ajY(),t.VW) +q=new A.w5(A.a8(n,!0,n.$ti.h("aI.E"))) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$TW,r)}, +aB6(a,b){return new A.w3()}, +q2(){return B.c.Y(self.window.performance.now()*1000)}, +V7(a){var s +$.bq() +s=self.window.devicePixelRatio +if(s===0)s=1 +return B.c.d4((a+1)*s)+2}, +V6(a){var s +$.bq() +s=self.window.devicePixelRatio +if(s===0)s=1 +return B.c.d4((a+1)*s)+2}, +az1(a){a.remove()}, +ajI(a){if(a==null)return null +switch(a.a){case 3:return"source-over" +case 5:return"source-in" +case 7:return"source-out" +case 9:return"source-atop" +case 4:return"destination-over" +case 6:return"destination-in" +case 8:return"destination-out" +case 10:return"destination-atop" +case 12:return"lighten" +case 1:return"copy" +case 11:return"xor" +case 24:case 13:return"multiply" +case 14:return"screen" +case 15:return"overlay" +case 16:return"darken" +case 17:return"lighten" +case 18:return"color-dodge" +case 19:return"color-burn" +case 20:return"hard-light" +case 21:return"soft-light" +case 22:return"difference" +case 23:return"exclusion" +case 25:return"hue" +case 26:return"saturation" +case 27:return"color" +case 28:return"luminosity" +default:throw A.c(A.cp("Flutter Web does not support the blend mode: "+a.j(0)))}}, +auw(a){switch(a.a){case 0:return B.KV +case 3:return B.KW +case 5:return B.KX +case 7:return B.KZ +case 9:return B.L_ +case 4:return B.L0 +case 6:return B.L1 +case 8:return B.L2 +case 10:return B.L3 +case 12:return B.L4 +case 1:return B.L5 +case 11:return B.KY +case 24:case 13:return B.Le +case 14:return B.Lf +case 15:return B.Li +case 16:return B.Lg +case 17:return B.Lh +case 18:return B.Lj +case 19:return B.Lk +case 20:return B.Ll +case 21:return B.L7 +case 22:return B.L8 +case 23:return B.L9 +case 25:return B.La +case 26:return B.Lb +case 27:return B.Lc +case 28:return B.Ld +default:return B.L6}}, +avo(a){if(a==null)return null +switch(a.a){case 0:return"butt" +case 1:return"round" +case 2:default:return"square"}}, +aJN(a){switch(a.a){case 1:return"round" +case 2:return"bevel" +case 0:default:return"miter"}}, +and(a8,a9,b0,b1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=null,a5=t.J,a6=A.b([],a5),a7=a8.length +for(s=a4,r=s,q=0;q0){q=p/2 +m-=q +j-=q +s=Math.max(0,s-p) +r=Math.max(0,r-p)}if(m!==o||j!==l||s!==n||r!==k)return new A.x(m,j,m+s,j+r) +return a}, +Dh(a,b,c,d){var s,r,q,p,o,n,m,l,k,j=A.aS(self.document,c),i=b.b===B.X,h=b.c +if(h==null)h=0 +if(d.rr(0)){s=a.a +r=a.b +q="translate("+A.h(s)+"px, "+A.h(r)+"px)"}else{s=new Float32Array(16) +p=new A.bp(s) +p.ba(d) +r=a.a +o=a.b +p.aq(0,r,o) +q=A.fk(s) +s=r +r=o}n=j.style +A.l(n,"position","absolute") +A.l(n,"transform-origin","0 0 0") +A.l(n,"transform",q) +m=A.cM(b.r) +o=b.x +if(o!=null){l=o.b +if($.aw().gby()===B.K&&!i){A.l(n,"box-shadow","0px 0px "+A.h(l*2)+"px "+m) +o=b.r +m=A.cM(((B.c.a7((1-Math.min(Math.sqrt(l)/6.283185307179586,1))*(o>>>24&255))&255)<<24|o&16777215)>>>0)}else A.l(n,"filter","blur("+A.h(l)+"px)")}A.l(n,"width",A.h(a.c-s)+"px") +A.l(n,"height",A.h(a.d-r)+"px") +if(i)A.l(n,"border",A.kz(h)+" solid "+m) +else{A.l(n,"background-color",m) +k=A.aH3(b.w,a) +A.l(n,"background-image",k!==""?"url('"+k+"'":"")}return j}, +aH3(a,b){if(a!=null)if(a instanceof A.wa)return A.bw(a.OC(b,1,!0)) +return""}, +auu(a,b){var s,r=b.e,q=b.r,p=!1 +if(r===q){s=b.z +if(r===s){p=b.x +p=r===p&&r===b.f&&q===b.w&&s===b.Q&&p===b.y}}if(p){A.l(a,"border-radius",A.kz(b.z)) +return}A.l(a,"border-top-left-radius",A.kz(r)+" "+A.kz(b.f)) +A.l(a,"border-top-right-radius",A.kz(q)+" "+A.kz(b.w)) +A.l(a,"border-bottom-left-radius",A.kz(b.z)+" "+A.kz(b.Q)) +A.l(a,"border-bottom-right-radius",A.kz(b.x)+" "+A.kz(b.y))}, +kz(a){return B.c.R(a===0?1:a,3)+"px"}, +aqe(a,b,c){return new A.wg(a,b,c)}, +alc(a,b,c){var s,r,q,p,o,n,m +if(0===b){c.push(new A.n(a.c,a.d)) +c.push(new A.n(a.e,a.f)) +return}s=new A.Ml() +a.Ie(s) +r=s.a +r.toString +q=s.b +q.toString +p=a.b +o=a.f +if(A.dk(p,a.d,o)){n=r.f +if(!A.dk(p,n,o))m=r.f=q.b=Math.abs(n-p)0){s=b[7] +b[9]=s +b[5]=s +if(o===2){s=b[13] +b[15]=s +b[11]=s}}return o}, +aGu(b0,b1,b2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9=b0.length +if(0===a9)for(s=0;s<8;++s)b2[s]=b1[s] +else{r=b0[0] +for(q=a9-1,p=0,s=0;s0))return 0 +s=1 +r=0}q=h-i +p=g-h +o=f-g +do{n=(r+s)/2 +m=i+q*n +l=h+p*n +k=m+(l-m)*n +j=k+(l+(g+o*n-l)*n-k)*n +if(j===0)return n +if(j<0)s=n +else r=n}while(Math.abs(r-s)>0.0000152587890625) +return(s+r)/2}, +auQ(a,b,c,d,e){return(((d+3*(b-c)-a)*e+3*(c-b-b+a))*e+3*(b-a))*e+a}, +amC(){var s=new A.rh(A.arf(),B.b2) +s.Lt() +return s}, +aGa(a,b,c){var s +if(0===c)s=0===b||360===b +else s=!1 +if(s)return new A.n(a.c,a.gaQ().b) +return null}, +aj4(a,b,c,d){var s=a+b +if(s<=c)return d +return Math.min(c/s,d)}, +are(a,b){var s=new A.a5M(a,!0,a.w) +if(a.Q)a.zF() +if(!a.as)s.z=a.w +return s}, +arf(){var s=new Float32Array(16) +s=new A.qB(s,new Uint8Array(8)) +s.e=s.c=8 +s.CW=172 +return s}, +aCx(a,b,c){var s,r,q=a.d,p=a.c,o=new Float32Array(p*2),n=a.f,m=q*2 +for(s=0;s0?1:0 +return s}, +U4(a,b){var s +if(a<0){a=-a +b=-b}if(b===0||a===0||a>=b)return null +s=a/b +if(isNaN(s))return null +if(s===0)return null +return s}, +aJl(a){var s,r,q=a.e,p=a.r +if(q+p!==a.c-a.a)return!1 +s=a.f +r=a.w +if(s+r!==a.d-a.b)return!1 +if(q!==a.z||p!==a.x||s!==a.Q||r!==a.y)return!1 +return!0}, +arZ(a,b,c,d,e,f){return new A.a9H(e-2*c+a,f-2*d+b,2*(c-a),2*(d-b),a,b)}, +a5P(a,b,c,d,e,f){if(d===f)return A.dk(c,a,e)&&a!==e +else return a===c&&b===d}, +aCy(a){var s,r,q,p,o=a[0],n=a[1],m=a[2],l=a[3],k=a[4],j=a[5],i=n-l,h=A.U4(i,i-l+j) +if(h!=null){s=o+h*(m-o) +r=n+h*(l-n) +q=m+h*(k-m) +p=l+h*(j-l) +a[2]=s +a[3]=r +a[4]=s+h*(q-s) +a[5]=r+h*(p-r) +a[6]=q +a[7]=p +a[8]=k +a[9]=j +return 1}a[3]=Math.abs(i)=q}, +aJU(a,b,c,d){var s,r,q,p,o=a[1],n=a[3] +if(!A.dk(o,c,n))return +s=a[0] +r=a[2] +if(!A.dk(s,b,r))return +q=r-s +p=n-o +if(!(Math.abs((b-s)*p-q*(c-o))<0.000244140625))return +d.push(new A.n(q,p))}, +aJV(a,b,c,d){var s,r,q,p,o,n,m,l,k,j,i=a[1],h=a[3],g=a[5] +if(!A.dk(i,c,h)&&!A.dk(h,c,g))return +s=a[0] +r=a[2] +q=a[4] +if(!A.dk(s,b,r)&&!A.dk(r,b,q))return +p=new A.k2() +o=p.kF(i-2*h+g,2*(h-i),i-c) +for(n=q-2*r+s,m=2*(r-s),l=0;l30)B.b.f3($.kD,0).d.l()}else a.d.l()}}, +a5T(a,b){if(a<=0)return b*0.1 +else return Math.min(Math.max(b*0.5,a*10),b)}, +aGB(a7,a8,a9){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6 +if(a7!=null){s=a7.a +s=s[15]===1&&s[0]===1&&s[1]===0&&s[2]===0&&s[3]===0&&s[4]===0&&s[5]===1&&s[6]===0&&s[7]===0&&s[8]===0&&s[9]===0&&s[10]===1&&s[11]===0}else s=!0 +if(s)return 1 +r=a7.a +s=r[12] +q=r[15] +p=s*q +o=r[13] +n=o*q +m=r[3] +l=m*a8 +k=r[7] +j=k*a9 +i=1/(l+j+q) +h=r[0] +g=h*a8 +f=r[4] +e=f*a9 +d=(g+e+s)*i +c=r[1] +b=c*a8 +a=r[5] +a0=a*a9 +a1=(b+a0+o)*i +a2=Math.min(p,d) +a3=Math.max(p,d) +a4=Math.min(n,a1) +a5=Math.max(n,a1) +i=1/(m*0+j+q) +d=(h*0+e+s)*i +a1=(c*0+a0+o)*i +p=Math.min(a2,d) +a3=Math.max(a3,d) +n=Math.min(a4,a1) +a5=Math.max(a5,a1) +i=1/(l+k*0+q) +d=(g+f*0+s)*i +a1=(b+a*0+o)*i +p=Math.min(p,d) +a3=Math.max(a3,d) +n=Math.min(n,a1) +a6=Math.min((a3-p)/a8,(Math.max(a5,a1)-n)/a9) +if(a6<1e-9||a6===1)return 1 +if(a6>1){a6=Math.min(4,B.c.d4(a6/2)*2) +s=a8*a9 +if(s*a6*a6>4194304&&a6>2)a6=3355443.2/s}else a6=Math.max(2/B.c.d1(2/a6),0.0001) +return a6}, +tM(a){var s,r=a.a,q=r.x,p=q!=null?0+q.b*2:0 +r=r.c +s=r==null +if((s?0:r)!==0)p+=(s?0:r)*0.70710678118 +return p}, +aIO(a){if($.a7P!=null)return +$.a7P=new A.a7O(a.gcs())}, +aCs(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=B.b.jd(a,new A.a5o()),g=B.b.gP(B.lB)!==1,f=g?3:2,e=f*4,d=new Float32Array(e),c=new Float32Array(e) +e=f-1 +s=B.f.c7(e,4) +r=new Float32Array(4*(s+1)) +for(q=0,p=0;p<2;++p){o=q+1 +s=a[p].a +d[q]=(s>>>16&255)/255 +q=o+1 +d[o]=(s>>>8&255)/255 +o=q+1 +d[q]=(s&255)/255 +q=o+1 +d[o]=(s>>>24&255)/255}for(n=0,p=0;p<2;++p,n=m){m=n+1 +r[n]=B.lB[p]}if(g){o=q+1 +s=B.b.gP(a).a +d[q]=(s>>>16&255)/255 +q=o+1 +d[o]=(s>>>8&255)/255 +d[q]=(s&255)/255 +d[q+1]=(s>>>24&255)/255 +r[n]=1}l=4*e +for(k=0;k>>2 +c[k]=(d[k+4]-d[k])/(r[n+1]-r[n])}c[l]=0 +c[l+1]=0 +c[l+2]=0 +c[l+3]=0 +for(k=0;k 1.0) {") +n.push(" "+a.gPM().a+" = vec4(0, 0, 0, 0);") +n.push(" return;") +n.push("}")}return o}, +aIz(a){if(a==null)return null +switch(0){case 0:return new A.x6(a.a,a.b)}}, +aDR(a){switch(a){case 0:return"bool" +case 1:return"int" +case 2:return"float" +case 3:return"bvec2" +case 4:return"bvec3" +case 5:return"bvec4" +case 6:return"ivec2" +case 7:return"ivec3" +case 8:return"ivec4" +case 9:return"vec2" +case 10:return"vec3" +case 11:return"vec4" +case 12:return"mat2" +case 13:return"mat3" +case 14:return"mat4" +case 15:return"sampler1D" +case 16:return"sampler2D" +case 17:return"sampler3D" +case 18:return"void"}throw A.c(A.cx(null,null))}, +aId(a){var s,r,q,p=$.akp,o=p.length +if(o!==0)try{if(o>1)B.b.en(p,new A.ajP()) +for(p=$.akp,o=p.length,r=0;r=s)return!1 +if(a[n]!==o.charCodeAt(p))continue $label0$0}return!0}return!1}, +aJD(a){$.kC.push(a)}, +akc(a){return A.aJd(a)}, +aJd(a){var s=0,r=A.C(t.H),q,p,o,n,m +var $async$akc=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:m={} +if($.Dc!==B.l3){s=1 +break}$.Dc=B.B3 +p=A.d9() +if(a!=null)p.b=a +p=new A.ake() +o=t.N +A.eE("ext.flutter.disassemble","method",o) +if(!B.d.c6("ext.flutter.disassemble","ext."))A.aa(A.fn("ext.flutter.disassemble","method","Must begin with ext.")) +if($.atV.i(0,"ext.flutter.disassemble")!=null)A.aa(A.cx("Extension already registered: ext.flutter.disassemble",null)) +A.eE(p,"handler",t.xd) +$.atV.n(0,"ext.flutter.disassemble",$.ad.a7O(p,t.Z9,o,t.GU)) +m.a=!1 +$.avl=new A.akf(m) +m=A.d9().b +if(m==null)m=null +else{m=m.assetBase +if(m==null)m=null}n=new A.UR(m) +A.aHH(n) +s=3 +return A.y(A.ni(A.b([new A.akg().$0(),A.TM()],t.mo),t.H),$async$akc) +case 3:$.Dc=B.l4 +case 1:return A.A(q,r)}}) +return A.B($async$akc,r)}, +anJ(){var s=0,r=A.C(t.H),q,p,o,n +var $async$anJ=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:if($.Dc!==B.l4){s=1 +break}$.Dc=B.B4 +p=$.aw().gbX() +if($.IY==null)$.IY=A.aDb(p===B.b0) +if($.alW==null)$.alW=A.aBG() +p=A.d9().b +if(p==null)p=null +else{p=p.multiViewEnabled +if(p==null)p=null}if(p!==!0){p=A.d9().b +p=p==null?null:p.hostElement +if($.p9==null){o=$.az() +n=new A.pS(A.ce(null,t.H),0,o,A.apY(p),null,B.cL,A.apo(p)) +n.Hu(0,o,p,null) +$.p9=n +p=o.gbY() +o=$.p9 +o.toString +p.ae1(o)}p=$.p9 +p.toString +if($.ap() instanceof A.GB)A.aIO(p)}$.Dc=B.B5 +case 1:return A.A(q,r)}}) +return A.B($async$anJ,r)}, +aHH(a){if(a===$.tL)return +$.tL=a}, +TM(){var s=0,r=A.C(t.H),q,p,o +var $async$TM=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:p=$.ap() +p.grb().I(0) +q=$.tL +s=q!=null?2:3 +break +case 2:p=p.grb() +q=$.tL +q.toString +o=p +s=5 +return A.y(A.TW(q),$async$TM) +case 5:s=4 +return A.y(o.jB(b),$async$TM) +case 4:case 3:return A.A(null,r)}}) +return A.B($async$TM,r)}, +aAZ(a,b){return t.e.a({addView:A.b6(a),removeView:A.b6(new A.Ze(b))})}, +aB_(a,b){var s,r=A.b6(new A.Zg(b)),q=new A.Zh(a) +if(typeof q=="function")A.aa(A.cx("Attempting to rewrap a JS function.",null)) +s=function(c,d){return function(){return c(d)}}(A.aGj,q) +s[$.U5()]=q +return t.e.a({initializeEngine:r,autoStart:s})}, +aAY(a){return t.e.a({runApp:A.b6(new A.Zd(a))})}, +anD(a,b){var s=A.ajg(new A.ak2(a,b)) +return new self.Promise(s)}, +ang(a){var s=B.c.Y(a) +return A.cP(B.c.Y((a-s)*1000),s)}, +aGh(a,b){var s={} +s.a=null +return new A.aiV(s,a,b)}, +aBG(){var s=new A.GZ(A.E(t.N,t.e)) +s.XP() +return s}, +aBI(a){switch(a.a){case 0:case 4:return new A.wN(A.ao_("M,2\u201ew\u2211wa2\u03a9q\u2021qb2\u02dbx\u2248xc3 c\xd4j\u2206jd2\xfee\xb4ef2\xfeu\xa8ug2\xfe\xff\u02c6ih3 h\xce\xff\u2202di3 i\xc7c\xe7cj2\xd3h\u02d9hk2\u02c7\xff\u2020tl5 l@l\xfe\xff|l\u02dcnm1~mn3 n\u0131\xff\u222bbo2\xaer\u2030rp2\xacl\xd2lq2\xc6a\xe6ar3 r\u03c0p\u220fps3 s\xd8o\xf8ot2\xa5y\xc1yu3 u\xa9g\u02ddgv2\u02dak\uf8ffkw2\xc2z\xc5zx2\u0152q\u0153qy5 y\xcff\u0192f\u02c7z\u03a9zz5 z\xa5y\u2021y\u2039\xff\u203aw.2\u221av\u25cav;4\xb5m\xcds\xd3m\xdfs/2\xb8z\u03a9z")) +case 3:return new A.wN(A.ao_(';b1{bc1&cf1[fg1]gm2y')) +case 1:case 2:case 5:return new A.wN(A.ao_("8a2@q\u03a9qk1&kq3@q\xc6a\xe6aw2xy2\xa5\xff\u2190\xffz51)s.push(new A.ls(B.b.gH(o),B.b.gP(o))) +else s.push(new A.ls(p,null))}return s}, +aH9(a,b){var s=a.h4(b),r=A.aIM(A.bw(s.b)) +switch(s.a){case"setDevicePixelRatio":$.bq().d=r +$.az().x.$0() +return!0}return!1}, +kF(a,b){if(a==null)return +if(b===$.ad)a.$0() +else b.t6(a)}, +kG(a,b,c){if(a==null)return +if(b===$.ad)a.$1(c) +else b.t8(a,c)}, +aJg(a,b,c,d){if(b===$.ad)a.$2(c,d) +else b.t6(new A.aki(a,c,d))}, +aIU(){var s,r,q,p=self.document.documentElement +p.toString +s=null +if("computedStyleMap" in p){r=p.computedStyleMap() +if(r!=null){q=r.get("font-size") +s=q!=null?q.value:null}}if(s==null)s=A.avd(A.aly(self.window,p).getPropertyValue("font-size")) +return(s==null?16:s)/16}, +atR(a,b){var s +b.toString +t.d.a(b) +s=A.aS(self.document,A.bw(J.ah(b,"tagName"))) +A.l(s.style,"width","100%") +A.l(s.style,"height","100%") +return s}, +auI(a){var s,r,q=A.aS(self.document,"flt-platform-view-slot") +A.l(q.style,"pointer-events","auto") +s=A.aS(self.document,"slot") +r=A.a4("flt-pv-slot-"+a) +if(r==null)r=t.K.a(r) +s.setAttribute("name",r) +q.append(s) +return q}, +aIm(a){switch(a){case 0:return 1 +case 1:return 4 +case 2:return 2 +default:return B.f.TL(1,a)}}, +aqH(a,b,c,d){var s,r,q=A.b6(b) +if(c==null)A.bV(d,a,q,null) +else{s=t.K +r=A.a4(A.as(["passive",c],t.N,s)) +s=r==null?s.a(r):r +d.addEventListener(a,q,s)}return new A.Hb(a,d,q)}, +rP(a){var s=B.c.Y(a) +return A.cP(B.c.Y((a-s)*1000),s)}, +auD(a,b){var s,r,q,p,o=b.gcs().a,n=$.bh +if((n==null?$.bh=A.cX():n).b&&a.offsetX===0&&a.offsetY===0)return A.aGA(a,o) +n=b.gcs() +s=a.target +s.toString +if(n.e.contains(s)){n=$.DK() +r=n.gfa().w +if(r!=null){a.target.toString +n.gfa().c.toString +q=new A.bp(r.c).rV(a.offsetX,a.offsetY,0) +return new A.n(q.a,q.b)}}if(!J.e(a.target,o)){p=o.getBoundingClientRect() +return new A.n(a.clientX-p.x,a.clientY-p.y)}return new A.n(a.offsetX,a.offsetY)}, +aGA(a,b){var s,r,q=a.clientX,p=a.clientY +for(s=b;s.offsetParent!=null;s=r){q-=s.offsetLeft-s.scrollLeft +p-=s.offsetTop-s.scrollTop +r=s.offsetParent +r.toString}return new A.n(q,p)}, +akB(a,b){var s=b.$0() +return s}, +aDb(a){var s=new A.a6C(A.E(t.N,t.qe),a) +s.XU(a) +return s}, +aHA(a){}, +anF(a,b){return a[b]}, +avd(a){var s=self.window.parseFloat(a) +if(s==null||isNaN(s))return null +return s}, +aJA(a){var s,r,q=null +if("computedStyleMap" in a){s=a.computedStyleMap() +if(s!=null){r=s.get("font-size") +q=r!=null?r.value:null}}return q==null?A.avd(A.aly(self.window,a).getPropertyValue("font-size")):q}, +aK6(a,b){var s,r=self.document.createElement("CANVAS") +if(r==null)return null +try{A.l6(r,a) +A.l5(r,b)}catch(s){return null}return r}, +rC(a){var s=a.format +return s==null?null:s}, +ar5(){var s=$.ar4 +if(s==null)s=$.ar4=$.aw().gby()!==B.K&&"OffscreenCanvas" in self.window +return s}, +aoM(a){var s=a===B.h0?"assertive":"polite",r=A.aS(self.document,"flt-announcement-"+s),q=r.style +A.l(q,"position","fixed") +A.l(q,"overflow","hidden") +A.l(q,"transform","translate(-99999px, -99999px)") +A.l(q,"width","1px") +A.l(q,"height","1px") +q=A.a4(s) +if(q==null)q=t.K.a(q) +r.setAttribute("aria-live",q) +return r}, +aGs(a){var s=a.a +if((s&256)!==0)return B.RH +else if((s&65536)!==0)return B.RI +else return B.RG}, +aA5(a){var s=new A.Fs(B.fc,a),r=A.xS(s.bf(0),a) +s.a!==$&&A.bx() +s.a=r +s.XI(a) +return s}, +alH(a,b){return new A.Ge(new A.DR(a.k3),a,b)}, +aBw(a){var s=new A.a0z(A.aS(self.document,"input"),new A.DR(a.k3),B.vO,a),r=A.xS(s.bf(0),a) +s.a!==$&&A.bx() +s.a=r +s.XN(a) +return s}, +aDX(){var s,r,q,p,o,n,m,l,k,j,i=$.Kf +$.Kf=null +if(i==null||i.length===0)return +s=A.b([],t.Nt) +for(r=i.length,q=0;p=i.length,q")).bw(0," ") +return r.length!==0?r:null}, +xS(a,b){var s,r=a.style +A.l(r,"position","absolute") +A.l(r,"overflow","visible") +r=b.k2 +s=A.a4("flt-semantic-node-"+r) +if(s==null)s=t.K.a(s) +a.setAttribute("id",s) +if(r===0&&!A.d9().gCX()){A.l(a.style,"filter","opacity(0%)") +A.l(a.style,"color","rgba(0,0,0,0)")}if(A.d9().gCX())A.l(a.style,"outline","1px solid green") +return a}, +a9d(a){var s=a.style +s.removeProperty("transform-origin") +s.removeProperty("transform") +if($.aw().gbX()===B.ak||$.aw().gbX()===B.b0){s=a.style +A.l(s,"top","0px") +A.l(s,"left","0px")}else{s=a.style +s.removeProperty("top") +s.removeProperty("left")}}, +cX(){var s,r,q,p=A.aS(self.document,"flt-announcement-host") +self.document.body.append(p) +s=A.aoM(B.h_) +r=A.aoM(B.h0) +p.append(s) +p.append(r) +q=B.j7.p(0,$.aw().gbX())?new A.Xk():new A.a4B() +return new A.YK(new A.Up(s,r),new A.YP(),new A.a99(q),B.cn,A.b([],t.s2))}, +aAM(a){var s=t.S,r=t.UF +r=new A.YL(a,A.E(s,r),A.E(s,r),A.b([],t.Qo),A.b([],t.c)) +r.XK(a) +return r}, +anM(a){var s,r,q,p,o,n,m,l,k=a.length,j=t.t,i=A.b([],j),h=A.b([0],j) +for(s=0,r=0;r=h.length)h.push(r) +else h[o]=r +if(o>s)s=o}m=A.b8(s,0,!1,t.S) +l=h[s] +for(r=s-1;r>=0;--r){m[r]=l +l=i[l]}return m}, +KK(a,b){var s=new A.KJ(a,b) +s.XZ(a,b) +return s}, +aDO(a){var s,r=$.z0 +if(r!=null)s=r.a===a +else s=!1 +if(s){r.toString +return r}return $.z0=new A.a9j(a,A.b([],t.Up),$,$,$,null)}, +amQ(){var s=new Uint8Array(0),r=new DataView(new ArrayBuffer(8)) +return new A.ac9(new A.L7(s,0),r,A.dh(r.buffer,0,null))}, +auE(a){if(a===0)return B.h +return new A.n(200*a/600,400*a/600)}, +aIi(a,b){var s,r,q,p,o,n +if(b===0)return a +s=a.c +r=a.a +q=a.d +p=a.b +o=b*((800+(s-r)*0.5)/600) +n=b*((800+(q-p)*0.5)/600) +return new A.x(r-o,p-n,s+o,q+n).cX(A.auE(b)).ec(20)}, +aIk(a,b){if(b===0)return null +return new A.aao(Math.min(b*((800+(a.c-a.a)*0.5)/600),b*((800+(a.d-a.b)*0.5)/600)),A.auE(b))}, +auJ(){var s=self.document.createElementNS("http://www.w3.org/2000/svg","svg"),r=A.a4("1.1") +if(r==null)r=t.K.a(r) +s.setAttribute("version",r) +return s}, +a89(a,b){a.valueAsString=b +return b}, +a87(a,b){a.baseVal=b +return b}, +qV(a,b){a.baseVal=b +return b}, +a88(a,b){a.baseVal=b +return b}, +alY(a,b,c,d,e,f,g,h){return new A.ha($,$,$,$,$,$,$,$,$,0,c,d,e,f,g,h,a,b)}, +aqD(a,b,c,d,e,f){var s=new A.a1p(d,f,a,b,e,c) +s.pR() +return s}, +auP(){var s=$.ajx +if(s==null){s=t.jQ +s=$.ajx=new A.kf(A.anq(u.K,937,B.lN,s),B.aN,A.E(t.S,s),t.MX)}return s}, +aBL(a){if(self.Intl.v8BreakIterator!=null)return new A.abT(A.auL(),a) +return new A.YU(a)}, +aux(a,b,c){var s,r,q,p,o,n,m,l,k=A.b([],t._f) +c.adoptText(b) +c.first() +for(s=a.length,r=0;c.next()!==-1;r=q){q=B.c.Y(c.current()) +for(p=r,o=0,n=0;p0){k.push(new A.ln(B.bS,o,n,r,p)) +r=p +o=0 +n=0}}if(o>0)l=B.bs +else l=q===s?B.bt:B.bS +k.push(new A.ln(l,o,n,r,q))}if(k.length===0||B.b.gP(k).c===B.bs)k.push(new A.ln(B.bt,0,0,s,s)) +return k}, +aGz(a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a={},a0=A.b([],t._f) +a.a=a.b=null +s=A.Dk(a1,0) +r=A.auP().o1(s) +a.c=a.d=a.e=a.f=0 +q=new A.aj3(a,a1,a0) +q.$2(B.q,2) +p=++a.f +for(o=a1.length,n=t.jQ,m=t.S,l=t.MX,k=B.aN,j=0;p<=o;p=++a.f){a.b=a.a +a.a=r +if(s!=null&&s>65535){q.$2(B.q,-1) +p=++a.f}s=A.Dk(a1,p) +p=$.ajx +r=(p==null?$.ajx=new A.kf(A.anq(u.K,937,B.lN,n),B.aN,A.E(m,n),l):p).o1(s) +i=a.a +j=i===B.eL?j+1:0 +if(i===B.dk||i===B.eJ){q.$2(B.bs,5) +continue}if(i===B.eN){if(r===B.dk)q.$2(B.q,5) +else q.$2(B.bs,5) +continue}if(r===B.dk||r===B.eJ||r===B.eN){q.$2(B.q,6) +continue}p=a.f +if(p>=o)break +if(r===B.cp||r===B.i3){q.$2(B.q,7) +continue}if(i===B.cp){q.$2(B.bS,18) +continue}if(i===B.i3){q.$2(B.bS,8) +continue}if(i===B.i4){q.$2(B.q,8) +continue}h=i===B.hZ +if(!h)k=i==null?B.aN:i +if(r===B.hZ||r===B.i4){if(k!==B.cp){if(k===B.eL)--j +q.$2(B.q,9) +r=k +continue}r=B.aN}if(h){a.a=k +h=k}else h=i +if(r===B.i6||h===B.i6){q.$2(B.q,11) +continue}if(h===B.i1){q.$2(B.q,12) +continue}g=h!==B.cp +if(!(!g||h===B.eG||h===B.dj)&&r===B.i1){q.$2(B.q,12) +continue}if(g)g=r===B.i0||r===B.di||r===B.lz||r===B.eH||r===B.i_ +else g=!1 +if(g){q.$2(B.q,13) +continue}if(h===B.dh){q.$2(B.q,14) +continue}g=h===B.i9 +if(g&&r===B.dh){q.$2(B.q,15) +continue}f=h!==B.i0 +if((!f||h===B.di)&&r===B.i2){q.$2(B.q,16) +continue}if(h===B.i5&&r===B.i5){q.$2(B.q,17) +continue}if(g||r===B.i9){q.$2(B.q,19) +continue}if(h===B.i8||r===B.i8){q.$2(B.bS,20) +continue}if(r===B.eG||r===B.dj||r===B.i2||h===B.lx){q.$2(B.q,21) +continue}if(a.b===B.aM)g=h===B.dj||h===B.eG +else g=!1 +if(g){q.$2(B.q,21) +continue}g=h===B.i_ +if(g&&r===B.aM){q.$2(B.q,21) +continue}if(r===B.ly){q.$2(B.q,22) +continue}e=h!==B.aN +if(!((!e||h===B.aM)&&r===B.bu))if(h===B.bu)d=r===B.aN||r===B.aM +else d=!1 +else d=!0 +if(d){q.$2(B.q,23) +continue}d=h===B.eO +if(d)c=r===B.i7||r===B.eK||r===B.eM +else c=!1 +if(c){q.$2(B.q,23) +continue}if((h===B.i7||h===B.eK||h===B.eM)&&r===B.bT){q.$2(B.q,23) +continue}c=!d +if(!c||h===B.bT)b=r===B.aN||r===B.aM +else b=!1 +if(b){q.$2(B.q,24) +continue}if(!e||h===B.aM)b=r===B.eO||r===B.bT +else b=!1 +if(b){q.$2(B.q,24) +continue}if(!f||h===B.di||h===B.bu)f=r===B.bT||r===B.eO +else f=!1 +if(f){q.$2(B.q,25) +continue}f=h!==B.bT +if((!f||d)&&r===B.dh){q.$2(B.q,25) +continue}if((!f||!c||h===B.dj||h===B.eH||h===B.bu||g)&&r===B.bu){q.$2(B.q,25) +continue}g=h===B.eI +if(g)f=r===B.eI||r===B.dl||r===B.dn||r===B.dp +else f=!1 +if(f){q.$2(B.q,26) +continue}f=h!==B.dl +if(!f||h===B.dn)c=r===B.dl||r===B.dm +else c=!1 +if(c){q.$2(B.q,26) +continue}c=h!==B.dm +if((!c||h===B.dp)&&r===B.dm){q.$2(B.q,26) +continue}if((g||!f||!c||h===B.dn||h===B.dp)&&r===B.bT){q.$2(B.q,27) +continue}if(d)g=r===B.eI||r===B.dl||r===B.dm||r===B.dn||r===B.dp +else g=!1 +if(g){q.$2(B.q,27) +continue}if(!e||h===B.aM)g=r===B.aN||r===B.aM +else g=!1 +if(g){q.$2(B.q,28) +continue}if(h===B.eH)g=r===B.aN||r===B.aM +else g=!1 +if(g){q.$2(B.q,29) +continue}g=!1 +if(!e||h===B.aM||h===B.bu)if(r===B.dh){g=a1.charCodeAt(p) +f=!0 +if(g!==9001)if(!(g>=12296&&g<=12317))g=g>=65047&&g<=65378 +else g=f +else g=f +g=!g}if(g){q.$2(B.q,30) +continue}g=!1 +if(h===B.di){p=a1.charCodeAt(p-1) +f=!0 +if(p!==9001)if(!(p>=12296&&p<=12317))p=p>=65047&&p<=65378 +else p=f +else p=f +if(!p)p=r===B.aN||r===B.aM||r===B.bu +else p=g}else p=g +if(p){q.$2(B.q,30) +continue}if(r===B.eL){if((j&1)===1)q.$2(B.q,30) +else q.$2(B.bS,30) +continue}if(h===B.eK&&r===B.eM){q.$2(B.q,30) +continue}q.$2(B.bS,31)}q.$2(B.bt,3) +return a0}, +mB(a,b,c,d,e){var s,r,q,p +if(c===d)return 0 +s=a.font +if(c===$.au7&&d===$.au6&&b===$.au8&&s===$.au5)r=$.au9 +else{q=c===0&&d===b.length?b:B.d.W(b,c,d) +p=a.measureText(q).width +if(p==null)p=null +p.toString +r=p}$.au7=c +$.au6=d +$.au8=b +$.au5=s +$.au9=r +if(e==null)e=0 +return B.c.a7((e!==0?r+e*(d-c):r)*100)/100}, +aq_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,a0,a1,a2,a3){var s=g==null,r=s?"":g +return new A.vG(b,c,d,e,f,m,k,a2,!s,r,h,i,l,j,q,a3,o,p,a0,a,n,a1)}, +anB(a){switch(a){case 0:return"100" +case 1:return"200" +case 2:return"300" +case 3:return"normal" +case 4:return"500" +case 5:return"600" +case 6:return"bold" +case 7:return"800" +case 8:return"900"}return""}, +aHI(a){var s,r,q,p,o=a.length +if(o===0)return"" +for(s=0,r="";s=48&&q<=57))s=q>=1632&&q<=1641 +else s=!0 +if(s)return B.p +r=$.aox().o1(q) +if(r!=null)return r +return null}, +ani(a,b){var s=A.Dk(a,b) +s.toString +if(s>=48&&s<=57)return B.ez +if(s>=1632&&s<=1641)return B.lm +switch($.aox().o1(s)){case B.p:return B.ll +case B.P:return B.lm +case null:case void 0:return B.hS}}, +Dk(a,b){var s,r +if(b<0||b>=a.length)return null +s=a.charCodeAt(b) +if((s&63488)===55296&&b>>6&31)+1<<16|(r&63)<<10|a.charCodeAt(b+1)&1023}return s}, +aEE(a,b,c){return new A.kf(a,b,A.E(t.S,c),c.h("kf<0>"))}, +aEF(a,b,c,d,e){return new A.kf(A.anq(a,b,c,e),d,A.E(t.S,e),e.h("kf<0>"))}, +anq(a,b,c,d){var s,r,q,p,o,n=A.b([],d.h("v>")),m=a.length +for(s=d.h("ci<0>"),r=0;r=0&&q<=r))break +q+=s +if(A.aES(b,q))break}return A.my(q,0,r)}, +aES(a,b){var s,r,q,p,o,n,m,l,k,j=null +if(b<=0||b>=a.length)return!0 +s=b-1 +if((a.charCodeAt(s)&63488)===55296)return!1 +r=$.DL().ws(0,a,b) +q=$.DL().ws(0,a,s) +if(q===B.fG&&r===B.fH)return!1 +if(A.dA(q,B.jE,B.fG,B.fH,j,j))return!0 +if(A.dA(r,B.jE,B.fG,B.fH,j,j))return!0 +if(q===B.jD&&r===B.jD)return!1 +if(A.dA(r,B.e3,B.e4,B.e2,j,j))return!1 +for(p=0;A.dA(q,B.e3,B.e4,B.e2,j,j);){++p +s=b-p-1 +if(s<0)return!0 +o=$.DL() +n=A.Dk(a,s) +q=n==null?o.b:o.o1(n)}if(A.dA(q,B.aT,B.aw,j,j,j)&&A.dA(r,B.aT,B.aw,j,j,j))return!1 +m=0 +do{++m +l=$.DL().ws(0,a,b+m)}while(A.dA(l,B.e3,B.e4,B.e2,j,j)) +do{++p +k=$.DL().ws(0,a,b-p-1)}while(A.dA(k,B.e3,B.e4,B.e2,j,j)) +if(A.dA(q,B.aT,B.aw,j,j,j)&&A.dA(r,B.jB,B.e1,B.cN,j,j)&&A.dA(l,B.aT,B.aw,j,j,j))return!1 +if(A.dA(k,B.aT,B.aw,j,j,j)&&A.dA(q,B.jB,B.e1,B.cN,j,j)&&A.dA(r,B.aT,B.aw,j,j,j))return!1 +s=q===B.aw +if(s&&r===B.cN)return!1 +if(s&&r===B.jA&&l===B.aw)return!1 +if(k===B.aw&&q===B.jA&&r===B.aw)return!1 +s=q===B.bm +if(s&&r===B.bm)return!1 +if(A.dA(q,B.aT,B.aw,j,j,j)&&r===B.bm)return!1 +if(s&&A.dA(r,B.aT,B.aw,j,j,j))return!1 +if(k===B.bm&&A.dA(q,B.jC,B.e1,B.cN,j,j)&&r===B.bm)return!1 +if(s&&A.dA(r,B.jC,B.e1,B.cN,j,j)&&l===B.bm)return!1 +if(q===B.e5&&r===B.e5)return!1 +if(A.dA(q,B.aT,B.aw,B.bm,B.e5,B.fF)&&r===B.fF)return!1 +if(q===B.fF&&A.dA(r,B.aT,B.aw,B.bm,B.e5,j))return!1 +return!0}, +dA(a,b,c,d,e,f){if(a===b)return!0 +if(a===c)return!0 +if(d!=null&&a===d)return!0 +if(e!=null&&a===e)return!0 +if(f!=null&&a===f)return!0 +return!1}, +aAJ(a){switch(a){case"TextInputAction.continueAction":case"TextInputAction.next":return B.yZ +case"TextInputAction.previous":return B.z7 +case"TextInputAction.done":return B.yv +case"TextInputAction.go":return B.yM +case"TextInputAction.newline":return B.yz +case"TextInputAction.search":return B.zd +case"TextInputAction.send":return B.ze +case"TextInputAction.emergencyCall":case"TextInputAction.join":case"TextInputAction.none":case"TextInputAction.route":case"TextInputAction.unspecified":default:return B.z_}}, +apZ(a,b,c){switch(a){case"TextInputType.number":return b?B.yq:B.z1 +case"TextInputType.phone":return B.z5 +case"TextInputType.emailAddress":return B.yw +case"TextInputType.url":return B.zo +case"TextInputType.multiline":return B.yW +case"TextInputType.none":return c?B.yX:B.z0 +case"TextInputType.text":default:return B.zl}}, +aEl(a){var s +if(a==="TextCapitalization.words")s=B.wY +else if(a==="TextCapitalization.characters")s=B.x_ +else s=a==="TextCapitalization.sentences"?B.wZ:B.jp +return new A.zw(s)}, +aGK(a){}, +TS(a,b,c,d){var s="transparent",r="none",q=a.style +A.l(q,"white-space","pre-wrap") +A.l(q,"align-content","center") +A.l(q,"padding","0") +A.l(q,"opacity","1") +A.l(q,"color",s) +A.l(q,"background-color",s) +A.l(q,"background",s) +A.l(q,"outline",r) +A.l(q,"border",r) +A.l(q,"resize",r) +A.l(q,"text-shadow",s) +A.l(q,"transform-origin","0 0 0") +if(b){A.l(q,"top","-9999px") +A.l(q,"left","-9999px")}if(d){A.l(q,"width","0") +A.l(q,"height","0")}if(c)A.l(q,"pointer-events",r) +if($.aw().gby()===B.bH||$.aw().gby()===B.K)a.classList.add("transparentTextEditing") +A.l(q,"caret-color",s)}, +aGP(a,b){var s,r=a.isConnected +if(r==null)r=null +if(r!==!0)return +s=$.az().gbY().r9(a) +if(s==null)return +if(s.a!==b)A.ajn(a,b)}, +ajn(a,b){$.az().gbY().b.i(0,b).gcs().e.append(a)}, +aAI(a5,a6,a7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4 +if(a6==null)return null +s=t.N +r=A.E(s,t.e) +q=A.E(s,t.M1) +p=A.aS(self.document,"form") +o=$.DK().gfa() instanceof A.qW +p.noValidate=!0 +p.method="post" +p.action="#" +A.bV(p,"submit",$.akQ(),null) +A.TS(p,!1,o,!0) +n=J.nw(0,s) +m=A.al4(a6,B.wX) +l=null +if(a7!=null)for(s=t.a,k=J.u5(a7,s),j=k.$ti,k=new A.bS(k,k.gq(0),j.h("bS")),i=m.b,j=j.h("X.E"),h=!o,g=!1;k.t();){f=k.d +if(f==null)f=j.a(f) +e=J.ax(f) +d=s.a(e.i(f,"autofill")) +c=A.bw(e.i(f,"textCapitalization")) +if(c==="TextCapitalization.words")c=B.wY +else if(c==="TextCapitalization.characters")c=B.x_ +else c=c==="TextCapitalization.sentences"?B.wZ:B.jp +b=A.al4(d,new A.zw(c)) +c=b.b +n.push(c) +if(c!==i){a=A.apZ(A.bw(J.ah(s.a(e.i(f,"inputType")),"name")),!1,!1).w0() +b.a.dN(a) +b.dN(a) +A.TS(a,!1,o,h) +q.n(0,c,b) +r.n(0,c,a) +p.append(a) +if(g){l=a +g=!1}}else g=!0}else n.push(m.b) +B.b.ht(n) +for(s=n.length,a0=0,k="";a00?k+"*":k)+a1}a2=k.charCodeAt(0)==0?k:k +a3=$.TX.i(0,a2) +if(a3!=null)a3.remove() +a4=A.aS(self.document,"input") +A.XO(a4,-1) +A.TS(a4,!0,!1,!0) +a4.className="submitBtn" +A.XP(a4,"submit") +p.append(a4) +return new A.Yr(p,r,q,l==null?a4:l,a2,a5)}, +al4(a,b){var s,r=J.ax(a),q=A.bw(r.i(a,"uniqueIdentifier")),p=t.kc.a(r.i(a,"hints")),o=p==null||J.eJ(p)?null:A.bw(J.il(p)),n=A.apW(t.a.a(r.i(a,"editingValue"))) +if(o!=null){s=$.avt().a.i(0,o) +if(s==null)s=o}else s=null +return new A.E8(n,q,s,A.cL(r.i(a,"hintText")))}, +ano(a,b,c){var s=c.a,r=c.b,q=Math.min(s,r) +r=Math.max(s,r) +return B.d.W(a,0,q)+b+B.d.cZ(a,r)}, +aEm(a1,a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h=a3.a,g=a3.b,f=a3.c,e=a3.d,d=a3.e,c=a3.f,b=a3.r,a=a3.w,a0=new A.ro(h,g,f,e,d,c,b,a) +d=a2==null +c=d?null:a2.b +s=c==(d?null:a2.c) +c=g.length +r=c===0 +q=r&&e!==-1 +r=!r +p=r&&!s +if(q){o=h.length-a1.a.length +f=a1.b +if(f!==(d?null:a2.b)){f=e-o +a0.c=f}else{a0.c=f +e=f+o +a0.d=e}}else if(p){f=a2.b +d=a2.c +if(f>d)f=d +a0.c=f}n=b!=null&&b!==a +if(r&&s&&n){b.toString +f=a0.c=b}if(!(f===-1&&f===e)){m=A.ano(h,g,new A.ch(f,e)) +f=a1.a +f.toString +if(m!==f){l=B.d.p(g,".") +for(e=A.bO(A.anS(g),!0,!1).Ce(0,f),e=new A.LD(e.a,e.b,e.c),d=t.Qz,b=h.length;e.t();){k=e.d +a=(k==null?d.a(k):k).b +r=a.index +if(!(r>=0&&r+a[0].length<=b)){j=r+c-1 +i=A.ano(h,g,new A.ch(r,j))}else{j=l?r+a[0].length-1:r+a[0].length +i=A.ano(h,g,new A.ch(r,j))}if(i===f){a0.c=r +a0.d=j +break}}}}a0.e=a1.b +a0.f=a1.c +return a0}, +vw(a,b,c,d,e){var s,r=a==null?0:a +r=Math.max(0,r) +s=d==null?0:d +return new A.pP(e,r,Math.max(0,s),b,c)}, +apW(a){var s=J.ax(a),r=A.cL(s.i(a,"text")),q=B.c.Y(A.mu(s.i(a,"selectionBase"))),p=B.c.Y(A.mu(s.i(a,"selectionExtent"))),o=A.GV(a,"composingBase"),n=A.GV(a,"composingExtent") +s=o==null?-1:o +return A.vw(q,s,n==null?-1:n,p,r)}, +apV(a){var s,r,q,p=null,o=globalThis.HTMLInputElement +if(o!=null&&a instanceof o){s=a.selectionDirection +if((s==null?p:s)==="backward"){s=A.alu(a) +r=A.apz(a) +r=r==null?p:B.c.Y(r) +q=A.apA(a) +return A.vw(r,-1,-1,q==null?p:B.c.Y(q),s)}else{s=A.alu(a) +r=A.apA(a) +r=r==null?p:B.c.Y(r) +q=A.apz(a) +return A.vw(r,-1,-1,q==null?p:B.c.Y(q),s)}}else{o=globalThis.HTMLTextAreaElement +if(o!=null&&a instanceof o){s=a.selectionDirection +if((s==null?p:s)==="backward"){s=A.apF(a) +r=A.apD(a) +r=r==null?p:B.c.Y(r) +q=A.apE(a) +return A.vw(r,-1,-1,q==null?p:B.c.Y(q),s)}else{s=A.apF(a) +r=A.apE(a) +r=r==null?p:B.c.Y(r) +q=A.apD(a) +return A.vw(r,-1,-1,q==null?p:B.c.Y(q),s)}}else throw A.c(A.a_("Initialized with unsupported input type"))}}, +aqn(a){var s,r,q,p,o,n,m,l,k,j="inputType",i="autofill",h=A.GV(a,"viewId") +if(h==null)h=0 +s=J.ax(a) +r=t.a +q=A.bw(J.ah(r.a(s.i(a,j)),"name")) +p=A.tK(J.ah(r.a(s.i(a,j)),"decimal")) +o=A.tK(J.ah(r.a(s.i(a,j)),"isMultiline")) +q=A.apZ(q,p===!0,o===!0) +p=A.cL(s.i(a,"inputAction")) +if(p==null)p="TextInputAction.done" +o=A.tK(s.i(a,"obscureText")) +n=A.tK(s.i(a,"readOnly")) +m=A.tK(s.i(a,"autocorrect")) +l=A.aEl(A.bw(s.i(a,"textCapitalization"))) +r=s.a9(a,i)?A.al4(r.a(s.i(a,i)),B.wX):null +k=A.GV(a,"viewId") +if(k==null)k=0 +k=A.aAI(k,t.nA.a(s.i(a,i)),t.kc.a(s.i(a,"fields"))) +s=A.tK(s.i(a,"enableDeltaModel")) +return new A.a0F(h,q,p,n===!0,o===!0,m!==!1,s===!0,r,k,l)}, +aBe(a){return new A.Gs(a,A.b([],t.Up),$,$,$,null)}, +apl(a,b,c){A.cb(B.r,new A.Xg(a,b,c))}, +aJE(){$.TX.V(0,new A.akv())}, +aI9(){var s,r,q +for(s=$.TX.gaF(0),r=A.o(s),s=new A.br(J.ak(s.a),s.b,r.h("br<1,2>")),r=r.y[1];s.t();){q=s.a +if(q==null)q=r.a(q) +q.remove()}$.TX.I(0)}, +aAC(a){var s=J.ax(a),r=A.hV(J.kK(t.j.a(s.i(a,"transform")),new A.Ya(),t.z),!0,t.i) +return new A.Y9(A.mu(s.i(a,"width")),A.mu(s.i(a,"height")),new Float32Array(A.p4(r)))}, +anW(a,b){var s=a.style +A.l(s,"transform-origin","0 0 0") +A.l(s,"transform",A.fk(b))}, +fk(a){var s=A.akC(a) +if(s===B.xc)return"matrix("+A.h(a[0])+","+A.h(a[1])+","+A.h(a[4])+","+A.h(a[5])+","+A.h(a[12])+","+A.h(a[13])+")" +else if(s===B.fy)return A.aIX(a) +else return"none"}, +akC(a){if(!(a[15]===1&&a[14]===0&&a[11]===0&&a[10]===1&&a[9]===0&&a[8]===0&&a[7]===0&&a[6]===0&&a[3]===0&&a[2]===0))return B.fy +if(a[0]===1&&a[1]===0&&a[4]===0&&a[5]===1&&a[12]===0&&a[13]===0)return B.xb +else return B.xc}, +aIX(a){var s=a[0] +if(s===1&&a[1]===0&&a[2]===0&&a[3]===0&&a[4]===0&&a[5]===1&&a[6]===0&&a[7]===0&&a[8]===0&&a[9]===0&&a[10]===1&&a[11]===0&&a[14]===0&&a[15]===1)return"translate3d("+A.h(a[12])+"px, "+A.h(a[13])+"px, 0px)" +else return"matrix3d("+A.h(s)+","+A.h(a[1])+","+A.h(a[2])+","+A.h(a[3])+","+A.h(a[4])+","+A.h(a[5])+","+A.h(a[6])+","+A.h(a[7])+","+A.h(a[8])+","+A.h(a[9])+","+A.h(a[10])+","+A.h(a[11])+","+A.h(a[12])+","+A.h(a[13])+","+A.h(a[14])+","+A.h(a[15])+")"}, +u1(a,b){var s=$.ay6() +s[0]=b.a +s[1]=b.b +s[2]=b.c +s[3]=b.d +A.anZ(a,s) +return new A.x(s[0],s[1],s[2],s[3])}, +anZ(a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=$.aow() +a0[0]=a2[0] +a0[4]=a2[1] +a0[8]=0 +a0[12]=1 +a0[1]=a2[2] +a0[5]=a2[1] +a0[9]=0 +a0[13]=1 +a0[2]=a2[0] +a0[6]=a2[3] +a0[10]=0 +a0[14]=1 +a0[3]=a2[2] +a0[7]=a2[3] +a0[11]=0 +a0[15]=1 +s=$.ay5().a +r=s[0] +q=s[4] +p=s[8] +o=s[12] +n=s[1] +m=s[5] +l=s[9] +k=s[13] +j=s[2] +i=s[6] +h=s[10] +g=s[14] +f=s[3] +e=s[7] +d=s[11] +c=s[15] +b=a1.a +s[0]=r*b[0]+q*b[4]+p*b[8]+o*b[12] +s[4]=r*b[1]+q*b[5]+p*b[9]+o*b[13] +s[8]=r*b[2]+q*b[6]+p*b[10]+o*b[14] +s[12]=r*b[3]+q*b[7]+p*b[11]+o*b[15] +s[1]=n*b[0]+m*b[4]+l*b[8]+k*b[12] +s[5]=n*b[1]+m*b[5]+l*b[9]+k*b[13] +s[9]=n*b[2]+m*b[6]+l*b[10]+k*b[14] +s[13]=n*b[3]+m*b[7]+l*b[11]+k*b[15] +s[2]=j*b[0]+i*b[4]+h*b[8]+g*b[12] +s[6]=j*b[1]+i*b[5]+h*b[9]+g*b[13] +s[10]=j*b[2]+i*b[6]+h*b[10]+g*b[14] +s[14]=j*b[3]+i*b[7]+h*b[11]+g*b[15] +s[3]=f*b[0]+e*b[4]+d*b[8]+c*b[12] +s[7]=f*b[1]+e*b[5]+d*b[9]+c*b[13] +s[11]=f*b[2]+e*b[6]+d*b[10]+c*b[14] +s[15]=f*b[3]+e*b[7]+d*b[11]+c*b[15] +a=b[15] +if(a===0)a=1 +a2[0]=Math.min(Math.min(Math.min(a0[0],a0[1]),a0[2]),a0[3])/a +a2[1]=Math.min(Math.min(Math.min(a0[4],a0[5]),a0[6]),a0[7])/a +a2[2]=Math.max(Math.max(Math.max(a0[0],a0[1]),a0[2]),a0[3])/a +a2[3]=Math.max(Math.max(Math.max(a0[4],a0[5]),a0[6]),a0[7])/a}, +avj(a,b){return a.a<=b.a&&a.b<=b.b&&a.c>=b.c&&a.d>=b.d}, +cM(a){var s,r +if(a===4278190080)return"#000000" +if((a&4278190080)>>>0===4278190080){s=B.f.iT(a&16777215,16) +switch(s.length){case 1:return"#00000"+s +case 2:return"#0000"+s +case 3:return"#000"+s +case 4:return"#00"+s +case 5:return"#0"+s +default:return"#"+s}}else{r=""+"rgba("+B.f.j(a>>>16&255)+","+B.f.j(a>>>8&255)+","+B.f.j(a&255)+","+B.c.j((a>>>24&255)/255)+")" +return r.charCodeAt(0)==0?r:r}}, +aIb(a,b,c,d){var s=""+a,r=""+b,q=""+c +if(d===255)return"rgb("+s+","+r+","+q+")" +else return"rgba("+s+","+r+","+q+","+B.c.R(d/255,2)+")"}, +atY(){if($.aw().gbX()===B.ak){var s=$.aw().gq2() +s=B.d.p(s,"OS 15_")}else s=!1 +if(s)return"BlinkMacSystemFont" +if($.aw().gbX()===B.ak||$.aw().gbX()===B.b0)return"-apple-system, BlinkMacSystemFont" +return"Arial"}, +ajO(a){if(B.Jq.p(0,a))return a +if($.aw().gbX()===B.ak||$.aw().gbX()===B.b0)if(a===".SF Pro Text"||a===".SF Pro Display"||a===".SF UI Text"||a===".SF UI Display")return A.atY() +return'"'+A.h(a)+'", '+A.atY()+", sans-serif"}, +aHV(a){if($.aw().gby()===B.K)A.l(a.style,"z-index","0")}, +my(a,b,c){if(ac)return c +else return a}, +hz(a,b){var s +if(a==null)return b==null +if(b==null||a.length!==b.length)return!1 +for(s=0;s")).bw(0," ")}, +da(a,b,c){A.l(a.style,b,c)}, +avn(a){var s=self.document.querySelector("#flutterweb-theme") +if(a!=null){if(s==null){s=A.aS(self.document,"meta") +s.id="flutterweb-theme" +s.name="theme-color" +self.document.head.append(s)}s.content=A.cM(a.a)}else if(s!=null)s.remove()}, +Dj(a,b,c,d,e,f,g,h,i){var s=$.atT +if(s==null?$.atT=a.ellipse!=null:s)A.b7(a,"ellipse",[b,c,d,e,f,g,h,i]) +else{a.save() +a.translate(b,c) +a.rotate(f) +a.scale(d,e) +A.b7(a,"arc",[0,0,1,g,h,i]) +a.restore()}}, +anT(a){var s +for(;a.lastChild!=null;){s=a.lastChild +if(s.parentNode!=null)s.parentNode.removeChild(s)}}, +am1(a,b,c){var s=b.h("@<0>").bd(c),r=new A.At(s.h("At<+key,value(1,2)>")) +r.a=r +r.b=r +return new A.Hg(a,new A.vp(r,s.h("vp<+key,value(1,2)>")),A.E(b,s.h("apU<+key,value(1,2)>")),s.h("Hg<1,2>"))}, +cH(){var s=new Float32Array(16) +s[15]=1 +s[0]=1 +s[5]=1 +s[10]=1 +return new A.bp(s)}, +aC4(a){return new A.bp(a)}, +aC7(a){var s=new A.bp(new Float32Array(16)) +if(s.dw(a)===0)return null +return s}, +Ds(a){var s=new Float32Array(16) +s[15]=a[15] +s[14]=a[14] +s[13]=a[13] +s[12]=a[12] +s[11]=a[11] +s[10]=a[10] +s[9]=a[9] +s[8]=a[8] +s[7]=a[7] +s[6]=a[6] +s[5]=a[5] +s[4]=a[4] +s[3]=a[3] +s[2]=a[2] +s[1]=a[1] +s[0]=a[0] +return s}, +azS(a,b){var s=new A.X3(a,A.hp(!1,t.tW)) +s.XH(a,b) +return s}, +apo(a){var s,r +if(a!=null){s=$.avC().c +return A.azS(a,new A.c0(s,A.o(s).h("c0<1>")))}else{s=new A.Gl(A.hp(!1,t.tW)) +r=self.window.visualViewport +if(r==null)r=self.window +s.b=A.bW(r,"resize",s.ga42()) +return s}}, +apY(a){var s,r,q,p="0",o="none" +if(a!=null){A.aAq(a) +s=A.a4("custom-element") +if(s==null)s=t.K.a(s) +a.setAttribute("flt-embedding",s) +return new A.X6(a)}else{s=self.document.body +s.toString +r=new A.ZO(s) +q=A.a4("full-page") +if(q==null)q=t.K.a(q) +s.setAttribute("flt-embedding",q) +r.Yx() +A.da(s,"position","fixed") +A.da(s,"top",p) +A.da(s,"right",p) +A.da(s,"bottom",p) +A.da(s,"left",p) +A.da(s,"overflow","hidden") +A.da(s,"padding",p) +A.da(s,"margin",p) +A.da(s,"user-select",o) +A.da(s,"-webkit-user-select",o) +A.da(s,"touch-action",o) +return r}}, +as9(a,b,c,d){var s=A.aS(self.document,"style") +if(d!=null)s.nonce=d +s.id=c +b.appendChild(s) +A.aHT(s,a,"normal normal 14px sans-serif")}, +aHT(a,b,c){var s,r,q +a.append(self.document.createTextNode(b+" flt-scene-host { font: "+c+";}"+b+" flt-semantics input[type=range] { appearance: none; -webkit-appearance: none; width: 100%; position: absolute; border: none; top: 0; right: 0; bottom: 0; left: 0;}"+b+" input::selection { background-color: transparent;}"+b+" textarea::selection { background-color: transparent;}"+b+" flt-semantics input,"+b+" flt-semantics textarea,"+b+' flt-semantics [contentEditable="true"] { caret-color: transparent;}'+b+" .flt-text-editing::placeholder { opacity: 0;}"+b+":focus { outline: none;}")) +if($.aw().gby()===B.K)a.append(self.document.createTextNode(b+" * { -webkit-tap-highlight-color: transparent;}"+b+" flt-semantics input[type=range]::-webkit-slider-thumb { -webkit-appearance: none;}")) +if($.aw().gby()===B.b8)a.append(self.document.createTextNode(b+" flt-paragraph,"+b+" flt-span { line-height: 100%;}")) +if($.aw().gby()===B.bH||$.aw().gby()===B.K)a.append(self.document.createTextNode(b+" .transparentTextEditing:-webkit-autofill,"+b+" .transparentTextEditing:-webkit-autofill:hover,"+b+" .transparentTextEditing:-webkit-autofill:focus,"+b+" .transparentTextEditing:-webkit-autofill:active { opacity: 0 !important;}")) +r=$.aw().gq2() +if(B.d.p(r,"Edg/"))try{a.append(self.document.createTextNode(b+" input::-ms-reveal { display: none;}"))}catch(q){r=A.a6(q) +if(t.e.b(r)){s=r +self.window.console.warn(J.el(s))}else throw q}}, +asB(a,b){var s,r,q,p,o +if(a==null){s=b.a +r=b.b +return new A.rF(s,s,r,r)}s=a.minWidth +r=b.a +if(s==null)s=r +q=a.minHeight +p=b.b +if(q==null)q=p +o=a.maxWidth +r=o==null?r:o +o=a.maxHeight +return new A.rF(s,r,q,o==null?p:o)}, +u7:function u7(a){var _=this +_.a=a +_.d=_.c=_.b=null}, +UG:function UG(a,b){this.a=a +this.b=b}, +UK:function UK(a){this.a=a}, +UL:function UL(a){this.a=a}, +UH:function UH(a){this.a=a}, +UI:function UI(a){this.a=a}, +UJ:function UJ(a){this.a=a}, +W4:function W4(a,b,c,d,e){var _=this +_.e=_.d=null +_.f=a +_.r=b +_.z=_.y=_.x=_.w=null +_.Q=0 +_.as=c +_.a=d +_.b=null +_.c=e}, +WU:function WU(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.w=_.r=null +_.x=1 +_.Q=_.z=_.y=null}, +QQ:function QQ(){}, +fZ:function fZ(a){this.a=a}, +aiX:function aiX(){}, +W_:function W_(a){this.a=a}, +Hi:function Hi(a){this.a=a +this.b=$}, +EH:function EH(){}, +EG:function EG(a,b){this.a=a +this.b=b}, +uL:function uL(a){this.a=a}, +pA:function pA(a,b){this.a=a +this.b=b}, +Fy:function Fy(a,b,c,d){var _=this +_.a=a +_.b=$ +_.c=b +_.d=c +_.$ti=d}, +GD:function GD(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=null +_.z=$ +_.Q=0 +_.as=null +_.at=j}, +a_O:function a_O(){}, +a_L:function a_L(a){this.a=a}, +a_J:function a_J(){}, +a_K:function a_K(){}, +a_M:function a_M(){}, +a_N:function a_N(a,b){this.a=a +this.b=b}, +rE:function rE(a,b){this.a=a +this.b=b +this.c=-1}, +vB:function vB(a,b,c){this.a=a +this.b=b +this.c=c}, +nN:function nN(a,b){this.a=a +this.b=b}, +hg:function hg(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +nO:function nO(a){this.a=a}, +vC:function vC(a,b){this.a=a +this.b=b +this.c=0}, +Kg:function Kg(a,b,c,d,e){var _=this +_.a=a +_.b=$ +_.c=b +_.d=c +_.e=d +_.f=e +_.w=_.r=null}, +a9J:function a9J(){}, +a9K:function a9K(){}, +a9L:function a9L(){}, +o8:function o8(a,b,c){this.a=a +this.b=b +this.c=c}, +zS:function zS(a,b,c){this.a=a +this.b=b +this.c=c}, +nf:function nf(a,b,c){this.a=a +this.b=b +this.c=c}, +a9I:function a9I(a){this.a=a}, +GI:function GI(a){this.a=a}, +kY:function kY(a,b){this.b=a +this.c=b}, +EJ:function EJ(){}, +Ac:function Ac(a,b){this.a=a +this.b=b +this.d=$}, +EF:function EF(a,b,c,d){var _=this +_.a=$ +_.b=a +_.c=b +_.d=0 +_.e=-1 +_.f=c +_.r=d}, +uJ:function uJ(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.e=_.d=$ +_.r=0 +_.w=null +_.x=d}, +e8:function e8(){}, +IM:function IM(a,b){this.b=a +this.c=b}, +I9:function I9(a,b,c){this.a=a +this.b=b +this.d=c}, +pK:function pK(){}, +Jw:function Jw(a,b){this.c=a +this.a=null +this.b=b}, +EP:function EP(a,b,c,d){var _=this +_.f=a +_.r=b +_.c=c +_.a=null +_.b=d}, +ET:function ET(a,b,c,d){var _=this +_.f=a +_.r=b +_.c=c +_.a=null +_.b=d}, +ER:function ER(a,b,c,d){var _=this +_.f=a +_.r=b +_.c=c +_.a=null +_.b=d}, +HY:function HY(a,b,c,d){var _=this +_.f=a +_.r=b +_.c=c +_.a=null +_.b=d}, +zO:function zO(a,b,c){var _=this +_.f=a +_.c=b +_.a=null +_.b=c}, +HW:function HW(a,b,c){var _=this +_.f=a +_.c=b +_.a=null +_.b=c}, +GJ:function GJ(a,b,c,d){var _=this +_.f=a +_.r=b +_.c=c +_.a=null +_.b=d}, +a06:function a06(a,b){this.a=a +this.b=b}, +IA:function IA(a,b,c){var _=this +_.c=a +_.d=b +_.a=null +_.b=c}, +IE:function IE(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=null +_.b=e}, +H2:function H2(a){this.a=a}, +a1k:function a1k(a){this.a=a +this.b=$}, +a1l:function a1l(a){this.a=a}, +ZK:function ZK(a,b,c){this.a=a +this.b=b +this.c=c}, +ZL:function ZL(a,b,c){this.a=a +this.b=b +this.c=c}, +ZM:function ZM(a,b,c){this.a=a +this.b=b +this.c=c}, +EZ:function EZ(){}, +Wg:function Wg(a,b){this.a=a +this.b=b +this.c=$}, +a52:function a52(a){this.a=a}, +a53:function a53(a,b){this.a=a +this.b=b}, +a54:function a54(a){this.a=a}, +nM:function nM(a,b,c,d,e){var _=this +_.r=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=$}, +a55:function a55(){}, +uM:function uM(a){this.a=a}, +ajf:function ajf(){}, +a5b:function a5b(){}, +ey:function ey(a,b){this.a=null +this.b=a +this.$ti=b}, +F3:function F3(a,b){var _=this +_.a=$ +_.b=1 +_.c=a +_.$ti=b}, +a5r:function a5r(a,b){this.a=a +this.b=b}, +a5s:function a5s(a,b){this.a=a +this.b=b}, +nT:function nT(a,b,c,d,e,f){var _=this +_.f=a +_.r=b +_.a=c +_.b=d +_.c=e +_.d=f +_.e=$}, +a5t:function a5t(){}, +qQ:function qQ(a){this.a=a}, +oc:function oc(){}, +dj:function dj(a){this.a=a +this.b=null}, +lK:function lK(a){this.a=a +this.b=null}, +pB:function pB(a,b,c,d,e){var _=this +_.a=a +_.b=$ +_.c=null +_.d=b +_.e=c +_.f=0 +_.r=d +_.x=!0 +_.y=4278190080 +_.z=!1 +_.ax=_.at=_.as=_.Q=null +_.ay=e +_.CW=_.ch=null}, +Wi:function Wi(a){this.a=a}, +uO:function uO(a){this.a=$ +this.b=a}, +mT:function mT(){this.a=$}, +hE:function hE(){this.b=this.a=null}, +a6A:function a6A(){}, +rG:function rG(){}, +XD:function XD(){}, +Jl:function Jl(){this.b=this.a=null}, +qN:function qN(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=0 +_.f=_.e=$ +_.r=-1}, +pz:function pz(a,b){this.a=a +this.b=b}, +uE:function uE(a,b,c){var _=this +_.a=null +_.b=$ +_.d=a +_.e=b +_.r=_.f=null +_.w=c}, +W1:function W1(a){this.a=a}, +Kc:function Kc(){}, +EI:function EI(a,b,c,d,e,f){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.a=$}, +i7:function i7(a,b,c){var _=this +_.a=null +_.b=a +_.c=b +_.d=!0 +_.Q=_.z=_.y=_.x=_.w=_.r=_.f=null +_.as=c +_.CW=_.ch=_.ay=_.ax=_.at=-1 +_.cy=_.cx=null}, +EL:function EL(a,b){this.a=a +this.b=b +this.c=!1}, +uN:function uN(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n}, +pC:function pC(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fx=_.fr=$}, +Wk:function Wk(a){this.a=a}, +EK:function EK(a){var _=this +_.a=$ +_.b=-1/0 +_.c=a +_.d=0 +_.e=!1 +_.z=_.y=_.x=_.w=_.r=_.f=0 +_.Q=$}, +uK:function uK(a){this.a=a}, +Wj:function Wj(a,b,c){this.a=a +this.b=b +this.e=c}, +aj1:function aj1(a){this.a=a}, +wx:function wx(a,b){this.a=a +this.b=b}, +Ey:function Ey(a){this.a=a}, +uS:function uS(a,b){this.a=a +this.b=b}, +WC:function WC(a,b){this.a=a +this.b=b}, +WD:function WD(a,b){this.a=a +this.b=b}, +Wx:function Wx(a){this.a=a}, +Wy:function Wy(a,b){this.a=a +this.b=b}, +Ww:function Ww(a){this.a=a}, +WA:function WA(a){this.a=a}, +WB:function WB(a){this.a=a}, +Wz:function Wz(a){this.a=a}, +Wu:function Wu(){}, +Wv:function Wv(){}, +YS:function YS(){}, +YT:function YT(){}, +Zf:function Zf(){this.b=null}, +FT:function FT(a){this.b=a +this.d=null}, +a8u:function a8u(){}, +XN:function XN(a){this.a=a}, +XR:function XR(){}, +GG:function GG(a,b){this.a=a +this.b=b}, +a_P:function a_P(a){this.a=a}, +GF:function GF(a,b){this.a=a +this.b=b}, +GE:function GE(a,b){this.a=a +this.b=b}, +FJ:function FJ(a,b,c){this.a=a +this.b=b +this.c=c}, +vm:function vm(a,b){this.a=a +this.b=b}, +ajR:function ajR(a){this.a=a}, +ajF:function ajF(){}, +N6:function N6(a,b){this.a=a +this.b=-1 +this.$ti=b}, +kn:function kn(a,b){this.a=a +this.$ti=b}, +Nb:function Nb(a,b){this.a=a +this.b=-1 +this.$ti=b}, +Aq:function Aq(a,b){this.a=a +this.$ti=b}, +FF:function FF(a,b){this.a=a +this.b=$ +this.$ti=b}, +Yu:function Yu(){}, +JE:function JE(a,b){this.a=a +this.b=b}, +od:function od(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +QP:function QP(a,b){this.a=a +this.b=b}, +a8c:function a8c(){}, +akx:function akx(){}, +akw:function akw(){}, +ZA:function ZA(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.a=a +_.b=$ +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.Q=k +_.as=l +_.at=m +_.ax=!1 +_.ch=_.ay=$}, +ZB:function ZB(){}, +ZC:function ZC(){}, +ZD:function ZD(){}, +ZE:function ZE(){}, +ZF:function ZF(){}, +ZG:function ZG(){}, +ZI:function ZI(a){this.a=a}, +ZJ:function ZJ(){}, +ZH:function ZH(a){this.a=a}, +Su:function Su(a,b,c){this.a=a +this.b=b +this.$ti=c}, +G3:function G3(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.e=null}, +Z_:function Z_(a,b,c){this.a=a +this.b=b +this.c=c}, +q0:function q0(a,b){this.a=a +this.b=b}, +ng:function ng(a,b){this.a=a +this.b=b}, +w5:function w5(a){this.a=a}, +ajW:function ajW(a){this.a=a}, +ajX:function ajX(a){this.a=a}, +ajY:function ajY(){}, +ajV:function ajV(){}, +e6:function e6(){}, +Gg:function Gg(){}, +w3:function w3(){}, +w4:function w4(){}, +ul:function ul(){}, +eU:function eU(a){this.a=a}, +F4:function F4(a){this.b=this.a=null +this.$ti=a}, +rS:function rS(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Gj:function Gj(a,b){var _=this +_.a=a +_.b=b +_.e=_.d=_.c=null}, +jm:function jm(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=null +_.c=b +_.d=c +_.e=null +_.f=d +_.r=e +_.w=f +_.x=0 +_.y=g +_.Q=_.z=null +_.at=_.as=!1 +_.ay=h +_.ch=i}, +c6:function c6(a){this.b=a}, +aaj:function aaj(a){this.a=a}, +Ao:function Ao(){}, +xD:function xD(a,b,c,d,e,f){var _=this +_.CW=a +_.cx=b +_.eU$=c +_.x=d +_.a=e +_.b=-1 +_.c=f +_.w=_.r=_.f=_.e=_.d=null}, +Iu:function Iu(a,b,c,d,e,f){var _=this +_.CW=a +_.cx=b +_.eU$=c +_.x=d +_.a=e +_.b=-1 +_.c=f +_.w=_.r=_.f=_.e=_.d=null}, +xC:function xC(a,b,c,d,e){var _=this +_.CW=a +_.cx=b +_.cy=null +_.x=c +_.a=d +_.b=-1 +_.c=e +_.w=_.r=_.f=_.e=_.d=null}, +aaq:function aaq(a,b,c){this.a=a +this.b=b +this.c=c}, +aap:function aap(a,b){this.a=a +this.b=b}, +XI:function XI(a,b,c,d){var _=this +_.a=a +_.Pu$=b +_.r5$=c +_.jn$=d}, +GC:function GC(a){this.a=a}, +wg:function wg(a,b,c){var _=this +_.a=a +_.b=!1 +_.d=b +_.e=c}, +xE:function xE(a,b,c,d,e){var _=this +_.CW=a +_.cx=b +_.dx=_.db=_.cy=null +_.x=c +_.a=d +_.b=-1 +_.c=e +_.w=_.r=_.f=_.e=_.d=null}, +xF:function xF(a,b,c,d,e){var _=this +_.CW=a +_.cx=b +_.cy=null +_.x=c +_.a=d +_.b=-1 +_.c=e +_.w=_.r=_.f=_.e=_.d=null}, +xG:function xG(a,b,c,d,e){var _=this +_.CW=a +_.cx=b +_.cy=null +_.x=c +_.a=d +_.b=-1 +_.c=e +_.w=_.r=_.f=_.e=_.d=null}, +rg:function rg(a){this.a=a +this.e=!1}, +KD:function KD(){var _=this +_.e=_.d=_.c=_.b=_.a=null +_.f=!0 +_.r=4278190080 +_.z=_.y=_.x=_.w=null}, +eN:function eN(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +a6x:function a6x(){var _=this +_.d=_.c=_.b=_.a=0}, +WP:function WP(){var _=this +_.d=_.c=_.b=_.a=0}, +Ml:function Ml(){this.b=this.a=null}, +WX:function WX(){var _=this +_.d=_.c=_.b=_.a=0}, +rh:function rh(a,b){var _=this +_.a=a +_.b=b +_.c=0 +_.e=_.d=-1}, +a5M:function a5M(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=!1 +_.e=0 +_.f=-1 +_.Q=_.z=_.y=_.x=_.w=_.r=0}, +qB:function qB(a,b){var _=this +_.b=_.a=null +_.e=_.d=_.c=0 +_.f=a +_.r=b +_.x=_.w=0 +_.y=null +_.z=0 +_.as=_.Q=!0 +_.ch=_.ay=_.ax=_.at=!1 +_.CW=-1 +_.cx=0}, +nU:function nU(a){var _=this +_.a=a +_.b=-1 +_.e=_.d=_.c=0}, +k2:function k2(){this.b=this.a=null}, +a9H:function a9H(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +a5O:function a5O(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.e=_.d=0 +_.f=d}, +FW:function FW(){this.a=null +this.b=$ +this.c=!1}, +FV:function FV(a){this.b=a}, +lx:function lx(a,b){this.a=a +this.b=b}, +Ix:function Ix(a,b,c,d,e,f,g){var _=this +_.ch=null +_.CW=a +_.cx=b +_.cy=c +_.db=d +_.dy=1 +_.fr=!1 +_.fx=e +_.id=_.fy=null +_.a=f +_.b=-1 +_.c=g +_.w=_.r=_.f=_.e=_.d=null}, +a5S:function a5S(a){this.a=a}, +xH:function xH(a,b,c,d,e,f,g){var _=this +_.ch=a +_.CW=b +_.cx=c +_.cy=d +_.db=e +_.a=f +_.b=-1 +_.c=g +_.w=_.r=_.f=_.e=_.d=null}, +a6W:function a6W(a,b,c){var _=this +_.a=a +_.b=null +_.c=b +_.d=c +_.f=_.e=!1 +_.r=1}, +cD:function cD(){}, +vq:function vq(){}, +xv:function xv(){}, +Il:function Il(){}, +Ip:function Ip(a,b){this.a=a +this.b=b}, +In:function In(a,b){this.a=a +this.b=b}, +Im:function Im(a){this.a=a}, +Io:function Io(a){this.a=a}, +I8:function I8(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +I7:function I7(a){var _=this +_.f=a +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +I6:function I6(a){var _=this +_.f=a +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Id:function Id(a,b,c){var _=this +_.f=a +_.r=b +_.w=c +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +If:function If(a){var _=this +_.f=a +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ij:function Ij(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ii:function Ii(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ib:function Ib(a,b,c){var _=this +_.f=a +_.r=b +_.w=c +_.x=null +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ie:function Ie(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ia:function Ia(a,b,c){var _=this +_.f=a +_.r=b +_.w=c +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ih:function Ih(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ik:function Ik(a,b,c,d){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ic:function Ic(a,b,c,d){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +Ig:function Ig(a,b){var _=this +_.f=a +_.r=b +_.a=!1 +_.c=_.b=-1/0 +_.e=_.d=1/0}, +agm:function agm(a,b,c,d){var _=this +_.a=a +_.b=!1 +_.d=_.c=17976931348623157e292 +_.f=_.e=-17976931348623157e292 +_.r=b +_.w=c +_.x=!0 +_.y=d +_.z=!1 +_.ax=_.at=_.as=_.Q=0}, +a7C:function a7C(){var _=this +_.d=_.c=_.b=_.a=!1}, +aiA:function aiA(){}, +GB:function GB(){this.a=$}, +a_I:function a_I(){}, +a7O:function a7O(a){this.a=a +this.b=null}, +ri:function ri(a,b){this.a=a +this.b=b}, +xI:function xI(a,b,c){var _=this +_.CW=null +_.x=a +_.a=b +_.b=-1 +_.c=c +_.w=_.r=_.f=_.e=_.d=null}, +aak:function aak(a){this.a=a}, +aam:function aam(a){this.a=a}, +aan:function aan(a,b){this.a=a +this.b=b}, +a5n:function a5n(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a5o:function a5o(){}, +a9u:function a9u(){this.a=null}, +Yw:function Yw(){}, +wa:function wa(a,b,c,d,e,f){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f}, +a_j:function a_j(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +l7:function l7(){}, +B3:function B3(a,b){this.a=a +this.b=b}, +FU:function FU(){}, +x6:function x6(a,b){this.b=a +this.c=b +this.a=null}, +a4a:function a4a(){}, +Ka:function Ka(a,b,c,d,e){var _=this +_.b=a +_.c=b +_.e=null +_.w=_.r=_.f=0 +_.y=c +_.z=d +_.Q=null +_.as=e}, +z2:function z2(a,b){this.b=a +this.c=b +this.d=1}, +oo:function oo(a,b,c){this.a=a +this.b=b +this.c=c}, +ajP:function ajP(){}, +nV:function nV(a,b){this.a=a +this.b=b}, +cZ:function cZ(){}, +Iw:function Iw(){}, +dv:function dv(){}, +a5R:function a5R(){}, +mm:function mm(a,b,c){this.a=a +this.b=b +this.c=c}, +a6r:function a6r(){}, +xJ:function xJ(a,b,c,d){var _=this +_.CW=a +_.cy=_.cx=null +_.x=b +_.a=c +_.b=-1 +_.c=d +_.w=_.r=_.f=_.e=_.d=null}, +GA:function GA(){}, +a_G:function a_G(a,b,c){this.a=a +this.b=b +this.c=c}, +a_H:function a_H(a,b){this.a=a +this.b=b}, +a_E:function a_E(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a_F:function a_F(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +Gy:function Gy(){}, +z8:function z8(a){this.a=a}, +Ep:function Ep(){}, +Vj:function Vj(){}, +Vk:function Vk(a){this.a=a}, +u9:function u9(a,b){this.a=a +this.b=b}, +jF:function jF(a,b){this.a=a +this.b=b}, +mZ:function mZ(a,b){this.a=a +this.b=b}, +ake:function ake(){}, +akf:function akf(a){this.a=a}, +akd:function akd(a){this.a=a}, +akg:function akg(){}, +Ze:function Ze(a){this.a=a}, +Zg:function Zg(a){this.a=a}, +Zh:function Zh(a){this.a=a}, +Zd:function Zd(a){this.a=a}, +ak2:function ak2(a,b){this.a=a +this.b=b}, +ak0:function ak0(a,b){this.a=a +this.b=b}, +ak1:function ak1(a){this.a=a}, +ajo:function ajo(){}, +ajp:function ajp(){}, +ajq:function ajq(){}, +ajr:function ajr(){}, +ajs:function ajs(){}, +ajt:function ajt(){}, +aju:function aju(){}, +ajv:function ajv(){}, +aiV:function aiV(a,b,c){this.a=a +this.b=b +this.c=c}, +GZ:function GZ(a){this.a=$ +this.b=a}, +a11:function a11(a){this.a=a}, +a12:function a12(a){this.a=a}, +a13:function a13(a){this.a=a}, +a14:function a14(a){this.a=a}, +iy:function iy(a){this.a=a}, +a15:function a15(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=null +_.e=!1 +_.f=d +_.r=e}, +a1b:function a1b(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a1c:function a1c(a){this.a=a}, +a1d:function a1d(a,b,c){this.a=a +this.b=b +this.c=c}, +a1e:function a1e(a,b){this.a=a +this.b=b}, +a17:function a17(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a18:function a18(a,b,c){this.a=a +this.b=b +this.c=c}, +a19:function a19(a,b){this.a=a +this.b=b}, +a1a:function a1a(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a16:function a16(a,b,c){this.a=a +this.b=b +this.c=c}, +a1f:function a1f(a,b){this.a=a +this.b=b}, +WT:function WT(a){this.a=a +this.b=!0}, +a4I:function a4I(){}, +akq:function akq(){}, +Vi:function Vi(){}, +x8:function x8(a){var _=this +_.d=a +_.a=_.e=$ +_.c=_.b=!1}, +a4T:function a4T(){}, +z7:function z7(a,b){var _=this +_.d=a +_.e=b +_.f=null +_.a=$ +_.c=_.b=!1}, +a9F:function a9F(){}, +a9G:function a9G(){}, +jQ:function jQ(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=0 +_.f=e}, +vR:function vR(a){this.a=a +this.b=$ +this.c=0}, +YZ:function YZ(){}, +Gw:function Gw(a,b){this.a=a +this.b=b +this.c=$}, +FX:function FX(a,b,c,d,e){var _=this +_.a=$ +_.b=a +_.c=b +_.f=c +_.w=_.r=$ +_.y=_.x=null +_.z=$ +_.p1=_.ok=_.k4=_.k3=_.k2=_.k1=_.fr=_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=_.ax=_.at=_.as=_.Q=null +_.p2=d +_.x1=_.to=_.ry=_.R8=_.p4=_.p3=null +_.x2=e +_.y2=null}, +YH:function YH(a){this.a=a}, +YI:function YI(a,b,c){this.a=a +this.b=b +this.c=c}, +YG:function YG(a,b){this.a=a +this.b=b}, +YC:function YC(a,b){this.a=a +this.b=b}, +YD:function YD(a,b){this.a=a +this.b=b}, +YE:function YE(a,b){this.a=a +this.b=b}, +YB:function YB(a){this.a=a}, +YA:function YA(a){this.a=a}, +YF:function YF(){}, +Yz:function Yz(a){this.a=a}, +YJ:function YJ(a,b){this.a=a +this.b=b}, +aki:function aki(a,b,c){this.a=a +this.b=b +this.c=c}, +abV:function abV(){}, +IC:function IC(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +UM:function UM(){}, +M4:function M4(a,b,c,d){var _=this +_.c=a +_.d=b +_.r=_.f=_.e=$ +_.a=c +_.b=d}, +acN:function acN(a){this.a=a}, +acM:function acM(a){this.a=a}, +acO:function acO(a){this.a=a}, +Li:function Li(a,b,c){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.e=null +_.x=_.w=_.r=_.f=$}, +abX:function abX(a){this.a=a}, +abY:function abY(a){this.a=a}, +abZ:function abZ(a){this.a=a}, +ac_:function ac_(a){this.a=a}, +a65:function a65(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a66:function a66(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a67:function a67(a){this.b=a}, +a8a:function a8a(){this.a=null}, +a8b:function a8b(){}, +a6c:function a6c(a,b,c){var _=this +_.a=null +_.b=a +_.d=b +_.e=c +_.f=$}, +EM:function EM(){this.b=this.a=null}, +a6m:function a6m(){}, +Hb:function Hb(a,b,c){this.a=a +this.b=b +this.c=c}, +acG:function acG(){}, +acH:function acH(a){this.a=a}, +aiB:function aiB(){}, +aiC:function aiC(a){this.a=a}, +j8:function j8(a,b){this.a=a +this.b=b}, +rQ:function rQ(){this.a=0}, +agt:function agt(a,b,c){var _=this +_.f=a +_.a=b +_.b=c +_.c=null +_.e=_.d=!1}, +agv:function agv(){}, +agu:function agu(a,b,c){this.a=a +this.b=b +this.c=c}, +agx:function agx(a){this.a=a}, +agw:function agw(a){this.a=a}, +agy:function agy(a){this.a=a}, +agz:function agz(a){this.a=a}, +agA:function agA(a){this.a=a}, +agB:function agB(a){this.a=a}, +agC:function agC(a){this.a=a}, +tn:function tn(a,b){this.a=null +this.b=a +this.c=b}, +aeN:function aeN(a){this.a=a +this.b=0}, +aeO:function aeO(a,b){this.a=a +this.b=b}, +a6d:function a6d(){}, +amg:function amg(){}, +a6C:function a6C(a,b){this.a=a +this.b=0 +this.c=b}, +a6D:function a6D(a){this.a=a}, +a6F:function a6F(a,b,c){this.a=a +this.b=b +this.c=c}, +a6G:function a6G(a){this.a=a}, +Gr:function Gr(a){this.a=a}, +Gq:function Gq(a){var _=this +_.a=a +_.fx=_.fr=_.dy=_.CW=_.ch=_.ay=_.ax=_.w=_.r=_.f=_.e=_.d=_.c=null}, +a5q:function a5q(a,b){var _=this +_.b=_.a=null +_.c=a +_.d=b}, +uk:function uk(a,b){this.a=a +this.b=b}, +Up:function Up(a,b){this.a=a +this.b=b +this.c=!1}, +Uq:function Uq(a){this.a=a}, +Ab:function Ab(a,b){this.a=a +this.b=b}, +Wd:function Wd(a,b,c){var _=this +_.w=a +_.a=$ +_.b=b +_.c=c +_.f=_.e=_.d=null}, +Fs:function Fs(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +Xo:function Xo(a,b){this.a=a +this.b=b}, +Xn:function Xn(){}, +qT:function qT(a,b){var _=this +_.e=null +_.b=a +_.c=b +_.d=!1}, +a80:function a80(a){this.a=a}, +Ge:function Ge(a,b,c){var _=this +_.e=a +_.b=b +_.c=c +_.d=!1}, +DR:function DR(a){this.a=a +this.c=this.b=null}, +Us:function Us(a){this.a=a}, +Ut:function Ut(a){this.a=a}, +Ur:function Ur(a,b){this.a=a +this.b=b}, +a_s:function a_s(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +a0r:function a0r(a,b){var _=this +_.w=null +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +a0z:function a0z(a,b,c,d){var _=this +_.w=a +_.x=b +_.y=1 +_.z=$ +_.Q=!1 +_.a=$ +_.b=c +_.c=d +_.f=_.e=_.d=null}, +a0A:function a0A(a,b){this.a=a +this.b=b}, +a0B:function a0B(a){this.a=a}, +wF:function wF(a,b){this.a=a +this.b=b}, +a1i:function a1i(){}, +UO:function UO(a,b){this.a=a +this.b=b}, +XS:function XS(a,b){this.c=null +this.a=a +this.b=b}, +z9:function z9(a,b,c){var _=this +_.c=a +_.e=_.d=null +_.a=b +_.b=c}, +H_:function H_(a,b,c){var _=this +_.e=a +_.f=null +_.b=b +_.c=c +_.d=!1}, +aj2:function aj2(){}, +a1q:function a1q(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +nF:function nF(a,b){var _=this +_.e=null +_.b=a +_.c=b +_.d=!1}, +a69:function a69(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +a8I:function a8I(a,b,c){var _=this +_.w=null +_.x=a +_.y=null +_.z=0 +_.a=$ +_.b=b +_.c=c +_.f=_.e=_.d=null}, +a8P:function a8P(a){this.a=a}, +a8Q:function a8Q(a){this.a=a}, +a8R:function a8R(a){this.a=a}, +vE:function vE(a){this.a=a}, +K9:function K9(a){this.a=a}, +K6:function K6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1){var _=this +_.a=a +_.b=b +_.c=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.ay=n +_.ch=o +_.CW=p +_.cx=q +_.cy=r +_.db=s +_.dx=a0 +_.dy=a1 +_.fr=a2 +_.fx=a3 +_.fy=a4 +_.go=a5 +_.id=a6 +_.k1=a7 +_.k2=a8 +_.k3=a9 +_.ok=b0 +_.p1=b1}, +fJ:function fJ(a,b){this.a=a +this.b=b}, +IO:function IO(){}, +ZW:function ZW(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +k6:function k6(){}, +om:function om(a,b){var _=this +_.a=0 +_.fy=_.fx=_.fr=_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=_.ax=_.at=_.as=_.Q=_.z=_.y=_.x=_.w=_.r=_.f=_.e=_.d=_.c=_.b=null +_.go=-1 +_.id=0 +_.k1=null +_.k2=a +_.k3=b +_.k4=-1 +_.p3=_.p2=_.p1=_.ok=null +_.R8=_.p4=0}, +Uu:function Uu(a,b){this.a=a +this.b=b}, +nj:function nj(a,b){this.a=a +this.b=b}, +YK:function YK(a,b,c,d,e){var _=this +_.a=a +_.b=!1 +_.c=b +_.d=c +_.f=d +_.r=null +_.w=e}, +YP:function YP(){}, +YO:function YO(a){this.a=a}, +YL:function YL(a,b,c,d,e){var _=this +_.a=a +_.b=null +_.d=b +_.e=c +_.f=d +_.r=e +_.w=!1}, +YN:function YN(a){this.a=a}, +YM:function YM(a,b){this.a=a +this.b=b}, +vD:function vD(a,b){this.a=a +this.b=b}, +a99:function a99(a){this.a=a}, +a95:function a95(){}, +Xk:function Xk(){this.a=null}, +Xl:function Xl(a){this.a=a}, +a4B:function a4B(){var _=this +_.b=_.a=null +_.c=0 +_.d=!1}, +a4D:function a4D(a){this.a=a}, +a4C:function a4C(a){this.a=a}, +Vq:function Vq(a,b){var _=this +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +KJ:function KJ(a,b){var _=this +_.e=null +_.f=!1 +_.b=a +_.c=b +_.d=!1}, +aaE:function aaE(a,b){this.a=a +this.b=b}, +a9j:function a9j(a,b,c,d,e,f){var _=this +_.cx=_.CW=_.ch=null +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +aaM:function aaM(a,b){var _=this +_.x=_.w=null +_.a=$ +_.b=a +_.c=b +_.f=_.e=_.d=null}, +aaN:function aaN(a){this.a=a}, +aaO:function aaO(a){this.a=a}, +aaP:function aaP(a){this.a=a}, +aaQ:function aaQ(a,b){this.a=a +this.b=b}, +aaR:function aaR(a){this.a=a}, +aaS:function aaS(a){this.a=a}, +aaT:function aaT(a){this.a=a}, +je:function je(){}, +Oc:function Oc(){}, +L7:function L7(a,b){this.a=a +this.b=b}, +hd:function hd(a,b){this.a=a +this.b=b}, +a0N:function a0N(){}, +a0P:function a0P(){}, +aa0:function aa0(){}, +aa3:function aa3(a,b){this.a=a +this.b=b}, +aa4:function aa4(){}, +ac9:function ac9(a,b,c){this.b=a +this.c=b +this.d=c}, +J_:function J_(a){this.a=a +this.b=0}, +aao:function aao(a,b){this.a=a +this.b=b}, +Ez:function Ez(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=!1 +_.f=null +_.w=_.r=$ +_.x=null}, +W3:function W3(){}, +xx:function xx(a,b){this.a=a +this.c=b}, +rf:function rf(){}, +ED:function ED(a,b){this.b=a +this.c=b +this.a=null}, +Jx:function Jx(a){this.b=a +this.a=null}, +W2:function W2(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.r=f +_.w=!0}, +a_C:function a_C(){}, +a_D:function a_D(a,b,c){this.a=a +this.b=b +this.c=c}, +aaV:function aaV(){}, +aaU:function aaU(){}, +a1m:function a1m(a,b){this.b=a +this.a=b}, +ady:function ady(){}, +ha:function ha(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){var _=this +_.wp$=a +_.wq$=b +_.hK$=c +_.ca$=d +_.ip$=e +_.kz$=f +_.kA$=g +_.kB$=h +_.ci$=i +_.cj$=j +_.c=k +_.d=l +_.e=m +_.f=n +_.r=o +_.w=p +_.a=q +_.b=r}, +aeu:function aeu(){}, +aev:function aev(){}, +aet:function aet(){}, +vA:function vA(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){var _=this +_.wp$=a +_.wq$=b +_.hK$=c +_.ca$=d +_.ip$=e +_.kz$=f +_.kA$=g +_.kB$=h +_.ci$=i +_.cj$=j +_.c=k +_.d=l +_.e=m +_.f=n +_.r=o +_.w=p +_.a=q +_.b=r}, +rp:function rp(a,b,c){var _=this +_.a=a +_.b=-1 +_.c=0 +_.d=null +_.f=_.e=0 +_.w=_.r=-1 +_.x=!1 +_.y=b +_.z=c +_.as=_.Q=$}, +a1p:function a1p(a,b,c,d,e,f){var _=this +_.a=a +_.b=null +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.z=_.y=_.x=_.w=0 +_.Q=-1 +_.ax=_.at=_.as=0}, +Kv:function Kv(a){this.a=a +this.c=this.b=null}, +lo:function lo(a,b){this.a=a +this.b=b}, +YU:function YU(a){this.a=a}, +abT:function abT(a,b){this.b=a +this.a=b}, +ln:function ln(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.a=d +_.b=e}, +aj3:function aj3(a,b,c){this.a=a +this.b=b +this.c=c}, +JB:function JB(a){this.a=a}, +abd:function abd(a){this.a=a}, +iw:function iw(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +iM:function iM(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=$ +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.Q=j +_.as=$}, +vF:function vF(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l}, +vG:function vG(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=null +_.fr=$}, +zy:function zy(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=$}, +aaJ:function aaJ(a){this.a=a +this.b=null}, +KN:function KN(a,b,c){var _=this +_.a=a +_.b=b +_.d=_.c=$ +_.e=c +_.r=_.f=$}, +q1:function q1(a,b){this.a=a +this.b=b}, +mK:function mK(a,b,c,d){var _=this +_.c=a +_.d=b +_.a=c +_.b=d}, +Ad:function Ad(a,b){this.a=a +this.b=b}, +ci:function ci(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +kf:function kf(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +Nw:function Nw(a,b,c){this.c=a +this.a=b +this.b=c}, +Vf:function Vf(a){this.a=a}, +EY:function EY(){}, +Yx:function Yx(){}, +a5k:function a5k(){}, +YQ:function YQ(){}, +XT:function XT(){}, +a_i:function a_i(){}, +a5i:function a5i(){}, +a6s:function a6s(){}, +a8T:function a8T(){}, +a9l:function a9l(){}, +Yy:function Yy(){}, +a5m:function a5m(){}, +a56:function a56(){}, +ab7:function ab7(){}, +a5p:function a5p(){}, +Xc:function Xc(){}, +a5U:function a5U(){}, +Ym:function Ym(){}, +abN:function abN(){}, +x9:function x9(){}, +rn:function rn(a,b){this.a=a +this.b=b}, +zw:function zw(a){this.a=a}, +Yr:function Yr(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +Ys:function Ys(a,b){this.a=a +this.b=b}, +Yt:function Yt(a,b,c){this.a=a +this.b=b +this.c=c}, +E8:function E8(a,b,c,d){var _=this +_.a=a +_.b=b +_.d=c +_.e=d}, +ro:function ro(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +pP:function pP(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a0F:function a0F(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j}, +Gs:function Gs(a,b,c,d,e,f){var _=this +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +qW:function qW(a,b,c,d,e,f){var _=this +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +v9:function v9(){}, +Xh:function Xh(){}, +Xi:function Xi(){}, +Xj:function Xj(){}, +Xg:function Xg(a,b,c){this.a=a +this.b=b +this.c=c}, +a_T:function a_T(a,b,c,d,e,f){var _=this +_.ok=null +_.p1=!0 +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +a_W:function a_W(a){this.a=a}, +a_U:function a_U(a){this.a=a}, +a_V:function a_V(a){this.a=a}, +UC:function UC(a,b,c,d,e,f){var _=this +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +Z4:function Z4(a,b,c,d,e,f){var _=this +_.a=a +_.b=!1 +_.c=null +_.d=$ +_.y=_.x=_.w=_.r=_.f=_.e=null +_.z=b +_.Q=!1 +_.a$=c +_.b$=d +_.c$=e +_.d$=f}, +Z5:function Z5(a){this.a=a}, +aaX:function aaX(){}, +ab1:function ab1(a,b){this.a=a +this.b=b}, +ab8:function ab8(){}, +ab3:function ab3(a){this.a=a}, +ab6:function ab6(){}, +ab2:function ab2(a){this.a=a}, +ab5:function ab5(a){this.a=a}, +aaW:function aaW(){}, +aaZ:function aaZ(){}, +ab4:function ab4(){}, +ab0:function ab0(){}, +ab_:function ab_(){}, +aaY:function aaY(a){this.a=a}, +akv:function akv(){}, +aaK:function aaK(a){this.a=a}, +aaL:function aaL(a){this.a=a}, +a_Q:function a_Q(){var _=this +_.a=$ +_.b=null +_.c=!1 +_.d=null +_.f=$}, +a_S:function a_S(a){this.a=a}, +a_R:function a_R(a){this.a=a}, +Yb:function Yb(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +Y9:function Y9(a,b,c){this.a=a +this.b=b +this.c=c}, +Ya:function Ya(){}, +zP:function zP(a,b){this.a=a +this.b=b}, +ajN:function ajN(){}, +Hg:function Hg(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +jn:function jn(a,b){this.a=a +this.b=b}, +bp:function bp(a){this.a=a}, +Z0:function Z0(a){this.a=a +this.c=this.b=0}, +X3:function X3(a,b){var _=this +_.b=a +_.d=_.c=$ +_.e=b}, +X4:function X4(a){this.a=a}, +X5:function X5(a){this.a=a}, +Ft:function Ft(){}, +Gl:function Gl(a){this.b=$ +this.c=a}, +Fz:function Fz(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=$}, +XQ:function XQ(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=null}, +X6:function X6(a){this.a=a +this.b=$}, +ZO:function ZO(a){this.a=a}, +vZ:function vZ(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a_h:function a_h(a,b){this.a=a +this.b=b}, +ajm:function ajm(){}, +jx:function jx(){}, +Nm:function Nm(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=$ +_.f=!1 +_.z=_.y=_.x=_.w=_.r=$ +_.Q=d +_.as=$ +_.at=null +_.ay=e +_.ch=f}, +pS:function pS(a,b,c,d,e,f,g){var _=this +_.CW=null +_.cx=a +_.a=b +_.b=c +_.c=d +_.d=$ +_.f=!1 +_.z=_.y=_.x=_.w=_.r=$ +_.Q=e +_.as=$ +_.at=null +_.ay=f +_.ch=g}, +Yv:function Yv(a,b){this.a=a +this.b=b}, +Lk:function Lk(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +rF:function rF(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +abW:function abW(){}, +MV:function MV(){}, +N5:function N5(){}, +Ol:function Ol(){}, +Om:function Om(){}, +On:function On(){}, +Pe:function Pe(){}, +Pf:function Pf(){}, +T2:function T2(){}, +alU:function alU(){}, +eL(a,b,c){if(b.h("W<0>").b(a))return new A.Ax(a,b.h("@<0>").bd(c).h("Ax<1,2>")) +return new A.mR(a,b.h("@<0>").bd(c).h("mR<1,2>"))}, +aqB(a){return new A.h8("Field '"+a+"' has not been initialized.")}, +alX(a){return new A.h8("Local '"+a+"' has not been initialized.")}, +azE(a){return new A.js(a)}, +ak7(a){var s,r=a^48 +if(r<=9)return r +s=a|32 +if(97<=s&&s<=102)return s-87 +return-1}, +ave(a,b){var s=A.ak7(a.charCodeAt(b)),r=A.ak7(a.charCodeAt(b+1)) +return s*16+r-(r&256)}, +F(a,b){a=a+b&536870911 +a=a+((a&524287)<<10)&536870911 +return a^a>>>6}, +dz(a){a=a+((a&67108863)<<3)&536870911 +a^=a>>>11 +return a+((a&16383)<<15)&536870911}, +aEc(a,b,c){return A.dz(A.F(A.F(c,a),b))}, +aEd(a,b,c,d,e){return A.dz(A.F(A.F(A.F(A.F(e,a),b),c),d))}, +eE(a,b,c){return a}, +anK(a){var s,r +for(s=$.pd.length,r=0;rc)A.aa(A.bY(b,0,c,"start",null))}return new A.fO(a,b,c,d.h("fO<0>"))}, +Hj(a,b,c,d){if(t.Ee.b(a))return new A.hN(a,b,c.h("@<0>").bd(d).h("hN<1,2>")) +return new A.dZ(a,b,c.h("@<0>").bd(d).h("dZ<1,2>"))}, +aEh(a,b,c){var s="takeCount" +A.hB(b,s) +A.dw(b,s) +if(t.Ee.b(a))return new A.vy(a,b,c.h("vy<0>")) +return new A.oy(a,b,c.h("oy<0>"))}, +as4(a,b,c){var s="count" +if(t.Ee.b(a)){A.hB(b,s) +A.dw(b,s) +return new A.pR(a,b,c.h("pR<0>"))}A.hB(b,s) +A.dw(b,s) +return new A.k9(a,b,c.h("k9<0>"))}, +aq8(a,b,c){if(c.h("W<0>").b(b))return new A.vx(a,b,c.h("vx<0>")) +return new A.jA(a,b,c.h("jA<0>"))}, +aBx(a,b,c){return new A.pQ(a,b,c.h("pQ<0>"))}, +bu(){return new A.hn("No element")}, +li(){return new A.hn("Too many elements")}, +aqo(){return new A.hn("Too few elements")}, +ia:function ia(){}, +EA:function EA(a,b){this.a=a +this.$ti=b}, +mR:function mR(a,b){this.a=a +this.$ti=b}, +Ax:function Ax(a,b){this.a=a +this.$ti=b}, +Aa:function Aa(){}, +bK:function bK(a,b){this.a=a +this.$ti=b}, +kW:function kW(a,b,c){this.a=a +this.b=b +this.$ti=c}, +mS:function mS(a,b){this.a=a +this.$ti=b}, +W8:function W8(a,b){this.a=a +this.b=b}, +W7:function W7(a,b){this.a=a +this.b=b}, +W6:function W6(a){this.a=a}, +jr:function jr(a,b){this.a=a +this.$ti=b}, +h8:function h8(a){this.a=a}, +js:function js(a){this.a=a}, +ako:function ako(){}, +a9m:function a9m(){}, +W:function W(){}, +aI:function aI(){}, +fO:function fO(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +bS:function bS(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +dZ:function dZ(a,b,c){this.a=a +this.b=b +this.$ti=c}, +hN:function hN(a,b,c){this.a=a +this.b=b +this.$ti=c}, +br:function br(a,b,c){var _=this +_.a=null +_.b=a +_.c=b +_.$ti=c}, +ay:function ay(a,b,c){this.a=a +this.b=b +this.$ti=c}, +aF:function aF(a,b,c){this.a=a +this.b=b +this.$ti=c}, +ki:function ki(a,b){this.a=a +this.b=b}, +hO:function hO(a,b,c){this.a=a +this.b=b +this.$ti=c}, +G1:function G1(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=null +_.$ti=d}, +oy:function oy(a,b,c){this.a=a +this.b=b +this.$ti=c}, +vy:function vy(a,b,c){this.a=a +this.b=b +this.$ti=c}, +KH:function KH(a,b,c){this.a=a +this.b=b +this.$ti=c}, +k9:function k9(a,b,c){this.a=a +this.b=b +this.$ti=c}, +pR:function pR(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Kh:function Kh(a,b){this.a=a +this.b=b}, +za:function za(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Ki:function Ki(a,b){this.a=a +this.b=b +this.c=!1}, +fv:function fv(a){this.$ti=a}, +FP:function FP(){}, +jA:function jA(a,b,c){this.a=a +this.b=b +this.$ti=c}, +vx:function vx(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Gf:function Gf(a,b){this.a=a +this.b=b}, +d6:function d6(a,b){this.a=a +this.$ti=b}, +rH:function rH(a,b){this.a=a +this.$ti=b}, +nu:function nu(a,b,c){this.a=a +this.b=b +this.$ti=c}, +pQ:function pQ(a,b,c){this.a=a +this.b=b +this.$ti=c}, +wo:function wo(a,b){this.a=a +this.b=b +this.c=-1}, +vU:function vU(){}, +Lb:function Lb(){}, +rz:function rz(){}, +cm:function cm(a,b){this.a=a +this.$ti=b}, +e0:function e0(a){this.a=a}, +CY:function CY(){}, +ald(a,b,c){var s,r,q,p,o,n,m=A.hV(new A.aZ(a,A.o(a).h("aZ<1>")),!0,b),l=m.length,k=0 +while(!0){if(!(k").bd(c).h("bt<1,2>")) +n.$keys=m +return n}return new A.mV(A.aBP(a,b,c),b.h("@<0>").bd(c).h("mV<1,2>"))}, +ale(){throw A.c(A.a_("Cannot modify unmodifiable Map"))}, +F0(){throw A.c(A.a_("Cannot modify constant Set"))}, +auZ(a,b){var s=new A.ww(a,b.h("ww<0>")) +s.XO(a) +return s}, +avs(a){var s=v.mangledGlobalNames[a] +if(s!=null)return s +return"minified:"+a}, +av1(a,b){var s +if(b!=null){s=b.x +if(s!=null)return s}return t.dC.b(a)}, +h(a){var s +if(typeof a=="string")return a +if(typeof a=="number"){if(a!==0)return""+a}else if(!0===a)return"true" +else if(!1===a)return"false" +else if(a==null)return"null" +s=J.el(a) +return s}, +ll(a,b,c,d,e,f){return new A.a0M(a,c,d,e,f)}, +fL(a){var s,r=$.arp +if(r==null)r=$.arp=Symbol("identityHashCode") +s=a[r] +if(s==null){s=Math.random()*0x3fffffff|0 +a[r]=s}return s}, +arr(a,b){var s,r,q,p,o,n=null,m=/^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(a) +if(m==null)return n +s=m[3] +if(b==null){if(s!=null)return parseInt(a,10) +if(m[2]!=null)return parseInt(a,16) +return n}if(b<2||b>36)throw A.c(A.bY(b,2,36,"radix",n)) +if(b===10&&s!=null)return parseInt(a,10) +if(b<10||s==null){r=b<=10?47+b:86+b +q=m[1] +for(p=q.length,o=0;or)return n}return parseInt(a,b)}, +arq(a){var s,r +if(!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(a))return null +s=parseFloat(a) +if(isNaN(s)){r=B.d.oF(a) +if(r==="NaN"||r==="+NaN"||r==="-NaN")return s +return null}return s}, +a6v(a){return A.aCV(a)}, +aCV(a){var s,r,q,p +if(a instanceof A.J)return A.fj(A.bm(a),null) +s=J.jg(a) +if(s===B.CM||s===B.D_||t.kk.b(a)){r=B.km(a) +if(r!=="Object"&&r!=="")return r +q=a.constructor +if(typeof q=="function"){p=q.name +if(typeof p=="string"&&p!=="Object"&&p!=="")return p}}return A.fj(A.bm(a),null)}, +ars(a){if(a==null||typeof a=="number"||A.mw(a))return J.el(a) +if(typeof a=="string")return JSON.stringify(a) +if(a instanceof A.l_)return a.j(0) +if(a instanceof A.j6)return a.ME(!0) +return"Instance of '"+A.a6v(a)+"'"}, +aCX(){return Date.now()}, +aD4(){var s,r +if($.a6w!==0)return +$.a6w=1000 +if(typeof window=="undefined")return +s=window +if(s==null)return +if(!!s.dartUseDateNowForTicks)return +r=s.performance +if(r==null)return +if(typeof r.now!="function")return +$.a6w=1e6 +$.IQ=new A.a6u(r)}, +aCW(){if(!!self.location)return self.location.href +return null}, +aro(a){var s,r,q,p,o=a.length +if(o<=500)return String.fromCharCode.apply(null,a) +for(s="",r=0;r65535)return A.aD5(a)}return A.aro(a)}, +aD6(a,b,c){var s,r,q,p +if(c<=500&&b===0&&c===a.length)return String.fromCharCode.apply(null,a) +for(s=b,r="";s>>0,s&1023|56320)}}throw A.c(A.bY(a,0,1114111,null,null))}, +fK(a){if(a.date===void 0)a.date=new Date(a.a) +return a.date}, +amf(a){return a.c?A.fK(a).getUTCFullYear()+0:A.fK(a).getFullYear()+0}, +aD2(a){return a.c?A.fK(a).getUTCMonth()+1:A.fK(a).getMonth()+1}, +aCZ(a){return a.c?A.fK(a).getUTCDate()+0:A.fK(a).getDate()+0}, +aD_(a){return a.c?A.fK(a).getUTCHours()+0:A.fK(a).getHours()+0}, +aD1(a){return a.c?A.fK(a).getUTCMinutes()+0:A.fK(a).getMinutes()+0}, +aD3(a){return a.c?A.fK(a).getUTCSeconds()+0:A.fK(a).getSeconds()+0}, +aD0(a){return a.c?A.fK(a).getUTCMilliseconds()+0:A.fK(a).getMilliseconds()+0}, +aCY(a){var s=a.$thrownJsError +if(s==null)return null +return A.aK(s)}, +tU(a,b){var s,r="index" +if(!A.p6(b))return new A.eK(!0,b,r,null) +s=J.cc(a) +if(b<0||b>=s)return A.cC(b,s,a,null,r) +return A.a6z(b,r)}, +aIL(a,b,c){if(a>c)return A.bY(a,0,c,"start",null) +if(b!=null)if(bc)return A.bY(b,a,c,"end",null) +return new A.eK(!0,b,"end",null)}, +tS(a){return new A.eK(!0,a,null,null)}, +fV(a){return a}, +c(a){return A.auY(new Error(),a)}, +auY(a,b){var s +if(b==null)b=new A.kd() +a.dartException=b +s=A.aK3 +if("defineProperty" in Object){Object.defineProperty(a,"message",{get:s}) +a.name=""}else a.toString=s +return a}, +aK3(){return J.el(this.dartException)}, +aa(a){throw A.c(a)}, +akA(a,b){throw A.auY(b,a)}, +L(a){throw A.c(A.bL(a))}, +ke(a){var s,r,q,p,o,n +a=A.anS(a.replace(String({}),"$receiver$")) +s=a.match(/\\\$[a-zA-Z]+\\\$/g) +if(s==null)s=A.b([],t.s) +r=s.indexOf("\\$arguments\\$") +q=s.indexOf("\\$argumentsExpr\\$") +p=s.indexOf("\\$expr\\$") +o=s.indexOf("\\$method\\$") +n=s.indexOf("\\$receiver\\$") +return new A.abC(a.replace(new RegExp("\\\\\\$arguments\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$argumentsExpr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$expr\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$method\\\\\\$","g"),"((?:x|[^x])*)").replace(new RegExp("\\\\\\$receiver\\\\\\$","g"),"((?:x|[^x])*)"),r,q,p,o,n)}, +abD(a){return function($expr$){var $argumentsExpr$="$arguments$" +try{$expr$.$method$($argumentsExpr$)}catch(s){return s.message}}(a)}, +ass(a){return function($expr$){try{$expr$.$method$}catch(s){return s.message}}(a)}, +alV(a,b){var s=b==null,r=s?null:b.method +return new A.GT(a,r,s?null:b.receiver)}, +a6(a){if(a==null)return new A.HR(a) +if(a instanceof A.vI)return A.mD(a,a.a) +if(typeof a!=="object")return a +if("dartException" in a)return A.mD(a,a.dartException) +return A.aHQ(a)}, +mD(a,b){if(t.Lt.b(b))if(b.$thrownJsError==null)b.$thrownJsError=a +return b}, +aHQ(a){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(!("message" in a))return a +s=a.message +if("number" in a&&typeof a.number=="number"){r=a.number +q=r&65535 +if((B.f.es(r,16)&8191)===10)switch(q){case 438:return A.mD(a,A.alV(A.h(s)+" (Error "+q+")",null)) +case 445:case 5007:A.h(s) +return A.mD(a,new A.xm())}}if(a instanceof TypeError){p=$.awC() +o=$.awD() +n=$.awE() +m=$.awF() +l=$.awI() +k=$.awJ() +j=$.awH() +$.awG() +i=$.awL() +h=$.awK() +g=p.iB(s) +if(g!=null)return A.mD(a,A.alV(s,g)) +else{g=o.iB(s) +if(g!=null){g.method="call" +return A.mD(a,A.alV(s,g))}else if(n.iB(s)!=null||m.iB(s)!=null||l.iB(s)!=null||k.iB(s)!=null||j.iB(s)!=null||m.iB(s)!=null||i.iB(s)!=null||h.iB(s)!=null)return A.mD(a,new A.xm())}return A.mD(a,new A.La(typeof s=="string"?s:""))}if(a instanceof RangeError){if(typeof s=="string"&&s.indexOf("call stack")!==-1)return new A.zk() +s=function(b){try{return String(b)}catch(f){}return null}(a) +return A.mD(a,new A.eK(!1,null,null,typeof s=="string"?s.replace(/^RangeError:\s*/,""):s))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof s=="string"&&s==="too much recursion")return new A.zk() +return a}, +aK(a){var s +if(a instanceof A.vI)return a.b +if(a==null)return new A.Ck(a) +s=a.$cachedTrace +if(s!=null)return s +s=new A.Ck(a) +if(typeof a==="object")a.$cachedTrace=s +return s}, +pc(a){if(a==null)return J.u(a) +if(typeof a=="object")return A.fL(a) +return J.u(a)}, +aIl(a){if(typeof a=="number")return B.c.gu(a) +if(a instanceof A.CA)return A.fL(a) +if(a instanceof A.j6)return a.gu(a) +if(a instanceof A.e0)return a.gu(0) +return A.pc(a)}, +auR(a,b){var s,r,q,p=a.length +for(s=0;s=0 +else if(b instanceof A.GS){s=B.d.cZ(a,c) +return b.b.test(s)}else return!J.ayj(b,B.d.cZ(a,c)).gM(0)}, +aIP(a){if(a.indexOf("$",0)>=0)return a.replace(/\$/g,"$$$$") +return a}, +anS(a){if(/[[\]{}()*+?.\\^$|]/.test(a))return a.replace(/[[\]{}()*+?.\\^$|]/g,"\\$&") +return a}, +ji(a,b,c){var s=A.aJO(a,b,c) +return s}, +aJO(a,b,c){var s,r,q +if(b===""){if(a==="")return c +s=a.length +r=""+c +for(q=0;q=0)return a.split(b).join(c) +return a.replace(new RegExp(A.anS(b),"g"),A.aIP(c))}, +aJP(a,b,c,d){var s=a.indexOf(b,d) +if(s<0)return a +return A.avp(a,s,s+b.length,c)}, +avp(a,b,c,d){return a.substring(0,b)+d+a.substring(c)}, +av:function av(a,b){this.a=a +this.b=b}, +Bv:function Bv(a,b){this.a=a +this.b=b}, +Q7:function Q7(a,b){this.a=a +this.b=b}, +Bw:function Bw(a,b){this.a=a +this.b=b}, +Q8:function Q8(a,b){this.a=a +this.b=b}, +Q9:function Q9(a,b){this.a=a +this.b=b}, +Qa:function Qa(a,b){this.a=a +this.b=b}, +oU:function oU(a,b,c){this.a=a +this.b=b +this.c=c}, +Qb:function Qb(a,b,c){this.a=a +this.b=b +this.c=c}, +Bx:function Bx(a,b,c){this.a=a +this.b=b +this.c=c}, +By:function By(a,b,c){this.a=a +this.b=b +this.c=c}, +Qc:function Qc(a,b,c){this.a=a +this.b=b +this.c=c}, +Qd:function Qd(a,b,c){this.a=a +this.b=b +this.c=c}, +Qe:function Qe(a,b,c){this.a=a +this.b=b +this.c=c}, +Bz:function Bz(a,b,c){this.a=a +this.b=b +this.c=c}, +BA:function BA(a){this.a=a}, +mV:function mV(a,b){this.a=a +this.$ti=b}, +pJ:function pJ(){}, +WQ:function WQ(a,b,c){this.a=a +this.b=b +this.c=c}, +bt:function bt(a,b,c){this.a=a +this.b=b +this.$ti=c}, +oR:function oR(a,b){this.a=a +this.$ti=b}, +md:function md(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +d3:function d3(a,b){this.a=a +this.$ti=b}, +uW:function uW(){}, +dV:function dV(a,b,c){this.a=a +this.b=b +this.$ti=c}, +dt:function dt(a,b){this.a=a +this.$ti=b}, +wv:function wv(){}, +ww:function ww(a,b){this.a=a +this.$ti=b}, +a0M:function a0M(a,b,c,d,e){var _=this +_.a=a +_.c=b +_.d=c +_.e=d +_.f=e}, +a6u:function a6u(a){this.a=a}, +abC:function abC(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +xm:function xm(){}, +GT:function GT(a,b,c){this.a=a +this.b=b +this.c=c}, +La:function La(a){this.a=a}, +HR:function HR(a){this.a=a}, +vI:function vI(a,b){this.a=a +this.b=b}, +Ck:function Ck(a){this.a=a +this.b=null}, +l_:function l_(){}, +EU:function EU(){}, +EV:function EV(){}, +KL:function KL(){}, +Ky:function Ky(){}, +pv:function pv(a,b){this.a=a +this.b=b}, +MN:function MN(a){this.a=a}, +JC:function JC(a){this.a=a}, +fz:function fz(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +a0U:function a0U(a){this.a=a}, +a0T:function a0T(a,b){this.a=a +this.b=b}, +a0S:function a0S(a){this.a=a}, +a1r:function a1r(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +aZ:function aZ(a,b){this.a=a +this.$ti=b}, +wJ:function wJ(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +nz:function nz(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +ak9:function ak9(a){this.a=a}, +aka:function aka(a){this.a=a}, +akb:function akb(a){this.a=a}, +j6:function j6(){}, +Q4:function Q4(){}, +Q5:function Q5(){}, +Q6:function Q6(){}, +GS:function GS(a,b){var _=this +_.a=a +_.b=b +_.d=_.c=null}, +B_:function B_(a){this.b=a}, +LC:function LC(a,b,c){this.a=a +this.b=b +this.c=c}, +LD:function LD(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +zn:function zn(a,b){this.a=a +this.c=b}, +RB:function RB(a,b,c){this.a=a +this.b=b +this.c=c}, +ahT:function ahT(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +aJY(a){A.akA(new A.h8("Field '"+a+u.N),new Error())}, +a(){A.akA(new A.h8("Field '' has not been initialized."),new Error())}, +bx(){A.akA(new A.h8("Field '' has already been initialized."),new Error())}, +a1(){A.akA(new A.h8("Field '' has been assigned during initialization."),new Error())}, +bj(a){var s=new A.adt(a) +return s.b=s}, +asY(a,b){var s=new A.afi(a,b) +return s.b=s}, +adt:function adt(a){this.a=a +this.b=null}, +afi:function afi(a,b){this.a=a +this.b=null +this.c=b}, +TK(a,b,c){}, +p4(a){return a}, +es(a,b,c){A.TK(a,b,c) +return c==null?new DataView(a,b):new DataView(a,b,c)}, +HG(a){return new Float32Array(a)}, +aCl(a){return new Float32Array(A.p4(a))}, +aCm(a){return new Float64Array(a)}, +aqX(a,b,c){A.TK(a,b,c) +return new Float64Array(a,b,c)}, +aqY(a){return new Int32Array(a)}, +aqZ(a,b,c){A.TK(a,b,c) +return new Int32Array(a,b,c)}, +aCn(a){return new Int8Array(a)}, +ar_(a){return new Uint16Array(A.p4(a))}, +am8(a){return new Uint8Array(a)}, +dh(a,b,c){A.TK(a,b,c) +return c==null?new Uint8Array(a,b):new Uint8Array(a,b,c)}, +kA(a,b,c){if(a>>>0!==a||a>=c)throw A.c(A.tU(b,a))}, +mv(a,b,c){var s +if(!(a>>>0!==a))if(b==null)s=a>c +else s=b>>>0!==b||a>b||b>c +else s=!0 +if(s)throw A.c(A.aIL(a,b,c)) +if(b==null)return c +return b}, +nQ:function nQ(){}, +xd:function xd(){}, +xa:function xa(){}, +qu:function qu(){}, +lu:function lu(){}, +fG:function fG(){}, +xb:function xb(){}, +HH:function HH(){}, +HI:function HI(){}, +xc:function xc(){}, +HJ:function HJ(){}, +HK:function HK(){}, +HL:function HL(){}, +xe:function xe(){}, +jN:function jN(){}, +Ba:function Ba(){}, +Bb:function Bb(){}, +Bc:function Bc(){}, +Bd:function Bd(){}, +arJ(a,b){var s=b.c +return s==null?b.c=A.an8(a,b.x,!0):s}, +amk(a,b){var s=b.c +return s==null?b.c=A.CD(a,"a7",[b.x]):s}, +arK(a){var s=a.w +if(s===6||s===7||s===8)return A.arK(a.x) +return s===12||s===13}, +aDr(a){return a.as}, +aJy(a,b){var s,r=b.length +for(s=0;s") +for(r=1;r=0)p+=" "+r[q];++q}return p+"})"}, +atZ(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=", ",a2=null +if(a5!=null){s=a5.length +if(a4==null)a4=A.b([],t.s) +else a2=a4.length +r=a4.length +for(q=s;q>0;--q)a4.push("T"+(r+q)) +for(p=t.X,o=t.ub,n="<",m="",q=0;q0){a+=a0+"[" +for(a0="",q=0;q0){a+=a0+"{" +for(a0="",q=0;q "+b}, +fj(a,b){var s,r,q,p,o,n,m=a.w +if(m===5)return"erased" +if(m===2)return"dynamic" +if(m===3)return"void" +if(m===1)return"Never" +if(m===4)return"any" +if(m===6)return A.fj(a.x,b) +if(m===7){s=a.x +r=A.fj(s,b) +q=s.w +return(q===12||q===13?"("+r+")":r)+"?"}if(m===8)return"FutureOr<"+A.fj(a.x,b)+">" +if(m===9){p=A.aHP(a.x) +o=a.y +return o.length>0?p+("<"+A.aul(o,b)+">"):p}if(m===11)return A.aHF(a,b) +if(m===12)return A.atZ(a,b,null) +if(m===13)return A.atZ(a.x,b,a.y) +if(m===14){n=a.x +return b[b.length-1-n]}return"?"}, +aHP(a){var s=v.mangledGlobalNames[a] +if(s!=null)return s +return"minified:"+a}, +aFW(a,b){var s=a.tR[b] +for(;typeof s=="string";)s=a.tR[s] +return s}, +aFV(a,b){var s,r,q,p,o,n=a.eT,m=n[b] +if(m==null)return A.Sv(a,b,!1) +else if(typeof m=="number"){s=m +r=A.CE(a,5,"#") +q=A.aiy(s) +for(p=0;p0)p+="<"+A.CC(c)+">" +s=a.eC.get(p) +if(s!=null)return s +r=new A.hk(null,null) +r.w=9 +r.x=b +r.y=c +if(c.length>0)r.c=c[0] +r.as=p +q=A.kw(a,r) +a.eC.set(p,q) +return q}, +an6(a,b,c){var s,r,q,p,o,n +if(b.w===10){s=b.x +r=b.y.concat(c)}else{r=c +s=b}q=s.as+(";<"+A.CC(r)+">") +p=a.eC.get(q) +if(p!=null)return p +o=new A.hk(null,null) +o.w=10 +o.x=s +o.y=r +o.as=q +n=A.kw(a,o) +a.eC.set(q,n) +return n}, +atg(a,b,c){var s,r,q="+"+(b+"("+A.CC(c)+")"),p=a.eC.get(q) +if(p!=null)return p +s=new A.hk(null,null) +s.w=11 +s.x=b +s.y=c +s.as=q +r=A.kw(a,s) +a.eC.set(q,r) +return r}, +ate(a,b,c){var s,r,q,p,o,n=b.as,m=c.a,l=m.length,k=c.b,j=k.length,i=c.c,h=i.length,g="("+A.CC(m) +if(j>0){s=l>0?",":"" +g+=s+"["+A.CC(k)+"]"}if(h>0){s=l>0?",":"" +g+=s+"{"+A.aFN(i)+"}"}r=n+(g+")") +q=a.eC.get(r) +if(q!=null)return q +p=new A.hk(null,null) +p.w=12 +p.x=b +p.y=c +p.as=r +o=A.kw(a,p) +a.eC.set(r,o) +return o}, +an7(a,b,c,d){var s,r=b.as+("<"+A.CC(c)+">"),q=a.eC.get(r) +if(q!=null)return q +s=A.aFP(a,b,c,r,d) +a.eC.set(r,s) +return s}, +aFP(a,b,c,d,e){var s,r,q,p,o,n,m,l +if(e){s=c.length +r=A.aiy(s) +for(q=0,p=0;p0){n=A.kE(a,b,r,0) +m=A.tQ(a,c,r,0) +return A.an7(a,n,m,c!==m)}}l=new A.hk(null,null) +l.w=13 +l.x=b +l.y=c +l.as=d +return A.kw(a,l)}, +at0(a,b,c,d){return{u:a,e:b,r:c,s:[],p:0,n:d}}, +at2(a){var s,r,q,p,o,n,m,l=a.r,k=a.s +for(s=l.length,r=0;r=48&&q<=57)r=A.aFi(r+1,q,l,k) +else if((((q|32)>>>0)-97&65535)<26||q===95||q===36||q===124)r=A.at1(a,r,l,k,!1) +else if(q===46)r=A.at1(a,r,l,k,!0) +else{++r +switch(q){case 44:break +case 58:k.push(!1) +break +case 33:k.push(!0) +break +case 59:k.push(A.ml(a.u,a.e,k.pop())) +break +case 94:k.push(A.aFS(a.u,k.pop())) +break +case 35:k.push(A.CE(a.u,5,"#")) +break +case 64:k.push(A.CE(a.u,2,"@")) +break +case 126:k.push(A.CE(a.u,3,"~")) +break +case 60:k.push(a.p) +a.p=k.length +break +case 62:A.aFk(a,k) +break +case 38:A.aFj(a,k) +break +case 42:p=a.u +k.push(A.ath(p,A.ml(p,a.e,k.pop()),a.n)) +break +case 63:p=a.u +k.push(A.an8(p,A.ml(p,a.e,k.pop()),a.n)) +break +case 47:p=a.u +k.push(A.atf(p,A.ml(p,a.e,k.pop()),a.n)) +break +case 40:k.push(-3) +k.push(a.p) +a.p=k.length +break +case 41:A.aFh(a,k) +break +case 91:k.push(a.p) +a.p=k.length +break +case 93:o=k.splice(a.p) +A.at3(a.u,a.e,o) +a.p=k.pop() +k.push(o) +k.push(-1) +break +case 123:k.push(a.p) +a.p=k.length +break +case 125:o=k.splice(a.p) +A.aFm(a.u,a.e,o) +a.p=k.pop() +k.push(o) +k.push(-2) +break +case 43:n=l.indexOf("(",r) +k.push(l.substring(r,n)) +k.push(-4) +k.push(a.p) +a.p=k.length +r=n+1 +break +default:throw"Bad character "+q}}}m=k.pop() +return A.ml(a.u,a.e,m)}, +aFi(a,b,c,d){var s,r,q=b-48 +for(s=c.length;a=48&&r<=57))break +q=q*10+(r-48)}d.push(q) +return a}, +at1(a,b,c,d,e){var s,r,q,p,o,n,m=b+1 +for(s=c.length;m>>0)-97&65535)<26||r===95||r===36||r===124))q=r>=48&&r<=57 +else q=!0 +if(!q)break}}p=c.substring(b,m) +if(e){s=a.u +o=a.e +if(o.w===10)o=o.x +n=A.aFW(s,o.x)[p] +if(n==null)A.aa('No "'+p+'" in "'+A.aDr(o)+'"') +d.push(A.CF(s,o,n))}else d.push(p) +return m}, +aFk(a,b){var s,r=a.u,q=A.at_(a,b),p=b.pop() +if(typeof p=="string")b.push(A.CD(r,p,q)) +else{s=A.ml(r,a.e,p) +switch(s.w){case 12:b.push(A.an7(r,s,q,a.n)) +break +default:b.push(A.an6(r,s,q)) +break}}}, +aFh(a,b){var s,r,q,p=a.u,o=b.pop(),n=null,m=null +if(typeof o=="number")switch(o){case-1:n=b.pop() +break +case-2:m=b.pop() +break +default:b.push(o) +break}else b.push(o) +s=A.at_(a,b) +o=b.pop() +switch(o){case-3:o=b.pop() +if(n==null)n=p.sEA +if(m==null)m=p.sEA +r=A.ml(p,a.e,o) +q=new A.NL() +q.a=s +q.b=n +q.c=m +b.push(A.ate(p,r,q)) +return +case-4:b.push(A.atg(p,b.pop(),s)) +return +default:throw A.c(A.hC("Unexpected state under `()`: "+A.h(o)))}}, +aFj(a,b){var s=b.pop() +if(0===s){b.push(A.CE(a.u,1,"0&")) +return}if(1===s){b.push(A.CE(a.u,4,"1&")) +return}throw A.c(A.hC("Unexpected extended operation "+A.h(s)))}, +at_(a,b){var s=b.splice(a.p) +A.at3(a.u,a.e,s) +a.p=b.pop() +return s}, +ml(a,b,c){if(typeof c=="string")return A.CD(a,c,a.sEA) +else if(typeof c=="number"){b.toString +return A.aFl(a,b,c)}else return c}, +at3(a,b,c){var s,r=c.length +for(s=0;sn)return!1 +m=n-o +l=s.b +k=r.b +j=l.length +i=k.length +if(o+j=d)return!1 +a1=f[b] +b+=3 +if(a00?new Array(q):v.typeUniverse.sEA +for(o=0;o0?new Array(a):v.typeUniverse.sEA}, +hk:function hk(a,b){var _=this +_.a=a +_.b=b +_.r=_.f=_.d=_.c=null +_.w=0 +_.as=_.Q=_.z=_.y=_.x=null}, +NL:function NL(){this.c=this.b=this.a=null}, +CA:function CA(a){this.a=a}, +Nn:function Nn(){}, +CB:function CB(a){this.a=a}, +aJ6(a,b){var s,r +if(B.d.c6(a,"Digit"))return a.charCodeAt(5) +s=b.charCodeAt(0) +if(b.length<=1)r=!(s>=32&&s<=127) +else r=!0 +if(r){r=B.iv.i(0,a) +return r==null?null:r.charCodeAt(0)}if(!(s>=$.axB()&&s<=$.axC()))r=s>=$.axM()&&s<=$.axN() +else r=!0 +if(r)return b.toLowerCase().charCodeAt(0) +return null}, +aFG(a){var s=A.E(t.S,t.N) +s.Nw(s,B.iv.gh6(B.iv).fA(0,new A.ahW(),t.q9)) +return new A.ahV(a,s)}, +aHO(a){var s,r,q,p,o=a.Rq(),n=A.E(t.N,t.S) +for(s=a.a,r=0;r=2)return null +return a.toLowerCase().charCodeAt(0)}, +ahV:function ahV(a,b){this.a=a +this.b=b +this.c=0}, +ahW:function ahW(){}, +wN:function wN(a){this.a=a}, +bl:function bl(a,b){this.a=a +this.b=b}, +cU:function cU(a,b){this.a=a +this.b=b}, +aET(){var s,r,q={} +if(self.scheduleImmediate!=null)return A.aHY() +if(self.MutationObserver!=null&&self.document!=null){s=self.document.createElement("div") +r=self.document.createElement("span") +q.a=null +new self.MutationObserver(A.tT(new A.acs(q),1)).observe(s,{childList:true}) +return new A.acr(q,s,r)}else if(self.setImmediate!=null)return A.aHZ() +return A.aI_()}, +aEU(a){self.scheduleImmediate(A.tT(new A.act(a),0))}, +aEV(a){self.setImmediate(A.tT(new A.acu(a),0))}, +aEW(a){A.amK(B.r,a)}, +amK(a,b){var s=B.f.c7(a.a,1000) +return A.aFJ(s<0?0:s,b)}, +aFJ(a,b){var s=new A.S_(!0) +s.Y2(a,b) +return s}, +C(a){return new A.LR(new A.a9($.ad,a.h("a9<0>")),a.h("LR<0>"))}, +B(a,b){a.$2(0,null) +b.b=!0 +return b.a}, +y(a,b){A.aGe(a,b)}, +A(a,b){b.cv(0,a)}, +z(a,b){b.lJ(A.a6(a),A.aK(a))}, +aGe(a,b){var s,r,q=new A.aiT(b),p=new A.aiU(b) +if(a instanceof A.a9)a.Mz(q,p,t.z) +else{s=t.z +if(t.L0.b(a))a.ej(0,q,p,s) +else{r=new A.a9($.ad,t.LR) +r.a=8 +r.c=a +r.Mz(q,p,s)}}}, +D(a){var s=function(b,c){return function(d,e){while(true){try{b(d,e) +break}catch(r){e=r +d=c}}}}(a,1) +return $.ad.xJ(new A.ajH(s))}, +atb(a,b,c){return 0}, +UU(a,b){var s=A.eE(a,"error",t.K) +return new A.E4(s,b==null?A.pq(a):b)}, +pq(a){var s +if(t.Lt.b(a)){s=a.gtT() +if(s!=null)return s}return B.zy}, +aBb(a,b){var s=new A.a9($.ad,b.h("a9<0>")) +A.cb(B.r,new A.ZT(a,s)) +return s}, +aBc(a,b){var s=new A.a9($.ad,b.h("a9<0>")) +A.e3(new A.ZS(a,s)) +return s}, +ce(a,b){var s=a==null?b.a(a):a,r=new A.a9($.ad,b.h("a9<0>")) +r.k_(s) +return r}, +nh(a,b,c){var s +A.eE(a,"error",t.K) +if(b==null)b=A.pq(a) +s=new A.a9($.ad,c.h("a9<0>")) +s.n_(a,b) +return s}, +q4(a,b,c){var s,r +if(b==null)s=!c.b(null) +else s=!1 +if(s)throw A.c(A.fn(null,"computation","The type parameter is not nullable")) +r=new A.a9($.ad,c.h("a9<0>")) +A.cb(a,new A.ZR(b,r,c)) +return r}, +ni(a,b){var s,r,q,p,o,n,m,l,k={},j=null,i=!1,h=new A.a9($.ad,b.h("a9>")) +k.a=null +k.b=0 +k.c=k.d=null +s=new A.ZV(k,j,i,h) +try{for(n=J.ak(a),m=t.P;n.t();){r=n.gG(n) +q=k.b +J.ayL(r,new A.ZU(k,q,h,b,j,i),s,m);++k.b}n=k.b +if(n===0){n=h +n.pj(A.b([],b.h("v<0>"))) +return n}k.a=A.b8(n,null,!1,b.h("0?"))}catch(l){p=A.a6(l) +o=A.aK(l) +if(k.b===0||i)return A.nh(p,o,b.h("N<0>")) +else{k.d=p +k.c=o}}return h}, +aBa(a,b,c,d){var s,r,q=new A.ZQ(d,null,b,c) +if(a instanceof A.a9){s=$.ad +r=new A.a9(s,c.h("a9<0>")) +if(s!==B.ad)q=s.xJ(q) +a.mZ(new A.hx(r,2,null,q,a.$ti.h("@<1>").bd(c).h("hx<1,2>"))) +return r}return a.ej(0,new A.ZP(c),q,c)}, +aj0(a,b,c){if(c==null)c=A.pq(b) +a.i4(b,c)}, +fe(a,b){var s=new A.a9($.ad,b.h("a9<0>")) +s.a=8 +s.c=a +return s}, +amT(a,b){var s,r +for(;s=a.a,(s&4)!==0;)a=a.c +if(a===b){b.n_(new A.eK(!0,a,null,"Cannot complete a future with itself"),A.amx()) +return}s|=b.a&1 +a.a=s +if((s&24)!==0){r=b.v3() +b.ug(a) +A.t2(b,r)}else{r=b.c +b.LW(a) +a.Bb(r)}}, +aFa(a,b){var s,r,q={},p=q.a=a +for(;s=p.a,(s&4)!==0;){p=p.c +q.a=p}if(p===b){b.n_(new A.eK(!0,p,null,"Cannot complete a future with itself"),A.amx()) +return}if((s&24)===0){r=b.c +b.LW(p) +q.a.Bb(r) +return}if((s&16)===0&&b.c==null){b.ug(p) +return}b.a^=2 +A.tP(null,null,b.b,new A.aeD(q,b))}, +t2(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f={},e=f.a=a +for(s=t.L0;!0;){r={} +q=e.a +p=(q&16)===0 +o=!p +if(b==null){if(o&&(q&1)===0){e=e.c +A.tO(e.a,e.b)}return}r.a=b +n=b.a +for(e=b;n!=null;e=n,n=m){e.a=null +A.t2(f.a,e) +r.a=n +m=n.a}q=f.a +l=q.c +r.b=o +r.c=l +if(p){k=e.c +k=(k&1)!==0||(k&15)===8}else k=!0 +if(k){j=e.b.b +if(o){q=q.b===j +q=!(q||q)}else q=!1 +if(q){A.tO(l.a,l.b) +return}i=$.ad +if(i!==j)$.ad=j +else i=null +e=e.c +if((e&15)===8)new A.aeK(r,f,o).$0() +else if(p){if((e&1)!==0)new A.aeJ(r,l).$0()}else if((e&2)!==0)new A.aeI(f,r).$0() +if(i!=null)$.ad=i +e=r.c +if(s.b(e)){q=r.a.$ti +q=q.h("a7<2>").b(e)||!q.y[1].b(e)}else q=!1 +if(q){h=r.a.b +if(e instanceof A.a9)if((e.a&24)!==0){g=h.c +h.c=null +b=h.v8(g) +h.a=e.a&30|h.a&1 +h.c=e.c +f.a=e +continue}else A.amT(e,h) +else h.zp(e) +return}}h=r.a.b +g=h.c +h.c=null +b=h.v8(g) +e=r.b +q=r.c +if(!e){h.a=8 +h.c=q}else{h.a=h.a&1|16 +h.c=q}f.a=h +e=h}}, +auh(a,b){if(t.Hg.b(a))return b.xJ(a) +if(t.C_.b(a))return a +throw A.c(A.fn(a,"onError",u.w))}, +aHy(){var s,r +for(s=$.tN;s!=null;s=$.tN){$.De=null +r=s.b +$.tN=r +if(r==null)$.Dd=null +s.a.$0()}}, +aHK(){$.anl=!0 +try{A.aHy()}finally{$.De=null +$.anl=!1 +if($.tN!=null)$.aoj().$1(A.auv())}}, +auo(a){var s=new A.LS(a),r=$.Dd +if(r==null){$.tN=$.Dd=s +if(!$.anl)$.aoj().$1(A.auv())}else $.Dd=r.b=s}, +aHG(a){var s,r,q,p=$.tN +if(p==null){A.auo(a) +$.De=$.Dd +return}s=new A.LS(a) +r=$.De +if(r==null){s.b=p +$.tN=$.De=s}else{q=r.b +s.b=q +$.De=r.b=s +if(q==null)$.Dd=s}}, +e3(a){var s=null,r=$.ad +if(B.ad===r){A.tP(s,s,B.ad,a) +return}A.tP(s,s,r,r.Cq(a))}, +aE6(a,b){var s=null,r=b.h("mp<0>"),q=new A.mp(s,s,s,s,r) +a.ej(0,new A.aa8(q,b),new A.aa9(q),t.P) +return new A.j3(q,r.h("j3<1>"))}, +aMz(a){A.eE(a,"stream",t.K) +return new A.Rz()}, +amy(a,b,c){var s=null +return b?new A.mp(a,s,s,s,c.h("mp<0>")):new A.rO(a,s,s,s,c.h("rO<0>"))}, +hp(a,b){var s=null +return a?new A.jb(s,s,b.h("jb<0>")):new A.A4(s,s,b.h("A4<0>"))}, +TR(a){var s,r,q +if(a==null)return +try{a.$0()}catch(q){s=A.a6(q) +r=A.aK(q) +A.tO(s,r)}}, +aF2(a,b,c,d,e,f){var s=$.ad,r=e?1:0,q=c!=null?32:0,p=A.acP(s,b),o=A.amS(s,c),n=d==null?A.anr():d +return new A.m6(a,p,o,n,s,r|q,f.h("m6<0>"))}, +acP(a,b){return b==null?A.aI0():b}, +amS(a,b){if(b==null)b=A.aI1() +if(t.hK.b(b))return a.xJ(b) +if(t.lO.b(b))return b +throw A.c(A.cx("handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",null))}, +aHB(a){}, +aHD(a,b){A.tO(a,b)}, +aHC(){}, +asP(a,b){var s=new A.rW($.ad,b.h("rW<0>")) +A.e3(s.gKP()) +if(a!=null)s.c=a +return s}, +aGp(a,b,c){var s=a.aA(0),r=$.pe() +if(s!==r)s.fI(new A.aiW(b,c)) +else b.lm(c)}, +atG(a,b,c){a.j4(b,c)}, +cb(a,b){var s=$.ad +if(s===B.ad)return A.amK(a,b) +return A.amK(a,s.Cq(b))}, +tO(a,b){A.aHG(new A.ajE(a,b))}, +aui(a,b,c,d){var s,r=$.ad +if(r===c)return d.$0() +$.ad=c +s=r +try{r=d.$0() +return r}finally{$.ad=s}}, +auk(a,b,c,d,e){var s,r=$.ad +if(r===c)return d.$1(e) +$.ad=c +s=r +try{r=d.$1(e) +return r}finally{$.ad=s}}, +auj(a,b,c,d,e,f){var s,r=$.ad +if(r===c)return d.$2(e,f) +$.ad=c +s=r +try{r=d.$2(e,f) +return r}finally{$.ad=s}}, +tP(a,b,c,d){if(B.ad!==c)d=c.Cq(d) +A.auo(d)}, +acs:function acs(a){this.a=a}, +acr:function acr(a,b,c){this.a=a +this.b=b +this.c=c}, +act:function act(a){this.a=a}, +acu:function acu(a){this.a=a}, +S_:function S_(a){this.a=a +this.b=null +this.c=0}, +aig:function aig(a,b){this.a=a +this.b=b}, +LR:function LR(a,b){this.a=a +this.b=!1 +this.$ti=b}, +aiT:function aiT(a){this.a=a}, +aiU:function aiU(a){this.a=a}, +ajH:function ajH(a){this.a=a}, +ku:function ku(a){var _=this +_.a=a +_.e=_.d=_.c=_.b=null}, +jc:function jc(a,b){this.a=a +this.$ti=b}, +E4:function E4(a,b){this.a=a +this.b=b}, +c0:function c0(a,b){this.a=a +this.$ti=b}, +oK:function oK(a,b,c,d,e,f,g){var _=this +_.ay=0 +_.CW=_.ch=null +_.w=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.r=_.f=null +_.$ti=g}, +ht:function ht(){}, +jb:function jb(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.r=_.f=_.e=_.d=null +_.$ti=c}, +ahX:function ahX(a,b){this.a=a +this.b=b}, +ahZ:function ahZ(a,b,c){this.a=a +this.b=b +this.c=c}, +ahY:function ahY(a){this.a=a}, +A4:function A4(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.r=_.f=_.e=_.d=null +_.$ti=c}, +rN:function rN(a,b,c){var _=this +_.ax=null +_.a=a +_.b=b +_.c=0 +_.r=_.f=_.e=_.d=null +_.$ti=c}, +ZT:function ZT(a,b){this.a=a +this.b=b}, +ZS:function ZS(a,b){this.a=a +this.b=b}, +ZR:function ZR(a,b,c){this.a=a +this.b=b +this.c=c}, +ZV:function ZV(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +ZU:function ZU(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +ZQ:function ZQ(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +ZP:function ZP(a){this.a=a}, +Mk:function Mk(){}, +b1:function b1(a,b){this.a=a +this.$ti=b}, +hx:function hx(a,b,c,d,e){var _=this +_.a=null +_.b=a +_.c=b +_.d=c +_.e=d +_.$ti=e}, +a9:function a9(a,b){var _=this +_.a=0 +_.b=a +_.c=null +_.$ti=b}, +aeA:function aeA(a,b){this.a=a +this.b=b}, +aeH:function aeH(a,b){this.a=a +this.b=b}, +aeE:function aeE(a){this.a=a}, +aeF:function aeF(a){this.a=a}, +aeG:function aeG(a,b,c){this.a=a +this.b=b +this.c=c}, +aeD:function aeD(a,b){this.a=a +this.b=b}, +aeC:function aeC(a,b){this.a=a +this.b=b}, +aeB:function aeB(a,b,c){this.a=a +this.b=b +this.c=c}, +aeK:function aeK(a,b,c){this.a=a +this.b=b +this.c=c}, +aeL:function aeL(a){this.a=a}, +aeJ:function aeJ(a,b){this.a=a +this.b=b}, +aeI:function aeI(a,b){this.a=a +this.b=b}, +LS:function LS(a){this.a=a +this.b=null}, +c5:function c5(){}, +aa8:function aa8(a,b){this.a=a +this.b=b}, +aa9:function aa9(a){this.a=a}, +aac:function aac(a,b){this.a=a +this.b=b}, +aad:function aad(a,b){this.a=a +this.b=b}, +aaa:function aaa(a){this.a=a}, +aab:function aab(a,b,c){this.a=a +this.b=b +this.c=c}, +oZ:function oZ(){}, +ahR:function ahR(a){this.a=a}, +ahQ:function ahQ(a){this.a=a}, +RH:function RH(){}, +LT:function LT(){}, +rO:function rO(a,b,c,d,e){var _=this +_.a=null +_.b=0 +_.c=null +_.d=a +_.e=b +_.f=c +_.r=d +_.$ti=e}, +mp:function mp(a,b,c,d,e){var _=this +_.a=null +_.b=0 +_.c=null +_.d=a +_.e=b +_.f=c +_.r=d +_.$ti=e}, +j3:function j3(a,b){this.a=a +this.$ti=b}, +m6:function m6(a,b,c,d,e,f,g){var _=this +_.w=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.r=_.f=null +_.$ti=g}, +hu:function hu(){}, +acR:function acR(a,b,c){this.a=a +this.b=b +this.c=c}, +acQ:function acQ(a){this.a=a}, +tz:function tz(){}, +MY:function MY(){}, +m7:function m7(a){this.b=a +this.a=null}, +oN:function oN(a,b){this.b=a +this.c=b +this.a=null}, +ae1:function ae1(){}, +tm:function tm(){this.a=0 +this.c=this.b=null}, +agn:function agn(a,b){this.a=a +this.b=b}, +rW:function rW(a,b){var _=this +_.a=1 +_.b=a +_.c=null +_.$ti=b}, +rM:function rM(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=_.e=null +_.$ti=e}, +oL:function oL(a,b){this.a=a +this.$ti=b}, +Rz:function Rz(){}, +aiW:function aiW(a,b){this.a=a +this.b=b}, +hw:function hw(){}, +t0:function t0(a,b,c,d,e,f,g){var _=this +_.w=a +_.x=null +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.r=_.f=null +_.$ti=g}, +p2:function p2(a,b,c){this.b=a +this.a=b +this.$ti=c}, +AZ:function AZ(a,b,c){this.b=a +this.a=b +this.$ti=c}, +aiK:function aiK(){}, +ajE:function ajE(a,b){this.a=a +this.b=b}, +aha:function aha(){}, +ahb:function ahb(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +ahc:function ahc(a,b){this.a=a +this.b=b}, +ahd:function ahd(a,b,c){this.a=a +this.b=b +this.c=c}, +fx(a,b,c,d,e){if(c==null)if(b==null){if(a==null)return new A.kp(d.h("@<0>").bd(e).h("kp<1,2>")) +b=A.auC()}else{if(A.aIs()===b&&A.aIr()===a)return new A.mc(d.h("@<0>").bd(e).h("mc<1,2>")) +if(a==null)a=A.auB()}else{if(b==null)b=A.auC() +if(a==null)a=A.auB()}return A.aF3(a,b,c,d,e)}, +amU(a,b){var s=a[b] +return s===a?null:s}, +amW(a,b,c){if(c==null)a[b]=a +else a[b]=c}, +amV(){var s=Object.create(null) +A.amW(s,"",s) +delete s[""] +return s}, +aF3(a,b,c,d,e){var s=c!=null?c:new A.adN(d) +return new A.Al(a,b,s,d.h("@<0>").bd(e).h("Al<1,2>"))}, +jL(a,b){return new A.fz(a.h("@<0>").bd(b).h("fz<1,2>"))}, +as(a,b,c){return A.auR(a,new A.fz(b.h("@<0>").bd(c).h("fz<1,2>")))}, +E(a,b){return new A.fz(a.h("@<0>").bd(b).h("fz<1,2>"))}, +cA(a){return new A.j4(a.h("j4<0>"))}, +amX(){var s=Object.create(null) +s[""]=s +delete s[""] +return s}, +jM(a){return new A.fg(a.h("fg<0>"))}, +aA(a){return new A.fg(a.h("fg<0>"))}, +bX(a,b){return A.aIT(a,new A.fg(b.h("fg<0>")))}, +amY(){var s=Object.create(null) +s[""]=s +delete s[""] +return s}, +dm(a,b,c){var s=new A.me(a,b,c.h("me<0>")) +s.c=a.e +return s}, +aGG(a,b){return J.e(a,b)}, +aGH(a){return J.u(a)}, +aqq(a){var s=J.ak(a) +if(s.t())return s.gG(s) +return null}, +jI(a){var s,r +if(t.Ee.b(a)){if(a.length===0)return null +return B.b.gP(a)}s=J.ak(a) +if(!s.t())return null +do r=s.gG(s) +while(s.t()) +return r}, +aqp(a,b){var s +A.dw(b,"index") +if(t.Ee.b(a)){if(b>=a.length)return null +return J.ph(a,b)}s=J.ak(a) +do if(!s.t())return null +while(--b,b>=0) +return s.gG(s)}, +aBP(a,b,c){var s=A.jL(b,c) +a.V(0,new A.a1s(s,b,c)) +return s}, +lq(a,b,c){var s=A.jL(b,c) +s.L(0,a) +return s}, +qn(a,b){var s,r,q=A.jM(b) +for(s=a.length,r=0;r"))}, +am2(a){var s,r={} +if(A.anK(a))return"{...}" +s=new A.ca("") +try{$.pd.push(a) +s.a+="{" +r.a=!0 +J.mF(a,new A.a1B(r,s)) +s.a+="}"}finally{$.pd.pop()}r=s.a +return r.charCodeAt(0)==0?r:r}, +lr(a,b){return new A.wK(A.b8(A.aBR(a),null,!1,b.h("0?")),b.h("wK<0>"))}, +aBR(a){if(a==null||a<8)return 8 +else if((a&a-1)>>>0!==0)return A.aqE(a) +return a}, +aqE(a){var s +a=(a<<1>>>0)-1 +for(;!0;a=s){s=(a&a-1)>>>0 +if(s===0)return a}}, +aGJ(a,b){return J.Uk(a,b)}, +aGF(a){if(a.h("p(0,0)").b(A.auG()))return A.auG() +return A.aIa()}, +amv(a,b){var s=A.aGF(a) +return new A.zf(s,new A.a9U(a),a.h("@<0>").bd(b).h("zf<1,2>"))}, +a9V(a,b,c){return new A.rd(a,b,c.h("rd<0>"))}, +kp:function kp(a){var _=this +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=a}, +aeQ:function aeQ(a){this.a=a}, +mc:function mc(a){var _=this +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=a}, +Al:function Al(a,b,c,d){var _=this +_.f=a +_.r=b +_.w=c +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=d}, +adN:function adN(a){this.a=a}, +oP:function oP(a,b){this.a=a +this.$ti=b}, +t5:function t5(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +j4:function j4(a){var _=this +_.a=0 +_.e=_.d=_.c=_.b=null +_.$ti=a}, +ff:function ff(a,b,c){var _=this +_.a=a +_.b=b +_.c=0 +_.d=null +_.$ti=c}, +fg:function fg(a){var _=this +_.a=0 +_.f=_.e=_.d=_.c=_.b=null +_.r=0 +_.$ti=a}, +afD:function afD(a){this.a=a +this.c=this.b=null}, +me:function me(a,b,c){var _=this +_.a=a +_.b=b +_.d=_.c=null +_.$ti=c}, +a1s:function a1s(a,b,c){this.a=a +this.b=b +this.c=c}, +nC:function nC(a){var _=this +_.b=_.a=0 +_.c=null +_.$ti=a}, +tb:function tb(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.e=!1 +_.$ti=d}, +fB:function fB(){}, +X:function X(){}, +aC:function aC(){}, +a1A:function a1A(a){this.a=a}, +a1B:function a1B(a,b){this.a=a +this.b=b}, +AY:function AY(a,b){this.a=a +this.$ti=b}, +Ou:function Ou(a,b,c){var _=this +_.a=a +_.b=b +_.c=null +_.$ti=c}, +Sw:function Sw(){}, +wR:function wR(){}, +oH:function oH(a,b){this.a=a +this.$ti=b}, +As:function As(){}, +Ar:function Ar(a,b,c){var _=this +_.c=a +_.d=b +_.b=_.a=null +_.$ti=c}, +At:function At(a){this.b=this.a=null +this.$ti=a}, +vp:function vp(a,b){this.a=a +this.b=0 +this.$ti=b}, +Nc:function Nc(a,b,c){var _=this +_.a=a +_.b=b +_.c=null +_.$ti=c}, +wK:function wK(a,b){var _=this +_.a=a +_.d=_.c=_.b=0 +_.$ti=b}, +Or:function Or(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=null +_.$ti=e}, +hm:function hm(){}, +tw:function tw(){}, +Rw:function Rw(){}, +eC:function eC(a,b){var _=this +_.a=a +_.c=_.b=null +_.$ti=b}, +eB:function eB(a,b,c){var _=this +_.d=a +_.a=b +_.c=_.b=null +_.$ti=c}, +Rv:function Rv(){}, +zf:function zf(a,b,c){var _=this +_.d=null +_.e=a +_.f=b +_.c=_.b=_.a=0 +_.$ti=c}, +a9U:function a9U(a){this.a=a}, +ja:function ja(){}, +ks:function ks(a,b){this.a=a +this.$ti=b}, +oY:function oY(a,b){this.a=a +this.$ti=b}, +Cf:function Cf(a,b){this.a=a +this.$ti=b}, +kt:function kt(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.$ti=d}, +Cj:function Cj(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.$ti=d}, +oX:function oX(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.$ti=d}, +rd:function rd(a,b,c){var _=this +_.d=null +_.e=a +_.f=b +_.c=_.b=_.a=0 +_.$ti=c}, +a9X:function a9X(a,b){this.a=a +this.b=b}, +a9W:function a9W(a,b){this.a=a +this.b=b}, +Cg:function Cg(){}, +Ch:function Ch(){}, +Ci:function Ci(){}, +CG:function CG(){}, +auf(a,b){var s,r,q,p=null +try{p=JSON.parse(a)}catch(r){s=A.a6(r) +q=A.bE(String(s),null,null) +throw A.c(q)}q=A.aj6(p) +return q}, +aj6(a){var s +if(a==null)return null +if(typeof a!="object")return a +if(!Array.isArray(a))return new A.Of(a,Object.create(null)) +for(s=0;s>>2,m=3-(h&3) +for(s=c,r=0;s>>0 +n=(n<<8|q)&16777215;--m +if(m===0){p=g+1 +f[g]=a.charCodeAt(n>>>18&63) +g=p+1 +f[p]=a.charCodeAt(n>>>12&63) +p=g+1 +f[g]=a.charCodeAt(n>>>6&63) +g=p+1 +f[p]=a.charCodeAt(n&63) +n=0 +m=3}}if(r>=0&&r<=255){if(e&&m<3){p=g+1 +o=p+1 +if(3-m===1){f[g]=a.charCodeAt(n>>>2&63) +f[p]=a.charCodeAt(n<<4&63) +f[o]=61 +f[o+1]=61}else{f[g]=a.charCodeAt(n>>>10&63) +f[p]=a.charCodeAt(n>>>4&63) +f[o]=a.charCodeAt(n<<2&63) +f[o+1]=61}return 0}return(n<<2|3-m)>>>0}for(s=c;s255)break;++s}throw A.c(A.fn(b,"Not a byte value at index "+s+": 0x"+J.ayN(b[s],16),null))}, +aF0(a,b,c,d,e,f){var s,r,q,p,o,n,m="Invalid encoding before padding",l="Invalid character",k=B.f.es(f,2),j=f&3,i=$.aok() +for(s=b,r=0;s=0){k=(k<<6|p)&16777215 +j=j+1&3 +if(j===0){o=e+1 +d[e]=k>>>16&255 +e=o+1 +d[o]=k>>>8&255 +o=e+1 +d[e]=k&255 +e=o +k=0}continue}else if(p===-1&&j>1){if(r>127)break +if(j===3){if((k&3)!==0)throw A.c(A.bE(m,a,s)) +d[e]=k>>>10 +d[e+1]=k>>>2}else{if((k&15)!==0)throw A.c(A.bE(m,a,s)) +d[e]=k>>>4}n=(3-j)*3 +if(q===37)n+=2 +return A.asN(a,s+1,c,-n-1)}throw A.c(A.bE(l,a,s))}if(r>=0&&r<=127)return(k<<2|j)>>>0 +for(s=b;s127)break +throw A.c(A.bE(l,a,s))}, +aEZ(a,b,c,d){var s=A.aF_(a,b,c),r=(d&3)+(s-b),q=B.f.es(r,2)*3,p=r&3 +if(p!==0&&s0)return new Uint8Array(q) +return $.awR()}, +aF_(a,b,c){var s,r=c,q=r,p=0 +while(!0){if(!(q>b&&p<2))break +c$0:{--q +s=a.charCodeAt(q) +if(s===61){++p +r=q +break c$0}if((s|32)===100){if(q===b)break;--q +s=a.charCodeAt(q)}if(s===51){if(q===b)break;--q +s=a.charCodeAt(q)}if(s===37){++p +r=q +break c$0}break}}return r}, +asN(a,b,c,d){var s,r +if(b===c)return d +s=-d-1 +for(;s>0;){r=a.charCodeAt(b) +if(s===3){if(r===61){s-=3;++b +break}if(r===37){--s;++b +if(b===c)break +r=a.charCodeAt(b)}else break}if((s>3?s-3:s)===2){if(r!==51)break;++b;--s +if(b===c)break +r=a.charCodeAt(b)}if((r|32)!==100)break;++b;--s +if(b===c)break}if(b!==c)throw A.c(A.bE("Invalid padding character",a,b)) +return-s-1}, +aqy(a,b,c){return new A.wB(a,b)}, +aGI(a){return a.eJ()}, +aFc(a,b){return new A.Oh(a,[],A.auF())}, +aFd(a,b,c){var s,r=new A.ca("") +A.asZ(a,r,b,c) +s=r.a +return s.charCodeAt(0)==0?s:s}, +asZ(a,b,c,d){var s +if(d==null)s=A.aFc(b,c) +else s=new A.afz(d,0,b,[],A.auF()) +s.mt(a)}, +atB(a){switch(a){case 65:return"Missing extension byte" +case 67:return"Unexpected extension byte" +case 69:return"Invalid UTF-8 byte" +case 71:return"Overlong encoding" +case 73:return"Out of unicode range" +case 75:return"Encoded surrogate" +case 77:return"Unfinished UTF-8 octet sequence" +default:return""}}, +Of:function Of(a,b){this.a=a +this.b=b +this.c=null}, +afw:function afw(a){this.a=a}, +Og:function Og(a){this.a=a}, +AU:function AU(a,b,c){this.b=a +this.c=b +this.a=c}, +aiw:function aiw(){}, +aiv:function aiv(){}, +V0:function V0(){}, +V2:function V2(){}, +acE:function acE(a){this.a=0 +this.b=a}, +acF:function acF(){}, +aiu:function aiu(a,b){this.a=a +this.b=b}, +V1:function V1(){}, +LX:function LX(){this.a=0}, +acD:function acD(a,b){this.a=a +this.b=b}, +Vs:function Vs(){}, +adn:function adn(a){this.a=a}, +EE:function EE(){}, +Rf:function Rf(a,b,c){this.a=a +this.b=b +this.$ti=c}, +EW:function EW(){}, +uY:function uY(){}, +NM:function NM(a,b){this.a=a +this.b=b}, +Yn:function Yn(){}, +wB:function wB(a,b){this.a=a +this.b=b}, +GU:function GU(a,b){this.a=a +this.b=b}, +a0W:function a0W(){}, +a0Y:function a0Y(a,b){this.a=a +this.b=b}, +afv:function afv(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=!1}, +a0X:function a0X(a){this.a=a}, +afA:function afA(){}, +afB:function afB(a,b){this.a=a +this.b=b}, +afx:function afx(){}, +afy:function afy(a,b){this.a=a +this.b=b}, +Oh:function Oh(a,b,c){this.c=a +this.a=b +this.b=c}, +afz:function afz(a,b,c,d,e){var _=this +_.f=a +_.y$=b +_.c=c +_.a=d +_.b=e}, +KA:function KA(){}, +adx:function adx(a,b){this.a=a +this.b=b}, +ahU:function ahU(a,b){this.a=a +this.b=b}, +Cp:function Cp(){}, +Sy:function Sy(a,b,c){this.a=a +this.b=b +this.c=c}, +abR:function abR(){}, +abS:function abS(){}, +Sx:function Sx(a){this.b=this.a=0 +this.c=a}, +aix:function aix(a,b){var _=this +_.d=a +_.b=_.a=0 +_.c=b}, +Lg:function Lg(a){this.a=a}, +CK:function CK(a){this.a=a +this.b=16 +this.c=0}, +SV:function SV(){}, +TF:function TF(){}, +aJ9(a){return A.pc(a)}, +aq0(){return new A.vN(new WeakMap())}, +pX(a){if(A.mw(a)||typeof a=="number"||typeof a=="string"||a instanceof A.j6)A.pW(a)}, +pW(a){throw A.c(A.fn(a,"object","Expandos are not allowed on strings, numbers, bools, records or null"))}, +aG8(){if(typeof WeakRef=="function")return WeakRef +var s=function LeakRef(a){this._=a} +s.prototype={ +deref(){return this._}} +return s}, +fl(a,b){var s=A.arr(a,b) +if(s!=null)return s +throw A.c(A.bE(a,null,null))}, +aIM(a){var s=A.arq(a) +if(s!=null)return s +throw A.c(A.bE("Invalid double",a,null))}, +aAO(a,b){a=A.c(a) +a.stack=b.j(0) +throw a +throw A.c("unreachable")}, +b8(a,b,c,d){var s,r=c?J.nw(a,d):J.GR(a,d) +if(a!==0&&b!=null)for(s=0;s")) +for(s=J.ak(a);s.t();)r.push(s.gG(s)) +if(b)return r +return J.a0L(r)}, +a8(a,b,c){var s +if(b)return A.aqG(a,c) +s=J.a0L(A.aqG(a,c)) +return s}, +aqG(a,b){var s,r +if(Array.isArray(a))return A.b(a.slice(0),b.h("v<0>")) +s=A.b([],b.h("v<0>")) +for(r=J.ak(a);r.t();)s.push(r.gG(r)) +return s}, +aBU(a,b,c){var s,r=J.nw(a,c) +for(s=0;s0||c0)a=J.pi(a,b) +return A.art(A.a8(a,!0,t.S))}, +amA(a){return A.dN(a)}, +aE8(a,b,c){var s=a.length +if(b>=s)return"" +return A.aD6(a,b,c==null||c>s?s:c)}, +bO(a,b,c){return new A.GS(a,A.aqw(a,!1,b,c,!1,!1))}, +aJ8(a,b){return a==null?b==null:a===b}, +aae(a,b,c){var s=J.ak(b) +if(!s.t())return a +if(c.length===0){do a+=A.h(s.gG(s)) +while(s.t())}else{a+=A.h(s.gG(s)) +for(;s.t();)a=a+c+A.h(s.gG(s))}return a}, +lw(a,b){return new A.jP(a,b.gacZ(),b.gady(),b.gad3())}, +asw(){var s,r,q=A.aCW() +if(q==null)throw A.c(A.a_("'Uri.base' is not supported")) +s=$.asv +if(s!=null&&q===$.asu)return s +r=A.j0(q,0,null) +$.asv=r +$.asu=q +return r}, +tG(a,b,c,d){var s,r,q,p,o,n="0123456789ABCDEF" +if(c===B.W){s=$.ax6() +s=s.b.test(b)}else s=!1 +if(s)return b +r=B.b9.dv(b) +for(s=r.length,q=0,p="";q>>4]&1<<(o&15))!==0)p+=A.dN(o) +else p=d&&o===32?p+"+":p+"%"+n[o>>>4&15]+n[o&15]}return p.charCodeAt(0)==0?p:p}, +aG2(a){var s,r,q +if(!$.ax7())return A.aG3(a) +s=new URLSearchParams() +a.V(0,new A.ais(s)) +r=s.toString() +q=r.length +if(q>0&&r[q-1]==="=")r=B.d.W(r,0,q-1) +return r.replace(/=&|\*|%7E/g,b=>b==="=&"?"&":b==="*"?"%2A":"~")}, +amx(){return A.aK(new Error())}, +azL(a,b){return J.Uk(a,b)}, +azW(){return new A.dJ(Date.now(),0,!1)}, +X9(a,b,c){var s="microsecond" +if(b<0||b>999)throw A.c(A.bY(b,0,999,s,null)) +if(a<-864e13||a>864e13)throw A.c(A.bY(a,-864e13,864e13,"millisecondsSinceEpoch",null)) +if(a===864e13&&b!==0)throw A.c(A.fn(b,s,"Time including microseconds is outside valid range")) +A.eE(c,"isUtc",t.y) +return a}, +azX(a){var s=Math.abs(a),r=a<0?"-":"" +if(s>=1000)return""+a +if(s>=100)return r+"0"+s +if(s>=10)return r+"00"+s +return r+"000"+s}, +apj(a){if(a>=100)return""+a +if(a>=10)return"0"+a +return"00"+a}, +Fd(a){if(a>=10)return""+a +return"0"+a}, +cP(a,b){return new A.aQ(a+1000*b)}, +aAN(a,b){var s,r +for(s=0;s<3;++s){r=a[s] +if(r.b===b)return r}throw A.c(A.fn(b,"name","No enum value with that name"))}, +n1(a){if(typeof a=="number"||A.mw(a)||a==null)return J.el(a) +if(typeof a=="string")return JSON.stringify(a) +return A.ars(a)}, +aAP(a,b){A.eE(a,"error",t.K) +A.eE(b,"stackTrace",t.Km) +A.aAO(a,b)}, +hC(a){return new A.mI(a)}, +cx(a,b){return new A.eK(!1,null,b,a)}, +fn(a,b,c){return new A.eK(!0,a,b,c)}, +hB(a,b){return a}, +a6z(a,b){return new A.xY(null,null,!0,a,b,"Value not in range")}, +bY(a,b,c,d,e){return new A.xY(b,c,!0,a,d,"Invalid value")}, +arw(a,b,c,d){if(ac)throw A.c(A.bY(a,b,c,d,null)) +return a}, +di(a,b,c,d,e){if(0>a||a>c)throw A.c(A.bY(a,0,c,d==null?"start":d,null)) +if(b!=null){if(a>b||b>c)throw A.c(A.bY(b,a,c,e==null?"end":e,null)) +return b}return c}, +dw(a,b){if(a<0)throw A.c(A.bY(a,0,null,b,null)) +return a}, +aqk(a,b){var s=b.b +return new A.wn(s,!0,a,null,"Index out of range")}, +cC(a,b,c,d,e){return new A.wn(b,!0,a,e,"Index out of range")}, +aql(a,b,c,d){if(0>a||a>=b)throw A.c(A.cC(a,b,c,null,d==null?"index":d)) +return a}, +a_(a){return new A.Lc(a)}, +cp(a){return new A.oG(a)}, +R(a){return new A.hn(a)}, +bL(a){return new A.F_(a)}, +c8(a){return new A.Az(a)}, +bE(a,b,c){return new A.jB(a,b,c)}, +aBC(a,b,c){if(a<=0)return new A.fv(c.h("fv<0>")) +return new A.AJ(a,b,c.h("AJ<0>"))}, +aqr(a,b,c){var s,r +if(A.anK(a)){if(b==="("&&c===")")return"(...)" +return b+"..."+c}s=A.b([],t.s) +$.pd.push(a) +try{A.aHs(a,s)}finally{$.pd.pop()}r=A.aae(b,s,", ")+c +return r.charCodeAt(0)==0?r:r}, +lj(a,b,c){var s,r +if(A.anK(a))return b+"..."+c +s=new A.ca(b) +$.pd.push(a) +try{r=s +r.a=A.aae(r.a,a,", ")}finally{$.pd.pop()}s.a+=c +r=s.a +return r.charCodeAt(0)==0?r:r}, +aHs(a,b){var s,r,q,p,o,n,m,l=J.ak(a),k=0,j=0 +while(!0){if(!(k<80||j<3))break +if(!l.t())return +s=A.h(l.gG(l)) +b.push(s) +k+=s.length+2;++j}if(!l.t()){if(j<=5)return +r=b.pop() +q=b.pop()}else{p=l.gG(l);++j +if(!l.t()){if(j<=4){b.push(A.h(p)) +return}r=A.h(p) +q=b.pop() +k+=r.length+2}else{o=l.gG(l);++j +for(;l.t();p=o,o=n){n=l.gG(l);++j +if(j>100){while(!0){if(!(k>75&&j>3))break +k-=b.pop().length+2;--j}b.push("...") +return}}q=A.h(p) +r=A.h(o) +k+=r.length+q.length+4}}if(j>b.length+2){k+=5 +m="..."}else m=null +while(!0){if(!(k>80&&b.length>3))break +k-=b.pop().length+2 +if(m==null){k+=5 +m="..."}}if(m!=null)b.push(m) +b.push(q) +b.push(r)}, +aqM(a,b,c,d,e){return new A.mS(a,b.h("@<0>").bd(c).bd(d).bd(e).h("mS<1,2,3,4>"))}, +P(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,a0,a1){var s +if(B.a===c)return A.aEc(J.u(a),J.u(b),$.dp()) +if(B.a===d){s=J.u(a) +b=J.u(b) +c=J.u(c) +return A.dz(A.F(A.F(A.F($.dp(),s),b),c))}if(B.a===e)return A.aEd(J.u(a),J.u(b),J.u(c),J.u(d),$.dp()) +if(B.a===f){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +return A.dz(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e))}if(B.a===g){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f))}if(B.a===h){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g))}if(B.a===i){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h))}if(B.a===j){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i))}if(B.a===k){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j))}if(B.a===l){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j),k))}if(B.a===m){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j),k),l))}if(B.a===n){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j),k),l),m))}if(B.a===o){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j),k),l),m),n))}if(B.a===p){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o))}if(B.a===q){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +p=J.u(p) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o),p))}if(B.a===r){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +p=J.u(p) +q=J.u(q) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o),p),q))}if(B.a===a0){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +p=J.u(p) +q=J.u(q) +r=J.u(r) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o),p),q),r))}if(B.a===a1){s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +p=J.u(p) +q=J.u(q) +r=J.u(r) +a0=J.u(a0) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o),p),q),r),a0))}s=J.u(a) +b=J.u(b) +c=J.u(c) +d=J.u(d) +e=J.u(e) +f=J.u(f) +g=J.u(g) +h=J.u(h) +i=J.u(i) +j=J.u(j) +k=J.u(k) +l=J.u(l) +m=J.u(m) +n=J.u(n) +o=J.u(o) +p=J.u(p) +q=J.u(q) +r=J.u(r) +a0=J.u(a0) +a1=J.u(a1) +return A.dz(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F(A.F($.dp(),s),b),c),d),e),f),g),h),i),j),k),l),m),n),o),p),q),r),a0),a1))}, +bN(a){var s,r,q=$.dp() +for(s=a.length,r=0;r").bd(d).h("kW<1,2>"))}, +as8(){$.DG() +return new A.zl()}, +aGv(a,b){return 65536+((a&1023)<<10)+(b&1023)}, +j0(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=null +a6=a4.length +s=a5+5 +if(a6>=s){r=((a4.charCodeAt(a5+4)^58)*3|a4.charCodeAt(a5)^100|a4.charCodeAt(a5+1)^97|a4.charCodeAt(a5+2)^116|a4.charCodeAt(a5+3)^97)>>>0 +if(r===0)return A.abJ(a5>0||a6=14)q[7]=a6 +o=q[1] +if(o>=a5)if(A.aun(a4,a5,o,20,q)===20)q[7]=o +n=q[2]+1 +m=q[3] +l=q[4] +k=q[5] +j=q[6] +if(jo+3)){p=m>a5 +g=0 +if(!(p&&m+1===l)){if(!B.d.dG(a4,"\\",l))if(n>a5)f=B.d.dG(a4,"\\",n-1)||B.d.dG(a4,"\\",n-2) +else f=!1 +else f=!0 +if(!f){if(!(kl+2&&B.d.dG(a4,"/..",k-3) +else f=!0 +if(!f)if(o===a5+4){if(B.d.dG(a4,"file",a5)){if(n<=a5){if(!B.d.dG(a4,"/",l)){e="file:///" +r=3}else{e="file://" +r=2}a4=e+B.d.W(a4,l,a6) +o-=a5 +s=r-a5 +k+=s +j+=s +a6=a4.length +a5=g +n=7 +m=7 +l=7}else if(l===k){s=a5===0 +s +if(s){a4=B.d.ow(a4,l,k,"/");++k;++j;++a6}else{a4=B.d.W(a4,a5,l)+"/"+B.d.W(a4,k,a6) +o-=a5 +n-=a5 +m-=a5 +l-=a5 +s=1-a5 +k+=s +j+=s +a6=a4.length +a5=g}}h="file"}else if(B.d.dG(a4,"http",a5)){if(p&&m+3===l&&B.d.dG(a4,"80",m+1)){s=a5===0 +s +if(s){a4=B.d.ow(a4,m,l,"") +l-=3 +k-=3 +j-=3 +a6-=3}else{a4=B.d.W(a4,a5,m)+B.d.W(a4,l,a6) +o-=a5 +n-=a5 +m-=a5 +s=3+a5 +l-=s +k-=s +j-=s +a6=a4.length +a5=g}}h="http"}}else if(o===s&&B.d.dG(a4,"https",a5)){if(p&&m+4===l&&B.d.dG(a4,"443",m+1)){s=a5===0 +s +if(s){a4=B.d.ow(a4,m,l,"") +l-=4 +k-=4 +j-=4 +a6-=3}else{a4=B.d.W(a4,a5,m)+B.d.W(a4,l,a6) +o-=a5 +n-=a5 +m-=a5 +s=4+a5 +l-=s +k-=s +j-=s +a6=a4.length +a5=g}}h="https"}i=!f}}}}if(i){if(a5>0||a6a5)h=A.ats(a4,a5,o) +else{if(o===a5)A.tE(a4,a5,"Invalid empty scheme") +h=""}d=a3 +if(n>a5){c=o+3 +b=c9)k.$2("invalid character",s)}else{if(q===3)k.$2(m,s) +o=A.fl(B.d.W(a,r,s),null) +if(o>255)k.$2(l,r) +n=q+1 +j[q]=o +r=s+1 +q=n}}if(q!==3)k.$2(m,c) +o=A.fl(B.d.W(a,r,c),null) +if(o>255)k.$2(l,r) +j[q]=o +return j}, +asx(a,b,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null,d=new A.abL(a),c=new A.abM(d,a) +if(a.length<2)d.$2("address is too short",e) +s=A.b([],t.t) +for(r=b,q=r,p=!1,o=!1;r>>0) +s.push((k[2]<<8|k[3])>>>0)}if(p){if(s.length>7)d.$2("an address with a wildcard must have less than 7 parts",e)}else if(s.length!==8)d.$2("an address without a wildcard must contain exactly 8 parts",e) +j=new Uint8Array(16) +for(l=s.length,i=9-l,r=0,h=0;ro)A.aa(A.bY(0,0,p.gq(q),null,null)) +if(A.aky(q,"/",0)){s=A.a_("Illegal path character "+A.h(q)) +throw A.c(s)}}}, +aG_(a){var s +if(a.length===0)return B.qK +s=A.atz(a) +s.Se(s,A.auH()) +return A.ald(s,t.N,t.yp)}, +atq(a,b){if(a!=null&&a===A.atk(b))return null +return a}, +ato(a,b,c,d){var s,r,q,p,o,n +if(a==null)return null +if(b===c)return"" +if(a.charCodeAt(b)===91){s=c-1 +if(a.charCodeAt(s)!==93)A.tE(a,b,"Missing end `]` to match `[` in host") +r=b+1 +q=A.aFZ(a,r,s) +if(q=b&&q=b&&s>>4]&1<<(p&15))!==0){if(q&&65<=p&&90>=p){if(i==null)i=new A.ca("") +if(r>>4]&1<<(o&15))!==0){if(p&&65<=o&&90>=o){if(q==null)q=new A.ca("") +if(r>>4]&1<<(o&15))!==0)A.tE(a,s,"Invalid character") +else{j=1 +if((o&64512)===55296&&s+1>>4]&1<<(q&15))!==0))A.tE(a,s,"Illegal scheme character") +if(65<=q&&q<=90)r=!0}a=B.d.W(a,b,c) +return A.aFX(r?a.toLowerCase():a)}, +aFX(a){if(a==="http")return"http" +if(a==="file")return"file" +if(a==="https")return"https" +if(a==="package")return"package" +return a}, +att(a,b,c){if(a==null)return"" +return A.CJ(a,b,c,B.Dc,!1,!1)}, +atp(a,b,c,d,e,f){var s,r=e==="file",q=r||f +if(a==null)return r?"/":"" +else s=A.CJ(a,b,c,B.lF,!0,!0) +if(s.length===0){if(r)return"/"}else if(q&&!B.d.c6(s,"/"))s="/"+s +return A.aG4(s,e,f)}, +aG4(a,b,c){var s=b.length===0 +if(s&&!c&&!B.d.c6(a,"/")&&!B.d.c6(a,"\\"))return A.atw(a,!s||c) +return A.aty(a)}, +atr(a,b,c,d){if(a!=null){if(d!=null)throw A.c(A.cx("Both query and queryParameters specified",null)) +return A.CJ(a,b,c,B.eP,!0,!1)}if(d==null)return null +return A.aG2(d)}, +aG3(a){var s={},r=new A.ca("") +s.a="" +a.V(0,new A.aiq(new A.air(s,r))) +s=r.a +return s.charCodeAt(0)==0?s:s}, +atn(a,b,c){if(a==null)return null +return A.CJ(a,b,c,B.eP,!0,!1)}, +ana(a,b,c){var s,r,q,p,o,n=b+2 +if(n>=a.length)return"%" +s=a.charCodeAt(b+1) +r=a.charCodeAt(n) +q=A.ak7(s) +p=A.ak7(r) +if(q<0||p<0)return"%" +o=q*16+p +if(o<127&&(B.eS[B.f.es(o,4)]&1<<(o&15))!==0)return A.dN(c&&65<=o&&90>=o?(o|32)>>>0:o) +if(s>=97||r>=97)return B.d.W(a,b,b+3).toUpperCase() +return null}, +an9(a){var s,r,q,p,o,n="0123456789ABCDEF" +if(a<128){s=new Uint8Array(3) +s[0]=37 +s[1]=n.charCodeAt(a>>>4) +s[2]=n.charCodeAt(a&15)}else{if(a>2047)if(a>65535){r=240 +q=4}else{r=224 +q=3}else{r=192 +q=2}s=new Uint8Array(3*q) +for(p=0;--q,q>=0;r=128){o=B.f.a5Z(a,6*q)&63|r +s[p]=37 +s[p+1]=n.charCodeAt(o>>>4) +s[p+2]=n.charCodeAt(o&15) +p+=3}}return A.amB(s,0,null)}, +CJ(a,b,c,d,e,f){var s=A.atv(a,b,c,d,e,f) +return s==null?B.d.W(a,b,c):s}, +atv(a,b,c,d,e,f){var s,r,q,p,o,n,m,l,k,j,i=null +for(s=!e,r=b,q=r,p=i;r>>4]&1<<(o&15))!==0)++r +else{n=1 +if(o===37){m=A.ana(a,r,!1) +if(m==null){r+=3 +continue}if("%"===m)m="%25" +else n=3}else if(o===92&&f)m="/" +else if(s&&o<=93&&(B.lG[o>>>4]&1<<(o&15))!==0){A.tE(a,r,"Invalid character") +n=i +m=n}else{if((o&64512)===55296){l=r+1 +if(l=2&&A.atm(a.charCodeAt(0)))for(s=1;s127||(B.lD[r>>>4]&1<<(r&15))===0)break}return a}, +aG0(){return A.b([],t.s)}, +atz(a){var s,r,q,p,o,n=A.E(t.N,t.yp),m=new A.ait(a,B.W,n) +for(s=a.length,r=0,q=0,p=-1;r127)throw A.c(A.cx("Illegal percent encoding in URI",null)) +if(r===37){if(o+3>q)throw A.c(A.cx("Truncated URI",null)) +p.push(A.aG1(a,o+1)) +o+=2}else if(e&&r===43)p.push(32) +else p.push(r)}}return d.e6(0,p)}, +atm(a){var s=a|32 +return 97<=s&&s<=122}, +aEG(a){if(!a.Qv("data"))throw A.c(A.fn(a,"uri","Scheme must be 'data'")) +if(a.gDY())throw A.c(A.fn(a,"uri","Data uri must not have authority")) +if(a.gE_())throw A.c(A.fn(a,"uri","Data uri must not have a fragment part")) +if(!a.gE1())return A.abJ(a.ghi(a),0,a) +return A.abJ(a.j(0),5,a)}, +abJ(a,b,c){var s,r,q,p,o,n,m,l,k="Invalid MIME type",j=A.b([b-1],t.t) +for(s=a.length,r=b,q=-1,p=null;rb)throw A.c(A.bE(k,a,r)) +for(;p!==44;){j.push(r);++r +for(o=-1;r=0)j.push(o) +else{n=B.b.gP(j) +if(p!==44||r!==n+7||!B.d.dG(a,"base64",n+1))throw A.c(A.bE("Expecting '='",a,r)) +break}}j.push(r) +m=r+1 +if((j.length&1)===1)a=B.yp.ad8(0,a,m,s) +else{l=A.atv(a,m,s,B.eP,!0,!1) +if(l!=null)a=B.d.ow(a,m,s,l)}return new A.abI(a,j,c)}, +aGC(){var s,r,q,p,o,n="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",m=".",l=":",k="/",j="\\",i="?",h="#",g="/\\",f=J.a0K(22,t.H3) +for(s=0;s<22;++s)f[s]=new Uint8Array(96) +r=new A.aj7(f) +q=new A.aj8() +p=new A.aj9() +o=r.$2(0,225) +q.$3(o,n,1) +q.$3(o,m,14) +q.$3(o,l,34) +q.$3(o,k,3) +q.$3(o,j,227) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(14,225) +q.$3(o,n,1) +q.$3(o,m,15) +q.$3(o,l,34) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(15,225) +q.$3(o,n,1) +q.$3(o,"%",225) +q.$3(o,l,34) +q.$3(o,k,9) +q.$3(o,j,233) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(1,225) +q.$3(o,n,1) +q.$3(o,l,34) +q.$3(o,k,10) +q.$3(o,j,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(2,235) +q.$3(o,n,139) +q.$3(o,k,131) +q.$3(o,j,131) +q.$3(o,m,146) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(3,235) +q.$3(o,n,11) +q.$3(o,k,68) +q.$3(o,j,68) +q.$3(o,m,18) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(4,229) +q.$3(o,n,5) +p.$3(o,"AZ",229) +q.$3(o,l,102) +q.$3(o,"@",68) +q.$3(o,"[",232) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(5,229) +q.$3(o,n,5) +p.$3(o,"AZ",229) +q.$3(o,l,102) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(6,231) +p.$3(o,"19",7) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(7,231) +p.$3(o,"09",7) +q.$3(o,"@",68) +q.$3(o,k,138) +q.$3(o,j,138) +q.$3(o,i,172) +q.$3(o,h,205) +q.$3(r.$2(8,8),"]",5) +o=r.$2(9,235) +q.$3(o,n,11) +q.$3(o,m,16) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(16,235) +q.$3(o,n,11) +q.$3(o,m,17) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(17,235) +q.$3(o,n,11) +q.$3(o,k,9) +q.$3(o,j,233) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(10,235) +q.$3(o,n,11) +q.$3(o,m,18) +q.$3(o,k,10) +q.$3(o,j,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(18,235) +q.$3(o,n,11) +q.$3(o,m,19) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(19,235) +q.$3(o,n,11) +q.$3(o,g,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(11,235) +q.$3(o,n,11) +q.$3(o,k,10) +q.$3(o,j,234) +q.$3(o,i,172) +q.$3(o,h,205) +o=r.$2(12,236) +q.$3(o,n,12) +q.$3(o,i,12) +q.$3(o,h,205) +o=r.$2(13,237) +q.$3(o,n,13) +q.$3(o,i,13) +p.$3(r.$2(20,245),"az",21) +o=r.$2(21,245) +p.$3(o,"az",21) +p.$3(o,"09",21) +q.$3(o,"+-.",21) +return f}, +aun(a,b,c,d,e){var s,r,q,p,o=$.axR() +for(s=b;s95?31:q] +d=p&31 +e[p>>>5]=s}return d}, +aHN(a,b){return A.Ha(b,t.N)}, +atL(a,b,c){var s,r,q,p,o,n +for(s=a.length,r=0,q=0;q=1)return a.$1(b) +return a.$0()}, +aGl(a,b,c,d){if(d>=2)return a.$2(b,c) +if(d===1)return a.$1(b) +return a.$0()}, +aue(a){return a==null||A.mw(a)||typeof a=="number"||typeof a=="string"||t.pT.b(a)||t.H3.b(a)||t.Po.b(a)||t.JZ.b(a)||t.w7.b(a)||t.XO.b(a)||t.rd.b(a)||t.s4.b(a)||t.OE.b(a)||t.pI.b(a)||t.V4.b(a)}, +a4(a){if(A.aue(a))return a +return new A.akj(new A.mc(t.Fy)).$1(a)}, +I(a,b){return a[b]}, +p5(a,b){return a[b]}, +b7(a,b,c){return a[b].apply(a,c)}, +aGm(a,b){return a[b]()}, +aGn(a,b,c){return a[b](c)}, +aGo(a,b,c,d){return a[b](c,d)}, +atK(a){return new a()}, +aGi(a,b){return new a(b)}, +cN(a,b){var s=new A.a9($.ad,b.h("a9<0>")),r=new A.b1(s,b.h("b1<0>")) +a.then(A.tT(new A.akr(r),1),A.tT(new A.aks(r),1)) +return s}, +aud(a){return a==null||typeof a==="boolean"||typeof a==="number"||typeof a==="string"||a instanceof Int8Array||a instanceof Uint8Array||a instanceof Uint8ClampedArray||a instanceof Int16Array||a instanceof Uint16Array||a instanceof Int32Array||a instanceof Uint32Array||a instanceof Float32Array||a instanceof Float64Array||a instanceof ArrayBuffer||a instanceof DataView}, +any(a){if(A.aud(a))return a +return new A.ajS(new A.mc(t.Fy)).$1(a)}, +akj:function akj(a){this.a=a}, +akr:function akr(a){this.a=a}, +aks:function aks(a){this.a=a}, +ajS:function ajS(a){this.a=a}, +HQ:function HQ(a){this.a=a}, +fA:function fA(){}, +H6:function H6(){}, +fH:function fH(){}, +HS:function HS(){}, +IH:function IH(){}, +KB:function KB(){}, +fQ:function fQ(){}, +L3:function L3(){}, +Oo:function Oo(){}, +Op:function Op(){}, +P2:function P2(){}, +P3:function P3(){}, +RC:function RC(){}, +RD:function RD(){}, +S9:function S9(){}, +Sa:function Sa(){}, +al8(a){var s=a.BYTES_PER_ELEMENT,r=A.di(0,null,B.f.fQ(a.byteLength,s),null,null) +return A.es(a.buffer,a.byteOffset+0*s,r*s)}, +abG(a,b,c){var s=J.ays(a) +c=A.di(b,c,B.f.fQ(a.byteLength,s),null,null) +return A.dh(a.buffer,a.byteOffset+b*s,(c-b)*s)}, +FS:function FS(){}, +xo(a,b,c){if(b==null)if(a==null)return null +else return a.ad(0,1-c) +else if(a==null)return b.ad(0,c) +else return new A.n(A.jf(a.a,b.a,c),A.jf(a.b,b.b,c))}, +aDW(a,b){return new A.K(a,b)}, +amt(a,b,c){if(b==null)if(a==null)return null +else return a.ad(0,1-c) +else if(a==null)return b.ad(0,c) +else return new A.K(A.jf(a.a,b.a,c),A.jf(a.b,b.b,c))}, +qM(a,b){var s=a.a,r=b*2/2,q=a.b +return new A.x(s-r,q-r,s+r,q+r)}, +aDe(a,b,c){var s=a.a,r=c/2,q=a.b,p=b/2 +return new A.x(s-r,q-p,s+r,q+p)}, +a6X(a,b){var s=a.a,r=b.a,q=a.b,p=b.b +return new A.x(Math.min(s,r),Math.min(q,p),Math.max(s,r),Math.max(q,p))}, +ary(a,b,c){var s,r,q,p,o +if(b==null)if(a==null)return null +else{s=1-c +return new A.x(a.a*s,a.b*s,a.c*s,a.d*s)}else{r=b.a +q=b.b +p=b.c +o=b.d +if(a==null)return new A.x(r*c,q*c,p*c,o*c) +else return new A.x(A.jf(a.a,r,c),A.jf(a.b,q,c),A.jf(a.c,p,c),A.jf(a.d,o,c))}}, +xW(a,b,c){var s,r,q +if(b==null)if(a==null)return null +else{s=1-c +return new A.aT(a.a*s,a.b*s)}else{r=b.a +q=b.b +if(a==null)return new A.aT(r*c,q*c) +else return new A.aT(A.jf(a.a,r,c),A.jf(a.b,q,c))}}, +a6y(a,b){var s=b.a,r=b.b +return new A.i0(a.a,a.b,a.c,a.d,s,r,s,r,s,r,s,r,s===r)}, +arv(a,b,c,d,e,f,g,h){var s=g.a,r=g.b,q=h.a,p=h.b,o=e.a,n=e.b,m=f.a,l=f.b +return new A.i0(a,b,c,d,s,r,q,p,m,l,o,n,s===r&&s===q&&s===p&&s===o&&s===n&&s===m&&s===l)}, +IU(a,b,c,d,e){var s=d.a,r=d.b,q=e.a,p=e.b,o=b.a,n=b.b,m=c.a,l=c.b,k=s===r&&s===q&&s===p&&s===o&&s===n&&s===m&&s===l +return new A.i0(a.a,a.b,a.c,a.d,s,r,q,p,m,l,o,n,k)}, +V(a,b,c){var s +if(a!=b){s=a==null?null:isNaN(a) +if(s===!0){s=b==null?null:isNaN(b) +s=s===!0}else s=!1}else s=!0 +if(s)return a==null?null:a +if(a==null)a=0 +if(b==null)b=0 +return a*(1-c)+b*c}, +jf(a,b,c){return a*(1-c)+b*c}, +ajw(a,b,c){return a*(1-c)+b*c}, +M(a,b,c){if(ac)return c +if(isNaN(a))return c +return a}, +aum(a,b){return A.a3(A.my(B.c.a7((a.gm(a)>>>24&255)*b),0,255),a.gm(a)>>>16&255,a.gm(a)>>>8&255,a.gm(a)&255)}, +ap7(a){return new A.w(a>>>0)}, +a3(a,b,c,d){return new A.w(((a&255)<<24|(b&255)<<16|(c&255)<<8|d&255)>>>0)}, +ap8(a,b,c,d){return new A.w(((B.c.c7(d*255,1)&255)<<24|(a&255)<<16|(b&255)<<8|c&255)>>>0)}, +alb(a){if(a<=0.03928)return a/12.92 +return Math.pow((a+0.055)/1.055,2.4)}, +t(a,b,c){if(b==null)if(a==null)return null +else return A.aum(a,1-c) +else if(a==null)return A.aum(b,c) +else return A.a3(A.my(B.c.Y(A.ajw(a.gm(a)>>>24&255,b.gm(b)>>>24&255,c)),0,255),A.my(B.c.Y(A.ajw(a.gm(a)>>>16&255,b.gm(b)>>>16&255,c)),0,255),A.my(B.c.Y(A.ajw(a.gm(a)>>>8&255,b.gm(b)>>>8&255,c)),0,255),A.my(B.c.Y(A.ajw(a.gm(a)&255,b.gm(b)&255,c)),0,255))}, +azK(a,b){var s,r,q,p,o,n=a.a,m=n>>>24&255 +if(m===0)return b +s=255-m +r=b.gm(b)>>>24&255 +q=n&255 +p=n>>>16&255 +n=n>>>8&255 +if(r===255)return A.a3(255,B.f.c7(m*p+s*(b.gm(b)>>>16&255),255),B.f.c7(m*n+s*(b.gm(b)>>>8&255),255),B.f.c7(m*q+s*(b.gm(b)&255),255)) +else{r=B.f.c7(r*s,255) +o=m+r +return A.a3(o,B.f.fQ(p*m+(b.gm(b)>>>16&255)*r,o),B.f.fQ(n*m+(b.gm(b)>>>8&255)*r,o),B.f.fQ(q*m+(b.gm(b)&255)*r,o))}}, +aqb(a,b,c){return $.ap().OE(0,a,b,c,null,B.jr,null)}, +Dl(a,b){return A.aJf(a,b)}, +aJf(a,b){var s=0,r=A.C(t.hP),q,p=2,o,n=[],m,l,k,j,i,h,g,f +var $async$Dl=A.D(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:s=b==null?3:5 +break +case 3:h=$.ap() +g=a.a +g.toString +q=h.Eb(g) +s=1 +break +s=4 +break +case 5:h=$.ap() +g=a.a +g.toString +s=6 +return A.y(h.Eb(g),$async$Dl) +case 6:m=d +p=7 +s=10 +return A.y(m.hp(),$async$Dl) +case 10:l=d +try{g=J.akS(l) +k=g.gbH(g) +g=J.akS(l) +j=g.gb3(g) +i=b.$2(k,j) +g=a.a +g.toString +f=i.a +f=h.ju(g,!1,i.b,f) +q=f +n=[1] +s=8 +break}finally{J.akS(l).l()}n.push(9) +s=8 +break +case 7:n=[2] +case 8:p=2 +m.l() +s=n.pop() +break +case 9:case 4:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$Dl,r)}, +aDS(a,b,c){var s,r,q=A.t(a.a,b.a,c) +q.toString +s=A.xo(a.b,b.b,c) +s.toString +r=A.jf(a.c,b.c,c) +return new A.lT(q,s,r)}, +arR(a,b,c){var s,r,q,p=a==null +if(p&&b==null)return null +if(p)a=A.b([],t.kO) +if(b==null)b=A.b([],t.kO) +s=A.b([],t.kO) +r=Math.min(a.length,b.length) +for(q=0;q=0)return 145 +return 64}throw A.c(A.R("Unexpected state: "+B.f.iT(d,16)))}, +av7(a,b,c){var s,r,q,p,o +for(s=c,r=0;q=s-2,q>=b;s=q){p=a.charCodeAt(s-1) +if((p&64512)!==56320)break +o=a.charCodeAt(q) +if((o&64512)!==55296)break +if(A.mA(o,p)!==6)break +r^=1}if(r===0)return 193 +else return 144}, +av6(a,b,c){var s,r,q,p,o +for(s=c;s>b;){--s +r=a.charCodeAt(s) +if((r&64512)!==56320)q=A.Dn(r) +else{if(s>b){--s +p=a.charCodeAt(s) +o=(p&64512)===55296}else{p=0 +o=!1}if(o)q=A.mA(p,r) +else break}if(q===7)return s +if(q!==4)break}return-1}, +aJB(a,b,c,d){var s,r,q,p,o,n +if(d===b||d===c)return d +s=a.charCodeAt(d) +if((s&63488)!==55296){r=A.Dn(s) +q=d}else{r=2 +if((s&64512)===55296){p=d+1 +if(pb){o=s-1 +n=a.charCodeAt(o) +if((n&64512)===55296){q=A.mA(n,r) +s=o}}}if(q===6)m=A.av7(a,b,s)!==144?160:48 +else{l=q===1 +if(l||q===4)if(A.av6(a,b,s)>=0)m=l?144:128 +else m=48 +else m=u.S.charCodeAt(q|176)}return new A.Ve(a,a.length,d,m).EC()}, +Ve:function Ve(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +UX:function UX(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Fk:function Fk(){}, +mq:function mq(){}, +rA:function rA(a,b){this.a=a +this.$ti=b}, +r4:function r4(a,b){this.a=a +this.$ti=b}, +td:function td(a,b,c){this.a=a +this.b=b +this.c=c}, +wQ:function wQ(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Fi:function Fi(){}, +Gv:function Gv(a,b,c){var _=this +_.a=a +_.b=b +_.d=_.c=0 +_.$ti=c}, +Lu:function Lu(){}, +zZ(a,b,c,d,e){var s +if(b==null)A.X9(0,0,!1) +s=e==null?"":e +return new A.fd(d,s,a,c)}, +fd:function fd(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=null}, +acb:function acb(a,b){this.a=a +this.b=b}, +acc:function acc(a){this.a=a}, +fX:function fX(a,b){this.a=a +this.b=b}, +cq:function cq(){}, +dd(a,b,c,d,e){var s=new A.pn(0,1,B.fX,b,c,B.an,B.F,new A.bg(A.b([],t.A),t.Q),new A.bg(A.b([],t.c),t.wi)) +s.r=e.w2(s.gHQ()) +s.AO(d==null?0:d) +return s}, +al3(a,b,c){var s=new A.pn(-1/0,1/0,B.fY,null,null,B.an,B.F,new A.bg(A.b([],t.A),t.Q),new A.bg(A.b([],t.c),t.wi)) +s.r=c.w2(s.gHQ()) +s.AO(b) +return s}, +rK:function rK(a,b){this.a=a +this.b=b}, +DY:function DY(a,b){this.a=a +this.b=b}, +pn:function pn(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.d=c +_.e=d +_.f=e +_.w=_.r=null +_.x=$ +_.y=null +_.z=f +_.Q=$ +_.as=g +_.bJ$=h +_.c9$=i}, +afs:function afs(a,b,c,d,e){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.a=e}, +ah2:function ah2(a,b,c,d,e,f,g){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.a=g}, +LJ:function LJ(){}, +LK:function LK(){}, +LL:function LL(){}, +DZ:function DZ(a,b){this.b=a +this.d=b}, +LM:function LM(){}, +xT(a){var s=new A.o7(new A.bg(A.b([],t.A),t.Q),new A.bg(A.b([],t.c),t.wi),0) +s.c=a +if(a==null){s.a=B.F +s.b=0}return s}, +dI(a,b,c){var s,r=new A.mY(b,a,c) +r.MV(b.gaI(b)) +b.bl() +s=b.bJ$ +s.b=!0 +s.a.push(r.gnn()) +return r}, +amL(a,b,c){var s,r,q=new A.oF(a,b,c,new A.bg(A.b([],t.A),t.Q),new A.bg(A.b([],t.c),t.wi)) +if(b!=null)if(J.e(a.gm(a),b.gm(b))){q.a=b +q.b=null +s=b}else{if(a.gm(a)>b.gm(b))q.c=B.SK +else q.c=B.SJ +s=a}else s=a +s.e4(q.gni()) +s=q.gBX() +q.a.a0(0,s) +r=q.b +if(r!=null)r.a0(0,s) +return q}, +aoP(a,b,c){return new A.uf(a,b,new A.bg(A.b([],t.A),t.Q),new A.bg(A.b([],t.c),t.wi),0,c.h("uf<0>"))}, +LE:function LE(){}, +LF:function LF(){}, +kN:function kN(){}, +o7:function o7(a,b,c){var _=this +_.c=_.b=_.a=null +_.bJ$=a +_.c9$=b +_.ky$=c}, +fM:function fM(a,b,c){this.a=a +this.bJ$=b +this.ky$=c}, +mY:function mY(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +S8:function S8(a,b){this.a=a +this.b=b}, +oF:function oF(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=null +_.d=c +_.f=_.e=null +_.bJ$=d +_.c9$=e}, +pI:function pI(){}, +uf:function uf(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.d=_.c=null +_.bJ$=c +_.c9$=d +_.ky$=e +_.$ti=f}, +Ae:function Ae(){}, +Af:function Af(){}, +Ag:function Ag(){}, +MM:function MM(){}, +PW:function PW(){}, +PX:function PX(){}, +PY:function PY(){}, +QI:function QI(){}, +QJ:function QJ(){}, +S5:function S5(){}, +S6:function S6(){}, +S7:function S7(){}, +xy:function xy(){}, +eq:function eq(){}, +AW:function AW(){}, +yA:function yA(a){this.a=a}, +dg:function dg(a,b,c){this.a=a +this.b=b +this.c=c}, +zG:function zG(a){this.a=a}, +dW:function dW(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +KW:function KW(){}, +pY:function pY(a){this.a=a}, +MR:function MR(){}, +ue:function ue(){}, +ud:function ud(){}, +mH:function mH(){}, +kM:function kM(){}, +fR(a,b,c){return new A.aW(a,b,c.h("aW<0>"))}, +eQ(a){return new A.h0(a)}, +aJ:function aJ(){}, +b0:function b0(a,b,c){this.a=a +this.b=b +this.$ti=c}, +ib:function ib(a,b,c){this.a=a +this.b=b +this.$ti=c}, +aW:function aW(a,b,c){this.a=a +this.b=b +this.$ti=c}, +yv:function yv(a,b,c,d){var _=this +_.c=a +_.a=b +_.b=c +_.$ti=d}, +is:function is(a,b){this.a=a +this.b=b}, +y1:function y1(a,b){this.a=a +this.b=b}, +lg:function lg(a,b){this.a=a +this.b=b}, +h0:function h0(a){this.a=a}, +CW:function CW(){}, +asq(a,b){var s=new A.zQ(A.b([],b.h("v>")),A.b([],t.mz),b.h("zQ<0>")) +s.Y_(a,b) +return s}, +asr(a,b,c){return new A.kc(a,b,c.h("kc<0>"))}, +zQ:function zQ(a,b,c){this.a=a +this.b=b +this.$ti=c}, +kc:function kc(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Oe:function Oe(a,b){this.a=a +this.b=b}, +eP:function eP(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.Q=k +_.a=l}, +WY:function WY(a){this.a=a}, +MF:function MF(){}, +ape(a,b,c,d,e,f,g,h,i){return new A.F8(h,c,i,d,f,b,e,g,a)}, +F8:function F8(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +MG:function MG(){}, +Fa:function Fa(a,b){this.a=a +this.b=b}, +MH:function MH(){}, +Fj:function Fj(){}, +azP(a){var s,r=a.a +r.toString +s=a.ay +s.toString +r.a9v() +return new A.Ak(s,r,new A.X_(a),new A.X0(a))}, +azQ(a,b,c,d,e,f){var s=a.a.cx.a +return new A.v_(new A.rT(e,new A.X1(a),new A.X2(a,f),null,f.h("rT<0>")),c,d,s,null)}, +adF(a,b,c){var s,r,q,p,o +if(a==b)return a +if(a==null){s=b.a +if(s==null)s=b +else{r=A.Z(s).h("ay<1,w>") +r=new A.ic(A.a8(new A.ay(s,new A.adG(c),r),!0,r.h("aI.E"))) +s=r}return s}if(b==null){s=a.a +if(s==null)s=a +else{r=A.Z(s).h("ay<1,w>") +r=new A.ic(A.a8(new A.ay(s,new A.adH(c),r),!0,r.h("aI.E"))) +s=r}return s}s=A.b([],t.t_) +for(r=b.a,q=a.a,p=0;p"))) +return new A.nc(r)}, +Gc(a){return new A.nc(a)}, +aq3(a){return a}, +aq5(a,b){var s +if(a.r)return +s=$.alB +if(s===0)A.aIE(J.el(a.a),100,a.b) +else A.anR().$1("Another exception was thrown: "+a.gU7().j(0)) +$.alB=$.alB+1}, +aq4(a){var s,r,q,p,o,n,m,l,k,j,i,h,g=A.as(["dart:async-patch",0,"dart:async",0,"package:stack_trace",0,"class _AssertionError",0,"class _FakeAsync",0,"class _FrameCallbackEntry",0,"class _Timer",0,"class _RawReceivePortImpl",0],t.N,t.S),f=A.aE3(J.ayy(a,"\n")) +for(s=0,r=0;q=f.length,r0)q.push(h.a)}B.b.ht(q) +if(s===1)k.push("(elided one frame from "+B.b.gan(q)+")") +else if(s>1){i=q.length +if(i>1)q[i-1]="and "+B.b.gP(q) +i="(elided "+s +if(q.length>2)k.push(i+" frames from "+B.b.bw(q,", ")+")") +else k.push(i+" frames from "+B.b.bw(q," ")+")")}return k}, +df(a){var s=$.ix +if(s!=null)s.$1(a)}, +aIE(a,b,c){var s,r +A.anR().$1(a) +s=A.b(B.d.y_(J.el(c==null?A.amx():A.aq3(c))).split("\n"),t.s) +r=s.length +s=J.aoL(r!==0?new A.za(s,new A.ajT(),t.Ws):s,b) +A.anR().$1(B.b.bw(A.aq4(s),"\n"))}, +aA2(a,b,c){A.aA3(b,c) +return new A.Fr(b)}, +aA3(a,b){if(a==null)return A.b([],t.F) +return J.kK(A.aq4(A.b(B.d.y_(A.h(A.aq3(a))).split("\n"),t.s)),A.aHW(),t.EX).dl(0)}, +aA4(a){return A.apn(a,!1)}, +aF8(a,b,c){return new A.Nz(c)}, +m8:function m8(){}, +pT:function pT(a,b,c,d,e,f){var _=this +_.y=a +_.z=b +_.as=c +_.at=d +_.ax=!0 +_.ay=null +_.ch=e +_.CW=f}, +G_:function G_(a,b,c,d,e,f){var _=this +_.y=a +_.z=b +_.as=c +_.at=d +_.ax=!0 +_.ay=null +_.ch=e +_.CW=f}, +FY:function FY(a,b,c,d,e,f){var _=this +_.y=a +_.z=b +_.as=c +_.at=d +_.ax=!0 +_.ay=null +_.ch=e +_.CW=f}, +bD:function bD(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=e +_.r=f}, +Zi:function Zi(a){this.a=a}, +nc:function nc(a){this.a=a}, +Zj:function Zj(){}, +Zk:function Zk(){}, +Zl:function Zl(){}, +ajT:function ajT(){}, +Fr:function Fr(a){this.y=a}, +Nz:function Nz(a){this.f=a}, +NB:function NB(){}, +NA:function NA(){}, +Ee:function Ee(){}, +V5:function V5(a){this.a=a}, +ae:function ae(){}, +fr:function fr(){}, +W9:function W9(a){this.a=a}, +B6:function B6(a){this.a=a}, +ez:function ez(a,b){var _=this +_.a=a +_.S$=0 +_.O$=b +_.av$=_.af$=0}, +apn(a,b){var s=null +return A.iu("",s,b,B.aP,a,s,s,B.aq,!1,!1,!0,B.hH,s)}, +iu(a,b,c,d,e,f,g,h,i,j,k,l,m){var s +if(g==null)s=i?"MISSING":null +else s=g +return new A.it(s,f,i,b,d,h)}, +alj(a,b,c){return new A.Fq(c)}, +b9(a){return B.d.op(B.f.iT(J.u(a)&1048575,16),5,"0")}, +aA1(a,b,c,d,e,f,g){return new A.vh(g)}, +vf:function vf(a,b){this.a=a +this.b=b}, +ju:function ju(a,b){this.a=a +this.b=b}, +ag8:function ag8(){}, +cW:function cW(){}, +it:function it(a,b,c,d,e,f){var _=this +_.y=a +_.z=b +_.as=c +_.at=d +_.ax=!0 +_.ay=null +_.ch=e +_.CW=f}, +vg:function vg(){}, +Fq:function Fq(a){this.f=a}, +ac:function ac(){}, +Xm:function Xm(){}, +hI:function hI(){}, +vh:function vh(a){this.y=a}, +MZ:function MZ(){}, +e7:function e7(){}, +He:function He(){}, +ry:function ry(){}, +dS:function dS(a,b){this.a=a +this.$ti=b}, +an5:function an5(a){this.$ti=a}, +hb:function hb(){}, +wI:function wI(){}, +xn(a){return new A.bg(A.b([],a.h("v<0>")),a.h("bg<0>"))}, +bg:function bg(a,b){var _=this +_.a=a +_.b=!1 +_.c=$ +_.$ti=b}, +lb:function lb(a,b){this.a=a +this.$ti=b}, +aHw(a){return A.b8(a,null,!1,t.X)}, +xK:function xK(a){this.a=a}, +aik:function aik(){}, +NK:function NK(a){this.a=a}, +m5:function m5(a,b){this.a=a +this.b=b}, +AM:function AM(a,b){this.a=a +this.b=b}, +ed:function ed(a,b){this.a=a +this.b=b}, +aca(a){var s=new DataView(new ArrayBuffer(8)),r=A.dh(s.buffer,0,null) +return new A.ac8(new Uint8Array(a),s,r)}, +ac8:function ac8(a,b,c){var _=this +_.a=a +_.b=0 +_.c=!1 +_.d=b +_.e=c}, +y0:function y0(a){this.a=a +this.b=0}, +aE3(a){var s=t.ZK +return A.a8(new A.d6(new A.dZ(new A.aF(A.b(B.d.oF(a).split("\n"),t.s),new A.a9Z(),t.Hd),A.aJM(),t.C9),s),!0,s.h("j.E"))}, +aE2(a){var s,r,q="",p=$.awv().di(a) +if(p==null)return null +s=A.b(p.b[1].split("."),t.s) +r=s.length>1?B.b.gH(s):q +return new A.i5(a,-1,q,q,q,-1,-1,r,s.length>1?A.hq(s,1,null,t.N).bw(0,"."):B.b.gan(s))}, +aE4(a){var s,r,q,p,o,n,m,l,k,j,i=null,h="" +if(a==="")return B.KS +else if(a==="...")return B.KT +if(!B.d.c6(a,"#"))return A.aE2(a) +s=A.bO("^#(\\d+) +(.+) \\((.+?):?(\\d+){0,1}:?(\\d+){0,1}\\)$",!0,!1).di(a).b +r=s[2] +r.toString +q=A.ji(r,".","") +if(B.d.c6(q,"new")){p=q.split(" ").length>1?q.split(" ")[1]:h +if(B.d.p(p,".")){o=p.split(".") +p=o[0] +q=o[1]}else q=""}else if(B.d.p(q,".")){o=q.split(".") +p=o[0] +q=o[1]}else p="" +r=s[3] +r.toString +n=A.j0(r,0,i) +m=n.ghi(n) +if(n.gl9()==="dart"||n.gl9()==="package"){l=n.grU()[0] +r=n.ghi(n) +k=A.h(n.grU()[0]) +A.arw(0,0,r.length,"startIndex") +m=A.aJP(r,k+"/","",0)}else l=h +r=s[1] +r.toString +r=A.fl(r,i) +k=n.gl9() +j=s[4] +if(j==null)j=-1 +else{j=j +j.toString +j=A.fl(j,i)}s=s[5] +if(s==null)s=-1 +else{s=s +s.toString +s=A.fl(s,i)}return new A.i5(a,r,k,l,m,j,s,p,q)}, +i5:function i5(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +a9Z:function a9Z(){}, +cv:function cv(a,b){this.a=a +this.$ti=b}, +aar:function aar(a){this.a=a}, +Go:function Go(a,b){this.a=a +this.b=b}, +cF:function cF(){}, +q5:function q5(a,b,c){this.a=a +this.b=b +this.c=c}, +t3:function t3(a){var _=this +_.a=a +_.b=!0 +_.d=_.c=!1 +_.e=null}, +aeM:function aeM(a){this.a=a}, +ZX:function ZX(a){this.a=a}, +ZZ:function ZZ(){}, +ZY:function ZY(a,b,c){this.a=a +this.b=b +this.c=c}, +aB0(a,b,c,d,e,f,g){return new A.vY(c,g,f,a,e,!1)}, +ah3:function ah3(a,b,c,d,e,f){var _=this +_.a=a +_.b=!1 +_.c=b +_.d=c +_.r=d +_.w=e +_.x=f +_.y=null}, +w7:function w7(){}, +a_1:function a_1(a){this.a=a}, +a_2:function a_2(a,b){this.a=a +this.b=b}, +vY:function vY(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=e +_.r=f}, +aup(a,b){switch(b.a){case 1:case 4:return a +case 0:case 2:case 3:return a===0?1:a +case 5:return a===0?1:a}}, +aCF(a,b){var s=A.Z(a) +return new A.d6(new A.dZ(new A.aF(a,new A.a6e(),s.h("aF<1>")),new A.a6f(b),s.h("dZ<1,aO?>")),t.FI)}, +a6e:function a6e(){}, +a6f:function a6f(a){this.a=a}, +jw:function jw(a){this.a=a}, +hL:function hL(a,b,c){this.a=a +this.b=b +this.d=c}, +hM:function hM(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +eR:function eR(a,b,c){this.a=a +this.b=b +this.c=c}, +a6h(a,b){var s,r +if(a==null)return b +s=new A.fS(new Float64Array(3)) +s.mH(b.a,b.b,0) +r=a.xy(s).a +return new A.n(r[0],r[1])}, +a6g(a,b,c,d){if(a==null)return c +if(b==null)b=A.a6h(a,d) +return b.ac(0,A.a6h(a,d.ac(0,c)))}, +ame(a){var s,r,q=new Float64Array(4),p=new A.j1(q) +p.yC(0,0,1,0) +s=new Float64Array(16) +r=new A.bi(s) +r.ba(a) +s[11]=q[3] +s[10]=q[2] +s[9]=q[1] +s[8]=q[0] +r.yB(2,p) +return r}, +aCC(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return new A.nX(o,d,n,0,e,a,h,B.h,0,!1,!1,0,j,i,b,c,0,0,0,l,k,g,m,0,!1,null,null)}, +aCM(a,b,c,d,e,f,g,h,i,j,k,l){return new A.o1(l,c,k,0,d,a,f,B.h,0,!1,!1,0,h,g,0,b,0,0,0,j,i,0,0,0,!1,null,null)}, +aCH(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1){return new A.k_(a1,f,a0,0,g,c,j,b,a,!1,!1,0,l,k,d,e,q,m,p,o,n,i,s,0,r,null,null)}, +aCE(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){return new A.lC(a3,g,a2,k,h,c,l,b,a,f,!1,0,n,m,d,e,s,o,r,q,p,j,a1,0,a0,null,null)}, +aCG(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){return new A.lD(a3,g,a2,k,h,c,l,b,a,f,!1,0,n,m,d,e,s,o,r,q,p,j,a1,0,a0,null,null)}, +aCD(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0){return new A.jZ(a0,d,s,h,e,b,i,B.h,a,!0,!1,j,l,k,0,c,q,m,p,o,n,g,r,0,!1,null,null)}, +aCI(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){return new A.nZ(a3,e,a2,j,f,c,k,b,a,!0,!1,l,n,m,0,d,s,o,r,q,p,h,a1,i,a0,null,null)}, +aCQ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1){return new A.o4(a1,e,a0,i,f,b,j,B.h,a,!1,!1,k,m,l,c,d,r,n,q,p,o,h,s,0,!1,null,null)}, +aCO(a,b,c,d,e,f,g,h){return new A.o2(f,d,h,b,g,0,c,a,e,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,!1,null,null)}, +aCP(a,b,c,d,e,f){return new A.o3(f,b,e,0,c,a,d,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,!1,null,null)}, +aCN(a,b,c,d,e,f,g){return new A.II(e,g,b,f,0,c,a,d,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,!1,null,null)}, +aCK(a,b,c,d,e,f,g){return new A.k0(g,b,f,c,B.bv,a,d,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,e,null,null)}, +aCL(a,b,c,d,e,f,g,h,i,j,k){return new A.o0(c,d,h,g,k,b,j,e,B.bv,a,f,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,i,null,null)}, +aCJ(a,b,c,d,e,f,g){return new A.o_(g,b,f,c,B.bv,a,d,B.h,0,!1,!1,1,1,1,0,0,0,0,0,0,0,0,0,0,e,null,null)}, +arh(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0){return new A.nY(a0,e,s,i,f,b,j,B.h,a,!1,!1,0,l,k,c,d,q,m,p,o,n,h,r,0,!1,null,null)}, +TU(a,b){var s +switch(a.a){case 1:return 1 +case 2:case 3:case 5:case 0:case 4:s=b==null?null:b.a +return s==null?18:s}}, +aIh(a,b){var s +switch(a.a){case 1:return 2 +case 2:case 3:case 5:case 0:case 4:if(b==null)s=null +else{s=b.a +s=s!=null?s*2:null}return s==null?36:s}}, +aO:function aO(){}, +d7:function d7(){}, +Lx:function Lx(){}, +Sf:function Sf(){}, +Mn:function Mn(){}, +nX:function nX(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sb:function Sb(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +Mx:function Mx(){}, +o1:function o1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sm:function Sm(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +Ms:function Ms(){}, +k_:function k_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sh:function Sh(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +Mq:function Mq(){}, +lC:function lC(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Se:function Se(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +Mr:function Mr(){}, +lD:function lD(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sg:function Sg(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +Mp:function Mp(){}, +jZ:function jZ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sd:function Sd(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +Mt:function Mt(){}, +nZ:function nZ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Si:function Si(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MB:function MB(){}, +o4:function o4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sq:function Sq(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +ea:function ea(){}, +BP:function BP(){}, +Mz:function Mz(){}, +o2:function o2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){var _=this +_.Z=a +_.a3=b +_.a=c +_.b=d +_.c=e +_.d=f +_.e=g +_.f=h +_.r=i +_.w=j +_.x=k +_.y=l +_.z=m +_.Q=n +_.as=o +_.at=p +_.ax=q +_.ay=r +_.ch=s +_.CW=a0 +_.cx=a1 +_.cy=a2 +_.db=a3 +_.dx=a4 +_.dy=a5 +_.fr=a6 +_.fx=a7 +_.fy=a8 +_.go=a9}, +So:function So(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +MA:function MA(){}, +o3:function o3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sp:function Sp(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +My:function My(){}, +II:function II(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8){var _=this +_.Z=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n +_.at=o +_.ax=p +_.ay=q +_.ch=r +_.CW=s +_.cx=a0 +_.cy=a1 +_.db=a2 +_.dx=a3 +_.dy=a4 +_.fr=a5 +_.fx=a6 +_.fy=a7 +_.go=a8}, +Sn:function Sn(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +Mv:function Mv(){}, +k0:function k0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sk:function Sk(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +Mw:function Mw(){}, +o0:function o0(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1){var _=this +_.id=a +_.k1=b +_.k2=c +_.k3=d +_.a=e +_.b=f +_.c=g +_.d=h +_.e=i +_.f=j +_.r=k +_.w=l +_.x=m +_.y=n +_.z=o +_.Q=p +_.as=q +_.at=r +_.ax=s +_.ay=a0 +_.ch=a1 +_.CW=a2 +_.cx=a3 +_.cy=a4 +_.db=a5 +_.dx=a6 +_.dy=a7 +_.fr=a8 +_.fx=a9 +_.fy=b0 +_.go=b1}, +Sl:function Sl(a,b){var _=this +_.d=_.c=$ +_.e=a +_.f=b +_.b=_.a=$}, +Mu:function Mu(){}, +o_:function o_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sj:function Sj(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +Mo:function Mo(){}, +nY:function nY(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7}, +Sc:function Sc(a,b){var _=this +_.c=a +_.d=b +_.b=_.a=$}, +Pn:function Pn(){}, +Po:function Po(){}, +Pp:function Pp(){}, +Pq:function Pq(){}, +Pr:function Pr(){}, +Ps:function Ps(){}, +Pt:function Pt(){}, +Pu:function Pu(){}, +Pv:function Pv(){}, +Pw:function Pw(){}, +Px:function Px(){}, +Py:function Py(){}, +Pz:function Pz(){}, +PA:function PA(){}, +PB:function PB(){}, +PC:function PC(){}, +PD:function PD(){}, +PE:function PE(){}, +PF:function PF(){}, +PG:function PG(){}, +PH:function PH(){}, +PI:function PI(){}, +PJ:function PJ(){}, +PK:function PK(){}, +PL:function PL(){}, +PM:function PM(){}, +PN:function PN(){}, +PO:function PO(){}, +PP:function PP(){}, +PQ:function PQ(){}, +PR:function PR(){}, +PS:function PS(){}, +Tm:function Tm(){}, +Tn:function Tn(){}, +To:function To(){}, +Tp:function Tp(){}, +Tq:function Tq(){}, +Tr:function Tr(){}, +Ts:function Ts(){}, +Tt:function Tt(){}, +Tu:function Tu(){}, +Tv:function Tv(){}, +Tw:function Tw(){}, +Tx:function Tx(){}, +Ty:function Ty(){}, +Tz:function Tz(){}, +TA:function TA(){}, +TB:function TB(){}, +TC:function TC(){}, +TD:function TD(){}, +TE:function TE(){}, +ve:function ve(a){this.a=a}, +alP(){var s=A.b([],t.om),r=new A.bi(new Float64Array(16)) +r.dF() +return new A.jD(s,A.b([r],t.rE),A.b([],t.cR))}, +iB:function iB(a,b){this.a=a +this.b=null +this.$ti=b}, +tD:function tD(){}, +B4:function B4(a){this.a=a}, +ti:function ti(a){this.a=a}, +jD:function jD(a,b,c){this.a=a +this.b=b +this.c=c}, +aqI(a,b){var s=t.S +return new A.hW(B.Bx,null,B.bO,A.E(s,t.Y),A.cA(s),a,b,A.aJo(),A.E(s,t.Au))}, +aBV(a){return a===1||a===2||a===4}, +hW:function hW(a,b,c,d,e,f,g,h,i){var _=this +_.k2=!1 +_.E=_.bm=_.bv=_.b2=_.a4=_.bz=_.aV=_.y2=_.y1=_.xr=_.x2=_.x1=_.to=_.ry=_.rx=_.RG=_.R8=_.p4=_.p3=_.p2=_.p1=_.ok=_.k4=_.k3=null +_.at=a +_.ay=b +_.ch=c +_.cx=_.CW=null +_.cy=!1 +_.db=null +_.f=d +_.r=e +_.w=null +_.a=f +_.b=null +_.c=g +_.d=h +_.e=i}, +kx:function kx(a,b,c){this.a=a +this.b=b +this.c=c}, +amZ:function amZ(a,b){this.a=a +this.b=b}, +a6n:function a6n(a){this.a=a +this.b=$}, +a6o:function a6o(){}, +H5:function H5(a,b,c){this.a=a +this.b=b +this.c=c}, +aAv(a){return new A.i9(a.gck(a),A.b8(20,null,!1,t.av))}, +aAw(a){return a===1}, +asA(a,b){var s=t.S +return new A.fT(B.ar,B.cy,A.U0(),B.bn,A.E(s,t.GY),A.E(s,t.o),B.h,A.b([],t.t),A.E(s,t.Y),A.cA(s),a,b,A.U1(),A.E(s,t.Au))}, +alQ(a,b){var s=t.S +return new A.fy(B.ar,B.cy,A.U0(),B.bn,A.E(s,t.GY),A.E(s,t.o),B.h,A.b([],t.t),A.E(s,t.Y),A.cA(s),a,b,A.U1(),A.E(s,t.Au))}, +Au:function Au(a,b){this.a=a +this.b=b}, +fu:function fu(){}, +XU:function XU(a,b){this.a=a +this.b=b}, +XZ:function XZ(a,b){this.a=a +this.b=b}, +Y_:function Y_(a,b){this.a=a +this.b=b}, +XV:function XV(){}, +XW:function XW(a,b){this.a=a +this.b=b}, +XX:function XX(a){this.a=a}, +XY:function XY(a,b){this.a=a +this.b=b}, +fT:function fT(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.at=a +_.ax=b +_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=null +_.fr=!1 +_.fx=c +_.fy=d +_.k1=_.id=_.go=$ +_.k4=_.k3=_.k2=null +_.ok=$ +_.p1=!1 +_.p2=e +_.p3=f +_.p4=null +_.R8=g +_.RG=h +_.rx=null +_.f=i +_.r=j +_.w=null +_.a=k +_.b=null +_.c=l +_.d=m +_.e=n}, +fy:function fy(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.at=a +_.ax=b +_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=null +_.fr=!1 +_.fx=c +_.fy=d +_.k1=_.id=_.go=$ +_.k4=_.k3=_.k2=null +_.ok=$ +_.p1=!1 +_.p2=e +_.p3=f +_.p4=null +_.R8=g +_.RG=h +_.rx=null +_.f=i +_.r=j +_.w=null +_.a=k +_.b=null +_.c=l +_.d=m +_.e=n}, +i_:function i_(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.at=a +_.ax=b +_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=null +_.fr=!1 +_.fx=c +_.fy=d +_.k1=_.id=_.go=$ +_.k4=_.k3=_.k2=null +_.ok=$ +_.p1=!1 +_.p2=e +_.p3=f +_.p4=null +_.R8=g +_.RG=h +_.rx=null +_.f=i +_.r=j +_.w=null +_.a=k +_.b=null +_.c=l +_.d=m +_.e=n}, +Nd:function Nd(a,b){this.a=a +this.b=b}, +aAu(a){return a===1}, +MC:function MC(){this.a=!1}, +tB:function tB(a,b,c,d,e){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=!1}, +hK:function hK(a,b,c,d,e){var _=this +_.y=_.x=_.w=_.r=_.f=null +_.z=a +_.a=b +_.b=null +_.c=c +_.d=d +_.e=e}, +a6i:function a6i(a,b){this.a=a +this.b=b}, +a6k:function a6k(){}, +a6j:function a6j(a,b,c){this.a=a +this.b=b +this.c=c}, +a6l:function a6l(){this.b=this.a=null}, +aBd(a){return!0}, +FL:function FL(a,b){this.a=a +this.b=b}, +HE:function HE(a,b){this.a=a +this.b=b}, +cG:function cG(){}, +cf:function cf(){}, +w8:function w8(a,b){this.a=a +this.b=b}, +qG:function qG(){}, +a6t:function a6t(a,b){this.a=a +this.b=b}, +hY:function hY(a,b){this.a=a +this.b=b}, +NO:function NO(){}, +aEi(a,b){var s=t.S +return new A.f8(B.aW,18,B.bO,A.E(s,t.Y),A.cA(s),a,b,A.aku(),A.E(s,t.Au))}, +rl:function rl(a,b){this.a=a +this.c=b}, +rm:function rm(){}, +Ed:function Ed(){}, +f8:function f8(a,b,c,d,e,f,g,h,i){var _=this +_.O=_.S=_.au=_.aj=_.a3=_.Z=_.E=_.bm=_.bv=_.b2=_.a4=null +_.k3=_.k2=!1 +_.ok=_.k4=null +_.at=a +_.ay=b +_.ch=c +_.cx=_.CW=null +_.cy=!1 +_.db=null +_.f=d +_.r=e +_.w=null +_.a=f +_.b=null +_.c=g +_.d=h +_.e=i}, +aay:function aay(a,b){this.a=a +this.b=b}, +aaz:function aaz(a,b){this.a=a +this.b=b}, +aaA:function aaA(a,b){this.a=a +this.b=b}, +aaB:function aaB(a,b){this.a=a +this.b=b}, +aaC:function aaC(a){this.a=a}, +Mj:function Mj(a,b){this.a=a +this.b=b}, +oM:function oM(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=!1 +_.f=_.e=null}, +a__:function a__(a){this.a=a +this.b=null}, +a_0:function a_0(a,b){this.a=a +this.b=b}, +aBs(a){var s=t.av +return new A.nq(A.b8(20,null,!1,s),a,A.b8(20,null,!1,s))}, +hs:function hs(a){this.a=a}, +m2:function m2(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Br:function Br(a,b){this.a=a +this.b=b}, +i9:function i9(a,b){var _=this +_.a=a +_.b=null +_.c=b +_.d=0}, +nq:function nq(a,b,c){var _=this +_.e=a +_.a=b +_.b=null +_.c=c +_.d=0}, +qo:function qo(a,b,c){var _=this +_.e=a +_.a=b +_.b=null +_.c=c +_.d=0}, +Ly:function Ly(){}, +acd:function acd(a,b){this.a=a +this.b=b}, +rJ:function rJ(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +Eb:function Eb(a){this.a=a}, +UY:function UY(){}, +UZ:function UZ(){}, +V_:function V_(){}, +Ea:function Ea(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +FN:function FN(a){this.a=a}, +Y1:function Y1(){}, +Y2:function Y2(){}, +Y3:function Y3(){}, +FM:function FM(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +FR:function FR(a){this.a=a}, +Yo:function Yo(){}, +Yp:function Yp(){}, +Yq:function Yq(){}, +FQ:function FQ(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +ayS(a,b,c){var s,r,q,p,o=null,n=a==null +if(n&&b==null)return o +s=c<0.5 +if(s)r=n?o:a.a +else r=b==null?o:b.a +if(s)q=n?o:a.b +else q=b==null?o:b.b +if(s)p=n?o:a.c +else p=b==null?o:b.c +if(s)n=n?o:a.d +else n=b==null?o:b.d +return new A.pj(r,q,p,n)}, +pj:function pj(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +LA:function LA(){}, +aBZ(){return new A.wc(new A.a1C(),A.E(t.K,t.Qu))}, +abn:function abn(a,b){this.a=a +this.b=b}, +wW:function wW(a,b,c,d){var _=this +_.e=a +_.cx=b +_.db=c +_.a=d}, +a1C:function a1C(){}, +a43:function a43(){}, +B0:function B0(){this.d=$ +this.c=this.a=null}, +afI:function afI(){}, +afJ:function afJ(){}, +UE(a,b,c,d,e){return new A.ui(e,a,b,d,c,new A.PU(null,null,1/0,56),null)}, +ayZ(a,b){var s=A.an(a).R8.Q +if(s==null)s=56 +return s+0}, +aih:function aih(a){this.b=a}, +PU:function PU(a,b,c,d){var _=this +_.e=a +_.f=b +_.a=c +_.b=d}, +ui:function ui(a,b,c,d,e,f,g){var _=this +_.e=a +_.f=b +_.ax=c +_.ch=d +_.cy=e +_.fx=f +_.a=g}, +UF:function UF(a,b){this.a=a +this.b=b}, +A3:function A3(){var _=this +_.d=null +_.e=!1 +_.c=_.a=null}, +acp:function acp(){}, +LP:function LP(a,b){this.c=a +this.a=b}, +Qg:function Qg(a,b,c,d,e){var _=this +_.B=null +_.a_=a +_.ak=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +aco:function aco(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){var _=this +_.ay=a +_.cx=_.CW=_.ch=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n +_.at=o +_.ax=p}, +ayX(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return new A.po(b==null?null:b,e,d,g,h,j,i,f,a,c,l,n,o,m,k)}, +ayY(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.t(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.V(a.d,b.d,c) +o=A.t(a.e,b.e,c) +n=A.t(a.f,b.f,c) +m=A.d1(a.r,b.r,c) +l=A.jE(a.w,b.w,c) +k=A.jE(a.x,b.x,c) +j=c<0.5 +if(j)i=a.y +else i=b.y +h=A.V(a.z,b.z,c) +g=A.V(a.Q,b.Q,c) +f=A.aV(a.as,b.as,c) +e=A.aV(a.at,b.at,c) +if(j)j=a.ax +else j=b.ax +return A.ayX(k,s,i,q,r,l,p,o,m,n,j,h,e,g,f)}, +po:function po(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o}, +LO:function LO(){}, +aHx(a,b){var s,r,q,p,o=A.bj("maxValue") +for(s=null,r=0;r<4;++r){q=a[r] +p=b.$1(q) +if(s==null||p>s){o.b=q +s=p}}return o.aP()}, +x_:function x_(a,b){var _=this +_.c=!0 +_.r=_.f=_.e=_.d=null +_.a=a +_.b=b}, +a41:function a41(a,b){this.a=a +this.b=b}, +rR:function rR(a,b){this.a=a +this.b=b}, +km:function km(a,b){this.a=a +this.b=b}, +qp:function qp(a,b){var _=this +_.e=!0 +_.r=_.f=$ +_.a=a +_.b=b}, +a42:function a42(a,b){this.a=a +this.b=b}, +az0(a,b,c){var s,r,q,p,o,n,m +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.t(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.V(a.d,b.d,c) +o=A.aV(a.e,b.e,c) +n=A.de(a.f,b.f,c) +m=A.DU(a.r,b.r,c) +return new A.uo(s,r,q,p,o,n,m,A.xo(a.w,b.w,c))}, +uo:function uo(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +LW:function LW(){}, +wX:function wX(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +Ov:function Ov(){}, +az3(a,b,c){var s,r,q,p,o,n +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.V(a.b,b.b,c) +if(c<0.5)q=a.c +else q=b.c +p=A.V(a.d,b.d,c) +o=A.t(a.e,b.e,c) +n=A.t(a.f,b.f,c) +return new A.ur(s,r,q,p,o,n,A.de(a.r,b.r,c))}, +ur:function ur(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +M1:function M1(){}, +az4(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.V(a.b,b.b,c) +q=A.jE(a.c,b.c,c) +p=A.jE(a.d,b.d,c) +o=A.t(a.e,b.e,c) +n=A.t(a.f,b.f,c) +m=A.aV(a.r,b.r,c) +l=A.aV(a.w,b.w,c) +k=c<0.5 +if(k)j=a.x +else j=b.x +if(k)i=a.y +else i=b.y +if(k)h=a.z +else h=b.z +if(k)g=a.Q +else g=b.Q +if(k)f=a.as +else f=b.as +if(k)k=a.at +else k=b.at +return new A.us(s,r,q,p,o,n,m,l,j,i,h,g,f,k)}, +us:function us(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n}, +M2:function M2(){}, +az5(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.t(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.t(a.d,b.d,c) +o=A.t(a.e,b.e,c) +n=A.t(a.f,b.f,c) +m=A.V(a.r,b.r,c) +l=A.d1(a.w,b.w,c) +k=c<0.5 +if(k)j=a.x +else j=b.x +i=A.t(a.y,b.y,c) +h=A.amt(a.z,b.z,c) +if(k)k=a.Q +else k=b.Q +return new A.ut(s,r,q,p,o,n,m,l,j,i,h,k,A.jp(a.as,b.as,c))}, +ut:function ut(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m}, +M3:function M3(){}, +arx(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6){return new A.y_(a1,a0,s,r,a5,i,j,o,m,a4,g,p,k,n,f,a2,a6,e,a3,a,c,q,l,!1,d,!0,null)}, +y_:function y_(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.ay=n +_.ch=o +_.CW=p +_.cx=q +_.cy=r +_.db=s +_.dx=a0 +_.dy=a1 +_.fr=a2 +_.fx=a3 +_.fy=a4 +_.go=a5 +_.id=a6 +_.a=a7}, +Q1:function Q1(a){this.nW$=a +this.c=this.a=null}, +Ob:function Ob(a,b,c){this.e=a +this.c=b +this.a=c}, +BG:function BG(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +agX:function agX(a,b){this.a=a +this.b=b}, +T3:function T3(){}, +aza(a,b,c){var s,r,q,p,o,n,m,l,k +if(a===b)return a +s=c<0.5 +if(s)r=a.a +else r=b.a +if(s)q=a.b +else q=b.b +if(s)p=a.c +else p=b.c +o=A.V(a.d,b.d,c) +n=A.V(a.e,b.e,c) +m=A.de(a.f,b.f,c) +if(s)l=a.r +else l=b.r +if(s)k=a.w +else k=b.w +if(s)s=a.x +else s=b.x +return new A.ux(r,q,p,o,n,m,l,k,s)}, +ux:function ux(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +M6:function M6(){}, +al7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4){return new A.bf(a3,d,i,o,q,a1,e,p,m,g,l,j,k,s,r,n,a4,a2,b,f,a,a0,c,h)}, +ip(a8,a9,b0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7=null +if(a8==a9)return a8 +s=a8==null +r=s?a7:a8.a +q=a9==null +p=q?a7:a9.a +p=A.aB(r,p,b0,A.u_(),t.p8) +r=s?a7:a8.b +o=q?a7:a9.b +n=t._ +o=A.aB(r,o,b0,A.by(),n) +r=s?a7:a8.c +r=A.aB(r,q?a7:a9.c,b0,A.by(),n) +m=s?a7:a8.d +m=A.aB(m,q?a7:a9.d,b0,A.by(),n) +l=s?a7:a8.e +l=A.aB(l,q?a7:a9.e,b0,A.by(),n) +k=s?a7:a8.f +k=A.aB(k,q?a7:a9.f,b0,A.by(),n) +j=s?a7:a8.r +i=q?a7:a9.r +h=t.PM +i=A.aB(j,i,b0,A.Du(),h) +j=s?a7:a8.w +g=q?a7:a9.w +g=A.aB(j,g,b0,A.anz(),t.pc) +j=s?a7:a8.x +f=q?a7:a9.x +e=t.tW +f=A.aB(j,f,b0,A.Dt(),e) +j=s?a7:a8.y +j=A.aB(j,q?a7:a9.y,b0,A.Dt(),e) +d=s?a7:a8.z +e=A.aB(d,q?a7:a9.z,b0,A.Dt(),e) +d=s?a7:a8.Q +n=A.aB(d,q?a7:a9.Q,b0,A.by(),n) +d=s?a7:a8.as +h=A.aB(d,q?a7:a9.as,b0,A.Du(),h) +d=s?a7:a8.at +d=A.azb(d,q?a7:a9.at,b0) +c=s?a7:a8.ax +b=q?a7:a9.ax +b=A.aB(c,b,b0,A.ajM(),t.KX) +c=b0<0.5 +if(c)a=s?a7:a8.ay +else a=q?a7:a9.ay +if(c)a0=s?a7:a8.ch +else a0=q?a7:a9.ch +if(c)a1=s?a7:a8.CW +else a1=q?a7:a9.CW +if(c)a2=s?a7:a8.cx +else a2=q?a7:a9.cx +if(c)a3=s?a7:a8.cy +else a3=q?a7:a9.cy +a4=s?a7:a8.db +a4=A.DU(a4,q?a7:a9.db,b0) +if(c)a5=s?a7:a8.dx +else a5=q?a7:a9.dx +if(c)a6=s?a7:a8.dy +else a6=q?a7:a9.dy +if(c)s=s?a7:a8.fr +else s=q?a7:a9.fr +return A.al7(a4,a2,a6,o,i,a3,j,s,r,n,h,e,f,a,m,g,l,b,d,a5,k,a1,p,a0)}, +azb(a,b,c){if(a==null&&b==null)return null +return A.amO(a,b,c)}, +bf:function bf(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4}, +M7:function M7(){}, +uy:function uy(){}, +A7:function A7(a,b){var _=this +_.r=_.f=_.e=_.d=null +_.cS$=a +_.b6$=b +_.c=_.a=null}, +adm:function adm(){}, +adj:function adj(a,b,c){this.a=a +this.b=b +this.c=c}, +adk:function adk(a,b){this.a=a +this.b=b}, +adl:function adl(a,b,c){this.a=a +this.b=b +this.c=c}, +acV:function acV(){}, +acW:function acW(){}, +acX:function acX(){}, +ad7:function ad7(){}, +adc:function adc(){}, +add:function add(){}, +ade:function ade(){}, +adf:function adf(){}, +adg:function adg(){}, +adh:function adh(){}, +adi:function adi(){}, +acY:function acY(){}, +acZ:function acZ(){}, +ad_:function ad_(){}, +ada:function ada(a){this.a=a}, +acT:function acT(a){this.a=a}, +adb:function adb(a){this.a=a}, +acS:function acS(a){this.a=a}, +ad0:function ad0(){}, +ad1:function ad1(){}, +ad2:function ad2(){}, +ad3:function ad3(){}, +ad4:function ad4(){}, +ad5:function ad5(){}, +ad6:function ad6(){}, +ad8:function ad8(){}, +ad9:function ad9(a){this.a=a}, +acU:function acU(){}, +OL:function OL(a){this.a=a}, +Oa:function Oa(a,b,c){this.e=a +this.c=b +this.a=c}, +BF:function BF(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +agW:function agW(a,b){this.a=a +this.b=b}, +CX:function CX(){}, +ap3(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return new A.Eq(k,f,o,i,l,m,!1,b,d,e,h,g,n,c,j)}, +uz:function uz(a,b){this.a=a +this.b=b}, +Vr:function Vr(a,b){this.a=a +this.b=b}, +Eq:function Eq(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o}, +M8:function M8(){}, +azl(a,b,c){var s,r,q,p,o,n +if(a===b)return a +if(c<0.5)s=a.a +else s=b.a +r=A.t(a.b,b.b,c) +q=A.t(a.c,b.c,c) +p=A.t(a.d,b.d,c) +o=A.V(a.e,b.e,c) +n=A.de(a.f,b.f,c) +return new A.uF(s,r,q,p,o,n,A.d1(a.r,b.r,c))}, +uF:function uF(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +Mb:function Mb(){}, +azn(a,b,c){var s,r,q,p,o,n,m,l +if(a===b)return a +s=c<0.5 +if(s)r=a.a +else r=b.a +q=t._ +p=A.aB(a.b,b.b,c,A.by(),q) +o=A.aB(a.c,b.c,c,A.by(),q) +q=A.aB(a.d,b.d,c,A.by(),q) +n=A.V(a.e,b.e,c) +if(s)m=a.f +else m=b.f +if(s)s=a.r +else s=b.r +l=t.KX.a(A.d1(a.w,b.w,c)) +return new A.uG(r,p,o,q,n,m,s,l,A.azm(a.x,b.x,c))}, +azm(a,b,c){if(a==null||b==null)return null +if(a===b)return a +a.toString +return A.aG(a,b,c)}, +uG:function uG(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +Md:function Md(){}, +azt(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2 +if(a3===a4)return a3 +s=A.aB(a3.a,a4.a,a5,A.by(),t._) +r=A.t(a3.b,a4.b,a5) +q=A.t(a3.c,a4.c,a5) +p=A.t(a3.d,a4.d,a5) +o=A.t(a3.e,a4.e,a5) +n=A.t(a3.f,a4.f,a5) +m=A.t(a3.r,a4.r,a5) +l=A.t(a3.w,a4.w,a5) +k=A.t(a3.x,a4.x,a5) +j=a5<0.5 +if(j)i=a3.y!==!1 +else i=a4.y!==!1 +h=A.t(a3.z,a4.z,a5) +g=A.de(a3.Q,a4.Q,a5) +f=A.de(a3.as,a4.as,a5) +e=A.azs(a3.at,a4.at,a5) +d=A.azr(a3.ax,a4.ax,a5) +c=A.aV(a3.ay,a4.ay,a5) +b=A.aV(a3.ch,a4.ch,a5) +if(j){j=a3.CW +if(j==null)j=B.a6}else{j=a4.CW +if(j==null)j=B.a6}a=A.V(a3.cx,a4.cx,a5) +a0=A.V(a3.cy,a4.cy,a5) +a1=a3.db +if(a1==null)a2=a4.db!=null +else a2=!0 +if(a2)a1=A.jE(a1,a4.db,a5) +else a1=null +a2=A.jp(a3.dx,a4.dx,a5) +return new A.uH(s,r,q,p,o,n,m,l,k,i,h,g,f,e,d,c,b,j,a,a0,a1,a2,A.jp(a3.dy,a4.dy,a5))}, +azs(a,b,c){var s=a==null +if(s&&b==null)return null +if(s){s=b.a +return A.aG(new A.cy(A.a3(0,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255),0,B.a4,-1),b,c)}if(b==null){s=a.a +return A.aG(new A.cy(A.a3(0,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255),0,B.a4,-1),a,c)}return A.aG(a,b,c)}, +azr(a,b,c){if(a==null&&b==null)return null +return t.KX.a(A.d1(a,b,c))}, +uH:function uH(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3}, +Mf:function Mf(){}, +WE(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0){return new A.pF(b,a7,k,a8,l,a9,b0,m,n,b2,o,b3,p,b4,b5,q,r,c7,a1,c8,a2,c9,d0,a3,a4,c,h,d,i,b7,s,c6,c4,b8,c3,c2,b9,c0,c1,a0,a5,a6,b6,b1,f,j,e,c5,a,g)}, +azF(d1,d2,d3,d4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0=A.azG(d1,d4,B.Bz,0) +if(d3==null){s=$.Dv().aK(d0).d +s===$&&A.a() +s=new A.w(s>>>0)}else s=d3 +if(d2==null){r=$.avQ().aK(d0).d +r===$&&A.a() +r=new A.w(r>>>0)}else r=d2 +q=$.Dw().aK(d0).d +q===$&&A.a() +p=$.avR().aK(d0).d +p===$&&A.a() +o=$.Dx().aK(d0).d +o===$&&A.a() +n=$.Dy().aK(d0).d +n===$&&A.a() +m=$.avS().aK(d0).d +m===$&&A.a() +l=$.avT().aK(d0).d +l===$&&A.a() +k=$.U9().aK(d0).d +k===$&&A.a() +j=$.avU().aK(d0).d +j===$&&A.a() +i=$.Dz().aK(d0).d +i===$&&A.a() +h=$.avV().aK(d0).d +h===$&&A.a() +g=$.DA().aK(d0).d +g===$&&A.a() +f=$.DB().aK(d0).d +f===$&&A.a() +e=$.avW().aK(d0).d +e===$&&A.a() +d=$.avX().aK(d0).d +d===$&&A.a() +c=$.Ua().aK(d0).d +c===$&&A.a() +b=$.aw_().aK(d0).d +b===$&&A.a() +a=$.DC().aK(d0).d +a===$&&A.a() +a0=$.aw0().aK(d0).d +a0===$&&A.a() +a1=$.DD().aK(d0).d +a1===$&&A.a() +a2=$.DE().aK(d0).d +a2===$&&A.a() +a3=$.aw1().aK(d0).d +a3===$&&A.a() +a4=$.aw2().aK(d0).d +a4===$&&A.a() +a5=$.U7().aK(d0).d +a5===$&&A.a() +a6=$.avO().aK(d0).d +a6===$&&A.a() +a7=$.U8().aK(d0).d +a7===$&&A.a() +a8=$.avP().aK(d0).d +a8===$&&A.a() +a9=$.aw3().aK(d0).d +a9===$&&A.a() +b0=$.aw4().aK(d0).d +b0===$&&A.a() +b1=$.aw7().aK(d0).d +b1===$&&A.a() +b2=$.dE().aK(d0).d +b2===$&&A.a() +b3=$.dD().aK(d0).d +b3===$&&A.a() +b4=$.awc().aK(d0).d +b4===$&&A.a() +b5=$.awb().aK(d0).d +b5===$&&A.a() +b6=$.aw8().aK(d0).d +b6===$&&A.a() +b7=$.aw9().aK(d0).d +b7===$&&A.a() +b8=$.awa().aK(d0).d +b8===$&&A.a() +b9=$.avY().aK(d0).d +b9===$&&A.a() +c0=$.avZ().aK(d0).d +c0===$&&A.a() +c1=$.akG().aK(d0).d +c1===$&&A.a() +c2=$.avL().aK(d0).d +c2===$&&A.a() +c3=$.avM().aK(d0).d +c3===$&&A.a() +c4=$.aw6().aK(d0).d +c4===$&&A.a() +c5=$.aw5().aK(d0).d +c5===$&&A.a() +c6=$.Dv().aK(d0).d +c6===$&&A.a() +c7=$.aoa().aK(d0).d +c7===$&&A.a() +c8=$.avN().aK(d0).d +c8===$&&A.a() +c9=$.awd().aK(d0).d +c9===$&&A.a() +return A.WE(new A.w(c7>>>0),d1,new A.w(a5>>>0),new A.w(a7>>>0),new A.w(c3>>>0),new A.w(c1>>>0),new A.w(c8>>>0),new A.w(a6>>>0),new A.w(a8>>>0),new A.w(c2>>>0),r,new A.w(p>>>0),new A.w(m>>>0),new A.w(l>>>0),new A.w(j>>>0),new A.w(h>>>0),new A.w(e>>>0),new A.w(d>>>0),new A.w(b9>>>0),new A.w(c0>>>0),new A.w(b>>>0),new A.w(a0>>>0),new A.w(a3>>>0),new A.w(a4>>>0),new A.w(a9>>>0),new A.w(b0>>>0),s,new A.w(q>>>0),new A.w(o>>>0),new A.w(n>>>0),new A.w(c5>>>0),new A.w(k>>>0),new A.w(i>>>0),new A.w(g>>>0),new A.w(f>>>0),new A.w(c4>>>0),new A.w(b1>>>0),new A.w(b3>>>0),new A.w(b6>>>0),new A.w(b7>>>0),new A.w(b8>>>0),new A.w(b5>>>0),new A.w(b4>>>0),new A.w(b2>>>0),new A.w(c6>>>0),new A.w(c9>>>0),new A.w(c>>>0),new A.w(a>>>0),new A.w(a1>>>0),new A.w(a2>>>0))}, +azH(d5,d6,d7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4 +if(d5===d6)return d5 +s=d7<0.5?d5.a:d6.a +r=d5.b +q=d6.b +p=A.t(r,q,d7) +p.toString +o=d5.c +n=d6.c +m=A.t(o,n,d7) +m.toString +l=d5.d +if(l==null)l=r +k=d6.d +l=A.t(l,k==null?q:k,d7) +k=d5.e +if(k==null)k=o +j=d6.e +k=A.t(k,j==null?n:j,d7) +j=d5.f +if(j==null)j=r +i=d6.f +j=A.t(j,i==null?q:i,d7) +i=d5.r +if(i==null)i=r +h=d6.r +i=A.t(i,h==null?q:h,d7) +h=d5.w +if(h==null)h=o +g=d6.w +h=A.t(h,g==null?n:g,d7) +g=d5.x +if(g==null)g=o +f=d6.x +g=A.t(g,f==null?n:f,d7) +f=d5.y +e=d6.y +d=A.t(f,e,d7) +d.toString +c=d5.z +b=d6.z +a=A.t(c,b,d7) +a.toString +a0=d5.Q +if(a0==null)a0=f +a1=d6.Q +a0=A.t(a0,a1==null?e:a1,d7) +a1=d5.as +if(a1==null)a1=c +a2=d6.as +a1=A.t(a1,a2==null?b:a2,d7) +a2=d5.at +if(a2==null)a2=f +a3=d6.at +a2=A.t(a2,a3==null?e:a3,d7) +a3=d5.ax +if(a3==null)a3=f +a4=d6.ax +a3=A.t(a3,a4==null?e:a4,d7) +a4=d5.ay +if(a4==null)a4=c +a5=d6.ay +a4=A.t(a4,a5==null?b:a5,d7) +a5=d5.ch +if(a5==null)a5=c +a6=d6.ch +a5=A.t(a5,a6==null?b:a6,d7) +a6=d5.CW +a7=a6==null +a8=a7?f:a6 +a9=d6.CW +b0=a9==null +a8=A.t(a8,b0?e:a9,d7) +b1=d5.cx +b2=b1==null +b3=b2?c:b1 +b4=d6.cx +b5=b4==null +b3=A.t(b3,b5?b:b4,d7) +b6=d5.cy +if(b6==null)b6=a7?f:a6 +b7=d6.cy +if(b7==null)b7=b0?e:a9 +b7=A.t(b6,b7,d7) +b6=d5.db +if(b6==null)b6=b2?c:b1 +b8=d6.db +if(b8==null)b8=b5?b:b4 +b8=A.t(b6,b8,d7) +b6=d5.dx +if(b6==null)b6=a7?f:a6 +b9=d6.dx +if(b9==null)b9=b0?e:a9 +b9=A.t(b6,b9,d7) +b6=d5.dy +if(b6==null)f=a7?f:a6 +else f=b6 +a6=d6.dy +if(a6==null)e=b0?e:a9 +else e=a6 +e=A.t(f,e,d7) +f=d5.fr +if(f==null)f=b2?c:b1 +a6=d6.fr +if(a6==null)a6=b5?b:b4 +a6=A.t(f,a6,d7) +f=d5.fx +if(f==null)f=b2?c:b1 +c=d6.fx +if(c==null)c=b5?b:b4 +c=A.t(f,c,d7) +f=d5.fy +b=d6.fy +a7=A.t(f,b,d7) +a7.toString +a9=d5.go +b0=d6.go +b1=A.t(a9,b0,d7) +b1.toString +b2=d5.id +f=b2==null?f:b2 +b2=d6.id +f=A.t(f,b2==null?b:b2,d7) +b=d5.k1 +if(b==null)b=a9 +a9=d6.k1 +b=A.t(b,a9==null?b0:a9,d7) +a9=d5.k2 +b0=d6.k2 +b2=A.t(a9,b0,d7) +b2.toString +b4=d5.k3 +b5=d6.k3 +b6=A.t(b4,b5,d7) +b6.toString +c0=d5.ok +if(c0==null)c0=a9 +c1=d6.ok +c0=A.t(c0,c1==null?b0:c1,d7) +c1=d5.p1 +if(c1==null)c1=a9 +c2=d6.p1 +c1=A.t(c1,c2==null?b0:c2,d7) +c2=d5.p2 +if(c2==null)c2=a9 +c3=d6.p2 +c2=A.t(c2,c3==null?b0:c3,d7) +c3=d5.p3 +if(c3==null)c3=a9 +c4=d6.p3 +c3=A.t(c3,c4==null?b0:c4,d7) +c4=d5.p4 +if(c4==null)c4=a9 +c5=d6.p4 +c4=A.t(c4,c5==null?b0:c5,d7) +c5=d5.R8 +if(c5==null)c5=a9 +c6=d6.R8 +c5=A.t(c5,c6==null?b0:c6,d7) +c6=d5.RG +if(c6==null)c6=a9 +c7=d6.RG +c6=A.t(c6,c7==null?b0:c7,d7) +c7=d5.rx +if(c7==null)c7=b4 +c8=d6.rx +c7=A.t(c7,c8==null?b5:c8,d7) +c8=d5.ry +if(c8==null){c8=d5.a4 +if(c8==null)c8=b4}c9=d6.ry +if(c9==null){c9=d6.a4 +if(c9==null)c9=b5}c9=A.t(c8,c9,d7) +c8=d5.to +if(c8==null){c8=d5.a4 +if(c8==null)c8=b4}d0=d6.to +if(d0==null){d0=d6.a4 +if(d0==null)d0=b5}d0=A.t(c8,d0,d7) +c8=d5.x1 +if(c8==null)c8=B.o +d1=d6.x1 +c8=A.t(c8,d1==null?B.o:d1,d7) +d1=d5.x2 +if(d1==null)d1=B.o +d2=d6.x2 +d1=A.t(d1,d2==null?B.o:d2,d7) +d2=d5.xr +if(d2==null)d2=b4 +d3=d6.xr +d2=A.t(d2,d3==null?b5:d3,d7) +d3=d5.y1 +if(d3==null)d3=a9 +d4=d6.y1 +d3=A.t(d3,d4==null?b0:d4,d7) +d4=d5.y2 +o=d4==null?o:d4 +d4=d6.y2 +o=A.t(o,d4==null?n:d4,d7) +n=d5.aV +r=n==null?r:n +n=d6.aV +r=A.t(r,n==null?q:n,d7) +q=d5.bz +if(q==null)q=a9 +n=d6.bz +q=A.t(q,n==null?b0:n,d7) +n=d5.a4 +if(n==null)n=b4 +b4=d6.a4 +n=A.t(n,b4==null?b5:b4,d7) +b4=d5.k4 +a9=b4==null?a9:b4 +b4=d6.k4 +return A.WE(q,s,a7,f,o,d2,n,b1,b,d3,m,k,h,g,a,a1,a4,a5,b6,c7,b3,b8,a6,c,c9,d0,p,l,j,i,d1,d,a0,a2,a3,c8,b2,c1,c4,c5,c6,c3,c2,c0,r,A.t(a9,b4==null?b0:b4,d7),a8,b7,b9,e)}, +azG(a,b,c,d){var s,r,q,p,o,n,m=a===B.a5,l=A.eY(b.gm(b)) +switch(c.a){case 0:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b4(r,36) +q=A.b4(l.a,16) +p=A.b4(A.x0(l.a+60),24) +o=A.b4(l.a,6) +n=A.b4(l.a,8) +n=new A.JO(A.eY(s),B.Ro,m,d,r,q,p,o,n,A.b4(25,84)) +s=n +break +case 1:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +q=l.b +q===$&&A.a() +q=A.b4(r,q) +r=l.a +p=l.b +p=A.b4(r,Math.max(p-32,p*0.5)) +r=A.asl(A.aln(A.asd(l).ga8s())) +o=A.b4(l.a,l.b/8) +n=A.b4(l.a,l.b/8+4) +n=new A.JJ(A.eY(s),B.cb,m,d,q,p,r,o,n,A.b4(25,84)) +s=n +break +case 6:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +q=l.b +q===$&&A.a() +q=A.b4(r,q) +r=l.a +p=l.b +p=A.b4(r,Math.max(p-32,p*0.5)) +r=A.asl(A.aln(B.b.gP(A.asd(l).a7y(3,6)))) +o=A.b4(l.a,l.b/8) +n=A.b4(l.a,l.b/8+4) +n=new A.JH(A.eY(s),B.ca,m,d,q,p,r,o,n,A.b4(25,84)) +s=n +break +case 2:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b4(r,0) +q=A.b4(l.a,0) +p=A.b4(l.a,0) +o=A.b4(l.a,0) +n=A.b4(l.a,0) +n=new A.JL(A.eY(s),B.Y,m,d,r,q,p,o,n,A.b4(25,84)) +s=n +break +case 3:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b4(r,12) +q=A.b4(l.a,8) +p=A.b4(l.a,16) +o=A.b4(l.a,2) +n=A.b4(l.a,2) +n=new A.JM(A.eY(s),B.Rn,m,d,r,q,p,o,n,A.b4(25,84)) +s=n +break +case 4:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b4(r,200) +q=A.b4(A.Y5(l,$.arN,$.aDx),24) +p=A.b4(A.Y5(l,$.arN,$.aDy),32) +o=A.b4(l.a,10) +n=A.b4(l.a,12) +n=new A.JP(A.eY(s),B.Rp,m,d,r,q,p,o,n,A.b4(25,84)) +s=n +break +case 5:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b4(A.x0(r+240),40) +q=A.b4(A.Y5(l,$.arM,$.aDv),24) +p=A.b4(A.Y5(l,$.arM,$.aDw),32) +o=A.b4(l.a+15,8) +n=A.b4(l.a+15,12) +n=new A.JI(A.eY(s),B.Rq,m,d,r,q,p,o,n,A.b4(25,84)) +s=n +break +case 7:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b4(r,48) +q=A.b4(l.a,16) +p=A.b4(A.x0(l.a+60),24) +o=A.b4(l.a,0) +n=A.b4(l.a,0) +n=new A.JN(A.eY(s),B.Rr,m,d,r,q,p,o,n,A.b4(25,84)) +s=n +break +case 8:s=l.d +s===$&&A.a() +r=l.a +r===$&&A.a() +r=A.b4(A.x0(r-50),48) +q=A.b4(A.x0(l.a-50),36) +p=A.b4(l.a,36) +o=A.b4(l.a,10) +n=A.b4(l.a,16) +n=new A.JK(A.eY(s),B.Rs,m,d,r,q,p,o,n,A.b4(25,84)) +s=n +break +default:s=null}return s}, +Y4:function Y4(a,b){this.a=a +this.b=b}, +pF:function pF(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7 +_.id=a8 +_.k1=a9 +_.k2=b0 +_.k3=b1 +_.k4=b2 +_.ok=b3 +_.p1=b4 +_.p2=b5 +_.p3=b6 +_.p4=b7 +_.R8=b8 +_.RG=b9 +_.rx=c0 +_.ry=c1 +_.to=c2 +_.x1=c3 +_.x2=c4 +_.xr=c5 +_.y1=c6 +_.y2=c7 +_.aV=c8 +_.bz=c9 +_.a4=d0}, +Mi:function Mi(){}, +Hl:function Hl(a,b){this.b=a +this.a=b}, +azT(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e +if(a===b)return a +s=A.Xd(a.a,b.a,c) +r=t._ +q=A.aB(a.b,b.b,c,A.by(),r) +p=A.V(a.c,b.c,c) +o=A.V(a.d,b.d,c) +n=A.aV(a.e,b.e,c) +r=A.aB(a.f,b.f,c,A.by(),r) +m=A.V(a.r,b.r,c) +l=A.aV(a.w,b.w,c) +k=A.V(a.x,b.x,c) +j=A.V(a.y,b.y,c) +i=A.V(a.z,b.z,c) +h=A.V(a.Q,b.Q,c) +g=c<0.5 +f=g?a.as:b.as +e=g?a.at:b.at +g=g?a.ax:b.ax +return new A.v7(s,q,p,o,n,r,m,l,k,j,i,h,f,e,g)}, +v7:function v7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o}, +MO:function MO(){}, +azV(b9,c0,c1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8 +if(b9===c0)return b9 +s=A.t(b9.a,c0.a,c1) +r=A.V(b9.b,c0.b,c1) +q=A.t(b9.c,c0.c,c1) +p=A.t(b9.d,c0.d,c1) +o=A.d1(b9.e,c0.e,c1) +n=A.t(b9.f,c0.f,c1) +m=A.t(b9.r,c0.r,c1) +l=A.aV(b9.w,c0.w,c1) +k=A.aV(b9.x,c0.x,c1) +j=A.aV(b9.y,c0.y,c1) +i=A.aV(b9.z,c0.z,c1) +h=t._ +g=A.aB(b9.Q,c0.Q,c1,A.by(),h) +f=A.aB(b9.as,c0.as,c1,A.by(),h) +e=A.aB(b9.at,c0.at,c1,A.by(),h) +d=A.aB(b9.ax,c0.ax,c1,A.ajM(),t.KX) +c=A.aB(b9.ay,c0.ay,c1,A.by(),h) +b=A.aB(b9.ch,c0.ch,c1,A.by(),h) +a=A.azU(b9.CW,c0.CW,c1) +a0=A.aV(b9.cx,c0.cx,c1) +a1=A.aB(b9.cy,c0.cy,c1,A.by(),h) +a2=A.aB(b9.db,c0.db,c1,A.by(),h) +a3=A.aB(b9.dx,c0.dx,c1,A.by(),h) +a4=A.t(b9.dy,c0.dy,c1) +a5=A.V(b9.fr,c0.fr,c1) +a6=A.t(b9.fx,c0.fx,c1) +a7=A.t(b9.fy,c0.fy,c1) +a8=A.d1(b9.go,c0.go,c1) +a9=A.t(b9.id,c0.id,c1) +b0=A.t(b9.k1,c0.k1,c1) +b1=A.aV(b9.k2,c0.k2,c1) +b2=A.aV(b9.k3,c0.k3,c1) +b3=A.t(b9.k4,c0.k4,c1) +h=A.aB(b9.ok,c0.ok,c1,A.by(),h) +b4=A.t(b9.p1,c0.p1,c1) +b5=c1<0.5 +if(b5)b6=b9.p2 +else b6=c0.p2 +b7=A.ip(b9.p3,c0.p3,c1) +b8=A.ip(b9.p4,c0.p4,c1) +if(b5)b5=b9.R8 +else b5=c0.R8 +return new A.v8(s,r,q,p,o,n,m,l,k,j,i,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,h,b4,b6,b7,b8,b5)}, +azU(a,b,c){var s +if(a==b)return a +if(a==null){s=b.a +return A.aG(new A.cy(A.a3(0,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255),0,B.a4,-1),b,c)}s=a.a +return A.aG(a,new A.cy(A.a3(0,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255),0,B.a4,-1),c)}, +v8:function v8(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7 +_.id=a8 +_.k1=a9 +_.k2=b0 +_.k3=b1 +_.k4=b2 +_.ok=b3 +_.p1=b4 +_.p2=b5 +_.p3=b6 +_.p4=b7 +_.R8=b8}, +MQ:function MQ(){}, +aA6(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.V(a.b,b.b,c) +q=A.t(a.c,b.c,c) +p=A.t(a.d,b.d,c) +o=A.d1(a.e,b.e,c) +n=A.DU(a.f,b.f,c) +m=A.t(a.y,b.y,c) +l=A.aV(a.r,b.r,c) +k=A.aV(a.w,b.w,c) +j=A.de(a.x,b.x,c) +i=A.t(a.z,b.z,c) +h=A.Y8(a.Q,b.Q,c) +if(c<0.5)g=a.as +else g=b.as +return new A.vi(s,r,q,p,o,n,l,k,j,m,i,h,g)}, +vi:function vi(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m}, +N_:function N_(){}, +aAe(a,b,c){var s,r,q,p +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.V(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.V(a.d,b.d,c) +return new A.vk(s,r,q,p,A.V(a.e,b.e,c))}, +vk:function vk(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +N4:function N4(){}, +aAz(a,b,c){var s,r,q,p,o,n,m,l,k +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.t(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.t(a.d,b.d,c) +o=A.t(a.e,b.e,c) +n=A.d1(a.f,b.f,c) +m=A.d1(a.r,b.r,c) +l=A.V(a.w,b.w,c) +if(c<0.5)k=a.x +else k=b.x +return new A.vr(s,r,q,p,o,n,m,l,k)}, +vr:function vr(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +Ne:function Ne(){}, +aAA(a,b,c){var s,r +if(a===b)return a +s=A.aV(a.a,b.a,c) +if(c<0.5)r=a.b +else r=b.b +return new A.vs(s,r,A.am5(a.c,b.c,c))}, +vs:function vs(a,b,c){this.a=a +this.b=b +this.c=c}, +Nf:function Nf(){}, +aAG(a,b,c){if(a===b)return a +return new A.vz(A.ip(a.a,b.a,c))}, +vz:function vz(a){this.a=a}, +Nk:function Nk(){}, +apX(a,b,c){if(b!=null&&!b.k(0,B.M))return A.azK(A.a3(B.c.a7(255*A.aAH(c)),b.gm(b)>>>16&255,b.gm(b)>>>8&255,b.gm(b)&255),a) +return a}, +aAH(a){var s,r,q,p,o,n +if(a<0)return 0 +for(s=0;r=B.lC[s],q=r.a,a>=q;){if(a===q||s+1===6)return r.b;++s}p=B.lC[s-1] +o=p.a +n=p.b +return n+(a-o)/(q-o)*(r.b-n)}, +ko:function ko(a,b){this.a=a +this.b=b}, +aAQ(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.t(a.b,b.b,c) +q=A.de(a.c,b.c,c) +p=A.DU(a.d,b.d,c) +o=A.de(a.e,b.e,c) +n=A.t(a.f,b.f,c) +m=A.t(a.r,b.r,c) +l=A.t(a.w,b.w,c) +k=A.t(a.x,b.x,c) +j=A.d1(a.y,b.y,c) +i=A.d1(a.z,b.z,c) +h=c<0.5 +if(h)g=a.Q +else g=b.Q +if(h)h=a.as +else h=b.as +return new A.vO(s,r,q,p,o,n,m,l,k,j,i,g,h)}, +vO:function vO(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m}, +Np:function Np(){}, +aAT(a,b,c){if(a===b)return a +return new A.vT(A.ip(a.a,b.a,c))}, +vT:function vT(a){this.a=a}, +Nt:function Nt(){}, +vX:function vX(a,b,c,d,e,f,g,h){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.y=e +_.z=f +_.b=g +_.a=h}, +aAU(a,b,c,d){return new A.Ga(b,a,d,c?B.S4:B.S3,null)}, +adS:function adS(){}, +AE:function AE(a,b){this.a=a +this.b=b}, +Ga:function Ga(a,b,c,d,e){var _=this +_.c=a +_.f=b +_.z=c +_.k1=d +_.a=e}, +Ni:function Ni(a,b){this.a=a +this.b=b}, +Me:function Me(a,b){this.c=a +this.a=b}, +Qh:function Qh(a,b,c,d,e){var _=this +_.B=null +_.a_=a +_.ak=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +aeb:function aeb(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4){var _=this +_.dx=a +_.dy=b +_.fr=c +_.fy=_.fx=$ +_.a=d +_.b=e +_.c=f +_.d=g +_.e=h +_.f=i +_.r=j +_.w=k +_.x=l +_.y=m +_.z=n +_.Q=o +_.as=p +_.at=q +_.ax=r +_.ay=s +_.ch=a0 +_.CW=a1 +_.cx=a2 +_.cy=a3 +_.db=a4}, +aE5(a,b){return a.r.a-16-a.e.c-a.a.a+b}, +asK(a,b,c,d,e){return new A.A2(c,d,a,b,new A.bg(A.b([],t.A),t.Q),new A.bg(A.b([],t.c),t.wi),0,e.h("A2<0>"))}, +Zb:function Zb(){}, +aa_:function aa_(){}, +YW:function YW(){}, +YV:function YV(){}, +ae6:function ae6(){}, +Za:function Za(){}, +ahu:function ahu(){}, +A2:function A2(a,b,c,d,e,f,g,h){var _=this +_.w=a +_.x=b +_.a=c +_.b=d +_.d=_.c=null +_.bJ$=e +_.c9$=f +_.ky$=g +_.$ti=h}, +SO:function SO(){}, +SP:function SP(){}, +aAV(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1){return new A.pZ(k,a,i,m,a1,c,j,n,b,l,r,d,o,s,a0,p,g,e,f,h,q)}, +aAW(a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1 +if(a2===a3)return a2 +s=A.t(a2.a,a3.a,a4) +r=A.t(a2.b,a3.b,a4) +q=A.t(a2.c,a3.c,a4) +p=A.t(a2.d,a3.d,a4) +o=A.t(a2.e,a3.e,a4) +n=A.V(a2.f,a3.f,a4) +m=A.V(a2.r,a3.r,a4) +l=A.V(a2.w,a3.w,a4) +k=A.V(a2.x,a3.x,a4) +j=A.V(a2.y,a3.y,a4) +i=A.d1(a2.z,a3.z,a4) +h=a4<0.5 +if(h)g=a2.Q +else g=a3.Q +f=A.V(a2.as,a3.as,a4) +e=A.jp(a2.at,a3.at,a4) +d=A.jp(a2.ax,a3.ax,a4) +c=A.jp(a2.ay,a3.ay,a4) +b=A.jp(a2.ch,a3.ch,a4) +a=A.V(a2.CW,a3.CW,a4) +a0=A.de(a2.cx,a3.cx,a4) +a1=A.aV(a2.cy,a3.cy,a4) +if(h)h=a2.db +else h=a3.db +return A.aAV(r,k,n,g,a,a0,b,a1,q,m,s,j,p,l,f,c,h,i,e,d,o)}, +pZ:function pZ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1}, +Ny:function Ny(){}, +a_X(a,b,c,d,e,f){return new A.GH(c,b,a,d,f,e,null)}, +wi(a,b,c,d,e,f,g,h,i,j,k,l,m,a0){var s,r,q,p=null,o=g==null,n=o?p:new A.NZ(g,b) +if(o)s=p +else{$label0$0:{o=new A.O0(g,f,i,h,p) +break $label0$0}s=o}o=l==null?p:new A.dl(l,t.W7) +r=k==null?p:new A.dl(k,t.W7) +q=j==null?p:new A.dl(j,t.XR) +return A.al7(a,p,p,p,p,d,p,p,n,p,q,r,o,new A.O_(e,c),s,p,p,p,p,p,p,p,p,a0)}, +afc:function afc(a,b){this.a=a +this.b=b}, +GH:function GH(a,b,c,d,e,f,g){var _=this +_.c=a +_.w=b +_.z=c +_.ax=d +_.cx=e +_.dx=f +_.a=g}, +C5:function C5(a,b,c,d,e,f,g,h){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.a=h}, +R_:function R_(){this.d=$ +this.c=this.a=null}, +O2:function O2(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.ay=a +_.ch=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.as=l +_.a=m}, +NZ:function NZ(a,b){this.a=a +this.b=b}, +O0:function O0(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +O_:function O_(a,b){this.a=a +this.b=b}, +O1:function O1(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5){var _=this +_.fx=a +_.go=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n +_.at=o +_.ax=p +_.ay=q +_.ch=r +_.CW=s +_.cx=a0 +_.cy=a1 +_.db=a2 +_.dx=a3 +_.dy=a4 +_.fr=a5}, +af9:function af9(a){this.a=a}, +afb:function afb(a){this.a=a}, +afa:function afa(){}, +Nu:function Nu(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6){var _=this +_.fx=a +_.fy=b +_.go=$ +_.a=c +_.b=d +_.c=e +_.d=f +_.e=g +_.f=h +_.r=i +_.w=j +_.x=k +_.y=l +_.z=m +_.Q=n +_.as=o +_.at=p +_.ax=q +_.ay=r +_.ch=s +_.CW=a0 +_.cx=a1 +_.cy=a2 +_.db=a3 +_.dx=a4 +_.dy=a5 +_.fr=a6}, +aeg:function aeg(a){this.a=a}, +aeh:function aeh(a){this.a=a}, +aej:function aej(a){this.a=a}, +aei:function aei(){}, +Nv:function Nv(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6){var _=this +_.fx=a +_.fy=b +_.go=$ +_.a=c +_.b=d +_.c=e +_.d=f +_.e=g +_.f=h +_.r=i +_.w=j +_.x=k +_.y=l +_.z=m +_.Q=n +_.as=o +_.at=p +_.ax=q +_.ay=r +_.ch=s +_.CW=a0 +_.cx=a1 +_.cy=a2 +_.db=a3 +_.dx=a4 +_.dy=a5 +_.fr=a6}, +aek:function aek(a){this.a=a}, +ael:function ael(a){this.a=a}, +aen:function aen(a){this.a=a}, +aem:function aem(){}, +P6:function P6(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5){var _=this +_.fx=a +_.go=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n +_.at=o +_.ax=p +_.ay=q +_.ch=r +_.CW=s +_.cx=a0 +_.cy=a1 +_.db=a2 +_.dx=a3 +_.dy=a4 +_.fr=a5}, +aga:function aga(a){this.a=a}, +agb:function agb(a){this.a=a}, +agd:function agd(a){this.a=a}, +age:function age(a){this.a=a}, +agc:function agc(){}, +ST:function ST(){}, +aBt(a,b,c){if(a===b)return a +return new A.nr(A.ip(a.a,b.a,c))}, +alR(a,b){return new A.wh(b,a,null)}, +aqh(a){var s=a.aa(t.g5),r=s==null?null:s.w +return r==null?A.an(a).au:r}, +nr:function nr(a){this.a=a}, +wh:function wh(a,b,c){this.w=a +this.b=b +this.a=c}, +O3:function O3(){}, +lf:function lf(a,b,c,d,e,f,g,h,i,j){var _=this +_.z=a +_.Q=b +_.as=c +_.at=d +_.ax=e +_.ch=_.ay=$ +_.CW=!0 +_.e=f +_.f=g +_.a=h +_.b=i +_.c=j}, +aH5(a,b,c){if(c!=null)return c +if(b)return new A.ajk(a) +return null}, +ajk:function ajk(a){this.a=a}, +afq:function afq(){}, +wt:function wt(a,b,c,d,e,f,g,h,i,j){var _=this +_.z=a +_.Q=b +_.as=c +_.at=d +_.ax=e +_.db=_.cy=_.cx=_.CW=_.ch=_.ay=$ +_.e=f +_.f=g +_.a=h +_.b=i +_.c=j}, +aH4(a,b,c){if(c!=null)return c +if(b)return new A.ajj(a) +return null}, +aH8(a,b,c,d){var s,r,q,p,o,n +if(b){if(c!=null){s=c.$0() +r=new A.K(s.c-s.a,s.d-s.b)}else r=a.gv(0) +q=d.ac(0,B.h).gd7() +p=d.ac(0,new A.n(0+r.a,0)).gd7() +o=d.ac(0,new A.n(0,0+r.b)).gd7() +n=d.ac(0,r.O_(0,B.h)).gd7() +return Math.ceil(Math.max(Math.max(q,p),Math.max(o,n)))}return 35}, +ajj:function ajj(a){this.a=a}, +afr:function afr(){}, +wu:function wu(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.z=a +_.Q=b +_.as=c +_.at=d +_.ax=e +_.ay=f +_.cx=_.CW=_.ch=$ +_.cy=null +_.e=g +_.f=h +_.a=i +_.b=j +_.c=k}, +nv(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,a0,a1){var s=null +return new A.GO(d,p,s,s,s,s,o,s,s,s,s,m,n,k,!0,B.b7,s,b,e,g,j,i,q,r,a0,f!==!1,!1,l,!1,h,c,a1,s,s)}, +lh:function lh(){}, +qg:function qg(){}, +Bn:function Bn(a,b,c){this.f=a +this.b=b +this.a=c}, +ws:function ws(){}, +AS:function AS(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.ay=n +_.ch=o +_.CW=p +_.cx=q +_.cy=r +_.db=s +_.dx=a0 +_.dy=a1 +_.fr=a2 +_.fx=a3 +_.fy=a4 +_.go=a5 +_.id=a6 +_.k1=a7 +_.k2=a8 +_.k3=a9 +_.k4=b0 +_.ok=b1 +_.p1=b2 +_.p2=b3 +_.p4=b4 +_.R8=b5 +_.a=b6}, +ma:function ma(a,b){this.a=a +this.b=b}, +AR:function AR(a,b,c){var _=this +_.e=_.d=null +_.f=!1 +_.r=a +_.w=$ +_.x=null +_.y=b +_.z=null +_.Q=!1 +_.ft$=c +_.c=_.a=null}, +afo:function afo(){}, +afk:function afk(a){this.a=a}, +afn:function afn(){}, +afp:function afp(a,b){this.a=a +this.b=b}, +afj:function afj(a,b){this.a=a +this.b=b}, +afm:function afm(a){this.a=a}, +afl:function afl(a,b){this.a=a +this.b=b}, +GO:function GO(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.ay=n +_.ch=o +_.CW=p +_.cx=q +_.cy=r +_.db=s +_.dx=a0 +_.dy=a1 +_.fr=a2 +_.fx=a3 +_.fy=a4 +_.go=a5 +_.id=a6 +_.k1=a7 +_.k2=a8 +_.k3=a9 +_.k4=b0 +_.ok=b1 +_.p1=b2 +_.p2=b3 +_.a=b4}, +D3:function D3(){}, +aAX(a){var s +$label0$0:{if(-1===a){s="FloatingLabelAlignment.start" +break $label0$0}if(0===a){s="FloatingLabelAlignment.center" +break $label0$0}s="FloatingLabelAlignment(x: "+B.f.R(a,1)+")" +break $label0$0}return s}, +Zc:function Zc(a,b){this.a=a +this.b=b}, +Gb:function Gb(){}, +GP:function GP(){}, +O9:function O9(){}, +alZ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0){return new A.wL(b,m,n,k,e,p,s,o,f,a,q,l,d,i,g,h,c,j,a0,r)}, +aBS(a1,a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0 +if(a1===a2)return a1 +s=a3<0.5 +if(s)r=a1.a +else r=a2.a +q=A.d1(a1.b,a2.b,a3) +if(s)p=a1.c +else p=a2.c +o=A.t(a1.d,a2.d,a3) +n=A.t(a1.e,a2.e,a3) +m=A.t(a1.f,a2.f,a3) +l=A.aV(a1.r,a2.r,a3) +k=A.aV(a1.w,a2.w,a3) +j=A.aV(a1.x,a2.x,a3) +i=A.de(a1.y,a2.y,a3) +h=A.t(a1.z,a2.z,a3) +g=A.t(a1.Q,a2.Q,a3) +f=A.V(a1.as,a2.as,a3) +e=A.V(a1.at,a2.at,a3) +d=A.V(a1.ax,a2.ax,a3) +c=A.V(a1.ay,a2.ay,a3) +if(s)b=a1.ch +else b=a2.ch +if(s)a=a1.CW +else a=a2.CW +if(s)a0=a1.cx +else a0=a2.cx +if(s)s=a1.cy +else s=a2.cy +return A.alZ(i,r,b,f,n,j,d,c,e,a,o,g,q,p,k,m,h,s,l,a0)}, +aqF(a,b,c){return new A.nD(b,a,c)}, +aBT(a,b,c,d){var s=null +return new A.fp(new A.a1t(s,s,s,c,s,s,s,d,s,s,b,s,s,s,s,s,s,s,s,s,s,a),s)}, +wL:function wL(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0}, +nD:function nD(a,b,c){this.w=a +this.b=b +this.a=c}, +a1t:function a1t(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2}, +Os:function Os(){}, +wV(a,b,c,d,e,f,g,h,i,j,k){return new A.wU(b,k,e,d,g,i,j,h,c,a,f)}, +aBB(a,b){var s,r,q,p,o,n,m,l,k,j,i=t.TT,h=A.b([a],i),g=A.b([b],i) +for(s=b,r=a;r!==s;){q=r.c +p=s.c +if(q>=p){o=r.d +if(!(o instanceof A.G)||!o.kU(r))return null +h.push(o) +r=o}if(q<=p){n=s.d +if(!(n instanceof A.G)||!n.kU(s))return null +g.push(n) +s=n}}m=new A.bi(new Float64Array(16)) +m.dF() +l=new A.bi(new Float64Array(16)) +l.dF() +for(k=g.length-1;k>0;k=j){j=k-1 +g[k].cM(g[j],m)}for(k=h.length-1;k>0;k=j){j=k-1 +h[k].cM(h[j],l)}if(l.dw(l)!==0){l.cq(0,m) +i=l}else i=null +return i}, +nJ:function nJ(a,b){this.a=a +this.b=b}, +wU:function wU(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.Q=i +_.as=j +_.a=k}, +Oz:function Oz(a,b,c){var _=this +_.d=a +_.cS$=b +_.b6$=c +_.c=_.a=null}, +afZ:function afZ(a){this.a=a}, +BE:function BE(a,b,c,d,e,f){var _=this +_.B=a +_.a_=b +_.ak=c +_.bK=null +_.C$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +O8:function O8(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +jG:function jG(){}, +oq:function oq(a,b){this.a=a +this.b=b}, +B1:function B1(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.r=a +_.w=b +_.x=c +_.y=d +_.z=e +_.Q=f +_.as=g +_.at=h +_.c=i +_.d=j +_.e=k +_.a=l}, +Ow:function Ow(a,b){var _=this +_.db=_.cy=_.cx=_.CW=null +_.e=_.d=$ +_.jk$=a +_.dQ$=b +_.c=_.a=null}, +afK:function afK(){}, +afL:function afL(){}, +afM:function afM(){}, +afN:function afN(){}, +C9:function C9(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +R8:function R8(a,b,c){this.b=a +this.c=b +this.a=c}, +SW:function SW(){}, +aqN(a,b,c,d,e){return new A.wY(e,b,a,d,c,null)}, +wY:function wY(a,b,c,d,e,f){var _=this +_.c=a +_.y=b +_.dx=c +_.k3=d +_.k4=e +_.a=f}, +Ox:function Ox(){}, +Fl:function Fl(){}, +Hn:function Hn(){}, +a46:function a46(a,b,c){this.a=a +this.b=b +this.c=c}, +a44:function a44(){}, +a45:function a45(){}, +aC9(a,b,c){if(a===b)return a +return new A.Ht(A.am5(a.a,b.a,c))}, +Ht:function Ht(a){this.a=a}, +aCa(a,b,c){if(a===b)return a +return new A.x3(A.ip(a.a,b.a,c))}, +x3:function x3(a){this.a=a}, +OB:function OB(){}, +am5(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null +if(a==b)return a +s=a==null +r=s?e:a.a +q=b==null +p=q?e:b.a +o=t._ +p=A.aB(r,p,c,A.by(),o) +r=s?e:a.b +r=A.aB(r,q?e:b.b,c,A.by(),o) +n=s?e:a.c +o=A.aB(n,q?e:b.c,c,A.by(),o) +n=s?e:a.d +m=q?e:b.d +m=A.aB(n,m,c,A.Du(),t.PM) +n=s?e:a.e +l=q?e:b.e +l=A.aB(n,l,c,A.anz(),t.pc) +n=s?e:a.f +k=q?e:b.f +j=t.tW +k=A.aB(n,k,c,A.Dt(),j) +n=s?e:a.r +n=A.aB(n,q?e:b.r,c,A.Dt(),j) +i=s?e:a.w +j=A.aB(i,q?e:b.w,c,A.Dt(),j) +i=s?e:a.x +i=A.amO(i,q?e:b.x,c) +h=s?e:a.y +g=q?e:b.y +g=A.aB(h,g,c,A.ajM(),t.KX) +h=c<0.5 +if(h)f=s?e:a.z +else f=q?e:b.z +if(h)h=s?e:a.Q +else h=q?e:b.Q +s=s?e:a.as +return new A.Hu(p,r,o,m,l,k,n,j,i,g,f,h,A.DU(s,q?e:b.as,c))}, +Hu:function Hu(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m}, +OD:function OD(){}, +aCb(a,b,c){if(a===b)return a +return new A.qq(A.am5(a.a,b.a,c))}, +qq:function qq(a){this.a=a}, +OE:function OE(){}, +aCo(a,b,c){var s,r,q,p,o,n,m,l,k,j +if(a===b)return a +s=A.V(a.a,b.a,c) +r=A.t(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.t(a.d,b.d,c) +o=A.t(a.e,b.e,c) +n=A.t(a.f,b.f,c) +m=A.d1(a.r,b.r,c) +l=A.aB(a.w,b.w,c,A.u_(),t.p8) +k=A.aB(a.x,b.x,c,A.auX(),t.lF) +if(c<0.5)j=a.y +else j=b.y +return new A.xf(s,r,q,p,o,n,m,l,k,j,A.aB(a.z,b.z,c,A.by(),t._))}, +xf:function xf(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k}, +OR:function OR(){}, +aCp(a,b,c){var s,r,q,p,o,n,m,l,k +if(a===b)return a +s=A.V(a.a,b.a,c) +r=A.t(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.t(a.d,b.d,c) +o=A.t(a.e,b.e,c) +n=A.t(a.f,b.f,c) +m=A.d1(a.r,b.r,c) +l=a.w +l=A.amt(l,l,c) +k=A.aB(a.x,b.x,c,A.u_(),t.p8) +return new A.xg(s,r,q,p,o,n,m,l,k,A.aB(a.y,b.y,c,A.auX(),t.lF))}, +xg:function xg(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j}, +OS:function OS(){}, +aCq(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.V(a.b,b.b,c) +q=A.aV(a.c,b.c,c) +p=A.aV(a.d,b.d,c) +o=a.e +if(o==null)n=b.e==null +else n=!1 +if(n)o=null +else o=A.jE(o,b.e,c) +n=a.f +if(n==null)m=b.f==null +else m=!1 +if(m)n=null +else n=A.jE(n,b.f,c) +m=A.V(a.r,b.r,c) +l=c<0.5 +if(l)k=a.w +else k=b.w +if(l)l=a.x +else l=b.x +j=A.t(a.y,b.y,c) +i=A.d1(a.z,b.z,c) +h=A.V(a.Q,b.Q,c) +return new A.xh(s,r,q,p,o,n,m,k,l,j,i,h,A.V(a.as,b.as,c))}, +xh:function xh(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m}, +OT:function OT(){}, +aCu(a,b,c){if(a===b)return a +return new A.xq(A.ip(a.a,b.a,c))}, +xq:function xq(a){this.a=a}, +P5:function P5(){}, +wZ(a,b,c){var s=null,r=A.b([],t.Zt),q=$.ad,p=A.xT(B.bJ),o=A.b([],t.fy),n=$.aN(),m=$.ad,l=c.h("a9<0?>"),k=c.h("b1<0?>"),j=b==null?B.vX:b +return new A.fC(a,!1,!0,!1,s,s,r,A.aA(t.f9),new A.bz(s,c.h("bz>")),new A.bz(s,t.C),new A.I4(),s,0,new A.b1(new A.a9(q,c.h("a9<0?>")),c.h("b1<0?>")),p,o,j,new A.ez(s,n),new A.b1(new A.a9(m,l),k),new A.b1(new A.a9(m,l),k),c.h("fC<0>"))}, +fC:function fC(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1){var _=this +_.cT=a +_.aj=b +_.au=c +_.S=d +_.go=e +_.id=f +_.k1=!1 +_.k3=_.k2=null +_.k4=g +_.ok=h +_.p1=i +_.p2=j +_.p3=k +_.p4=$ +_.R8=null +_.RG=$ +_.jl$=l +_.wo$=m +_.Q=n +_.as=null +_.at=!1 +_.ay=_.ax=null +_.ch=o +_.cy=_.cx=null +_.f=p +_.a=null +_.b=q +_.c=r +_.d=s +_.e=a0 +_.$ti=a1}, +Hm:function Hm(){}, +B2:function B2(){}, +atS(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j +if(c<=0||d<=0)return +s=$.ap().bg() +s.skE(B.dc) +s.sae(0,A.ap8(0,0,0,d)) +r=b.b +r===$&&A.a() +r=r.a +r===$&&A.a() +q=B.c.Y(r.a.width())/e +r=b.b.a +r===$&&A.a() +p=B.c.Y(r.a.height())/e +o=q*c +n=p*c +m=(q-o)/2 +l=(p-n)/2 +r=a.gbO(0) +k=b.b.a +k===$&&A.a() +k=B.c.Y(k.a.width()) +j=b.b.a +j===$&&A.a() +r.il(b,new A.x(0,0,k,B.c.Y(j.a.height())),new A.x(m,l,m+o,l+n),s)}, +auq(a,b,c){var s,r +a.dF() +if(b===1)return +a.em(0,b,b) +s=c.a +r=c.b +a.aq(0,-((s*b-s)/2),-((r*b-r)/2))}, +atE(a,b,c,d){var s=new A.CU(c,a,d,b,new A.bi(new Float64Array(16)),A.ai(),A.ai(),$.aN()),r=s.geE() +a.a0(0,r) +a.e4(s.gpM()) +d.a.a0(0,r) +b.a0(0,r) +return s}, +atF(a,b,c,d){var s=new A.CV(c,d,b,a,new A.bi(new Float64Array(16)),A.ai(),A.ai(),$.aN()),r=s.geE() +d.a.a0(0,r) +b.a0(0,r) +a.e4(s.gpM()) +return s}, +SH:function SH(a,b,c,d,e,f){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f}, +aiN:function aiN(a){this.a=a}, +aiO:function aiO(a){this.a=a}, +aiP:function aiP(a){this.a=a}, +aiQ:function aiQ(a){this.a=a}, +ms:function ms(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +SF:function SF(a,b,c){var _=this +_.d=$ +_.m2$=a +_.jm$=b +_.kC$=c +_.c=_.a=null}, +mt:function mt(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +SG:function SG(a,b,c){var _=this +_.d=$ +_.m2$=a +_.jm$=b +_.kC$=c +_.c=_.a=null}, +jT:function jT(){}, +Lv:function Lv(){}, +F9:function F9(){}, +I5:function I5(){}, +a5F:function a5F(a){this.a=a}, +tk:function tk(a,b,c,d,e,f,g){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f +_.$ti=g}, +Bm:function Bm(a){var _=this +_.c=_.a=_.d=null +_.$ti=a}, +tI:function tI(){}, +CU:function CU(a,b,c,d,e,f,g,h){var _=this +_.r=a +_.w=b +_.x=c +_.y=d +_.z=e +_.Q=f +_.as=g +_.S$=0 +_.O$=h +_.av$=_.af$=0}, +aiL:function aiL(a,b){this.a=a +this.b=b}, +CV:function CV(a,b,c,d,e,f,g,h){var _=this +_.r=a +_.w=b +_.x=c +_.y=d +_.z=e +_.Q=f +_.as=g +_.S$=0 +_.O$=h +_.av$=_.af$=0}, +aiM:function aiM(a,b){this.a=a +this.b=b}, +Pb:function Pb(){}, +D9:function D9(){}, +Da:function Da(){}, +aJJ(a,b,c,a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=null,d=e +switch(A.an(b).w.a){case 2:case 4:break +case 0:case 1:case 3:case 5:A.nG(b,B.bD,t.c4).toString +d="Popup menu" +break}s=J.a0K(3,t.yi) +for(r=t.C,q=0;q<3;++q)s[q]=new A.bz(e,r) +p=A.jO(b,!1) +A.nG(b,B.bD,t.c4).toString +o=p.c +o.toString +o=A.aBA(b,o) +n=A.b8(3,e,!1,t.tW) +m=A.b([],t.Zt) +l=$.ad +k=A.xT(B.bJ) +j=A.b([],t.fy) +i=$.aN() +h=$.ad +g=a1.h("a9<0?>") +f=a1.h("b1<0?>") +return p.mi(new A.Bs(a0,c,s,n,e,e,e,e,d,e,e,a,o,e,B.z,e,"Dismiss menu",e,B.xd,m,A.aA(t.f9),new A.bz(e,a1.h("bz>")),new A.bz(e,r),new A.I4(),e,0,new A.b1(new A.a9(l,a1.h("a9<0?>")),a1.h("b1<0?>")),k,j,B.vX,new A.ez(e,i),new A.b1(new A.a9(h,g),f),new A.b1(new A.a9(h,g),f),a1.h("Bs<0>")))}, +at5(a){var s=null +return new A.agD(a,s,s,s,3,s,s,s,s,s,s,s,s,s)}, +xP:function xP(){}, +OC:function OC(a,b,c){this.e=a +this.c=b +this.a=c}, +Qo:function Qo(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +lE:function lE(a,b,c,d){var _=this +_.d=a +_.Q=b +_.a=c +_.$ti=d}, +qE:function qE(a){this.c=this.a=null +this.$ti=a}, +to:function to(a,b,c,d,e,f,g){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f +_.$ti=g}, +Bt:function Bt(a,b){var _=this +_.d=a +_.c=_.a=null +_.$ti=b}, +agI:function agI(a,b){this.a=a +this.b=b}, +agJ:function agJ(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +agF:function agF(a,b,c,d,e,f){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f}, +Bs:function Bs(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4){var _=this +_.bK=a +_.cC=b +_.b8=c +_.cT=d +_.eW=e +_.fu=f +_.Dz=g +_.jp=h +_.dC=i +_.o_=j +_.o0=k +_.jq=l +_.aa7=m +_.aa8=n +_.aa3=o +_.afI=p +_.Dt=null +_.aa4=q +_.go=r +_.id=s +_.k1=!1 +_.k3=_.k2=null +_.k4=a0 +_.ok=a1 +_.p1=a2 +_.p2=a3 +_.p3=a4 +_.p4=$ +_.R8=null +_.RG=$ +_.jl$=a5 +_.wo$=a6 +_.Q=a7 +_.as=null +_.at=!1 +_.ay=_.ax=null +_.ch=a8 +_.cy=_.cx=null +_.f=a9 +_.a=null +_.b=b0 +_.c=b1 +_.d=b2 +_.e=b3 +_.$ti=b4}, +agH:function agH(a,b){this.a=a +this.b=b}, +agG:function agG(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Nh:function Nh(a,b){this.a=a +this.b=b}, +agD:function agD(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.at=a +_.ch=_.ay=_.ax=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.y=k +_.z=l +_.Q=m +_.as=n}, +agE:function agE(a){this.a=a}, +aCT(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.d1(a.b,b.b,c) +q=A.de(a.c,b.c,c) +p=A.V(a.d,b.d,c) +o=A.t(a.e,b.e,c) +n=A.t(a.f,b.f,c) +m=A.aV(a.r,b.r,c) +l=A.aB(a.w,b.w,c,A.u_(),t.p8) +k=c<0.5 +if(k)j=a.x +else j=b.x +if(k)i=a.y +else i=b.y +if(k)k=a.z +else k=b.z +h=A.t(a.Q,b.Q,c) +return new A.qF(s,r,q,p,o,n,m,l,j,i,k,h,A.V(a.as,b.as,c))}, +arj(a){var s +a.aa(t.xF) +s=A.an(a) +return s.C}, +qF:function qF(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m}, +PT:function PT(){}, +acf:function acf(a,b){this.a=a +this.b=b}, +IS:function IS(){}, +Mg:function Mg(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.Q=k +_.as=l +_.a=m}, +uI:function uI(a){this.a=a}, +Mh:function Mh(a,b){var _=this +_.d=$ +_.jk$=a +_.dQ$=b +_.c=_.a=null}, +adw:function adw(a){this.a=a}, +adv:function adv(a,b,c,d,e,f){var _=this +_.f=a +_.r=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f}, +CZ:function CZ(){}, +aD8(a,b,c){var s,r,q,p +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.t(a.b,b.b,c) +q=A.V(a.c,b.c,c) +p=A.t(a.d,b.d,c) +return new A.qI(s,r,q,p,A.t(a.e,b.e,c))}, +aru(a){var s +a.aa(t.C0) +s=A.an(a) +return s.dR}, +qI:function qI(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +PV:function PV(){}, +aD9(a,b,c){var s,r,q,p,o,n +if(a===b)return a +s=c<0.5 +if(s)r=a.a +else r=b.a +q=t._ +p=A.aB(a.b,b.b,c,A.by(),q) +if(s)o=a.e +else o=b.e +q=A.aB(a.c,b.c,c,A.by(),q) +n=A.V(a.d,b.d,c) +if(s)s=a.f +else s=b.f +return new A.xV(r,p,q,n,o,s)}, +xV:function xV(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +PZ:function PZ(){}, +yC(a,b,c,d){return new A.yB(a,b,d,c,null)}, +yG(a){var s=a.r8(t.Np) +if(s!=null)return s +throw A.c(A.Gc(A.b([A.pU("Scaffold.of() called with a context that does not contain a Scaffold."),A.bk("No Scaffold ancestor could be found starting from the context that was passed to Scaffold.of(). This usually happens when the context provided is from the same StatefulWidget as that whose build function actually creates the Scaffold widget being sought."),A.FZ('There are several ways to avoid this problem. The simplest is to use a Builder to get a context that is "under" the Scaffold. For an example of this, please see the documentation for Scaffold.of():\n https://api.flutter.dev/flutter/material/Scaffold/of.html'),A.FZ("A more efficient solution is to split your build function into several widgets. This introduces a new context from which you can obtain the Scaffold. In this solution, you would have an outer widget that creates the Scaffold populated by instances of your new inner widgets, and then in these inner widgets you would use Scaffold.of().\nA less elegant but more expedient solution is assign a GlobalKey to the Scaffold, then use the key.currentState property to obtain the ScaffoldState rather than using the Scaffold.of() function."),a.a9m("The context used was")],t.F)))}, +fh:function fh(a,b){this.a=a +this.b=b}, +yE:function yE(a,b){this.c=a +this.a=b}, +yF:function yF(a,b,c,d,e){var _=this +_.d=a +_.e=b +_.r=c +_.y=_.x=_.w=null +_.cS$=d +_.b6$=e +_.c=_.a=null}, +a8h:function a8h(a){this.a=a}, +a8i:function a8i(a,b){this.a=a +this.b=b}, +a8d:function a8d(a){this.a=a}, +a8e:function a8e(){}, +a8g:function a8g(a,b){this.a=a +this.b=b}, +a8f:function a8f(a,b,c){this.a=a +this.b=b +this.c=c}, +BU:function BU(a,b,c){this.f=a +this.b=b +this.a=c}, +a8j:function a8j(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.y=i}, +JF:function JF(a,b){this.a=a +this.b=b}, +QR:function QR(a,b,c){var _=this +_.a=a +_.b=null +_.c=b +_.S$=0 +_.O$=c +_.av$=_.af$=0}, +A6:function A6(a,b,c,d,e,f,g){var _=this +_.e=a +_.f=b +_.r=c +_.a=d +_.b=e +_.c=f +_.d=g}, +M_:function M_(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +ahs:function ahs(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.d=a +_.e=b +_.f=c +_.r=d +_.w=e +_.x=f +_.y=g +_.z=h +_.Q=i +_.as=j +_.at=k +_.ax=l +_.ay=m +_.b=null}, +AC:function AC(a,b,c,d,e,f){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f}, +AD:function AD(a,b){var _=this +_.d=$ +_.r=_.f=_.e=null +_.Q=_.z=_.y=_.x=_.w=$ +_.as=null +_.cS$=a +_.b6$=b +_.c=_.a=null}, +aeo:function aeo(a,b){this.a=a +this.b=b}, +yB:function yB(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.CW=d +_.a=e}, +qX:function qX(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.d=a +_.e=b +_.f=c +_.r=null +_.w=d +_.x=e +_.Q=_.z=_.y=null +_.as=f +_.at=null +_.ax=g +_.ay=null +_.CW=_.ch=$ +_.cy=_.cx=null +_.dx=_.db=$ +_.dy=!1 +_.fr=h +_.bB$=i +_.h7$=j +_.wj$=k +_.ez$=l +_.h8$=m +_.cS$=n +_.b6$=o +_.c=_.a=null}, +a8l:function a8l(a,b){this.a=a +this.b=b}, +a8k:function a8k(a,b){this.a=a +this.b=b}, +a8m:function a8m(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +N2:function N2(a,b){this.e=a +this.a=b +this.b=null}, +yD:function yD(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +QS:function QS(a,b,c){this.f=a +this.b=b +this.a=c}, +aht:function aht(){}, +BV:function BV(){}, +BW:function BW(){}, +BX:function BX(){}, +D1:function D1(){}, +JY:function JY(a,b,c){this.c=a +this.d=b +this.a=c}, +te:function te(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.c=a +_.d=b +_.e=c +_.r=d +_.w=e +_.Q=f +_.ay=g +_.ch=h +_.cx=i +_.cy=j +_.db=k +_.a=l}, +Oy:function Oy(a,b,c,d){var _=this +_.fr=$ +_.fy=_.fx=!1 +_.k1=_.id=_.go=$ +_.w=_.r=_.f=_.e=_.d=null +_.y=_.x=$ +_.z=a +_.Q=!1 +_.as=null +_.at=!1 +_.ay=_.ax=null +_.ch=b +_.CW=$ +_.cS$=c +_.b6$=d +_.c=_.a=null}, +afS:function afS(a){this.a=a}, +afP:function afP(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +afR:function afR(a,b,c){this.a=a +this.b=b +this.c=c}, +afQ:function afQ(a,b,c){this.a=a +this.b=b +this.c=c}, +afO:function afO(a){this.a=a}, +afY:function afY(a){this.a=a}, +afX:function afX(a){this.a=a}, +afW:function afW(a){this.a=a}, +afU:function afU(a){this.a=a}, +afV:function afV(a){this.a=a}, +afT:function afT(a){this.a=a}, +aDG(a,b,c){var s,r,q,p,o,n,m,l,k,j +if(a===b)return a +s=t.X7 +r=A.aB(a.a,b.a,c,A.avm(),s) +q=A.aB(a.b,b.b,c,A.Du(),t.PM) +s=A.aB(a.c,b.c,c,A.avm(),s) +p=a.d +o=b.d +p=c<0.5?p:o +o=A.xW(a.e,b.e,c) +n=t._ +m=A.aB(a.f,b.f,c,A.by(),n) +l=A.aB(a.r,b.r,c,A.by(),n) +n=A.aB(a.w,b.w,c,A.by(),n) +k=A.V(a.x,b.x,c) +j=A.V(a.y,b.y,c) +return new A.yR(r,q,s,p,o,m,l,n,k,j,A.V(a.z,b.z,c))}, +aHu(a,b,c){return c<0.5?a:b}, +yR:function yR(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k}, +QW:function QW(){}, +aDI(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h +if(a===b)return a +s=A.aB(a.a,b.a,c,A.Du(),t.PM) +r=t._ +q=A.aB(a.b,b.b,c,A.by(),r) +p=A.aB(a.c,b.c,c,A.by(),r) +o=A.aB(a.d,b.d,c,A.by(),r) +r=A.aB(a.e,b.e,c,A.by(),r) +n=A.aDH(a.f,b.f,c) +m=A.aB(a.r,b.r,c,A.ajM(),t.KX) +l=A.aB(a.w,b.w,c,A.anz(),t.pc) +k=t.p8 +j=A.aB(a.x,b.x,c,A.u_(),k) +k=A.aB(a.y,b.y,c,A.u_(),k) +i=A.jp(a.z,b.z,c) +if(c<0.5)h=a.Q +else h=b.Q +return new A.yS(s,q,p,o,r,n,m,l,j,k,i,h)}, +aDH(a,b,c){if(a==b)return a +return A.amO(a,b,c)}, +yS:function yS(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l}, +QX:function QX(){}, +aDK(a,b,c){var s,r,q,p,o,n,m,l,k +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.V(a.b,b.b,c) +q=A.t(a.c,b.c,c) +p=A.aDJ(a.d,b.d,c) +o=A.ar8(a.e,b.e,c) +n=A.V(a.f,b.f,c) +m=a.r +l=b.r +k=A.aV(m,l,c) +m=A.aV(m,l,c) +l=A.jp(a.x,b.x,c) +return new A.yT(s,r,q,p,o,n,k,m,l,A.t(a.y,b.y,c))}, +aDJ(a,b,c){if(a==null||b==null)return null +if(a===b)return a +return A.aG(a,b,c)}, +yT:function yT(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j}, +QY:function QY(){}, +aDM(a,b,c){var s,r +if(a===b)return a +s=A.ip(a.a,b.a,c) +if(c<0.5)r=a.b +else r=b.b +return new A.yU(s,r)}, +yU:function yU(a,b){this.a=a +this.b=b}, +QZ:function QZ(){}, +aDZ(b3,b4,b5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2 +if(b3===b4)return b3 +s=A.V(b3.a,b4.a,b5) +r=A.t(b3.b,b4.b,b5) +q=A.t(b3.c,b4.c,b5) +p=A.t(b3.d,b4.d,b5) +o=A.t(b3.e,b4.e,b5) +n=A.t(b3.r,b4.r,b5) +m=A.t(b3.f,b4.f,b5) +l=A.t(b3.w,b4.w,b5) +k=A.t(b3.x,b4.x,b5) +j=A.t(b3.y,b4.y,b5) +i=A.t(b3.z,b4.z,b5) +h=A.t(b3.Q,b4.Q,b5) +g=A.t(b3.as,b4.as,b5) +f=A.t(b3.at,b4.at,b5) +e=A.t(b3.ax,b4.ax,b5) +d=A.t(b3.ay,b4.ay,b5) +c=A.t(b3.ch,b4.ch,b5) +b=b5<0.5 +a=b?b3.CW:b4.CW +a0=b?b3.cx:b4.cx +a1=b?b3.cy:b4.cy +a2=b?b3.db:b4.db +a3=b?b3.dx:b4.dx +a4=b?b3.dy:b4.dy +a5=b?b3.fr:b4.fr +a6=b?b3.fx:b4.fx +a7=b?b3.fy:b4.fy +a8=b?b3.go:b4.go +a9=A.aV(b3.id,b4.id,b5) +b0=A.V(b3.k1,b4.k1,b5) +b1=b?b3.k2:b4.k2 +b2=b?b3.k3:b4.k3 +return new A.zb(s,r,q,p,o,m,n,l,k,j,i,h,g,f,e,d,c,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b?b3.k4:b4.k4)}, +zb:function zb(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7 +_.id=a8 +_.k1=a9 +_.k2=b0 +_.k3=b1 +_.k4=b2}, +Rk:function Rk(){}, +ov(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){return new A.rb(h,d,k,n,p,s,q,l,e,a,b,r,g,j,c,o,i,f,m)}, +iU:function iU(a,b){this.a=a +this.b=b}, +rb:function rb(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.ay=n +_.ch=o +_.CW=p +_.cx=q +_.cy=r +_.a=s}, +Cc:function Cc(){var _=this +_.d=!1 +_.c=_.a=_.x=_.w=_.r=_.f=_.e=null}, +ahL:function ahL(a){this.a=a}, +ahK:function ahK(a){this.a=a}, +ahM:function ahM(){}, +ahN:function ahN(){}, +ahO:function ahO(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.ay=a +_.CW=_.ch=$ +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g +_.r=h +_.w=i +_.x=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o}, +ahP:function ahP(a){this.a=a}, +aE0(a,b,c,d,e,f,g,h,i,j,k,l,m,n){return new A.rc(d,c,i,g,k,m,e,n,l,f,b,a,h,j)}, +aE1(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.t(a.b,b.b,c) +q=A.t(a.c,b.c,c) +p=A.aV(a.d,b.d,c) +o=A.V(a.e,b.e,c) +n=A.d1(a.f,b.f,c) +m=c<0.5 +if(m)l=a.r +else l=b.r +k=A.V(a.w,b.w,c) +j=A.Y8(a.x,b.x,c) +i=A.t(a.z,b.z,c) +h=A.V(a.Q,b.Q,c) +g=A.t(a.as,b.as,c) +f=A.t(a.at,b.at,c) +if(m)m=a.ax +else m=b.ax +return A.aE0(g,h,r,s,l,i,p,f,q,m,o,j,n,k)}, +Kr:function Kr(a,b){this.a=a +this.b=b}, +rc:function rc(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.z=j +_.Q=k +_.as=l +_.at=m +_.ax=n}, +Rr:function Rr(){}, +aEb(a,b,c){var s,r,q,p,o,n,m,l,k +if(a===b)return a +s=t._ +r=A.aB(a.a,b.a,c,A.by(),s) +q=A.aB(a.b,b.b,c,A.by(),s) +p=A.aB(a.c,b.c,c,A.by(),s) +o=A.aB(a.d,b.d,c,A.Du(),t.PM) +n=c<0.5 +if(n)m=a.e +else m=b.e +if(n)l=a.f +else l=b.f +s=A.aB(a.r,b.r,c,A.by(),s) +k=A.V(a.w,b.w,c) +if(n)n=a.x +else n=b.x +return new A.zp(r,q,p,o,m,l,s,k,n)}, +zp:function zp(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +RG:function RG(){}, +aEf(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return new A.rk(c,d,e,a,b,f,g,h,n,o,j,k,i,l,m)}, +aEg(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e +if(a===b)return a +s=A.Xd(a.a,b.a,c) +r=A.t(a.b,b.b,c) +q=c<0.5 +p=q?a.c:b.c +o=A.t(a.d,b.d,c) +n=q?a.e:b.e +m=A.t(a.f,b.f,c) +l=A.de(a.r,b.r,c) +k=A.aV(a.w,b.w,c) +j=A.t(a.x,b.x,c) +i=A.aV(a.y,b.y,c) +h=A.aB(a.z,b.z,c,A.by(),t._) +g=q?a.Q:b.Q +f=q?a.as:b.as +e=q?a.at:b.at +return A.aEf(o,n,s,r,p,m,l,k,f,h,g,e,q?a.ax:b.ax,j,i)}, +rk:function rk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o}, +RK:function RK(){}, +KG:function KG(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.S$=_.f=_.e=_.d=0 +_.O$=d +_.av$=_.af$=0}, +aax:function aax(a){this.a=a}, +m1:function m1(a,b,c){this.a=a +this.b=b +this.c=c}, +aio:function aio(a,b,c){this.b=a +this.c=b +this.a=c}, +atc(a,b,c,d,e,f,g,h,i){return new A.RO(g,i,e,f,h,c,b,a,null)}, +aFH(a,b,c,d,e,f,g){var s,r=null,q=A.ai(),p=J.lk(new Array(4),t.iy) +for(s=0;s<4;++s)p[s]=new A.rq(r,B.aH,B.p,B.ao.k(0,B.ao)?new A.id(1):B.ao,r,r,r,r,B.aE,r) +q=new A.RM(e,b,c,d,a,f,g,r,B.z,q,p,!0,0,r,r,new A.aM(),A.ai()) +q.aw() +q.L(0,r) +return q}, +aHb(a){var s,r,q=a.gbI(0).x +q===$&&A.a() +s=a.e +r=a.d +if(a.f===0)return A.M(Math.abs(r-q),0,1) +return Math.abs(q-r)/Math.abs(r-s)}, +aFI(a){var s +switch(a.a){case 1:s=3 +break +case 0:s=2 +break +default:s=null}return s}, +aaw:function aaw(a,b){this.a=a +this.b=b}, +aav:function aav(a,b){this.a=a +this.b=b}, +KF:function KF(a,b){this.d=a +this.a=b}, +RO:function RO(a,b,c,d,e,f,g,h,i){var _=this +_.e=a +_.f=b +_.r=c +_.x=d +_.y=e +_.z=f +_.Q=g +_.c=h +_.a=i}, +aib:function aib(a,b){this.a=a +this.b=b}, +RM:function RM(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){var _=this +_.jq=a +_.E=b +_.Z=c +_.a3=d +_.aj=e +_.au=f +_.S=g +_.O=h +_.af=0 +_.av=i +_.bW=j +_.Pt$=k +_.aa6$=l +_.dh$=m +_.T$=n +_.cg$=o +_.fx=p +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=q +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +RL:function RL(a,b,c,d,e,f,g,h,i,j){var _=this +_.ax=a +_.e=b +_.f=c +_.r=d +_.w=e +_.x=f +_.y=g +_.z=h +_.c=i +_.a=j}, +AP:function AP(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.b=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.ax=_.at=_.as=_.Q=null +_.ay=!1 +_.ch=$ +_.a=k}, +Mc:function Mc(a){this.a=a}, +rX:function rX(a,b){this.a=a +this.b=b}, +ai_:function ai_(){}, +zs:function zs(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.ax=c +_.fr=d +_.a=e}, +Cq:function Cq(){var _=this +_.r=_.f=_.e=_.d=null +_.y=_.x=_.w=$ +_.c=_.a=null}, +ai4:function ai4(){}, +ai0:function ai0(){}, +ai1:function ai1(a,b){this.a=a +this.b=b}, +ai2:function ai2(a,b){this.a=a +this.b=b}, +ai3:function ai3(a,b){this.a=a +this.b=b}, +zt:function zt(a,b,c){this.c=a +this.d=b +this.a=c}, +Cr:function Cr(){var _=this +_.e=_.d=null +_.f=$ +_.r=null +_.x=_.w=0 +_.c=_.a=null}, +ai5:function ai5(a){this.a=a}, +ai6:function ai6(a,b,c){this.a=a +this.b=b +this.c=c}, +ai7:function ai7(a){this.a=a}, +aic:function aic(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){var _=this +_.ay=a +_.CW=_.ch=$ +_.cx=b +_.a=c +_.b=d +_.c=e +_.d=f +_.e=g +_.f=h +_.r=i +_.w=j +_.x=k +_.y=l +_.z=m +_.Q=n +_.as=o +_.at=p +_.ax=q}, +aid:function aid(a){this.a=a}, +SK:function SK(){}, +SN:function SN(){}, +aEk(a,b,c){if(a===b)return a +return new A.zv(A.ip(a.a,b.a,c))}, +zv:function zv(a){this.a=a}, +RP:function RP(){}, +aEn(a,b,c){var s,r +if(a===b)return a +s=A.t(a.a,b.a,c) +r=A.t(a.b,b.b,c) +return new A.zD(s,r,A.t(a.c,b.c,c))}, +zD:function zD(a,b,c){this.a=a +this.b=b +this.c=c}, +RR:function RR(){}, +amG(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return new A.d5(d,e,f,g,h,i,m,n,o,a,b,c,j,k,l)}, +rs(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f +if(a===b)return a +s=A.aV(a.a,b.a,c) +r=A.aV(a.b,b.b,c) +q=A.aV(a.c,b.c,c) +p=A.aV(a.d,b.d,c) +o=A.aV(a.e,b.e,c) +n=A.aV(a.f,b.f,c) +m=A.aV(a.r,b.r,c) +l=A.aV(a.w,b.w,c) +k=A.aV(a.x,b.x,c) +j=A.aV(a.y,b.y,c) +i=A.aV(a.z,b.z,c) +h=A.aV(a.Q,b.Q,c) +g=A.aV(a.as,b.as,c) +f=A.aV(a.at,b.at,c) +return A.amG(j,i,h,s,r,q,p,o,n,g,f,A.aV(a.ax,b.ax,c),m,l,k)}, +d5:function d5(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o}, +RT:function RT(){}, +an(a){var s,r,q,p,o,n,m=null,l=a.aa(t.Nr),k=A.nG(a,B.bD,t.c4)==null?m:B.vZ +if(k==null)k=B.vZ +s=a.aa(t.ri) +r=l==null?m:l.w.c +if(r==null)if(s!=null){q=s.w.c +p=q.giK() +o=q.glE() +n=q.giK() +p=A.amI(m,A.azF(o,q.gmh(),n,p),m,m) +r=p}else{q=$.awB() +r=q}return A.aEt(r,r.p3.SC(k))}, +rt:function rt(a,b,c){this.c=a +this.d=b +this.a=c}, +AQ:function AQ(a,b,c){this.w=a +this.b=b +this.a=c}, +oB:function oB(a,b){this.a=a +this.b=b}, +ub:function ub(a,b,c,d,e,f){var _=this +_.r=a +_.w=b +_.c=c +_.d=d +_.e=e +_.a=f}, +LI:function LI(a,b){var _=this +_.CW=null +_.e=_.d=$ +_.jk$=a +_.dQ$=b +_.c=_.a=null}, +acm:function acm(){}, +amI(c9,d0,d1,d2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5=null,c6=A.b([],t.FO),c7=A.b([],t.lY),c8=A.eF() +switch(c8.a){case 0:case 1:case 2:s=B.Gx +break +case 3:case 4:case 5:s=B.Gy +break +default:s=c5}r=A.aEN(c8) +d2=d2!==!1 +if(d2)q=B.zt +else q=B.zu +if(c9==null){p=d0==null?c5:d0.a +o=p}else o=c9 +if(o==null)o=B.a6 +n=o===B.a5 +if(d2){if(d0==null)d0=n?B.A2:B.A3 +m=n?d0.k2:d0.b +l=n?d0.k3:d0.c +k=d0.k2 +if(d1==null)d1=k +j=d0.ry +if(j==null){p=d0.a4 +j=p==null?d0.k3:p}i=c9===B.a5 +h=m +g=l +f=k +e=f}else{h=c5 +g=h +j=g +f=j +e=f +k=e +i=k}if(h==null)h=n?B.Ag:B.cr +d=A.KV(h) +c=n?B.Ay:B.kT +b=n?B.o:B.kI +a=d===B.a5 +a0=n?A.a3(31,255,255,255):A.a3(31,0,0,0) +a1=n?A.a3(10,255,255,255):A.a3(10,0,0,0) +if(k==null)k=n?B.kL:B.AK +if(d1==null)d1=k +if(e==null)e=n?B.kP:B.i +if(j==null)j=n?B.AP:B.AO +if(d0==null){a2=n?B.At:B.kK +p=n?B.kQ:B.kS +a3=A.KV(B.cr)===B.a5 +a4=A.KV(a2) +a5=a3?B.i:B.o +a4=a4===B.a5?B.i:B.o +a6=n?B.i:B.o +a7=n?B.o:B.i +d0=A.WE(p,o,B.AB,c5,c5,c5,a3?B.i:B.o,a7,c5,c5,a5,c5,c5,c5,a4,c5,c5,c5,a6,c5,c5,c5,c5,c5,c5,c5,B.cr,c5,c5,c5,c5,a2,c5,c5,c5,c5,e,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5)}a8=n?B.C:B.B +a9=n?B.kQ:B.kV +if(f==null)f=n?B.kP:B.i +if(g==null){g=d0.y +if(g.k(0,h))g=B.i}b0=n?B.A8:A.a3(153,0,0,0) +b1=A.ap3(!1,n?B.kJ:B.AD,d0,c5,a0,36,c5,a1,B.yj,s,88,c5,c5,c5,B.k1) +b2=n?B.A6:B.A5 +b3=n?B.kD:B.ho +b4=n?B.kD:B.A7 +if(d2){b5=A.ast(c8,c5,c5,B.PU,B.PN,B.PW) +p=d0.a===B.a6 +b6=p?d0.k3:d0.k2 +b7=p?d0.k2:d0.k3 +p=b5.a.NM(b6,b6,b6) +a4=b5.b.NM(b7,b7,b7) +b8=new A.rw(p,a4,b5.c,b5.d,b5.e)}else b8=A.aEC(c8) +b9=n?b8.b:b8.a +c0=a?b8.b:b8.a +c1=b9.cd(c5) +c2=c0.cd(c5) +c3=n?new A.cB(c5,c5,c5,c5,c5,$.aoA(),c5,c5,c5):new A.cB(c5,c5,c5,c5,c5,$.aoz(),c5,c5,c5) +c4=a?B.hT:B.Ct +return A.amH(c5,A.aEp(c7),B.xQ,i===!0,B.xT,B.Gw,B.y7,B.y8,B.y9,B.yk,b1,k,e,B.zU,B.zX,B.zY,d0,c5,B.B1,B.B2,f,B.Bf,b2,j,B.Bi,B.Bl,B.Bm,B.BZ,B.C2,A.aEr(c6),B.C8,B.Cb,a0,b3,b0,a1,B.Cn,c3,g,B.yO,B.D9,s,B.Gz,B.GA,B.GB,B.GM,B.GN,B.GP,B.Hm,B.z3,c8,B.Ib,h,b,c,c4,c2,B.Ie,B.If,d1,B.IM,B.IN,B.IO,a9,B.IP,B.o,B.KE,B.KK,b4,q,B.Lo,B.LC,B.LF,B.LM,c1,B.Qg,B.Qh,B.Qk,b8,a8,d2,r)}, +amH(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,g0,g1,g2){return new A.hr(d,r,b0,b,c0,c2,d0,d1,e1,f0,!0,g2,l,m,q,a1,a3,a4,b3,b4,b5,b6,b9,d3,d4,d5,e0,e4,e6,e9,g0,b8,d6,d7,f5,f9,a,c,e,f,g,h,i,k,n,o,p,s,a0,a2,a5,a6,a7,a8,a9,b1,b2,b7,c1,c3,c4,c5,c6,c7,c8,c9,d2,d8,d9,e2,e3,e5,e7,e8,f1,f2,f3,f4,f6,f7,f8,j)}, +aEo(){return A.amI(B.a6,null,null,null)}, +aEp(a){var s,r,q=A.E(t.u,t.gj) +for(s=0;!1;++s){r=a[s] +q.n(0,r.goG(r),r)}return q}, +aEt(a,b){return $.awA().bj(0,new A.t7(a,b),new A.abm(a,b))}, +KV(a){var s=0.2126*A.alb((a.gm(a)>>>16&255)/255)+0.7152*A.alb((a.gm(a)>>>8&255)/255)+0.0722*A.alb((a.gm(a)&255)/255)+0.05 +if(s*s>0.15)return B.a6 +return B.a5}, +aEq(a,b,c){var s=a.c,r=s.rE(s,new A.abk(b,c),t.K,t.Ag) +s=b.c +r.Nw(r,s.gh6(s).jM(0,new A.abl(a))) +return r}, +aEr(a){var s,r,q=t.K,p=t.ZF,o=A.E(q,p) +for(s=0;!1;++s){r=a[s] +o.n(0,r.goG(r),p.a(r))}return A.ald(o,q,t.Ag)}, +aEs(g8,g9,h0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,g0,g1,g2,g3,g4,g5,g6,g7 +if(g8===g9)return g8 +s=h0<0.5 +r=s?g8.d:g9.d +q=s?g8.a:g9.a +p=s?g8.b:g9.b +o=A.aEq(g8,g9,h0) +n=s?g8.e:g9.e +m=s?g8.f:g9.f +l=s?g8.r:g9.r +k=s?g8.w:g9.w +j=A.aDG(g8.x,g9.x,h0) +i=s?g8.y:g9.y +h=A.aEO(g8.Q,g9.Q,h0) +g=A.t(g8.as,g9.as,h0) +g.toString +f=A.t(g8.at,g9.at,h0) +f.toString +e=A.azH(g8.ax,g9.ax,h0) +d=A.t(g8.ay,g9.ay,h0) +d.toString +c=A.t(g8.ch,g9.ch,h0) +c.toString +b=A.t(g8.CW,g9.CW,h0) +b.toString +a=A.t(g8.cx,g9.cx,h0) +a.toString +a0=A.t(g8.cy,g9.cy,h0) +a0.toString +a1=A.t(g8.db,g9.db,h0) +a1.toString +a2=A.t(g8.dx,g9.dx,h0) +a2.toString +a3=A.t(g8.dy,g9.dy,h0) +a3.toString +a4=A.t(g8.fr,g9.fr,h0) +a4.toString +a5=A.t(g8.fx,g9.fx,h0) +a5.toString +a6=A.t(g8.fy,g9.fy,h0) +a6.toString +a7=A.t(g8.go,g9.go,h0) +a7.toString +a8=A.t(g8.id,g9.id,h0) +a8.toString +a9=A.t(g8.k1,g9.k1,h0) +a9.toString +b0=A.t(g8.k2,g9.k2,h0) +b0.toString +b1=A.t(g8.k3,g9.k3,h0) +b1.toString +b2=A.jE(g8.k4,g9.k4,h0) +b3=A.jE(g8.ok,g9.ok,h0) +b4=A.rs(g8.p1,g9.p1,h0) +b5=A.rs(g8.p2,g9.p2,h0) +b6=A.aED(g8.p3,g9.p3,h0) +b7=A.ayS(g8.p4,g9.p4,h0) +b8=A.ayY(g8.R8,g9.R8,h0) +b9=A.az0(g8.RG,g9.RG,h0) +c0=g8.rx +c1=g9.rx +c2=A.t(c0.a,c1.a,h0) +c3=A.t(c0.b,c1.b,h0) +c4=A.t(c0.c,c1.c,h0) +c5=A.t(c0.d,c1.d,h0) +c6=A.aV(c0.e,c1.e,h0) +c7=A.V(c0.f,c1.f,h0) +c8=A.de(c0.r,c1.r,h0) +c0=A.de(c0.w,c1.w,h0) +c1=A.az3(g8.ry,g9.ry,h0) +c9=A.az4(g8.to,g9.to,h0) +d0=A.az5(g8.x1,g9.x1,h0) +s=s?g8.x2:g9.x2 +d1=A.azl(g8.xr,g9.xr,h0) +d2=A.azn(g8.y1,g9.y1,h0) +d3=A.azt(g8.y2,g9.y2,h0) +d4=A.azT(g8.aV,g9.aV,h0) +d5=A.azV(g8.bz,g9.bz,h0) +d6=A.aA6(g8.a4,g9.a4,h0) +d7=A.aAe(g8.b2,g9.b2,h0) +d8=A.aAz(g8.bv,g9.bv,h0) +d9=A.aAA(g8.bm,g9.bm,h0) +e0=A.aAG(g8.E,g9.E,h0) +e1=A.aAQ(g8.Z,g9.Z,h0) +e2=A.aAT(g8.a3,g9.a3,h0) +e3=A.aAW(g8.aj,g9.aj,h0) +e4=A.aBt(g8.au,g9.au,h0) +e5=A.aBS(g8.S,g9.S,h0) +e6=A.aC9(g8.O,g9.O,h0) +e7=A.aCa(g8.af,g9.af,h0) +e8=A.aCb(g8.av,g9.av,h0) +e9=A.aCo(g8.bW,g9.bW,h0) +f0=A.aCp(g8.c2,g9.c2,h0) +f1=A.aCq(g8.hL,g9.hL,h0) +f2=A.aCu(g8.eV,g9.eV,h0) +f3=A.aCT(g8.C,g9.C,h0) +f4=A.aD8(g8.dR,g9.dR,h0) +f5=A.aD9(g8.ai,g9.ai,h0) +f6=A.aDI(g8.hc,g9.hc,h0) +f7=A.aDK(g8.cb,g9.cb,h0) +f8=A.aDM(g8.dS,g9.dS,h0) +f9=A.aDZ(g8.hM,g9.hM,h0) +g0=A.aE1(g8.iq,g9.iq,h0) +g1=A.aEb(g8.m3,g9.m3,h0) +g2=A.aEg(g8.ct,g9.ct,h0) +g3=A.aEk(g8.dB,g9.dB,h0) +g4=A.aEn(g8.ea,g9.ea,h0) +g5=A.aEu(g8.nY,g9.nY,h0) +g6=A.aEv(g8.nZ,g9.nZ,h0) +g7=A.aEz(g8.jo,g9.jo,h0) +return A.amH(b7,r,b8,q,b9,new A.wX(c2,c3,c4,c5,c6,c7,c8,c0),c1,c9,d0,A.aza(g8.kD,g9.kD,h0),s,g,f,d1,d2,d3,e,p,d4,d5,d,d6,c,b,d7,d8,d9,e0,e1,o,e2,e3,a,a0,a1,a2,e4,b2,a3,n,e5,m,e6,e7,e8,e9,f0,f1,f2,l,k,f3,a4,a5,a6,b3,b4,f4,f5,a7,j,f6,f7,a8,f8,a9,f9,g0,b0,i,g1,g2,g3,g4,b5,g5,g6,g7,b6,b1,!0,h)}, +aC1(a,b){return new A.Hk(a,b,B.jG,b.a,b.b,b.c,b.d,b.e,b.f,b.r)}, +aEN(a){var s +$label0$0:{if(B.au===a||B.av===a||B.bh===a){s=B.cM +break $label0$0}if(B.bi===a||B.b5===a||B.bj===a){s=B.Rw +break $label0$0}s=null}return s}, +aEO(a,b,c){var s,r +if(a===b)return a +s=A.V(a.a,b.a,c) +s.toString +r=A.V(a.b,b.b,c) +r.toString +return new A.kh(s,r)}, +nI:function nI(a,b){this.a=a +this.b=b}, +hr:function hr(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,f0,f1,f2,f3,f4,f5,f6,f7,f8,f9,g0,g1,g2){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6 +_.go=a7 +_.id=a8 +_.k1=a9 +_.k2=b0 +_.k3=b1 +_.k4=b2 +_.ok=b3 +_.p1=b4 +_.p2=b5 +_.p3=b6 +_.p4=b7 +_.R8=b8 +_.RG=b9 +_.rx=c0 +_.ry=c1 +_.to=c2 +_.x1=c3 +_.x2=c4 +_.xr=c5 +_.y1=c6 +_.y2=c7 +_.aV=c8 +_.bz=c9 +_.a4=d0 +_.b2=d1 +_.bv=d2 +_.bm=d3 +_.E=d4 +_.Z=d5 +_.a3=d6 +_.aj=d7 +_.au=d8 +_.S=d9 +_.O=e0 +_.af=e1 +_.av=e2 +_.bW=e3 +_.c2=e4 +_.hL=e5 +_.eV=e6 +_.C=e7 +_.dR=e8 +_.ai=e9 +_.hc=f0 +_.cb=f1 +_.dS=f2 +_.hM=f3 +_.iq=f4 +_.m3=f5 +_.ct=f6 +_.dB=f7 +_.ea=f8 +_.nY=f9 +_.nZ=g0 +_.jo=g1 +_.kD=g2}, +abm:function abm(a,b){this.a=a +this.b=b}, +abk:function abk(a,b){this.a=a +this.b=b}, +abl:function abl(a){this.a=a}, +Hk:function Hk(a,b,c,d,e,f,g,h,i,j){var _=this +_.ay=a +_.ch=b +_.w=c +_.a=d +_.b=e +_.c=f +_.d=g +_.e=h +_.f=i +_.r=j}, +alh:function alh(a){this.a=a}, +t7:function t7(a,b){this.a=a +this.b=b}, +Nq:function Nq(a,b,c){this.a=a +this.b=b +this.$ti=c}, +kh:function kh(a,b){this.a=a +this.b=b}, +RX:function RX(){}, +SB:function SB(){}, +aEu(a4,a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3 +if(a4===a5)return a4 +s=a4.d +if(s==null)r=a5.d==null +else r=!1 +if(r)s=null +else if(s==null)s=a5.d +else{r=a5.d +if(!(r==null)){s.toString +r.toString +s=A.aG(s,r,a6)}}r=A.t(a4.a,a5.a,a6) +q=A.ip(a4.b,a5.b,a6) +p=A.ip(a4.c,a5.c,a6) +o=a4.gqF() +n=a5.gqF() +o=A.t(o,n,a6) +n=t.KX.a(A.d1(a4.f,a5.f,a6)) +m=A.t(a4.r,a5.r,a6) +l=A.aV(a4.w,a5.w,a6) +k=A.t(a4.x,a5.x,a6) +j=A.t(a4.y,a5.y,a6) +i=A.t(a4.z,a5.z,a6) +h=A.aV(a4.Q,a5.Q,a6) +g=A.V(a4.as,a5.as,a6) +f=A.t(a4.at,a5.at,a6) +e=A.aV(a4.ax,a5.ax,a6) +d=A.t(a4.ay,a5.ay,a6) +c=A.d1(a4.ch,a5.ch,a6) +b=A.t(a4.CW,a5.CW,a6) +a=A.aV(a4.cx,a5.cx,a6) +if(a6<0.5)a0=a4.cy +else a0=a5.cy +a1=A.de(a4.db,a5.db,a6) +a2=A.d1(a4.dx,a5.dx,a6) +a3=A.aB(a4.dy,a5.dy,a6,A.by(),t._) +return new A.zI(r,q,p,s,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,A.aB(a4.fr,a5.fr,a6,A.u_(),t.p8))}, +zI:function zI(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4}, +abp:function abp(a){this.a=a}, +RZ:function RZ(){}, +aEv(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f +if(a===b)return a +s=A.aV(a.a,b.a,c) +r=A.jp(a.b,b.b,c) +q=A.t(a.c,b.c,c) +p=A.t(a.d,b.d,c) +o=A.t(a.e,b.e,c) +n=A.t(a.f,b.f,c) +m=A.t(a.r,b.r,c) +l=A.t(a.w,b.w,c) +k=A.t(a.y,b.y,c) +j=A.t(a.x,b.x,c) +i=A.t(a.z,b.z,c) +h=A.t(a.Q,b.Q,c) +g=A.t(a.as,b.as,c) +f=A.pu(a.ax,b.ax,c) +return new A.zJ(s,r,q,p,o,n,m,l,j,k,i,h,g,A.V(a.at,b.at,c),f)}, +zJ:function zJ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o}, +S0:function S0(){}, +asR(a,b,c){return new A.No(b,null,c,B.d_,a,null)}, +aEx(a,b){return new A.zM(b,a,null)}, +aEA(){var s,r,q +if($.oE.length!==0){s=A.b($.oE.slice(0),A.Z($.oE)) +for(r=s.length,q=0;q>>16&255,r.gm(r)>>>8&255,r.gm(r)&255) +break +default:r=null}switch(q.a){case 1:q=b.a +break +case 0:q=b.a +q=A.a3(0,q.gm(q)>>>16&255,q.gm(q)>>>8&255,q.gm(q)&255) +break +default:q=null}p=a.d +o=b.d +if(p!==o){r=A.t(r,q,c) +r.toString +o=A.V(p,o,c) +o.toString +return new A.cy(r,s,B.a4,o)}r=A.t(r,q,c) +r.toString +return new A.cy(r,s,B.a4,p)}, +d1(a,b,c){var s,r +if(a==b)return a +s=b==null?null:b.cD(a,c) +if(s==null)s=a==null?null:a.cE(b,c) +if(s==null)r=c<0.5?a:b +else r=s +return r}, +ar8(a,b,c){var s,r +if(a==b)return a +s=b==null?null:b.cD(a,c) +if(s==null)s=a==null?null:a.cE(b,c) +if(s==null)r=c<0.5?a:b +else r=s +return r}, +asO(a,b,c){var s,r,q,p,o,n,m=a instanceof A.hv?a.a:A.b([a],t.Fi),l=b instanceof A.hv?b.a:A.b([b],t.Fi),k=A.b([],t.N_),j=Math.max(m.length,l.length) +for(s=1-c,r=0;ro/m?new A.K(o*p/m,p):new A.K(q,m*q/o) +r=b +break +case 2:q=c.a +p=c.b +o=b.a +r=q/p>o/m?new A.K(o,o*p/q):new A.K(m*q/p,m) +s=c +break +case 3:q=c.a +p=c.b +o=b.a +if(q/p>o/m){r=new A.K(o,o*p/q) +s=c}else{s=new A.K(q,m*q/o) +r=b}break +case 4:q=c.a +p=c.b +o=b.a +if(q/p>o/m){s=new A.K(o*p/m,p) +r=b}else{r=new A.K(m*q/p,m) +s=c}break +case 5:r=new A.K(Math.min(b.a,c.a),Math.min(m,c.b)) +s=r +break +case 6:n=b.a/m +q=c.b +s=m>q?new A.K(q*n,q):b +m=c.a +if(s.a>m)s=new A.K(m,m/n) +r=b +break +default:r=null +s=null}return new A.G7(r,s)}, +Ej:function Ej(a,b){this.a=a +this.b=b}, +G7:function G7(a,b){this.a=a +this.b=b}, +az9(a,b,c){var s,r,q,p +if(a===b)return a +s=A.t(a.a,b.a,c) +s.toString +r=A.xo(a.b,b.b,c) +r.toString +q=A.V(a.c,b.c,c) +q.toString +p=A.V(a.d,b.d,c) +p.toString +return new A.jq(p,a.e,s,r,q)}, +ap2(a,b,c){var s,r,q,p,o,n,m,l +if(a==null?b==null:a===b)return a +if(a==null)a=A.b([],t.sq) +if(b==null)b=A.b([],t.sq) +s=Math.min(a.length,b.length) +r=A.b([],t.sq) +for(q=0;qk?l:k)){o=t.N +j=A.cA(o) +n=t.kr +i=A.fx(d,d,d,o,n) +for(h=p;h")),o=o.c;n.t();){m=n.d +if(m==null)m=o.a(m) +e=A.aq9(i.i(0,m),g.i(0,m),c) +if(e!=null)s.push(e)}}return s}, +m:function m(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l +_.as=m +_.at=n +_.ax=o +_.ay=p +_.ch=q +_.CW=r +_.cx=s +_.cy=a0 +_.db=a1 +_.dx=a2 +_.dy=a3 +_.fr=a4 +_.fx=a5 +_.fy=a6}, +RS:function RS(){}, +aub(a,b,c,d,e){var s,r +for(s=c,r=0;r0){n=-n +l=2*l +s=(n-Math.sqrt(j))/l +r=(n+Math.sqrt(j))/l +q=(c-s*b)/(r-s) +l=new A.agf(s,r,b-q,q) +n=l +break $label0$0}if(j<0){p=Math.sqrt(k-m)/(2*l) +o=-(n/2*l) +n=new A.ain(p,o,b,(c-o*b)/p) +break $label0$0}o=-n/(2*l) +n=new A.adC(o,b,c-o*b) +break $label0$0}return n}, +a9Y:function a9Y(a,b,c){this.a=a +this.b=b +this.c=c}, +zh:function zh(a,b){this.a=a +this.b=b}, +zg:function zg(a,b,c){this.b=a +this.c=b +this.a=c}, +lN:function lN(a,b,c){this.b=a +this.c=b +this.a=c}, +adC:function adC(a,b,c){this.a=a +this.b=b +this.c=c}, +agf:function agf(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +ain:function ain(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +zK:function zK(a,b){this.a=a +this.c=b}, +aF4(a){}, +yr:function yr(){}, +a7K:function a7K(a){this.a=a}, +a7M:function a7M(a){this.a=a}, +a7L:function a7L(a){this.a=a}, +a7J:function a7J(a){this.a=a}, +a7I:function a7I(a){this.a=a}, +LY:function LY(a,b){var _=this +_.a=a +_.S$=0 +_.O$=b +_.av$=_.af$=0}, +MT:function MT(a,b,c,d,e,f,g,h){var _=this +_.b=a +_.c=b +_.d=c +_.e=null +_.f=!1 +_.r=d +_.z=e +_.Q=f +_.at=null +_.ch=g +_.CW=h +_.cx=null}, +QH:function QH(a,b,c,d){var _=this +_.Z=!1 +_.fx=a +_.fy=null +_.go=b +_.k1=null +_.C$=c +_.b=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +kR(a){var s=a.a,r=a.b +return new A.aq(s,s,r,r)}, +em(a,b){var s,r,q=b==null,p=q?0:b +q=q?1/0:b +s=a==null +r=s?0:a +return new A.aq(p,q,r,s?1/0:a)}, +uv(a,b){var s,r,q=b!==1/0,p=q?b:0 +q=q?b:1/0 +s=a!==1/0 +r=s?a:0 +return new A.aq(p,q,r,s?a:1/0)}, +Vb(a){return new A.aq(0,a.a,0,a.b)}, +jp(a,b,c){var s,r,q,p +if(a==b)return a +if(a==null)return b.ad(0,c) +if(b==null)return a.ad(0,1-c) +s=a.a +if(isFinite(s)){s=A.V(s,b.a,c) +s.toString}else s=1/0 +r=a.b +if(isFinite(r)){r=A.V(r,b.b,c) +r.toString}else r=1/0 +q=a.c +if(isFinite(q)){q=A.V(q,b.c,c) +q.toString}else q=1/0 +p=a.d +if(isFinite(p)){p=A.V(p,b.d,c) +p.toString}else p=1/0 +return new A.aq(s,r,q,p)}, +ap1(a){return new A.kT(a.a,a.b,a.c)}, +aoR(a,b){return a==null?null:a+b}, +pt(a,b){var s,r,q,p,o,n +$label0$0:{s=null +r=null +q=!1 +if(a!=null){p=typeof a=="number" +if(p){r=a +if(b!=null)q=typeof b=="number" +s=b}}else p=!1 +o=null +if(q){n=p?s:b +q=r>=(n==null?A.bA(n):n)?b:a +break $label0$0}q=!1 +if(a!=null){r=a +if(p)q=s +else{q=b +s=q +p=!0}q=q==null}else r=o +if(q){q=r +break $label0$0}q=a==null +if(q)if(!p){s=b +p=!0}if(q){n=p?s:b +q=n +break $label0$0}q=o}return q}, +aq:function aq(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Vc:function Vc(){}, +kT:function kT(a,b,c){this.a=a +this.b=b +this.c=c}, +kS:function kS(a,b){this.c=a +this.a=b +this.b=null}, +en:function en(a){this.a=a}, +uX:function uX(){}, +ae4:function ae4(){}, +ae5:function ae5(a,b){this.a=a +this.b=b}, +acI:function acI(){}, +acJ:function acJ(a,b){this.a=a +this.b=b}, +AT:function AT(a,b){this.a=a +this.b=b}, +aft:function aft(a,b){this.a=a +this.b=b}, +aM:function aM(){var _=this +_.d=_.c=_.b=_.a=null}, +H:function H(){}, +a7_:function a7_(a){this.a=a}, +cK:function cK(){}, +a6Z:function a6Z(a){this.a=a}, +Ai:function Ai(){}, +hf:function hf(a,b,c){var _=this +_.e=null +_.bF$=a +_.a2$=b +_.a=c}, +a4R:function a4R(){}, +y8:function y8(a,b,c,d,e,f){var _=this +_.E=a +_.dh$=b +_.T$=c +_.cg$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +BC:function BC(){}, +Qi:function Qi(){}, +arC(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e +if(a==null)a=B.ib +s=J.ax(a) +r=s.gq(a)-1 +q=A.b8(0,null,!1,t.LQ) +p=0<=r +while(!0){if(!!1)break +s.i(a,0) +o=b[0] +o.gwV(o) +break}while(!0){if(!!1)break +s.i(a,r) +n=b[-1] +n.gwV(n) +break}m=A.bj("oldKeyedChildren") +l=0 +if(p){m.sco(A.E(t.D2,t.bu)) +for(k=m.a;l<=r;){j=s.i(a,l) +i=j.a +if(i!=null){h=m.b +if(h===m)A.aa(A.alX(k)) +J.eI(h,i,j)}++l}}for(k=m.a,g=0;!1;){o=b[g] +j=null +if(p){f=o.gwV(o) +i=m.b +if(i===m)A.aa(A.alX(k)) +e=J.ah(i,f) +if(e!=null)o.gwV(o) +else j=e}q[g]=A.arB(j,o);++g}s.gq(a) +while(!0){if(!!1)break +q[g]=A.arB(s.i(a,l),b[g]);++g;++l}return new A.bK(q,A.Z(q).h("bK<1,c4>"))}, +arB(a,b){var s,r=a==null?A.K5(b.gwV(b),null):a,q=b.gRe(),p=A.lR() +q.gTX() +p.k3=q.gTX() +p.e=!0 +q.ga88(q) +s=q.ga88(q) +p.be(B.wb,!0) +p.be(B.Je,s) +q.gad_() +s=q.gad_() +p.be(B.wb,!0) +p.be(B.Jf,s) +q.gTr(q) +p.be(B.wh,q.gTr(q)) +q.ga7Y(q) +p.be(B.wk,q.ga7Y(q)) +q.gaa1(q) +s=q.gaa1(q) +p.be(B.Jj,!0) +p.be(B.J9,s) +q.gacx() +p.be(B.Jg,q.gacx()) +q.gaey() +p.be(B.Jb,q.gaey()) +q.gTU() +p.be(B.Jk,q.gTU()) +q.gacq() +p.be(B.Ja,q.gacq()) +q.gadN(q) +p.be(B.J7,q.gadN(q)) +q.gaak() +p.be(B.wd,q.gaak()) +q.gaal(q) +p.be(B.wf,q.gaal(q)) +q.gnN(q) +s=q.gnN(q) +p.be(B.wj,!0) +p.be(B.w9,s) +q.gabG() +p.be(B.Jc,q.gabG()) +q.grO() +p.be(B.J6,q.grO()) +q.gad2(q) +p.be(B.Jh,q.gad2(q)) +q.gabu(q) +p.be(B.j6,q.gabu(q)) +q.gabs() +p.be(B.wi,q.gabs()) +q.gE2() +p.sE2(q.gE2()) +q.gTm() +p.be(B.wc,q.gTm()) +q.gad4() +p.be(B.wg,q.gad4()) +q.gacA() +p.be(B.we,q.gacA()) +q.gEv() +p.sEv(q.gEv()) +q.gCS() +p.sCS(q.gCS()) +q.gaeJ() +s=q.gaeJ() +p.be(B.Ji,!0) +p.be(B.J8,s) +q.gfw(q) +p.be(B.wa,q.gfw(q)) +q.gEn(q) +p.ry=new A.cO(q.gEn(q),B.ai) +p.e=!0 +q.gm(q) +p.to=new A.cO(q.gm(q),B.ai) +p.e=!0 +q.gabH() +p.x1=new A.cO(q.gabH(),B.ai) +p.e=!0 +q.ga9k() +p.x2=new A.cO(q.ga9k(),B.ai) +p.e=!0 +q.gaby(q) +p.xr=new A.cO(q.gaby(q),B.ai) +p.e=!0 +q.gbS() +p.a4=q.gbS() +p.e=!0 +q.gkS() +p.skS(q.gkS()) +q.gjD() +p.sjD(q.gjD()) +q.gxo() +p.sxo(q.gxo()) +q.gxp() +p.sxp(q.gxp()) +q.gxq() +p.sxq(q.gxq()) +q.gxn() +p.sxn(q.gxn()) +q.gEN() +p.sEN(q.gEN()) +q.gEI() +p.sEI(q.gEI()) +q.gEG(q) +p.sEG(0,q.gEG(q)) +q.gEH(q) +p.sEH(0,q.gEH(q)) +q.gEU(q) +p.sEU(0,q.gEU(q)) +q.gES() +p.sES(q.gES()) +q.gEQ() +p.sEQ(q.gEQ()) +q.gET() +p.sET(q.gET()) +q.gER() +p.sER(q.gER()) +q.gEZ() +p.sEZ(q.gEZ()) +q.gF_() +p.sF_(q.gF_()) +q.gEJ() +p.sEJ(q.gEJ()) +q.gEK() +p.sEK(q.gEK()) +q.gxl(q) +p.sxl(0,q.gxl(q)) +q.gxk() +p.sxk(q.gxk()) +r.l4(0,B.ib,p) +r.saW(0,b.gaW(b)) +r.sbD(0,b.gbD(b)) +r.dy=b.gag3() +return r}, +Fb:function Fb(){}, +y9:function y9(a,b,c,d,e,f,g,h){var _=this +_.B=a +_.a_=b +_.ak=c +_.bK=d +_.cC=e +_.fu=_.eW=_.cT=_.b8=null +_.C$=f +_.fx=g +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=h +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Xa:function Xa(){}, +yb:function yb(a,b,c){var _=this +_.E=a +_.Z=$ +_.fx=b +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=c +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +acC(a,b){var s +switch(b.a){case 0:s=a +break +case 1:s=new A.K(a.b,a.a) +break +default:s=null}return s}, +aEY(a,b,c){var s +switch(c.a){case 0:s=b +break +case 1:s=b.gPC() +break +default:s=null}return s.b0(a)}, +aEX(a,b){return new A.K(a.a+b.a,Math.max(a.b,b.b))}, +asL(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=null +$label0$0:{s=a==null +if(s){r=b +q=r}else{r=d +q=r}if(!s){p=!1 +p=b==null +q=b +r=a +s=!0}else p=!0 +if(p){p=r +break $label0$0}p=t.mi +o=d +n=!1 +m=d +l=d +k=d +j=!1 +if(p.b(a)){i=!0 +h=a.a +g=h +if(typeof g=="number"){A.bA(h) +f=a.b +g=f +if(typeof g=="number"){A.bA(f) +if(s)g=q +else{g=b +s=i +q=g}if(p.b(g)){if(s)g=q +else{g=b +s=i +q=g}e=(g==null?p.a(g):g).a +g=e +n=typeof g=="number" +if(n){A.bA(e) +if(s)j=q +else{j=b +s=i +q=j}o=(j==null?p.a(j):j).b +j=o +j=typeof j=="number" +k=e}}l=f}m=h}}if(j){if(n)p=o +else{j=s?q:b +o=(j==null?p.a(j):j).b +p=o}A.bA(p) +a=new A.av(Math.max(A.fV(m),A.fV(k)),Math.max(A.fV(l),p)) +p=a +break $label0$0}p=d}return p}, +aDg(a,b,c,d,e,f,g,h){var s,r=null,q=A.ai(),p=J.lk(new Array(4),t.iy) +for(s=0;s<4;++s)p[s]=new A.rq(r,B.aH,B.p,B.ao.k(0,B.ao)?new A.id(1):B.ao,r,r,r,r,B.aE,r) +q=new A.oa(c,d,e,b,g,h,f,a,q,p,!0,0,r,r,new A.aM(),A.ai()) +q.aw() +q.L(0,r) +return q}, +aDh(a){var s=a.b +s.toString +s=t.US.a(s).e +return s==null?0:s}, +afC:function afC(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Z7:function Z7(a,b){this.a=a +this.b=b}, +dK:function dK(a,b,c){var _=this +_.f=_.e=null +_.bF$=a +_.a2$=b +_.a=c}, +Hh:function Hh(a,b){this.a=a +this.b=b}, +lt:function lt(a,b){this.a=a +this.b=b}, +mX:function mX(a,b){this.a=a +this.b=b}, +oa:function oa(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){var _=this +_.E=a +_.Z=b +_.a3=c +_.aj=d +_.au=e +_.S=f +_.O=g +_.af=0 +_.av=h +_.bW=i +_.Pt$=j +_.aa6$=k +_.dh$=l +_.T$=m +_.cg$=n +_.fx=o +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=p +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a71:function a71(a,b){this.a=a +this.b=b}, +a74:function a74(){}, +a73:function a73(){}, +a72:function a72(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Qk:function Qk(){}, +Ql:function Ql(){}, +BD:function BD(){}, +ye:function ye(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){var _=this +_.Z=_.E=null +_.a3=a +_.aj=b +_.au=c +_.S=d +_.O=e +_.af=null +_.av=f +_.bW=g +_.c2=h +_.hL=i +_.eV=j +_.C=k +_.dR=l +_.ai=m +_.hc=n +_.cb=o +_.dS=p +_.hM=q +_.fx=r +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=s +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +ai(){return new A.H1()}, +ar6(a){return new A.iK(a,A.E(t.S,t.M),A.ai())}, +asp(a){return new A.m_(a,B.h,A.E(t.S,t.M),A.ai())}, +am9(){return new A.HZ(B.h,A.E(t.S,t.M),A.ai())}, +uh:function uh(a,b,c){this.a=a +this.b=b +this.$ti=c}, +E0:function E0(a,b){this.a=a +this.$ti=b}, +H0:function H0(){}, +H1:function H1(){this.a=null}, +a5V:function a5V(a,b,c){var _=this +_.ax=a +_.ay=null +_.CW=_.ch=!1 +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +abj:function abj(a,b,c,d,e,f){var _=this +_.ax=a +_.ay=b +_.ch=c +_.CW=d +_.a=e +_.b=0 +_.e=f +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +a64:function a64(a,b,c,d){var _=this +_.ax=a +_.ay=b +_.a=c +_.b=0 +_.e=d +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +F2:function F2(){}, +iK:function iK(a,b,c){var _=this +_.k3=a +_.ay=_.ax=null +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +uR:function uR(a,b,c){var _=this +_.k3=null +_.k4=a +_.ay=_.ax=null +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +ES:function ES(a,b,c){var _=this +_.k3=null +_.k4=a +_.ay=_.ax=null +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +EQ:function EQ(a,b,c){var _=this +_.k3=null +_.k4=a +_.ay=_.ax=null +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +wm:function wm(a,b,c,d){var _=this +_.aV=a +_.k3=b +_.ay=_.ax=null +_.a=c +_.b=0 +_.e=d +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +m_:function m_(a,b,c,d){var _=this +_.aV=a +_.a4=_.bz=null +_.b2=!0 +_.k3=b +_.ay=_.ax=null +_.a=c +_.b=0 +_.e=d +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +HZ:function HZ(a,b,c){var _=this +_.aV=null +_.k3=a +_.ay=_.ax=null +_.a=b +_.b=0 +_.e=c +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null}, +E_:function E_(a,b,c,d,e,f){var _=this +_.k3=a +_.k4=b +_.ok=c +_.ay=_.ax=null +_.a=d +_.b=0 +_.e=e +_.f=0 +_.r=null +_.w=!0 +_.y=_.x=null +_.z=0 +_.as=_.Q=null +_.$ti=f}, +Ok:function Ok(){}, +iG:function iG(a,b,c){this.bF$=a +this.a2$=b +this.a=c}, +yg:function yg(a,b,c,d,e,f){var _=this +_.E=a +_.dh$=b +_.T$=c +_.cg$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7a:function a7a(a){this.a=a}, +a7b:function a7b(a){this.a=a}, +a78:function a78(a){this.a=a}, +a79:function a79(a){this.a=a}, +Qm:function Qm(){}, +Qn:function Qn(){}, +aCf(a,b){var s +if(a==null)return!0 +s=a.b +if(t.ks.b(b))return!1 +return t.ge.b(s)||t.PB.b(b)||!s.gbR(s).k(0,b.gbR(b))}, +aCe(a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=a5.d +if(a4==null)a4=a5.c +s=a5.a +r=a5.b +q=a4.goK() +p=a4.gjJ(a4) +o=a4.gbi() +n=a4.gck(a4) +m=a4.ghE(a4) +l=a4.gbR(a4) +k=a4.gw5() +j=a4.gdu(a4) +a4.grO() +i=a4.gFa() +h=a4.gF9() +g=a4.gd7() +f=a4.gDg() +e=a4.gv(a4) +d=a4.gFe() +c=a4.gFh() +b=a4.gFg() +a=a4.gFf() +a0=a4.goo(a4) +a1=a4.gFt() +s.V(0,new A.a4L(r,A.aCG(j,k,m,g,f,a4.gwe(),0,n,!1,a0,o,l,h,i,d,a,b,c,e,a4.gpa(),a1,p,q).aO(a4.gbD(a4)),s)) +q=A.o(r).h("aZ<1>") +p=q.h("aF") +a2=A.a8(new A.aF(new A.aZ(r,q),new A.a4M(s),p),!0,p.h("j.E")) +p=a4.goK() +q=a4.gjJ(a4) +a1=a4.gbi() +e=a4.gck(a4) +c=a4.ghE(a4) +b=a4.gbR(a4) +a=a4.gw5() +d=a4.gdu(a4) +a4.grO() +i=a4.gFa() +h=a4.gF9() +l=a4.gd7() +o=a4.gDg() +a0=a4.gv(a4) +n=a4.gFe() +f=a4.gFh() +g=a4.gFg() +m=a4.gFf() +k=a4.goo(a4) +j=a4.gFt() +a3=A.aCE(d,a,c,l,o,a4.gwe(),0,e,!1,k,a1,b,h,i,n,m,g,f,a0,a4.gpa(),j,q,p).aO(a4.gbD(a4)) +for(q=A.Z(a2).h("cm<1>"),p=new A.cm(a2,q),p=new A.bS(p,p.gq(0),q.h("bS")),q=q.h("aI.E");p.t();){o=p.d +if(o==null)o=q.a(o) +if(o.gy5()){n=o.gEL(o) +if(n!=null)n.$1(a3.aO(r.i(0,o)))}}}, +ON:function ON(a,b){this.a=a +this.b=b}, +OO:function OO(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +HB:function HB(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.S$=0 +_.O$=d +_.av$=_.af$=0}, +a4N:function a4N(){}, +a4Q:function a4Q(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a4P:function a4P(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a4O:function a4O(a){this.a=a}, +a4L:function a4L(a,b,c){this.a=a +this.b=b +this.c=c}, +a4M:function a4M(a){this.a=a}, +SY:function SY(){}, +arc(a,b){var s,r,q=a.ch,p=t.dJ.a(q.a) +if(p==null){s=a.oH(null) +q.saN(0,s) +p=s}else{p.Fk() +a.oH(p)}a.db=!1 +r=new A.jV(p,a.giH()) +a.B8(r,B.h) +r.lf()}, +aCv(a){var s=a.ch.a +s.toString +a.oH(t.gY.a(s)) +a.db=!1}, +aCz(a,b,c){var s=t.TT +return new A.jW(a,c,b,A.b([],s),A.b([],s),A.b([],s),A.aA(t.I9),A.aA(t.sv))}, +arD(a){if(a.Q!==a){a.bn(A.ava()) +a.Q=null}}, +aDk(a){var s,r +if(a.Q===a)return +s=a.d +r=s==null?null:s.Q +r.toString +a.Q=r +a.bn(A.avb())}, +aFD(a,b,c){var s=new A.R5() +s.Iw(c,b,a) +return s}, +ata(a,b){if(a==null)return null +if(a.gM(0)||b.Qz())return B.I +return A.aqR(b,a)}, +aFE(a,b,c){var s,r,q,p,o,n,m,l +for(s=a,r=b,q=null;r!==s;){p=r.c +o=s.c +if(p>=o){n=r.d +n.cM(r,c) +r=n}if(p<=o){m=s.d +m.toString +if(q==null){q=new A.bi(new Float64Array(16)) +q.dF() +l=q}else l=q +m.cM(s,l) +s=m}}if(q!=null)if(q.dw(q)!==0)c.cq(0,q) +else c.tR()}, +at9(a,b){var s +if(b==null)return a +s=a==null?null:a.cW(b) +return s==null?b:s}, +c9:function c9(){}, +jV:function jV(a,b){var _=this +_.a=a +_.b=b +_.e=_.d=_.c=null}, +a5J:function a5J(a,b,c){this.a=a +this.b=b +this.c=c}, +a5I:function a5I(a,b,c){this.a=a +this.b=b +this.c=c}, +a5H:function a5H(a,b,c){this.a=a +this.b=b +this.c=c}, +WR:function WR(){}, +jW:function jW(a,b,c,d,e,f,g,h){var _=this +_.b=a +_.c=b +_.d=c +_.e=null +_.f=!1 +_.r=d +_.z=e +_.Q=f +_.at=null +_.ch=g +_.CW=h +_.cx=null}, +a5X:function a5X(){}, +a5W:function a5W(){}, +a5Y:function a5Y(){}, +a5Z:function a5Z(){}, +G:function G(){}, +a7f:function a7f(a){this.a=a}, +a7i:function a7i(a,b,c){this.a=a +this.b=b +this.c=c}, +a7g:function a7g(a){this.a=a}, +a7h:function a7h(){}, +a7c:function a7c(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k}, +a7d:function a7d(a,b,c){this.a=a +this.b=b +this.c=c}, +a7e:function a7e(a,b){this.a=a +this.b=b}, +aE:function aE(){}, +ds:function ds(){}, +ab:function ab(){}, +y2:function y2(){}, +a6Y:function a6Y(a){this.a=a}, +ahE:function ahE(){}, +Mm:function Mm(a,b,c){this.b=a +this.c=b +this.a=c}, +eA:function eA(){}, +QL:function QL(a,b,c){var _=this +_.e=a +_.b=b +_.c=null +_.a=c}, +AO:function AO(a,b,c){var _=this +_.e=a +_.b=b +_.c=null +_.a=c}, +p_:function p_(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.w=_.r=!1 +_.x=c +_.y=d +_.z=!1 +_.b=e +_.c=null +_.a=f}, +R5:function R5(){var _=this +_.b=_.a=null +_.d=_.c=$ +_.e=!1}, +Pg:function Pg(){}, +Qp:function Qp(){}, +aDi(a,b,c,d){var s=a.b +s.toString +t.tq.a(s) +return B.I2}, +an4(a,b){var s=a.a,r=b.a +if(sr)return-1 +else{s=a.b +if(s===b.b)return 0 +else return s===B.am?1:-1}}, +lY:function lY(a,b){var _=this +_.b=_.a=null +_.bF$=a +_.a2$=b}, +a76:function a76(){}, +a77:function a77(a){this.a=a}, +lI:function lI(a,b,c,d,e,f,g,h,i,j){var _=this +_.E=a +_.S=_.au=_.aj=_.a3=_.Z=null +_.O=b +_.af=c +_.av=d +_.bW=!1 +_.C=_.eV=_.hL=_.c2=null +_.Dw$=e +_.dh$=f +_.T$=g +_.cg$=h +_.fx=i +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=j +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7l:function a7l(){}, +a7m:function a7m(){}, +a7k:function a7k(){}, +a7j:function a7j(a,b){this.a=a +this.b=b}, +j9:function j9(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.e=_.d=null +_.f=!1 +_.w=_.r=null +_.x=$ +_.z=_.y=null +_.S$=0 +_.O$=d +_.av$=_.af$=0}, +BI:function BI(){}, +Qq:function Qq(){}, +Qr:function Qr(){}, +Ct:function Ct(){}, +Ta:function Ta(){}, +Tb:function Tb(){}, +Tc:function Tc(){}, +aGV(a,b,c){if(a===b)return!0 +if(b==null)return!1 +return A.tZ(A.atW(a,c),A.atW(b,c))}, +atW(a,b){var s=A.o(a).h("hN<1,ex>") +return A.er(new A.hN(a,new A.aje(b),s),s.h("j.E"))}, +aFn(a,b){var s=t.S +s=new A.Bp(A.E(s,t.d_),A.aA(s),b,A.E(s,t.Y),A.cA(s),null,null,A.aku(),A.E(s,t.Au)) +s.Y1(a,b) +return s}, +ID:function ID(a,b){this.a=a +this.b=b}, +aje:function aje(a){this.a=a}, +Bp:function Bp(a,b,c,d,e,f,g,h,i){var _=this +_.at=$ +_.ax=a +_.ay=b +_.ch=c +_.CW=$ +_.f=d +_.r=e +_.w=null +_.a=f +_.b=null +_.c=g +_.d=h +_.e=i}, +agp:function agp(a){this.a=a}, +IF:function IF(a,b,c,d,e,f){var _=this +_.E=a +_.r6$=b +_.Pv$=c +_.nX$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +ago:function ago(){}, +Pk:function Pk(){}, +arA(a){var s=new A.o9(a,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +amh(a,b){if(b==null)return a +return B.c.d4(a/b)*b}, +aDj(a,b,c,d,e,f){var s=b==null?B.ae:b +s=new A.yh(!0,c,e,d,a,s,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +Jk:function Jk(){}, +f4:function f4(){}, +we:function we(a,b){this.a=a +this.b=b}, +yl:function yl(){}, +o9:function o9(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Je:function Je(a,b,c,d,e){var _=this +_.B=a +_.a_=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +y6:function y6(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yf:function yf(a,b,c,d,e){var _=this +_.B=a +_.a_=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jg:function Jg(a,b,c,d,e,f){var _=this +_.B=a +_.a_=b +_.ak=c +_.C$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +y4:function y4(){}, +J6:function J6(a,b,c,d,e,f,g){var _=this +_.nU$=a +_.Dx$=b +_.nV$=c +_.Dy$=d +_.C$=e +_.fx=f +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +v3:function v3(){}, +op:function op(a,b,c){this.b=a +this.c=b +this.a=c}, +tq:function tq(){}, +J9:function J9(a,b,c,d,e){var _=this +_.B=a +_.a_=null +_.ak=b +_.cC=null +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +J8:function J8(a,b,c,d,e){var _=this +_.B=a +_.a_=null +_.ak=b +_.cC=null +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +BJ:function BJ(){}, +Jh:function Jh(a,b,c,d,e,f,g,h,i,j){var _=this +_.bF=a +_.a2=b +_.cB=c +_.fs=d +_.hJ=e +_.B=f +_.a_=null +_.ak=g +_.cC=null +_.C$=h +_.fx=i +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=j +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7n:function a7n(a,b){this.a=a +this.b=b}, +Ji:function Ji(a,b,c,d,e,f,g,h){var _=this +_.cB=a +_.fs=b +_.hJ=c +_.B=d +_.a_=null +_.ak=e +_.cC=null +_.C$=f +_.fx=g +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=h +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7o:function a7o(a,b){this.a=a +this.b=b}, +Fg:function Fg(a,b){this.a=a +this.b=b}, +Ja:function Ja(a,b,c,d,e,f){var _=this +_.B=null +_.a_=a +_.ak=b +_.bK=c +_.C$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Js:function Js(a,b,c,d){var _=this +_.ak=_.a_=_.B=null +_.bK=a +_.b8=_.cC=null +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7D:function a7D(a){this.a=a}, +yc:function yc(a,b,c,d,e,f,g){var _=this +_.B=null +_.a_=a +_.ak=b +_.bK=c +_.b8=_.cC=null +_.cT=d +_.C$=e +_.fx=f +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a70:function a70(a){this.a=a}, +Jc:function Jc(a,b,c,d,e){var _=this +_.B=a +_.a_=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a75:function a75(a){this.a=a}, +Jj:function Jj(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.c8=a +_.eT=b +_.cQ=c +_.cR=d +_.cB=e +_.fs=f +_.hJ=g +_.cS=h +_.b6=i +_.B=j +_.C$=k +_.fx=l +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=m +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yh:function yh(a,b,c,d,e,f,g,h,i){var _=this +_.c8=a +_.eT=b +_.cQ=c +_.cR=d +_.cB=e +_.fs=!0 +_.B=f +_.C$=g +_.fx=h +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=i +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jm:function Jm(a,b,c){var _=this +_.C$=a +_.fx=b +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=c +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yd:function yd(a,b,c,d,e){var _=this +_.B=a +_.a_=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +yi:function yi(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +y3:function y3(a,b,c,d,e){var _=this +_.B=a +_.a_=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +k4:function k4(a,b,c,d){var _=this +_.cB=_.cR=_.cQ=_.eT=_.c8=null +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +ym:function ym(a,b,c,d,e,f,g,h,i){var _=this +_.B=a +_.a_=b +_.ak=c +_.bK=d +_.cC=e +_.Dz=_.fu=_.eW=_.cT=_.b8=null +_.jp=f +_.C$=g +_.fx=h +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=i +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +J7:function J7(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jf:function Jf(a,b,c){var _=this +_.C$=a +_.fx=b +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=c +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jb:function Jb(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jd:function Jd(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +y5:function y5(a,b,c,d,e,f,g){var _=this +_.B=a +_.a_=b +_.ak=c +_.C$=d +_.fx=e +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null +_.$ti=g}, +Qf:function Qf(){}, +BK:function BK(){}, +BL:function BL(){}, +yZ(a,b){var s +if(a.p(0,b))return B.x +s=b.b +if(sa.d)return B.u +return b.a>=a.c?B.u:B.w}, +yY(a,b,c){var s,r +if(a.p(0,b))return b +s=b.b +r=a.b +if(!(s<=r))s=s<=a.d&&b.a<=a.a +else s=!0 +if(s)return c===B.p?new A.n(a.a,r):new A.n(a.c,r) +else{s=a.d +return c===B.p?new A.n(a.c,s):new A.n(a.a,s)}}, +a8W(a,b){return new A.yW(a,b==null?B.jq:b,B.IQ)}, +a8V(a,b){return new A.yW(a,b==null?B.jq:b,B.c5)}, +lP:function lP(a,b){this.a=a +this.b=b}, +dx:function dx(){}, +K1:function K1(){}, +ok:function ok(a,b){this.a=a +this.b=b}, +oz:function oz(a,b){this.a=a +this.b=b}, +a8X:function a8X(){}, +uQ:function uQ(a){this.a=a}, +yW:function yW(a,b,c){this.b=a +this.c=b +this.a=c}, +r0:function r0(a,b){this.a=a +this.b=b}, +yX:function yX(a,b){this.a=a +this.b=b}, +lO:function lO(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +ol:function ol(a,b,c){this.a=a +this.b=b +this.c=c}, +KQ:function KQ(a,b){this.a=a +this.b=b}, +R2:function R2(){}, +qO:function qO(){}, +a7p:function a7p(a){this.a=a}, +yj:function yj(a,b,c,d,e){var _=this +_.B=null +_.a_=a +_.ak=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +J5:function J5(){}, +yk:function yk(a,b,c,d,e,f,g){var _=this +_.cQ=a +_.cR=b +_.B=null +_.a_=c +_.ak=d +_.C$=e +_.fx=f +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a9D:function a9D(){}, +ya:function ya(a,b,c,d){var _=this +_.B=a +_.C$=b +_.fx=c +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +BM:function BM(){}, +mx(a,b){var s +switch(b.a){case 0:s=a +break +case 1:s=A.auS(a) +break +default:s=null}return s}, +aHU(a,b){var s +switch(b.a){case 0:s=a +break +case 1:s=A.aIW(a) +break +default:s=null}return s}, +iT(a,b,c,d,e,f,g,h,i){var s=d==null?f:d,r=c==null?f:c,q=a==null?d:a +if(q==null)q=f +return new A.Kl(h,g,f,s,e,r,f>0,b,i,q)}, +Kn:function Kn(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Gt:function Gt(a,b){this.a=a +this.b=b}, +lV:function lV(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=l}, +Kl:function Kl(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j}, +r9:function r9(a,b,c){this.a=a +this.b=b +this.c=c}, +Km:function Km(a,b,c){var _=this +_.c=a +_.d=b +_.a=c +_.b=null}, +zc:function zc(){}, +lW:function lW(a){this.a=a}, +ka:function ka(a,b,c){this.bF$=a +this.a2$=b +this.a=c}, +cl:function cl(){}, +a7s:function a7s(){}, +a7t:function a7t(a,b){this.a=a +this.b=b}, +Rn:function Rn(){}, +Rq:function Rq(){}, +Jn:function Jn(a,b,c,d,e,f,g){var _=this +_.c8=a +_.kD=$ +_.a4=b +_.b2=c +_.dh$=d +_.T$=e +_.cg$=f +_.b=_.fx=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Jo:function Jo(){}, +Jp:function Jp(a,b,c,d,e,f){var _=this +_.a4=a +_.b2=b +_.dh$=c +_.T$=d +_.cg$=e +_.b=_.fx=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=f +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7u:function a7u(a,b,c){this.a=a +this.b=b +this.c=c}, +iD:function iD(){}, +a7y:function a7y(){}, +fN:function fN(a,b,c){var _=this +_.b=null +_.c=!1 +_.r4$=a +_.bF$=b +_.a2$=c +_.a=null}, +lJ:function lJ(){}, +a7v:function a7v(a,b,c){this.a=a +this.b=b +this.c=c}, +a7x:function a7x(a,b){this.a=a +this.b=b}, +a7w:function a7w(){}, +BO:function BO(){}, +Qv:function Qv(){}, +Qw:function Qw(){}, +Ro:function Ro(){}, +Rp:function Rp(){}, +yn:function yn(){}, +a7r:function a7r(a,b){this.a=a +this.b=b}, +a7q:function a7q(a,b){this.a=a +this.b=b}, +Jq:function Jq(a,b,c,d){var _=this +_.ct=null +_.dB=a +_.ea=b +_.C$=c +_.b=_.fx=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=d +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Qt:function Qt(){}, +a7B(a,b){var s,r,q,p +for(s=t.B,r=a,q=0;r!=null;){p=r.b +p.toString +s.a(p) +if(!p.gm9())q=Math.max(q,A.fV(b.$1(r))) +r=p.a2$}return q}, +arE(a,b,c,d){var s,r,q,p,o,n,m,l,k,j +a.bU(b.F7(c),!0) +$label0$0:{s=b.w +r=s!=null +if(r)if(s==null)A.bA(s) +if(r){q=s==null?A.bA(s):s +r=q +break $label0$0}p=b.f +r=p!=null +if(r)if(p==null)A.bA(p) +if(r){o=p==null?A.bA(p):p +r=c.a-o-a.gv(0).a +break $label0$0}r=d.hA(t.o.a(c.ac(0,a.gv(0)))).a +break $label0$0}$label1$1:{n=b.e +m=n!=null +if(m)if(n==null)A.bA(n) +if(m){l=n==null?A.bA(n):n +m=l +break $label1$1}k=b.r +m=k!=null +if(m)if(k==null)A.bA(k) +if(m){j=k==null?A.bA(k):k +m=c.b-j-a.gv(0).b +break $label1$1}m=d.hA(t.o.a(c.ac(0,a.gv(0)))).b +break $label1$1}b.a=new A.n(r,m) +return r<0||r+a.gv(0).a>c.a||m<0||m+a.gv(0).b>c.b}, +aDl(a,b,c,d,e){var s,r,q,p,o,n,m,l=a.b +l.toString +t.B.a(l) +s=l.gm9()?l.F7(b):c +r=a.f5(s,e) +if(r==null)return null +$label0$0:{q=l.e +p=q!=null +if(p)if(q==null)A.bA(q) +if(p){o=q==null?A.bA(q):q +l=o +break $label0$0}n=l.r +l=n!=null +if(l)if(n==null)A.bA(n) +if(l){m=n==null?A.bA(n):n +l=b.b-m-a.az(B.y,s,a.gbE()).b +break $label0$0}l=d.hA(t.o.a(b.ac(0,a.az(B.y,s,a.gbE())))).b +break $label0$0}return r+l}, +J3:function J3(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +dP:function dP(a,b,c){var _=this +_.y=_.x=_.w=_.r=_.f=_.e=null +_.bF$=a +_.a2$=b +_.a=c}, +zj:function zj(a,b){this.a=a +this.b=b}, +yo:function yo(a,b,c,d,e,f,g,h,i,j){var _=this +_.E=!1 +_.Z=null +_.a3=a +_.aj=b +_.au=c +_.S=d +_.O=e +_.dh$=f +_.T$=g +_.cg$=h +_.fx=i +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=j +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +a7A:function a7A(a){this.a=a}, +a7z:function a7z(a){this.a=a}, +Qx:function Qx(){}, +Qy:function Qy(){}, +KU:function KU(a,b,c,d,e){var _=this +_.E=a +_.Z=b +_.a3=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +aEL(a){var s,r,q,p,o,n=$.bq(),m=n.d +if(m==null){s=self.window.devicePixelRatio +m=s===0?1:s}s=A.asB(a.Q,a.gjF().dr(0,m)).ad(0,m) +r=s.a +q=s.b +p=s.c +s=s.d +o=n.d +if(o==null){n=self.window.devicePixelRatio +o=n===0?1:n}return new A.zV(new A.aq(r/o,q/o,p/o,s/o),new A.aq(r,q,p,s),o)}, +zV:function zV(a,b,c){this.a=a +this.b=b +this.c=c}, +ob:function ob(){}, +Qz:function Qz(){}, +aDf(a){var s +for(s=t.NW;a!=null;){if(s.b(a))return a +a=a.d}return null}, +aDp(a,b,c){var s=b.aq.a)return q +else if(a0)return a.afd(0,1e5) +return!0}, +t1:function t1(a){this.a=a}, +oe:function oe(a,b){this.a=a +this.b=b}, +a5Q:function a5Q(a){this.a=a}, +iR:function iR(){}, +a8q:function a8q(a){this.a=a}, +a8o:function a8o(a){this.a=a}, +a8r:function a8r(a){this.a=a}, +a8s:function a8s(a,b){this.a=a +this.b=b}, +a8t:function a8t(a){this.a=a}, +a8n:function a8n(a){this.a=a}, +a8p:function a8p(a){this.a=a}, +amJ(){var s=new A.oC(new A.b1(new A.a9($.ad,t.U),t.h)) +s.MC() +return s}, +ru:function ru(a){var _=this +_.a=null +_.b=!1 +_.c=null +_.d=a +_.e=null}, +oC:function oC(a){this.a=a +this.c=this.b=null}, +abo:function abo(a){this.a=a}, +zH:function zH(a){this.a=a}, +K2:function K2(){}, +a98:function a98(a){this.a=a}, +api(a){var s=$.apg.i(0,a) +if(s==null){s=$.aph +$.aph=s+1 +$.apg.n(0,a,s) +$.apf.n(0,s,a)}return s}, +aDN(a,b){var s +if(a.length!==b.length)return!1 +for(s=0;s=0 +if(n){p.W(q,0,o).split("\n") +p.cZ(q,o+2) +l.push(new A.wI())}else l.push(new A.wI())}return l}, +aDP(a){var s +$label0$0:{if("AppLifecycleState.resumed"===a){s=B.b6 +break $label0$0}if("AppLifecycleState.inactive"===a){s=B.cS +break $label0$0}if("AppLifecycleState.hidden"===a){s=B.e9 +break $label0$0}if("AppLifecycleState.paused"===a){s=B.fZ +break $label0$0}if("AppLifecycleState.detached"===a){s=B.ch +break $label0$0}s=null +break $label0$0}return s}, +z1:function z1(){}, +a9o:function a9o(a){this.a=a}, +a9n:function a9n(a){this.a=a}, +adO:function adO(){}, +adP:function adP(a){this.a=a}, +adQ:function adQ(a){this.a=a}, +aqA(a,b,c,d,e){return new A.nA(c,b,null,e,d)}, +aqz(a,b,c,d,e){return new A.qk(d,c,a,e,!1)}, +aBF(a){var s,r,q=a.d,p=B.Gm.i(0,q) +if(p==null)p=new A.k(q) +q=a.e +s=B.Gj.i(0,q) +if(s==null)s=new A.f(q) +r=a.a +switch(a.b.a){case 0:return new A.jK(p,s,a.f,r,a.r) +case 1:return A.aqA(B.hW,s,p,a.r,r) +case 2:return A.aqz(a.f,B.hW,s,p,r)}}, +ql:function ql(a,b,c){this.c=a +this.a=b +this.b=c}, +h7:function h7(){}, +jK:function jK(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=e}, +nA:function nA(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=e}, +qk:function qk(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.f=e}, +a_m:function a_m(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.e=null}, +GX:function GX(a,b){this.a=a +this.b=b}, +wE:function wE(a,b){this.a=a +this.b=b}, +GY:function GY(a,b,c,d){var _=this +_.a=null +_.b=a +_.c=b +_.d=null +_.e=c +_.f=d}, +Oi:function Oi(){}, +a1u(a){var s=A.o(a).h("hO<1,f>") +return A.er(new A.hO(a,new A.a1v(),s),s.h("j.E"))}, +a1g:function a1g(){}, +f:function f(a){this.a=a}, +a1v:function a1v(){}, +k:function k(a){this.a=a}, +Oj:function Oj(){}, +jX(a,b,c,d){return new A.fI(a,c,b,d)}, +a4A(a){return new A.x5(a)}, +hX:function hX(a,b){this.a=a +this.b=b}, +fI:function fI(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +x5:function x5(a){this.a=a}, +aag:function aag(){}, +a0O:function a0O(){}, +a0Q:function a0Q(){}, +aa1:function aa1(){}, +aa2:function aa2(a,b){this.a=a +this.b=b}, +aa5:function aa5(){}, +aF5(a){var s,r,q +for(s=A.o(a),r=new A.br(J.ak(a.a),a.b,s.h("br<1,2>")),s=s.y[1];r.t();){q=r.a +if(q==null)q=s.a(q) +if(!q.k(0,B.d_))return q}return null}, +a4J:function a4J(a,b){this.a=a +this.b=b}, +qr:function qr(){}, +cu:function cu(){}, +MX:function MX(){}, +OX:function OX(a,b){this.a=a +this.b=b}, +OW:function OW(){}, +RJ:function RJ(a,b){this.a=a +this.b=b}, +iV:function iV(a){this.a=a}, +OM:function OM(){}, +kQ:function kQ(a,b,c){this.a=a +this.b=b +this.$ti=c}, +V3:function V3(a,b){this.a=a +this.b=b}, +du:function du(a,b){this.a=a +this.b=b}, +a4v:function a4v(a,b){this.a=a +this.b=b}, +hZ:function hZ(a,b){this.a=a +this.b=b}, +a6a:function a6a(){this.a=0}, +nW:function nW(){}, +arl(a){var s,r,q,p=t.wh.a(a.i(0,"touchOffset")) +if(p==null)s=null +else{s=J.ax(p) +r=s.i(p,0) +r.toString +A.mu(r) +s=s.i(p,1) +s.toString +s=new A.n(r,A.mu(s))}r=a.i(0,"progress") +r.toString +A.mu(r) +q=a.i(0,"swipeEdge") +q.toString +return new A.IL(s,r,B.Ee[A.cj(q)])}, +zo:function zo(a,b){this.a=a +this.b=b}, +IL:function IL(a,b,c){this.a=a +this.b=b +this.c=c}, +aDa(a){var s,r,q,p,o={} +o.a=null +s=new A.a6B(o,a).$0() +r=$.aof().d +q=A.o(r).h("aZ<1>") +p=A.er(new A.aZ(r,q),q.h("j.E")).p(0,s.ghW()) +q=J.ah(a,"type") +q.toString +A.bw(q) +$label0$0:{if("keydown"===q){r=new A.lH(o.a,p,s) +break $label0$0}if("keyup"===q){r=new A.qK(null,!1,s) +break $label0$0}r=A.aa(A.jz("Unknown key event type: "+q))}return r}, +nB:function nB(a,b){this.a=a +this.b=b}, +fE:function fE(a,b){this.a=a +this.b=b}, +xZ:function xZ(){}, +k3:function k3(){}, +a6B:function a6B(a,b){this.a=a +this.b=b}, +lH:function lH(a,b,c){this.a=a +this.b=b +this.c=c}, +qK:function qK(a,b,c){this.a=a +this.b=b +this.c=c}, +a6E:function a6E(a,b){this.a=a +this.d=b}, +cw:function cw(a,b){this.a=a +this.b=b}, +Q0:function Q0(){}, +Q_:function Q_(){}, +IX:function IX(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +yu:function yu(a,b){var _=this +_.b=_.a=null +_.f=_.d=_.c=!1 +_.r=a +_.S$=0 +_.O$=b +_.av$=_.af$=0}, +a7U:function a7U(a){this.a=a}, +a7V:function a7V(a){this.a=a}, +cS:function cS(a,b,c,d,e,f){var _=this +_.a=a +_.c=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=!1}, +a7R:function a7R(){}, +a7S:function a7S(){}, +a7Q:function a7Q(){}, +a7T:function a7T(){}, +aas(a){var s=0,r=A.C(t.H) +var $async$aas=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:s=2 +return A.y(B.bg.ed(u.p,A.as(["label",a.a,"primaryColor",a.b],t.N,t.z),t.H),$async$aas) +case 2:return A.A(null,r)}}) +return A.B($async$aas,r)}, +asc(a){if($.rj!=null){$.rj=a +return}if(a.k(0,$.amD))return +$.rj=a +A.e3(new A.aat())}, +n0:function n0(a,b){this.a=a +this.b=b}, +UN:function UN(a,b){this.a=a +this.b=b}, +iW:function iW(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +aat:function aat(){}, +zr(a){var s=0,r=A.C(t.H) +var $async$zr=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:s=2 +return A.y(B.bg.ed("SystemSound.play",a.F(),t.H),$async$zr) +case 2:return A.A(null,r)}}) +return A.B($async$zr,r)}, +KE:function KE(a,b){this.a=a +this.b=b}, +aaH:function aaH(){}, +EC:function EC(a){this.a=a}, +a1o:function a1o(a){this.a=a}, +xw:function xw(a){this.a=a}, +XH:function XH(a){this.a=a}, +zC(a,b,c,d){var s=b?").b(s))return s +else return null}, +ayT(a,b,c){var s={} +s.a=null +A.Uz(a,new A.UB(s,b,a,c)) +return s.a}, +apr(a){return new A.FB(a,new A.bg(A.b([],t.ot),t.wS))}, +ajl:function ajl(a){this.a=a}, +aR:function aR(){}, +bn:function bn(){}, +fs:function fs(){}, +mN:function mN(a,b,c){var _=this +_.c=a +_.a=b +_.b=null +_.$ti=c}, +Uv:function Uv(){}, +jl:function jl(a,b,c){this.d=a +this.e=b +this.a=c}, +Ux:function Ux(a){this.a=a}, +UA:function UA(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +Uy:function Uy(a,b,c){this.a=a +this.b=b +this.c=c}, +UB:function UB(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +A0:function A0(a,b){var _=this +_.d=a +_.e=b +_.c=_.a=null}, +ace:function ace(a){this.a=a}, +A_:function A_(a,b,c,d,e){var _=this +_.f=a +_.r=b +_.w=c +_.b=d +_.a=e}, +Lm:function Lm(a){this.a=a +this.b=null}, +FB:function FB(a,b){this.c=a +this.a=b +this.b=null}, +pk:function pk(){}, +pw:function pw(){}, +iv:function iv(){}, +Fx:function Fx(){}, +k1:function k1(){}, +IR:function IR(a){var _=this +_.f=_.e=$ +_.a=a +_.b=null}, +Pa:function Pa(){}, +Bk:function Bk(a,b,c,d,e,f,g,h){var _=this +_.e=a +_.f=b +_.afK$=c +_.afL$=d +_.afM$=e +_.afN$=f +_.a=g +_.b=null +_.$ti=h}, +Aj:function Aj(a,b,c,d){var _=this +_.c=a +_.d=b +_.a=c +_.b=null +_.$ti=d}, +LB:function LB(){}, +Lz:function Lz(){}, +Od:function Od(){}, +D4:function D4(){}, +ug:function ug(a,b,c,d){var _=this +_.e=a +_.c=b +_.a=c +_.$ti=d}, +aI2(a,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=null +if(a==null||a.length===0)return B.b.gH(a0) +s=t.N +r=t.da +q=A.fx(b,b,b,s,r) +p=A.fx(b,b,b,s,r) +o=A.fx(b,b,b,s,r) +n=A.fx(b,b,b,s,r) +m=A.fx(b,b,b,t.ob,r) +for(l=0;l<1;++l){k=a0[l] +s=k.a +r=B.b_.i(0,s) +if(r==null)r=s +j=k.c +i=B.bf.i(0,j) +if(i==null)i=j +i=r+"_null_"+A.h(i) +if(q.i(0,i)==null)q.n(0,i,k) +r=B.b_.i(0,s) +r=(r==null?s:r)+"_null" +if(o.i(0,r)==null)o.n(0,r,k) +r=B.b_.i(0,s) +if(r==null)r=s +i=B.bf.i(0,j) +if(i==null)i=j +i=r+"_"+A.h(i) +if(p.i(0,i)==null)p.n(0,i,k) +r=B.b_.i(0,s) +s=r==null?s:r +if(n.i(0,s)==null)n.n(0,s,k) +s=B.bf.i(0,j) +if(s==null)s=j +if(m.i(0,s)==null)m.n(0,s,k)}for(h=b,g=h,f=0;f=0?new A.av(s+o,r.gG(r)):A.aa(A.bu()) +n=o.a +m=null +l=o.b +m=l +k=n +o=m.a +j.push(new A.iF(m,new A.dS(o==null?k:o,p)))}return j}, +Ss:function Ss(a,b,c){var _=this +_.a4=a +_.c=_.b=_.a=_.ay=null +_.d=$ +_.e=b +_.r=_.f=null +_.w=c +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +aim:function aim(a,b){this.a=a +this.b=b}, +ail:function ail(a){this.a=a}, +St:function St(){}, +h2:function h2(a,b,c){this.w=a +this.b=b +this.a=c}, +HX:function HX(a,b,c){this.e=a +this.c=b +this.a=c}, +v5:function v5(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +pE:function pE(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +EO:function EO(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +Iy:function Iy(a,b,c,d,e,f,g,h){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.y=f +_.c=g +_.a=h}, +Iz:function Iz(a,b,c,d,e,f,g){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.c=f +_.a=g}, +L1:function L1(a,b,c,d,e,f){var _=this +_.e=a +_.r=b +_.w=c +_.x=d +_.c=e +_.a=f}, +G6:function G6(a,b,c){this.e=a +this.c=b +this.a=c}, +Gi:function Gi(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +cJ:function cJ(a,b,c){this.e=a +this.c=b +this.a=c}, +fm:function fm(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +kX:function kX(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +l2:function l2(a,b,c){this.e=a +this.c=b +this.a=c}, +wH:function wH(a,b,c){this.f=a +this.b=b +this.a=c}, +v4:function v4(a,b,c){this.e=a +this.c=b +this.a=c}, +iS:function iS(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +h_:function h_(a,b,c){this.e=a +this.c=b +this.a=c}, +H7:function H7(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +xp:function xp(a,b,c){this.e=a +this.c=b +this.a=c}, +P4:function P4(a,b){var _=this +_.c=_.b=_.a=_.CW=_.ay=_.p1=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +pp:function pp(a,b,c){this.e=a +this.c=b +this.a=c}, +GQ:function GQ(a,b,c){this.e=a +this.c=b +this.a=c}, +Kp:function Kp(a,b,c){this.e=a +this.c=b +this.a=c}, +H8:function H8(a,b){this.c=a +this.a=b}, +zi:function zi(a,b,c,d){var _=this +_.e=a +_.r=b +_.c=c +_.a=d}, +lF:function lF(a,b,c,d,e,f,g,h){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.y=e +_.z=f +_.b=g +_.a=h}, +IK:function IK(a,b,c,d,e,f){var _=this +_.c=a +_.d=b +_.f=c +_.r=d +_.x=e +_.a=f}, +vW:function vW(){}, +yz:function yz(a,b,c,d,e,f,g,h,i){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.y=f +_.z=g +_.c=h +_.a=i}, +EX:function EX(a,b,c,d,e,f,g,h,i){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.y=f +_.z=g +_.c=h +_.a=i}, +G9:function G9(){}, +vM:function vM(a,b,c,d){var _=this +_.f=a +_.r=b +_.b=c +_.a=d}, +Lt:function Lt(a,b){this.c=a +this.a=b}, +Jv:function Jv(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.y=f +_.z=g +_.Q=h +_.as=i +_.at=j +_.ax=k +_.ay=l +_.ch=m +_.c=n +_.a=o}, +IW:function IW(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){var _=this +_.d=a +_.e=b +_.f=c +_.r=d +_.w=e +_.x=f +_.y=g +_.z=h +_.Q=i +_.as=j +_.at=k +_.ax=l +_.ay=m +_.ch=n +_.CW=o +_.cx=p +_.a=q}, +Hc:function Hc(a,b,c,d,e,f,g,h){var _=this +_.e=a +_.r=b +_.x=c +_.y=d +_.as=e +_.at=f +_.c=g +_.a=h}, +x7:function x7(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.c=e +_.a=f}, +i1:function i1(a,b){this.c=a +this.a=b}, +q7:function q7(a,b,c){this.e=a +this.c=b +this.a=c}, +DQ:function DQ(a,b,c){this.e=a +this.c=b +this.a=c}, +z_:function z_(a,b,c,d,e,f,g){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.x=e +_.c=f +_.a=g}, +x4:function x4(a,b){this.c=a +this.a=b}, +Ef:function Ef(a,b){this.c=a +this.a=b}, +vJ:function vJ(a,b,c){this.e=a +this.c=b +this.a=c}, +wp:function wp(a,b,c){this.e=a +this.c=b +this.a=c}, +iF:function iF(a,b){this.c=a +this.a=b}, +fp:function fp(a,b){this.c=a +this.a=b}, +uT:function uT(a,b,c){this.e=a +this.c=b +this.a=c}, +BB:function BB(a,b,c,d,e){var _=this +_.c8=a +_.B=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +asH(){var s=null,r=A.b([],t.GA),q=$.ad,p=$.aN(),o=A.b([],t.Jh),n=A.b8(7,s,!1,t.JI),m=t.S,l=t.j1 +m=new A.Lr(s,s,$,r,s,!0,new A.b1(new A.a9(q,t.U),t.h),!1,s,!1,$,s,$,$,$,A.E(t.K,t.Ju),!1,0,!1,$,0,s,$,$,new A.RI(A.aA(t.M)),$,$,$,new A.ez(s,p),$,s,A.aA(t.Jx),o,s,A.aI6(),new A.Gv(A.aI5(),n,t.G7),!1,0,A.E(m,t.h1),A.cA(m),A.b([],l),A.b([],l),s,!1,B.cH,!0,!1,s,B.r,B.r,s,0,s,!1,s,s,0,A.lr(s,t.qL),new A.a6i(A.E(m,t.rr),A.E(t.Ld,t.iD)),new A.ZX(A.E(m,t.cK)),new A.a6l(),A.E(m,t.Fn),$,!1,B.By) +m.eA() +m.Xm() +return m}, +aiH:function aiH(a){this.a=a}, +aiI:function aiI(a){this.a=a}, +e1:function e1(){}, +Lq:function Lq(){}, +aiG:function aiG(a,b){this.a=a +this.b=b}, +ac6:function ac6(a,b){this.a=a +this.b=b}, +yy:function yy(a,b,c){this.b=a +this.c=b +this.a=c}, +a7Y:function a7Y(a,b,c){this.a=a +this.b=b +this.c=c}, +a7Z:function a7Z(a){this.a=a}, +yw:function yw(a,b){var _=this +_.c=_.b=_.a=_.ch=_.ay=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +Lr:function Lr(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,e0,e1,e2,e3,e4,e5){var _=this +_.dR$=a +_.ai$=b +_.hc$=c +_.cb$=d +_.dS$=e +_.hM$=f +_.iq$=g +_.m3$=h +_.ct$=i +_.dB$=j +_.ch$=k +_.CW$=l +_.cx$=m +_.cy$=n +_.db$=o +_.dx$=p +_.dy$=q +_.fr$=r +_.fx$=s +_.Ps$=a0 +_.Du$=a1 +_.wm$=a2 +_.wn$=a3 +_.nT$=a4 +_.Dv$=a5 +_.r1$=a6 +_.wk$=a7 +_.r2$=a8 +_.wl$=a9 +_.m0$=b0 +_.afJ$=b1 +_.aa5$=b2 +_.fy$=b3 +_.go$=b4 +_.id$=b5 +_.k1$=b6 +_.k2$=b7 +_.k3$=b8 +_.k4$=b9 +_.ok$=c0 +_.p1$=c1 +_.p2$=c2 +_.p3$=c3 +_.p4$=c4 +_.R8$=c5 +_.RG$=c6 +_.rx$=c7 +_.ry$=c8 +_.to$=c9 +_.x1$=d0 +_.x2$=d1 +_.xr$=d2 +_.y1$=d3 +_.y2$=d4 +_.aV$=d5 +_.bz$=d6 +_.a4$=d7 +_.b2$=d8 +_.bv$=d9 +_.bm$=e0 +_.E$=e1 +_.Z$=e2 +_.a3$=e3 +_.aj$=e4 +_.au$=e5 +_.c=0}, +BR:function BR(){}, +CN:function CN(){}, +CO:function CO(){}, +CP:function CP(){}, +CQ:function CQ(){}, +CR:function CR(){}, +CS:function CS(){}, +CT:function CT(){}, +ali(a,b,c){return new A.Fe(b,c,a,null)}, +ck(a,b,c,d,e,f,g,h,i){var s +if(i!=null||f!=null){s=d==null?null:d.xW(f,i) +if(s==null)s=A.em(f,i)}else s=d +return new A.F1(b,a,h,c,e,s,g,null)}, +Fe:function Fe(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +F1:function F1(a,b,c,d,e,f,g,h){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.x=f +_.y=g +_.a=h}, +Xe(a,b,c,d,e){return new A.l4(b,e,d,a,c)}, +azZ(a,b){var s=null +return new A.fp(new A.Xf(s,s,s,b,a),s)}, +l4:function l4(a,b,c,d,e){var _=this +_.w=a +_.x=b +_.y=c +_.b=d +_.a=e}, +Xf:function Xf(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +P_:function P_(a){this.a=a}, +aA_(){switch(A.eF().a){case 0:var s=$.ao4() +break +case 1:s=$.avx() +break +case 2:s=$.avy() +break +case 3:s=$.avz() +break +case 4:s=$.ao6() +break +case 5:s=$.avB() +break +default:s=null}return s}, +Fn:function Fn(a,b){this.c=a +this.a=b}, +hJ:function hJ(a,b){this.a=a +this.b=b}, +vj:function vj(a,b,c,d,e,f){var _=this +_.c=a +_.w=b +_.x=c +_.y=d +_.ax=e +_.a=f}, +AB:function AB(a,b){this.a=a +this.b=b}, +An:function An(a,b,c,d){var _=this +_.e=_.d=$ +_.r=_.f=null +_.w=0 +_.y=_.x=!1 +_.z=null +_.Q=!1 +_.as=a +_.ft$=b +_.cS$=c +_.b6$=d +_.c=_.a=null}, +ae2:function ae2(a){this.a=a}, +ae3:function ae3(a){this.a=a}, +D_:function D_(){}, +D0:function D0(){}, +aAc(a){var s=a.cx,r=A.Z(s) +return new A.dZ(new A.aF(s,new A.XF(),r.h("aF<1>")),new A.XG(),r.h("dZ<1,x>"))}, +aAd(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g=t.AO,f=A.b([a],g) +for(s=A.dm(b,b.r,A.o(b).c),r=s.$ti.c;s.t();f=p){q=s.d +if(q==null)q=r.a(q) +p=A.b([],g) +for(o=f.length,n=q.a,m=q.b,l=q.d,q=q.c,k=0;k=m&&j.d<=l){h=j.a +if(hq)p.push(new A.x(q,i,q+(h-q),i+(j.d-i)))}else{h=j.a +if(h>=n&&j.c<=q){if(il)p.push(new A.x(h,l,h+(j.c-h),l+(i-l)))}else p.push(j)}}}return f}, +XF:function XF(){}, +XG:function XG(){}, +FA:function FA(a){this.a=a}, +pO:function pO(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +Av:function Av(a,b){var _=this +_.d=$ +_.e=a +_.f=b +_.c=_.a=null}, +anu(a){var s,r,q +for(s=a.length,r=!1,q=0;q>"),n=new A.ay(a,new A.agP(),o) +for(s=new A.bS(n,n.gq(0),o.h("bS")),o=o.h("aI.E"),r=null;s.t();){q=s.d +p=q==null?o.a(q):q +r=(r==null?p:r).jv(0,p)}if(r.gM(r))return B.b.gH(a).a +return B.b.aah(B.b.gH(a).gOZ(),r.gji(r)).w}, +at6(a,b){A.kI(a,new A.agR(b),t.zP)}, +aFr(a,b){A.kI(a,new A.agO(b),t.h7)}, +a6S(){return new A.a6R(A.E(t.l5,t.UJ),A.aIY())}, +alD(a,b){return new A.w2(b==null?A.a6S():b,a,null)}, +Zw(a){var s +for(;s=a.Q,s!=null;a=s){if(a.e==null)return null +if(a instanceof A.AG)return a}return null}, +q_(a){var s,r=A.alG(a,!1,!0) +if(r==null)return null +s=A.Zw(r) +return s==null?null:s.fr}, +aji:function aji(a){this.a=a}, +t_:function t_(a,b){this.b=a +this.c=b}, +m0:function m0(a,b){this.a=a +this.b=b}, +L6:function L6(a,b){this.a=a +this.b=b}, +Gd:function Gd(){}, +Zx:function Zx(){}, +Zz:function Zz(a,b){this.a=a +this.b=b}, +Zy:function Zy(a){this.a=a}, +rV:function rV(a,b){this.a=a +this.b=b}, +N0:function N0(a){this.a=a}, +Xp:function Xp(){}, +agS:function agS(a){this.a=a}, +Xx:function Xx(a){this.a=a}, +Xu:function Xu(a){this.a=a}, +Xt:function Xt(a){this.a=a}, +Xv:function Xv(a){this.a=a}, +Xw:function Xw(a){this.a=a}, +Xr:function Xr(){}, +Xs:function Xs(){}, +Xq:function Xq(a,b,c){this.a=a +this.b=b +this.c=c}, +Xy:function Xy(a){this.a=a}, +Xz:function Xz(a){this.a=a}, +XA:function XA(a){this.a=a}, +XB:function XB(a){this.a=a}, +d8:function d8(a,b,c){var _=this +_.a=a +_.b=b +_.c=c +_.d=null}, +agP:function agP(){}, +agR:function agR(a){this.a=a}, +agQ:function agQ(){}, +j5:function j5(a){this.a=a +this.b=null}, +agN:function agN(){}, +agO:function agO(a){this.a=a}, +a6R:function a6R(a,b){this.r3$=a +this.a=b}, +a6T:function a6T(){}, +a6U:function a6U(){}, +a6V:function a6V(a){this.a=a}, +w2:function w2(a,b,c){this.c=a +this.f=b +this.a=c}, +AG:function AG(a,b,c,d,e,f,g,h,i){var _=this +_.fr=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=null +_.f=f +_.r=g +_.Q=_.y=_.x=_.w=null +_.as=h +_.ay=_.ax=null +_.ch=!1 +_.S$=0 +_.O$=i +_.av$=_.af$=0}, +NI:function NI(){this.d=$ +this.c=this.a=null}, +Ju:function Ju(a){this.a=a +this.b=null}, +nS:function nS(){}, +HO:function HO(a){this.a=a +this.b=null}, +o6:function o6(){}, +IN:function IN(a){this.a=a +this.b=null}, +Fv:function Fv(a){this.a=a +this.b=null}, +NJ:function NJ(){}, +Q3:function Q3(){}, +T4:function T4(){}, +T5:function T5(){}, +aFb(a){a.cN() +a.bn(A.ajZ())}, +aAE(a,b){var s,r,q,p=a.d +p===$&&A.a() +s=b.d +s===$&&A.a() +r=p-s +if(r!==0)return r +q=b.as +if(a.as!==q)return q?-1:1 +return 0}, +aAF(a,b){var s=A.Z(b).h("ay<1,cW>") +return A.aA1(!0,A.a8(new A.ay(b,new A.Yf(),s),!0,s.h("aI.E")),a,B.EC,!0,B.Be,null)}, +aAD(a){a.bL() +a.bn(A.auU())}, +YR(a){var s=a.a,r=s instanceof A.nc?s:null +return new A.G0("",r,new A.ry())}, +aBy(a){return new A.eZ(A.fx(null,null,null,t.W,t.X),a,B.a1)}, +aCg(a){return new A.fF(A.cA(t.W),a,B.a1)}, +ajD(a,b,c,d){var s=new A.bD(b,c,"widgets library",a,d,!1) +A.df(s) +return s}, +eW:function eW(){}, +bz:function bz(a,b){this.a=a +this.$ti=b}, +nl:function nl(a,b){this.a=a +this.$ti=b}, +i:function i(){}, +aU:function aU(){}, +a2:function a2(){}, +af:function af(){}, +aP:function aP(){}, +dM:function dM(){}, +b3:function b3(){}, +at:function at(){}, +H4:function H4(){}, +b_:function b_(){}, +e9:function e9(){}, +rY:function rY(a,b){this.a=a +this.b=b}, +O7:function O7(a){this.b=a}, +afh:function afh(a){this.a=a}, +Vo:function Vo(a,b){var _=this +_.b=_.a=!1 +_.c=a +_.d=null +_.e=b}, +Vp:function Vp(a){this.a=a}, +Vn:function Vn(a,b,c){var _=this +_.a=null +_.b=a +_.c=!1 +_.d=b +_.x=c}, +xl:function xl(){}, +ag9:function ag9(a,b){this.a=a +this.b=b}, +b2:function b2(){}, +Yi:function Yi(a){this.a=a}, +Yg:function Yg(a){this.a=a}, +Yf:function Yf(){}, +Yj:function Yj(a){this.a=a}, +Yk:function Yk(a){this.a=a}, +Yl:function Yl(a){this.a=a}, +Yd:function Yd(a){this.a=a}, +Yc:function Yc(){}, +Yh:function Yh(){}, +Ye:function Ye(a){this.a=a}, +G0:function G0(a,b,c){this.d=a +this.e=b +this.a=c}, +uU:function uU(){}, +WF:function WF(){}, +WG:function WG(){}, +Kx:function Kx(a,b){var _=this +_.c=_.b=_.a=_.ay=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +ho:function ho(a,b,c){var _=this +_.ok=a +_.p1=!1 +_.c=_.b=_.a=_.ay=null +_.d=$ +_.e=b +_.r=_.f=null +_.w=c +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +xU:function xU(){}, +lz:function lz(a,b,c){var _=this +_.c=_.b=_.a=_.ay=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1 +_.$ti=c}, +a5K:function a5K(a){this.a=a}, +eZ:function eZ(a,b,c){var _=this +_.a4=a +_.c=_.b=_.a=_.ay=null +_.d=$ +_.e=b +_.r=_.f=null +_.w=c +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +bv:function bv(){}, +a7X:function a7X(){}, +H3:function H3(a,b){var _=this +_.c=_.b=_.a=_.CW=_.ay=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +z6:function z6(a,b){var _=this +_.c=_.b=_.a=_.CW=_.ay=_.p1=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +fF:function fF(a,b,c){var _=this +_.p1=$ +_.p2=a +_.c=_.b=_.a=_.CW=_.ay=null +_.d=$ +_.e=b +_.r=_.f=null +_.w=c +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +a4S:function a4S(a){this.a=a}, +Jt:function Jt(){}, +qe:function qe(a,b,c){this.a=a +this.b=b +this.$ti=c}, +OY:function OY(a,b){var _=this +_.c=_.b=_.a=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +P0:function P0(a){this.a=a}, +Rx:function Rx(){}, +Gn(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4){return new A.Gm(b,a0,a1,r,s,n,p,q,o,f,l,a3,a4,a2,h,j,k,i,g,m,a,d,c,e)}, +nk:function nk(){}, +cR:function cR(a,b,c){this.a=a +this.b=b +this.$ti=c}, +Gm:function Gm(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.ay=j +_.cy=k +_.rx=l +_.ry=m +_.to=n +_.x2=o +_.xr=p +_.y1=q +_.y2=r +_.aV=s +_.bv=a0 +_.af=a1 +_.av=a2 +_.bW=a3 +_.a=a4}, +a_3:function a_3(a){this.a=a}, +a_4:function a_4(a,b){this.a=a +this.b=b}, +a_5:function a_5(a){this.a=a}, +a_7:function a_7(a,b){this.a=a +this.b=b}, +a_8:function a_8(a){this.a=a}, +a_9:function a_9(a,b){this.a=a +this.b=b}, +a_a:function a_a(a){this.a=a}, +a_b:function a_b(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a_c:function a_c(a){this.a=a}, +a_d:function a_d(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +a_e:function a_e(a){this.a=a}, +a_6:function a_6(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +lG:function lG(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +qJ:function qJ(a){var _=this +_.d=a +_.c=_.a=_.e=null}, +NP:function NP(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +a97:function a97(){}, +adT:function adT(a){this.a=a}, +adY:function adY(a){this.a=a}, +adX:function adX(a){this.a=a}, +adU:function adU(a){this.a=a}, +adV:function adV(a){this.a=a}, +adW:function adW(a,b){this.a=a +this.b=b}, +adZ:function adZ(a){this.a=a}, +ae_:function ae_(a){this.a=a}, +ae0:function ae0(a,b){this.a=a +this.b=b}, +aqc(a,b,c){return new A.nn(b,a,c,null)}, +aqd(a,b,c){var s=A.E(t.K,t.U3) +a.bn(new A.a_x(c,new A.a_w(b,s))) +return s}, +asX(a,b){var s,r=a.gU() +r.toString +t.x.a(r) +s=r.aU(0,b==null?null:b.gU()) +r=r.gv(0) +return A.e_(s,new A.x(0,0,0+r.a,0+r.b))}, +q6:function q6(a,b){this.a=a +this.b=b}, +nn:function nn(a,b,c,d){var _=this +_.c=a +_.e=b +_.w=c +_.a=d}, +a_w:function a_w(a,b){this.a=a +this.b=b}, +a_x:function a_x(a,b){this.a=a +this.b=b}, +t6:function t6(a){var _=this +_.d=a +_.e=null +_.f=!0 +_.c=_.a=null}, +aeV:function aeV(a,b){this.a=a +this.b=b}, +aeU:function aeU(){}, +aeR:function aeR(a,b,c,d,e,f,g,h,i,j,k){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j +_.z=k +_.Q=null +_.ax=_.at=_.as=$}, +kq:function kq(a,b){var _=this +_.a=a +_.b=$ +_.c=null +_.d=b +_.e=$ +_.r=_.f=null +_.x=_.w=!1}, +aeS:function aeS(a){this.a=a}, +aeT:function aeT(a,b){this.a=a +this.b=b}, +wc:function wc(a,b){this.a=a +this.b=b}, +a_v:function a_v(){}, +a_u:function a_u(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a_t:function a_t(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +lc:function lc(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.x=c +_.z=d +_.a=e}, +hQ:function hQ(a,b){this.a=a +this.d=b}, +a_Y(a,b,c){return new A.ns(b,a,c)}, +wj(a,b){return new A.fp(new A.a_Z(null,b,a),null)}, +aqj(a){var s,r,q,p,o,n,m=A.aqi(a).a1(0,a),l=m.a,k=l==null +if(!k&&m.b!=null&&m.c!=null&&m.d!=null&&m.e!=null&&m.f!=null&&m.gdk(0)!=null&&m.x!=null)l=m +else{if(k)l=24 +k=m.b +if(k==null)k=0 +s=m.c +if(s==null)s=400 +r=m.d +if(r==null)r=0 +q=m.e +if(q==null)q=48 +p=m.f +if(p==null)p=B.o +o=m.gdk(0) +if(o==null)o=B.lr.gdk(0) +n=m.w +if(n==null)n=null +l=m.qB(m.x===!0,p,k,r,o,q,n,l,s)}return l}, +aqi(a){var s=a.aa(t.Oh),r=s==null?null:s.w +return r==null?B.lr:r}, +ns:function ns(a,b,c){this.w=a +this.b=b +this.a=c}, +a_Z:function a_Z(a,b,c){this.a=a +this.b=b +this.c=c}, +jE(a,b,c){var s,r,q,p,o,n,m,l,k,j,i=null +if(a==b&&a!=null)return a +s=a==null +r=s?i:a.a +q=b==null +r=A.V(r,q?i:b.a,c) +p=s?i:a.b +p=A.V(p,q?i:b.b,c) +o=s?i:a.c +o=A.V(o,q?i:b.c,c) +n=s?i:a.d +n=A.V(n,q?i:b.d,c) +m=s?i:a.e +m=A.V(m,q?i:b.e,c) +l=s?i:a.f +l=A.t(l,q?i:b.f,c) +k=s?i:a.gdk(0) +k=A.V(k,q?i:b.gdk(0),c) +j=s?i:a.w +j=A.arR(j,q?i:b.w,c) +if(c<0.5)s=s?i:a.x +else s=q?i:b.x +return new A.cB(r,p,o,n,m,l,k,j,s)}, +cB:function cB(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +O4:function O4(){}, +anx(a,b){var s,r +a.aa(t.l4) +s=$.u4() +r=A.dL(a,B.e7) +r=r==null?null:r.b +if(r==null)r=1 +return new A.qa(s,r,A.am_(a),A.dX(a),b,A.eF())}, +wl(a,b,c,d){var s=null +return new A.wk(A.aDo(s,s,new A.um(a,s,s)),d,c,b,s)}, +wk:function wk(a,b,c,d,e){var _=this +_.c=a +_.r=b +_.w=c +_.as=d +_.a=e}, +AN:function AN(){var _=this +_.f=_.e=_.d=null +_.r=!1 +_.w=$ +_.x=null +_.y=!1 +_.z=$ +_.c=_.a=_.ax=_.at=_.as=_.Q=null}, +afd:function afd(a,b,c){this.a=a +this.b=b +this.c=c}, +afe:function afe(a){this.a=a}, +aff:function aff(a){this.a=a}, +afg:function afg(a){this.a=a}, +SU:function SU(){}, +aoO(a,b,c){return new A.u8(a,c,B.a2,b,null,null)}, +Fh:function Fh(a,b){this.a=a +this.b=b}, +vv:function vv(a,b){this.a=a +this.b=b}, +mM:function mM(a,b){this.a=a +this.b=b}, +oA:function oA(a,b){this.a=a +this.b=b}, +GM:function GM(){}, +qd:function qd(){}, +a0x:function a0x(a){this.a=a}, +a0w:function a0w(a){this.a=a}, +a0v:function a0v(a,b){this.a=a +this.b=b}, +pm:function pm(){}, +UD:function UD(){}, +u8:function u8(a,b,c,d,e,f){var _=this +_.r=a +_.w=b +_.c=c +_.d=d +_.e=e +_.a=f}, +LG:function LG(a,b){var _=this +_.CW=null +_.e=_.d=$ +_.jk$=a +_.dQ$=b +_.c=_.a=null}, +acg:function acg(){}, +ua:function ua(a,b,c,d,e,f,g,h,i,j){var _=this +_.r=a +_.x=b +_.z=c +_.Q=d +_.as=e +_.at=f +_.c=g +_.d=h +_.e=i +_.a=j}, +LH:function LH(a,b){var _=this +_.db=_.cy=_.cx=_.CW=null +_.e=_.d=$ +_.jk$=a +_.dQ$=b +_.c=_.a=null}, +ach:function ach(){}, +aci:function aci(){}, +acj:function acj(){}, +ack:function ack(){}, +t8:function t8(){}, +aBz(a,b,c,d){var s,r=a.jO(d) +if(r==null)return +c.push(r) +s=r.e +s.toString +d.a(s) +return}, +bM(a,b,c){var s,r,q,p,o,n +if(b==null)return a.aa(c) +s=A.b([],t.Fa) +A.aBz(a,b,s,c) +if(s.length===0)return null +r=B.b.gP(s) +for(q=s.length,p=0;p>")),i).aT(0,new A.ajA(k,h),t.e3)}, +am_(a){var s=a.aa(t.Gk) +return s==null?null:s.r.f}, +nG(a,b,c){var s=a.aa(t.Gk) +return s==null?null:c.h("0?").a(J.ah(s.r.e,b))}, +tl:function tl(a,b){this.a=a +this.b=b}, +ajy:function ajy(a){this.a=a}, +ajz:function ajz(){}, +ajA:function ajA(a,b){this.a=a +this.b=b}, +f1:function f1(){}, +SD:function SD(){}, +Fp:function Fp(){}, +AX:function AX(a,b,c,d){var _=this +_.r=a +_.w=b +_.b=c +_.a=d}, +wO:function wO(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +Ot:function Ot(a,b){var _=this +_.d=a +_.e=b +_.c=_.a=_.f=null}, +afG:function afG(a){this.a=a}, +afH:function afH(a,b){this.a=a +this.b=b}, +afF:function afF(a,b,c){this.a=a +this.b=b +this.c=c}, +aBW(a,b){var s,r +a.aa(t.bS) +s=A.aBY(a,b) +if(s==null)return null +a.yT(s,null) +r=s.e +r.toString +return b.a(r)}, +aBY(a,b){var s,r,q,p=a.jO(b) +if(p==null)return null +s=a.jO(t.bS) +if(s!=null){r=s.d +r===$&&A.a() +q=p.d +q===$&&A.a() +q=r>q +r=q}else r=!1 +if(r)return null +return p}, +aBX(a,b){var s={} +s.a=null +a.mr(new A.a1y(s,b)) +s=s.a +if(s==null)s=null +else{s=s.ok +s.toString}return b.h("0?").a(s)}, +am0(a,b){var s={} +s.a=null +a.mr(new A.a1x(s,b)) +s=s.a +s=s==null?null:s.gU() +return b.h("0?").a(s)}, +a1y:function a1y(a,b){this.a=a +this.b=b}, +a1x:function a1x(a,b){this.a=a +this.b=b}, +x1(a,b){return new A.iI(b,a,null)}, +aqS(a,b,c,d,e,f){return new A.iI(A.bM(b,null,t.w).w.RF(c,!0,!0,f),a,null)}, +aC8(a,b){return new A.fp(new A.a4e(0,b,a),null)}, +dL(a,b){var s=A.bM(a,b,t.w) +return s==null?null:s.w}, +I_:function I_(a,b){this.a=a +this.b=b}, +dT:function dT(a,b){this.a=a +this.b=b}, +x2:function x2(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){var _=this +_.a=a +_.b=b +_.d=c +_.e=d +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.Q=k +_.as=l +_.at=m +_.ax=n +_.ay=o +_.ch=p +_.CW=q +_.cx=r +_.cy=s}, +iI:function iI(a,b,c){this.w=a +this.b=b +this.a=c}, +a4e:function a4e(a,b,c){this.a=a +this.b=b +this.c=c}, +a4d:function a4d(a,b){this.a=a +this.b=b}, +HM:function HM(a,b){this.a=a +this.b=b}, +B5:function B5(a,b,c){this.c=a +this.e=b +this.a=c}, +OA:function OA(){var _=this +_.c=_.a=_.e=_.d=null}, +ag_:function ag_(a,b){this.a=a +this.b=b}, +SX:function SX(){}, +aqT(a,b,c,d,e,f,g){return new A.Hz(c,d,e,!0,f,b,g,null)}, +Hz:function Hz(a,b,c,d,e,f,g,h){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.a=h}, +a4E:function a4E(a,b){this.a=a +this.b=b}, +rL:function rL(a,b,c,d,e,f,g,h,i){var _=this +_.a4=null +_.k3=_.k2=!1 +_.ok=_.k4=null +_.at=a +_.ay=b +_.ch=c +_.cx=_.CW=null +_.cy=!1 +_.db=null +_.f=d +_.r=e +_.w=null +_.a=f +_.b=null +_.c=g +_.d=h +_.e=i}, +LN:function LN(a){this.a=a}, +OK:function OK(a,b,c){this.c=a +this.d=b +this.a=c}, +HN:function HN(a,b,c,d,e,f){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f}, +Cy:function Cy(a,b){this.a=a +this.b=b}, +aii:function aii(a,b,c){var _=this +_.d=a +_.e=b +_.f=c +_.b=null}, +ar2(a,b){var s=A.jO(a,!1),r=A.an3(b,B.jM,!1,null),q=s.e +J.ayn(q.QC(0,A.ij()),null,!0) +q.a.push(r) +q.ap() +s.uq() +s.zn() +return b.d.a}, +ar1(a){return A.jO(a,!1).acW(null)}, +jO(a,b){var s,r +if(a instanceof A.ho){s=a.ok +s.toString +s=s instanceof A.iJ}else s=!1 +if(s){s=a.ok +s.toString +t.uK.a(s) +r=s}else r=null +if(r==null)r=a.r8(t.uK) +r.toString +return r}, +aCr(a,b){var s,r,q,p,o,n,m=null,l=A.b([],t.ny) +if(B.d.c6(b,"/")&&b.length>1){b=B.d.cZ(b,1) +s=t.z +l.push(a.v9("/",!0,m,s)) +r=b.split("/") +if(b.length!==0)for(q=r.length,p="",o=0;o=3}, +aFz(a){return a.gaf4()}, +at8(a){return new A.ahj(a)}, +ar0(a,b){var s,r,q,p +for(s=a.a,r=s.f,q=r.length,p=0;p") +n.w!==$&&A.bx() +n.w=new A.b0(m,p,q) +n.y!==$&&A.bx() +n.y=new A.b0(m,o,q) +q=c.w2(n.ga6l()) +n.z!==$&&A.bx() +n.z=q +return n}, +w9:function w9(a,b,c,d){var _=this +_.e=a +_.f=b +_.w=c +_.a=d}, +AL:function AL(a,b,c){var _=this +_.r=_.f=_.e=_.d=null +_.w=a +_.cS$=b +_.b6$=c +_.c=_.a=null}, +t4:function t4(a,b){this.a=a +this.b=b}, +AK:function AK(a,b,c,d,e,f){var _=this +_.a=a +_.b=$ +_.c=null +_.e=_.d=0 +_.f=$ +_.r=b +_.w=$ +_.x=c +_.z=_.y=$ +_.Q=null +_.at=_.as=0.5 +_.ax=0 +_.ay=d +_.ch=e +_.S$=0 +_.O$=f +_.av$=_.af$=0}, +aeP:function aeP(a){this.a=a}, +NQ:function NQ(a,b,c,d){var _=this +_.b=a +_.c=b +_.d=c +_.a=d}, +RA:function RA(a,b){this.a=a +this.b=b}, +zm:function zm(a,b,c,d){var _=this +_.c=a +_.e=b +_.f=c +_.a=d}, +Co:function Co(a,b){var _=this +_.d=$ +_.f=_.e=null +_.r=0 +_.w=!0 +_.cS$=a +_.b6$=b +_.c=_.a=null}, +ahS:function ahS(a,b,c){this.a=a +this.b=b +this.c=c}, +tA:function tA(a,b){this.a=a +this.b=b}, +Cn:function Cn(a,b,c,d){var _=this +_.c=_.b=_.a=$ +_.d=a +_.e=b +_.f=0 +_.r=c +_.S$=0 +_.O$=d +_.av$=_.af$=0}, +xs:function xs(a,b){this.a=a +this.e9$=b}, +Bl:function Bl(){}, +D2:function D2(){}, +D8:function D8(){}, +ara(a,b){var s=a.e +s.toString +return!(s instanceof A.qA)}, +a5E(a){var s=a.Pz(t.Mf) +return s==null?null:s.d}, +Cl:function Cl(a){this.a=a}, +I4:function I4(){this.a=null}, +a5D:function a5D(a){this.a=a}, +qA:function qA(a,b,c){this.c=a +this.d=b +this.a=c}, +ar9(a,b){return new A.I2(a,b,null,null,A.b([],t.ZP),$.aN())}, +I2:function I2(a,b,c,d,e,f){var _=this +_.as=a +_.ax=b +_.c=c +_.d=d +_.f=e +_.S$=0 +_.O$=f +_.av$=_.af$=0}, +I3:function I3(a,b,c,d,e,f,g){var _=this +_.r=a +_.a=b +_.b=c +_.c=d +_.d=e +_.e=f +_.f=g}, +mk:function mk(a,b,c,d,e,f,g,h,i){var _=this +_.S=a +_.O=null +_.af=b +_.k3=0 +_.k4=c +_.ok=null +_.r=d +_.w=e +_.x=f +_.y=g +_.Q=_.z=null +_.as=0 +_.ax=_.at=null +_.ay=!1 +_.ch=!0 +_.CW=!1 +_.cx=null +_.cy=!1 +_.dx=_.db=null +_.dy=h +_.fr=null +_.S$=0 +_.O$=i +_.av$=_.af$=0}, +AH:function AH(a,b){this.b=a +this.a=b}, +qz:function qz(a){this.a=a}, +xu:function xu(a,b,c,d,e,f){var _=this +_.r=a +_.w=b +_.z=c +_.Q=d +_.as=e +_.a=f}, +Pc:function Pc(){var _=this +_.d=0 +_.e=$ +_.c=_.a=null}, +agk:function agk(a){this.a=a}, +agl:function agl(a,b){this.a=a +this.b=b}, +xt:function xt(){}, +a4f:function a4f(){}, +a63:function a63(){}, +Fm:function Fm(a,b){this.a=a +this.d=b}, +aGU(a){$.bC.p2$.push(new A.ajd(a))}, +Gz:function Gz(a,b){this.c=a +this.a=b}, +xN:function xN(a,b){this.a=a +this.c=b}, +xO:function xO(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +Bq:function Bq(){var _=this +_.e=_.d=null +_.f=!1 +_.c=_.a=_.w=_.r=null}, +agr:function agr(a){this.a=a}, +agq:function agq(a){this.a=a}, +qC:function qC(a,b,c,d){var _=this +_.d=a +_.e=b +_.f=c +_.a=d}, +Pj:function Pj(a,b,c,d,e){var _=this +_.c8=a +_.B=b +_.C$=c +_.fx=d +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=e +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +ags:function ags(a){this.a=a}, +Pi:function Pi(a,b,c){this.e=a +this.c=b +this.a=c}, +ajd:function ajd(a){this.a=a}, +arm(a){return new A.qH(null,null,B.Jw,a,null)}, +arn(a,b){var s,r=a.Pz(t.bb) +if(r==null)return!1 +s=A.yJ(a).hr(a) +if(r.w.p(0,s))return r.r===b +return!1}, +IP(a){var s=a.aa(t.bb) +return s==null?null:s.f}, +qH:function qH(a,b,c,d,e){var _=this +_.f=a +_.r=b +_.w=c +_.b=d +_.a=e}, +qR(a){var s=a.aa(t.lQ) +return s==null?null:s.f}, +abH(a,b){return new A.zR(a,b,null)}, +lL:function lL(a,b,c){this.c=a +this.d=b +this.a=c}, +QF:function QF(a,b,c,d,e){var _=this +_.bB$=a +_.h7$=b +_.wj$=c +_.ez$=d +_.h8$=e +_.c=_.a=null}, +zR:function zR(a,b,c){this.f=a +this.b=b +this.a=c}, +yx:function yx(a,b,c){this.c=a +this.d=b +this.a=c}, +BS:function BS(){var _=this +_.d=null +_.e=!1 +_.r=_.f=null +_.w=!1 +_.c=_.a=null}, +ah9:function ah9(a){this.a=a}, +ah8:function ah8(a,b){this.a=a +this.b=b}, +dO:function dO(){}, +iQ:function iQ(){}, +a7W:function a7W(a,b){this.a=a +this.b=b}, +aiR:function aiR(){}, +T9:function T9(){}, +bI:function bI(){}, +ie:function ie(){}, +BQ:function BQ(){}, +yt:function yt(a,b,c){var _=this +_.cy=a +_.y=null +_.a=!1 +_.c=_.b=null +_.S$=0 +_.O$=b +_.av$=_.af$=0 +_.$ti=c}, +ys:function ys(a,b){var _=this +_.cy=a +_.y=null +_.a=!1 +_.c=_.b=null +_.S$=0 +_.O$=b +_.av$=_.af$=0}, +aiS:function aiS(){}, +lM:function lM(a,b){this.b=a +this.c=b}, +Jz:function Jz(a,b,c,d,e,f,g){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.a=f +_.$ti=g}, +a8_:function a8_(a,b){this.a=a +this.b=b}, +ts:function ts(a,b,c,d,e,f,g){var _=this +_.e=_.d=null +_.f=a +_.r=$ +_.w=!1 +_.bB$=b +_.h7$=c +_.wj$=d +_.ez$=e +_.h8$=f +_.c=_.a=null +_.$ti=g}, +ahq:function ahq(a){this.a=a}, +ahr:function ahr(a){this.a=a}, +ahp:function ahp(a){this.a=a}, +ahn:function ahn(a,b,c){this.a=a +this.b=b +this.c=c}, +ahk:function ahk(a){this.a=a}, +ahl:function ahl(a,b){this.a=a +this.b=b}, +aho:function aho(){}, +ahm:function ahm(){}, +QN:function QN(a,b,c,d,e,f,g){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.y=e +_.b=f +_.a=g}, +QC:function QC(a){var _=this +_.y=null +_.a=!1 +_.c=_.b=null +_.S$=0 +_.O$=a +_.av$=_.af$=0}, +tJ:function tJ(){}, +HA(a,b){var s=A.bM(a,null,t.Fe) +s=s==null?null:s.z +return b.h("fD<0>?").a(s)}, +qx:function qx(){}, +dR:function dR(){}, +abB:function abB(a,b,c){this.a=a +this.b=b +this.c=c}, +abz:function abz(a,b,c){this.a=a +this.b=b +this.c=c}, +abA:function abA(a,b,c){this.a=a +this.b=b +this.c=c}, +aby:function aby(a,b){this.a=a +this.b=b}, +Hd:function Hd(){}, +N3:function N3(a,b){this.e=a +this.a=b +this.b=null}, +B8:function B8(a,b,c,d,e,f){var _=this +_.w=a +_.x=b +_.y=c +_.z=d +_.b=e +_.a=f}, +ag6:function ag6(a,b){this.a=a +this.b=b}, +tf:function tf(a,b,c){this.c=a +this.a=b +this.$ti=c}, +mh:function mh(a,b,c){var _=this +_.d=null +_.e=$ +_.f=a +_.r=b +_.c=_.a=null +_.$ti=c}, +ag0:function ag0(a){this.a=a}, +ag4:function ag4(a){this.a=a}, +ag5:function ag5(a){this.a=a}, +ag3:function ag3(a){this.a=a}, +ag1:function ag1(a){this.a=a}, +ag2:function ag2(a){this.a=a}, +fD:function fD(){}, +a4H:function a4H(a,b){this.a=a +this.b=b}, +a4F:function a4F(a,b){this.a=a +this.b=b}, +a4G:function a4G(){}, +xQ:function xQ(){}, +oS:function oS(){}, +aml(a,b,c){return new A.JD(c,a,b,null)}, +JD:function JD(a,b,c,d){var _=this +_.d=a +_.f=b +_.x=c +_.a=d}, +JQ:function JQ(){}, +ld:function ld(a){this.a=a +this.b=!1}, +a_y:function a_y(a,b){this.c=a +this.a=b +this.b=!1}, +a8B:function a8B(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +Y0:function Y0(a,b){this.c=a +this.a=b +this.b=!1}, +Ec:function Ec(a,b){var _=this +_.c=$ +_.d=a +_.a=b +_.b=!1}, +FO:function FO(a){var _=this +_.d=_.c=$ +_.a=a +_.b=!1}, +yH:function yH(a,b,c){this.a=a +this.b=b +this.$ti=c}, +a8x:function a8x(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a8w:function a8w(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +aDC(a,b){return new A.yI(a,b,null)}, +yJ(a){var s=a.aa(t.Cy),r=s==null?null:s.f +return r==null?B.za:r}, +JR:function JR(){}, +a8y:function a8y(){}, +a8z:function a8z(){}, +a8A:function a8A(){}, +aiJ:function aiJ(a,b,c,d,e,f,g,h){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h}, +yI:function yI(a,b,c){this.f=a +this.b=b +this.a=c}, +amm(a,b){return new A.qZ(a,b,A.b([],t.ZP),$.aN())}, +qZ:function qZ(a,b,c,d){var _=this +_.c=a +_.d=b +_.f=c +_.S$=0 +_.O$=d +_.av$=_.af$=0}, +anm(a,b){return b}, +a9N:function a9N(){}, +tu:function tu(a){this.a=a}, +a9M:function a9M(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.w=f}, +a9O:function a9O(a,b){this.f=a +this.r=b}, +tv:function tv(a,b){this.c=a +this.a=b}, +C8:function C8(a){var _=this +_.f=_.e=_.d=null +_.r=!1 +_.ft$=a +_.c=_.a=null}, +ahD:function ahD(a,b){this.a=a +this.b=b}, +Te:function Te(){}, +i3:function i3(){}, +vV:function vV(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +Nx:function Nx(){}, +amn(a,b,c,d,e){var s=new A.hl(c,e,d,a,0) +if(b!=null)s.e9$=b +return s}, +aIG(a){return a.e9$===0}, +fb:function fb(){}, +Ll:function Ll(){}, +ev:function ev(){}, +yM:function yM(a,b,c,d){var _=this +_.d=a +_.a=b +_.b=c +_.e9$=d}, +hl:function hl(a,b,c,d,e){var _=this +_.d=a +_.e=b +_.a=c +_.b=d +_.e9$=e}, +iL:function iL(a,b,c,d,e,f){var _=this +_.d=a +_.e=b +_.f=c +_.a=d +_.b=e +_.e9$=f}, +k7:function k7(a,b,c,d){var _=this +_.d=a +_.a=b +_.b=c +_.e9$=d}, +Lf:function Lf(a,b,c,d){var _=this +_.d=a +_.a=b +_.b=c +_.e9$=d}, +C_:function C_(){}, +BZ:function BZ(a,b,c){this.f=a +this.b=b +this.a=c}, +mf:function mf(a){var _=this +_.a=a +_.hb$=_.ha$=_.h9$=null}, +yL:function yL(a,b){this.c=a +this.a=b}, +JU:function JU(a){this.d=a +this.c=this.a=null}, +a8C:function a8C(a){this.a=a}, +a8D:function a8D(a){this.a=a}, +a8E:function a8E(a){this.a=a}, +az6(a,b,c){var s,r +if(a>0){s=a/c +if(b"))}, +anj(a,b){var s=$.am.ai$.x.i(0,a).gU() +s.toString +return t.x.a(s).l8(b)}, +au2(a,b){var s +if($.am.ai$.x.i(0,a)==null)return!1 +s=$.am.ai$.x.i(0,a).e +s.toString +s=t.ip.a(s).f +s.toString +return t.sm.a(s).Q8(A.anj(a,b.gbR(b)),b.gck(b))}, +aHr(a,b){var s,r,q +if($.am.ai$.x.i(0,a)==null)return!1 +s=$.am.ai$.x.i(0,a).e +s.toString +s=t.ip.a(s).f +s.toString +t.sm.a(s) +r=A.anj(a,b.gbR(b)) +q=b.gck(b) +return s.abC(r,q)&&!s.Q8(r,q)}, +r_:function r_(a,b){this.a=a +this.b=b}, +yQ:function yQ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=null +_.f=e +_.r=f +_.w=g +_.x=h +_.y=i +_.z=j +_.Q=k +_.as=l +_.at=m +_.ax=n +_.ay=!1 +_.CW=_.ch=null +_.cy=_.cx=$ +_.dx=_.db=null +_.S$=0 +_.O$=o +_.av$=_.af$=0}, +a8S:function a8S(){}, +qL:function qL(a,b,c,d,e,f,g,h,i,j,k,l){var _=this +_.c=a +_.d=b +_.e=c +_.r=d +_.w=e +_.Q=f +_.ay=g +_.ch=h +_.cx=i +_.cy=j +_.db=k +_.a=l}, +iO:function iO(a,b,c,d,e){var _=this +_.w=_.r=_.f=_.e=_.d=null +_.y=_.x=$ +_.z=a +_.Q=!1 +_.as=null +_.at=!1 +_.ay=_.ax=null +_.ch=b +_.CW=$ +_.cS$=c +_.b6$=d +_.c=_.a=null +_.$ti=e}, +a6N:function a6N(a){this.a=a}, +a6L:function a6L(a,b){this.a=a +this.b=b}, +a6M:function a6M(a){this.a=a}, +a6H:function a6H(a){this.a=a}, +a6I:function a6I(a){this.a=a}, +a6J:function a6J(a){this.a=a}, +a6K:function a6K(a){this.a=a}, +a6O:function a6O(a){this.a=a}, +a6P:function a6P(a){this.a=a}, +jd:function jd(a,b,c,d,e,f,g,h,i,j){var _=this +_.jo=a +_.O=_.S=_.au=_.aj=_.a3=_.Z=_.E=_.bm=_.bv=_.b2=_.a4=null +_.k3=_.k2=!1 +_.ok=_.k4=null +_.at=b +_.ay=c +_.ch=d +_.cx=_.CW=null +_.cy=!1 +_.db=null +_.f=e +_.r=f +_.w=null +_.a=g +_.b=null +_.c=h +_.d=i +_.e=j}, +mr:function mr(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.B=a +_.at=b +_.ax=c +_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=null +_.fr=!1 +_.fx=d +_.fy=e +_.k1=_.id=_.go=$ +_.k4=_.k3=_.k2=null +_.ok=$ +_.p1=!1 +_.p2=f +_.p3=g +_.p4=null +_.R8=h +_.RG=i +_.rx=null +_.f=j +_.r=k +_.w=null +_.a=l +_.b=null +_.c=m +_.d=n +_.e=o}, +mb:function mb(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){var _=this +_.B=a +_.at=b +_.ax=c +_.dy=_.dx=_.db=_.cy=_.cx=_.CW=_.ch=_.ay=null +_.fr=!1 +_.fx=d +_.fy=e +_.k1=_.id=_.go=$ +_.k4=_.k3=_.k2=null +_.ok=$ +_.p1=!1 +_.p2=f +_.p3=g +_.p4=null +_.R8=h +_.RG=i +_.rx=null +_.f=j +_.r=k +_.w=null +_.a=l +_.b=null +_.c=m +_.d=n +_.e=o}, +tp:function tp(){}, +aqW(a){var s,r=B.b.gH(a.gjf()) +for(s=1;s-3))s=q-r<3&&b.d-a.d>-3 +else s=!0 +if(s)return 0 +if(Math.abs(p)>3)return r>q?1:-1 +return a.d>b.d?1:-1}, +aCh(a,b){var s=a.a,r=b.a,q=s-r +if(q<1e-10&&a.c-b.c>-1e-10)return-1 +if(r-s<1e-10&&b.c-a.c>-1e-10)return 1 +if(Math.abs(q)>1e-10)return s>r?1:-1 +return a.c>b.c?1:-1}, +qs:function qs(){}, +a5_:function a5_(a){this.a=a}, +a50:function a50(a,b,c){this.a=a +this.b=b +this.c=c}, +a51:function a51(){}, +a4W:function a4W(a,b){this.a=a +this.b=b}, +a4X:function a4X(a){this.a=a}, +a4Y:function a4Y(a,b){this.a=a +this.b=b}, +a4Z:function a4Z(a){this.a=a}, +OP:function OP(){}, +yV(a){var s=a.aa(t.Wu) +return s==null?null:s.f}, +arQ(a,b){return new A.r1(b,a,null)}, +oj:function oj(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +R1:function R1(a,b,c){var _=this +_.d=a +_.nS$=b +_.m1$=c +_.c=_.a=null}, +r1:function r1(a,b,c){this.f=a +this.b=b +this.a=c}, +K0:function K0(){}, +Td:function Td(){}, +D7:function D7(){}, +z4:function z4(a,b){this.c=a +this.a=b}, +R9:function R9(){this.d=$ +this.c=this.a=null}, +Ra:function Ra(a,b,c){this.x=a +this.b=b +this.a=c}, +dy(a,b,c,d,e){return new A.a0(a,c,e,b,d,B.j)}, +aDV(a){var s=A.E(t.y6,t.Xw) +a.V(0,new A.a9B(s)) +return s}, +amq(a,b,c){return new A.os(null,c,a,b,null)}, +wP:function wP(a,b){this.a=a +this.b=b}, +a0:function a0(a,b,c,d,e,f){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f}, +m4:function m4(a,b){this.a=a +this.b=b}, +r8:function r8(a,b){var _=this +_.b=a +_.c=null +_.S$=0 +_.O$=b +_.av$=_.af$=0}, +a9B:function a9B(a){this.a=a}, +a9A:function a9A(){}, +os:function os(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +Cb:function Cb(){this.c=this.a=this.d=null}, +Kb:function Kb(a,b){var _=this +_.c=a +_.S$=0 +_.O$=b +_.av$=_.af$=0}, +z5:function z5(a,b){this.c=a +this.a=b}, +Ca:function Ca(a,b){var _=this +_.d=a +_.e=b +_.c=_.a=null}, +Rd:function Rd(a,b,c){this.f=a +this.b=b +this.a=c}, +Rb:function Rb(){}, +Rc:function Rc(){}, +Re:function Re(){}, +Rh:function Rh(){}, +Ri:function Ri(){}, +SI:function SI(){}, +amr(a,b,c,d,e,f){return new A.Kd(f,d,b,e,a,c,null)}, +Kd:function Kd(a,b,c,d,e,f,g){var _=this +_.c=a +_.e=b +_.f=c +_.w=d +_.x=e +_.y=f +_.a=g}, +a9E:function a9E(a,b,c){this.a=a +this.b=b +this.c=c}, +tx:function tx(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +Rj:function Rj(a,b){var _=this +_.c=_.b=_.a=_.CW=_.ay=_.p1=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +BN:function BN(a,b,c,d,e,f,g){var _=this +_.E=a +_.Z=b +_.a3=c +_.aj=d +_.C$=e +_.fx=f +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +agZ:function agZ(a,b){this.a=a +this.b=b}, +agY:function agY(a){this.a=a}, +D5:function D5(){}, +Tf:function Tf(){}, +Tg:function Tg(){}, +as5(a,b){return new A.ra(b,A.amv(t.S,t.Dv),a,B.a1)}, +aE_(a,b,c,d,e){if(b===e-1)return d +return d+(d-c)/(b-a+1)*(e-b-1)}, +aBE(a,b){return new A.wC(b,a,null)}, +Kq:function Kq(){}, +ou:function ou(){}, +Ko:function Ko(a,b){this.d=a +this.a=b}, +ra:function ra(a,b,c,d){var _=this +_.p1=a +_.p2=b +_.p4=_.p3=null +_.R8=!1 +_.c=_.b=_.a=_.CW=_.ay=null +_.d=$ +_.e=c +_.r=_.f=null +_.w=d +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +a9S:function a9S(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e}, +a9Q:function a9Q(){}, +a9R:function a9R(a,b){this.a=a +this.b=b}, +a9P:function a9P(a,b,c){this.a=a +this.b=b +this.c=c}, +a9T:function a9T(a,b){this.a=a +this.b=b}, +wC:function wC(a,b,c){this.f=a +this.b=b +this.a=c}, +Kk:function Kk(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +Rl:function Rl(a,b,c){this.f=a +this.d=b +this.a=c}, +Rm:function Rm(a,b,c){this.e=a +this.c=b +this.a=c}, +Qu:function Qu(a,b,c){var _=this +_.ct=null +_.dB=a +_.ea=null +_.C$=b +_.b=_.fx=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=c +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +as6(a,b,c,d,e){return new A.Kt(c,d,!0,e,b,null)}, +ze:function ze(a,b){this.a=a +this.b=b}, +zd:function zd(a){var _=this +_.a=!1 +_.S$=0 +_.O$=a +_.av$=_.af$=0}, +Kt:function Kt(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.c=e +_.a=f}, +tr:function tr(a,b,c,d,e,f,g,h){var _=this +_.B=a +_.a_=b +_.ak=c +_.bK=d +_.cC=e +_.cT=_.b8=null +_.eW=!1 +_.fu=null +_.C$=f +_.fx=g +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=h +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Ks:function Ks(){}, +MU:function MU(){}, +KI:function KI(a,b){this.c=a +this.a=b}, +Jr:function Jr(a,b,c,d,e,f,g){var _=this +_.c8=a +_.eT=b +_.cQ=c +_.B=d +_.C$=e +_.fx=f +_.b=_.id=null +_.c=0 +_.y=_.d=null +_.z=!0 +_.Q=null +_.as=!1 +_.at=null +_.ay=$ +_.ch=g +_.CW=!1 +_.cx=$ +_.cy=!0 +_.db=!1 +_.dx=null +_.dy=!0 +_.fr=null}, +Ng:function Ng(){}, +n_(a,b,c,d,e,f,g,h){return new A.pN(e,f,d,c,b,h,g,a,null)}, +apm(a){var s=a.aa(t.uy) +return s==null?null:s.gxU()}, +bJ(a,b,c,d){var s=null +return new A.cT(a,s,d,s,c,b,s,s)}, +aFB(a,b){var s=A.e_(a.aU(0,null),B.b.gH(a.gjf())),r=A.e_(b.aU(0,null),B.b.gH(b.gjf())),q=A.aFC(s,r) +if(q!==0)return q +return A.aFA(s,r)}, +aFC(a,b){var s,r=a.b,q=b.b,p=r-q +if(!(p<3&&a.d-b.d>-3))s=q-r<3&&b.d-a.d>-3 +else s=!0 +if(s)return 0 +if(Math.abs(p)>3)return r>q?1:-1 +return a.d>b.d?1:-1}, +aFA(a,b){var s=a.a,r=b.a,q=s-r +if(q<1e-10&&a.c-b.c>-1e-10)return-1 +if(r-s<1e-10&&b.c-a.c>-1e-10)return 1 +if(Math.abs(q)>1e-10)return s>r?1:-1 +return a.c>b.c?1:-1}, +pN:function pN(a,b,c,d,e,f,g,h,i){var _=this +_.w=a +_.x=b +_.y=c +_.z=d +_.Q=e +_.as=f +_.at=g +_.b=h +_.a=i}, +P1:function P1(a){this.a=a}, +cT:function cT(a,b,c,d,e,f,g,h){var _=this +_.c=a +_.d=b +_.e=c +_.r=d +_.y=e +_.z=f +_.at=g +_.a=h}, +C6:function C6(a,b,c,d,e,f,g,h,i,j,k,l,m){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.a=m}, +R0:function R0(a){var _=this +_.d=$ +_.e=a +_.c=_.a=null}, +QK:function QK(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.r=e +_.w=f +_.x=g +_.y=h +_.z=i +_.Q=j +_.as=k +_.at=l +_.ax=m +_.a=n}, +C7:function C7(a,b,c,d,e,f,g){var _=this +_.dx=a +_.dy=b +_.fr=c +_.fy=_.fx=null +_.b=d +_.d=_.c=-1 +_.w=_.r=_.f=_.e=null +_.z=_.y=_.x=!1 +_.Q=e +_.as=!1 +_.at=f +_.S$=0 +_.O$=g +_.av$=_.af$=0 +_.a=null}, +ahz:function ahz(a,b){this.a=a +this.b=b}, +ahA:function ahA(a){this.a=a}, +ahB:function ahB(a){this.a=a}, +ahC:function ahC(a){this.a=a}, +FC:function FC(){}, +Fw:function Fw(){}, +va:function va(){}, +vc:function vc(){}, +vb:function vb(){}, +Fu:function Fu(){}, +n3:function n3(){}, +n6:function n6(){}, +vQ:function vQ(){}, +vK:function vK(){}, +vL:function vL(){}, +hP:function hP(){}, +n7:function n7(){}, +n8:function n8(){}, +n5:function n5(){}, +vP:function vP(){}, +n4:function n4(){}, +yN:function yN(){}, +JZ:function JZ(){}, +uZ:function uZ(){}, +Is:function Is(){}, +J0:function J0(){}, +L8:function L8(){}, +L5:function L5(){}, +KT:function KT(a,b){this.d=a +this.a=b}, +asj(a){var s=a.aa(t.l3),r=s==null?null:s.f +return r!==!1}, +asi(a){var s=a.ye(t.l3),r=s==null?null:s.r +return r==null?B.zp:r}, +rv:function rv(a,b,c){this.c=a +this.d=b +this.a=c}, +RY:function RY(a){var _=this +_.d=!0 +_.e=a +_.c=_.a=null}, +Aw:function Aw(a,b,c,d){var _=this +_.f=a +_.r=b +_.b=c +_.a=d}, +lU:function lU(){}, +eg:function eg(){}, +SC:function SC(a,b){var _=this +_.w=a +_.a=null +_.b=!1 +_.c=null +_.d=b +_.e=null}, +Ah:function Ah(){}, +KZ:function KZ(a,b,c,d){var _=this +_.c=a +_.d=b +_.e=c +_.a=d}, +amu(a,b,c,d){return new A.Kj(c,d,a,b,null)}, +arL(a,b){return new A.JG(A.aK5(),B.a3,null,a,b,null)}, +aDt(a){return A.a48(a,a,1)}, +arI(a,b){return new A.Jy(A.aK4(),B.a3,null,a,b,null)}, +aDq(a){var s,r,q=a*3.141592653589793*2,p=new Float64Array(16) +p[15]=1 +s=Math.cos(q) +r=Math.sin(q) +p[0]=s +p[1]=r +p[2]=0 +p[4]=-r +p[5]=s +p[6]=0 +p[8]=0 +p[9]=0 +p[10]=1 +p[3]=0 +p[7]=0 +p[11]=0 +return new A.bi(p)}, +YY(a,b,c){return new A.n9(c,a,b)}, +pl(a,b,c){return new A.DX(b,c,a,null)}, +uc:function uc(){}, +A1:function A1(){this.c=this.a=null}, +acl:function acl(){}, +Kj:function Kj(a,b,c,d,e){var _=this +_.e=a +_.f=b +_.r=c +_.c=d +_.a=e}, +Hp:function Hp(){}, +JG:function JG(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.c=e +_.a=f}, +Jy:function Jy(a,b,c,d,e,f){var _=this +_.e=a +_.f=b +_.r=c +_.w=d +_.c=e +_.a=f}, +Ke:function Ke(a,b,c,d){var _=this +_.e=a +_.w=b +_.c=c +_.a=d}, +n9:function n9(a,b,c){this.e=a +this.c=b +this.a=c}, +Ff:function Ff(a,b,c,d){var _=this +_.e=a +_.r=b +_.c=c +_.a=d}, +nE:function nE(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +DX:function DX(a,b,c,d){var _=this +_.e=a +_.f=b +_.c=c +_.a=d}, +kg:function kg(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.a=d +_.$ti=e}, +tH:function tH(a){var _=this +_.d=$ +_.c=_.a=null +_.$ti=a}, +aiz:function aiz(a){this.a=a}, +asC(a){var s=A.aBW(a,t._l) +return s==null?null:s.f}, +asD(a){var s=a.aa(t.Li) +s=s==null?null:s.f +if(s==null){s=$.iP.db$ +s===$&&A.a()}return s}, +zU:function zU(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +Sz:function Sz(a,b){var _=this +_.d=a +_.e=b +_.c=_.a=null}, +IZ:function IZ(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +a6Q:function a6Q(a){this.a=a}, +Bu:function Bu(a,b,c,d,e){var _=this +_.c=a +_.d=b +_.e=c +_.f=d +_.a=e}, +Q2:function Q2(a,b){var _=this +_.bv=$ +_.c=_.b=_.a=_.CW=_.ay=_.E=_.bm=null +_.d=$ +_.e=a +_.r=_.f=null +_.w=b +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +p0:function p0(a,b,c){this.f=a +this.b=b +this.a=c}, +Bo:function Bo(a,b,c){this.f=a +this.b=b +this.a=c}, +Am:function Am(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +TG:function TG(){}, +asE(a,b,c,d,e,f,g,h){return new A.oI(b,a,g,e,c,d,f,h,null)}, +asF(a,b){var s +switch(b.a){case 0:s=a.aa(t.I) +s.toString +return A.akz(s.w) +case 1:return B.H +case 2:s=a.aa(t.I) +s.toString +return A.akz(s.w) +case 3:return B.H}}, +oI:function oI(a,b,c,d,e,f,g,h,i){var _=this +_.e=a +_.r=b +_.w=c +_.x=d +_.y=e +_.z=f +_.Q=g +_.c=h +_.a=i}, +SA:function SA(a,b,c){var _=this +_.E=!1 +_.Z=null +_.p1=$ +_.p2=a +_.c=_.b=_.a=_.CW=_.ay=null +_.d=$ +_.e=b +_.r=_.f=null +_.w=c +_.z=_.y=null +_.Q=!1 +_.as=!0 +_.at=!1}, +TH:function TH(){}, +TI:function TI(){}, +aEQ(a,b){var s={},r=A.b([],t.E),q=A.b([14],t.n) +s.a=0 +new A.ac5(s,q,b,r).$1(a) +return r}, +ac5:function ac5(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +anb(a){return new A.CL(a,J.fW(a.$1(B.j8)))}, +amO(a,b,c){if(a==null&&b==null)return null +return new A.Oq(a,b,c)}, +kj(a,b,c){if(c.h("bs<0>").b(a))return a.a1(0,b) +return a}, +aB(a,b,c,d,e){if(a==null&&b==null)return null +return new A.AV(a,b,c,d,e.h("AV<0>"))}, +asG(a){var s=A.aA(t.EK) +if(a!=null)s.L(0,a) +return new A.Lp(s,$.aN())}, +c_:function c_(a,b){this.a=a +this.b=b}, +Ln:function Ln(){}, +CL:function CL(a,b){this.c=a +this.a=b}, +Lo:function Lo(){}, +Nl:function Nl(){}, +Oq:function Oq(a,b,c){this.a=a +this.b=b +this.c=c}, +bs:function bs(){}, +AV:function AV(a,b,c,d,e){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.$ti=e}, +bF:function bF(a,b){this.a=a +this.$ti=b}, +dl:function dl(a,b){this.a=a +this.$ti=b}, +Lp:function Lp(a,b){var _=this +_.a=a +_.S$=0 +_.O$=b +_.av$=_.af$=0}, +rI:function rI(a,b,c){this.c=a +this.d=b +this.a=c}, +SE:function SE(){this.c=this.a=this.d=null}, +Zm:function Zm(){}, +a4o:function a4o(){}, +Zn:function Zn(){}, +Zo:function Zo(a){this.a=a}, +nL:function nL(){var _=this +_.a=0 +_.b="" +_.y=_.x=_.w=_.r=_.f=_.e=_.d=_.c=0}, +am6(a,b,c,d,e,f,g,h,i,a0){var s="N/A",r=a0==null?s:a0,q=g==null?s:g,p=i==null?s:i,o=d==null?s:d,n=h==null?s:h,m=e==null?s:e,l=a==null?s:a,k=c==null?s:c,j=b==null?s:b +return new A.HC(r,q,p,o,n,m,l,k,j,f==null?s:f)}, +HC:function HC(a,b,c,d,e,f,g,h,i,j){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i +_.y=j}, +IT:function IT(){}, +zF:function zF(){}, +qm:function qm(){}, +X7:function X7(){this.a=null}, +J2:function J2(){}, +a6b:function a6b(a){this.a=a}, +a09:function a09(){}, +a0b:function a0b(){this.c=this.b=$}, +a0g:function a0g(a){this.a=a}, +a0d:function a0d(a,b){this.a=a +this.b=b}, +a0c:function a0c(){}, +a0e:function a0e(a){this.a=a}, +a0f:function a0f(a){this.a=a}, +a0n:function a0n(){}, +a0o:function a0o(a,b){this.a=a +this.b=b}, +a0p:function a0p(a,b){this.a=a +this.b=b}, +a0q:function a0q(a,b){this.a=a +this.b=b}, +a4p:function a4p(){}, +a0a:function a0a(){}, +Ev:function Ev(a,b){this.a=a +this.b=b}, +GK:function GK(a,b,c,d,e){var _=this +_.e=a +_.a=b +_.b=c +_.c=d +_.d=e}, +a08:function a08(){}, +GL:function GL(a,b){this.a=a +this.b=b}, +bb(a,b,c,d,e,f,g,h){return new A.vt(d,e,g,c,a,f,b,h,A.E(t.ML,t.bq))}, +vu(a,b){var s,r=A.apd(b,a),q=r<0?100:r,p=A.apc(b,a),o=p<0?0:p,n=A.mW(q,a),m=A.mW(o,a) +if(B.c.a7(a)<60){s=Math.abs(n-m)<0.1&&n=b||n>=m||s?q:o}else return m>=b||m>=n?o:q}, +vt:function vt(a,b,c,d,e,f,g,h,i){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g +_.w=h +_.x=i}, +Y5(a,b,c){var s,r,q,p,o,n=a.a +n===$&&A.a() +for(s=0;s<=7;s=q){r=b[s] +q=s+1 +p=b[q] +if(r>>16&255 +m=p>>>8&255 +l=p&255 +k=A.iH(A.b([A.c7(n),A.c7(m),A.c7(l)],s),$.hF) +j=A.Vz(k[0],k[1],k[2],h) +o.a=j.a +h=o.b=j.b +o.c=116*A.l1(A.iH(A.b([A.c7(n),A.c7(m),A.c7(l)],s),$.hF)[1]/100)-16 +if(r>h)break +n=Math.abs(h-b) +if(n<0.4)break +if(n=360?k-360:k +i=j*3.141592653589793/180 +h=a4.r +g=a4.y +f=100*Math.pow((40*p+c+n)/20*a4.w/h,g*a4.ay)/100 +Math.sqrt(f) +e=Math.pow(3846.153846153846*(0.25*(Math.cos((j<20.14?j+360:j)*3.141592653589793/180+2)+3.8))*a4.z*a4.x*Math.sqrt(m*m+l*l)/((20*p+c+21*n)/20+0.305),0.9)*Math.pow(1.64-Math.pow(0.29,a4.f),0.73) +d=e*Math.sqrt(f) +Math.sqrt(e*g/(h+4)) +Math.log(1+0.0228*(d*a4.ax)) +Math.cos(i) +Math.sin(i) +return new A.Vy(j,d,A.b([0,0,0],t.n))}, +Vy:function Vy(a,b,c){this.a=a +this.b=b +this.y=c}, +eY(a7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6=new A.eX() +a6.d=a7 +s=$.DH() +r=A.apb(a7) +q=r[0] +p=r[1] +o=r[2] +n=s.as +m=n[0]*(0.401288*q+0.650173*p-0.051461*o) +l=n[1]*(-0.250268*q+1.204414*p+0.045854*o) +k=n[2]*(-0.002079*q+0.048952*p+0.953127*o) +n=s.at +j=Math.pow(n*Math.abs(m)/100,0.42) +i=Math.pow(n*Math.abs(l)/100,0.42) +h=Math.pow(n*Math.abs(k)/100,0.42) +g=A.nK(m)*400*j/(j+27.13) +f=A.nK(l)*400*i/(i+27.13) +e=A.nK(k)*400*h/(h+27.13) +d=(11*g+-12*f+e)/11 +c=(g+f-2*e)/9 +n=20*f +b=Math.atan2(c,d)*180/3.141592653589793 +if(b<0)a=b+360 +else a=b>=360?b-360:b +a0=a*3.141592653589793/180 +a1=s.r +a2=s.y +a3=100*Math.pow((40*g+n+e)/20*s.w/a1,a2*s.ay)/100 +Math.sqrt(a3) +a4=Math.pow(3846.153846153846*(0.25*(Math.cos((a<20.14?a+360:a)*3.141592653589793/180+2)+3.8))*s.z*s.x*Math.sqrt(d*d+c*c)/((20*g+n+21*e)/20+0.305),0.9)*Math.pow(1.64-Math.pow(0.29,s.f),0.73) +a5=a4*Math.sqrt(a3) +Math.sqrt(a4*a2/(a1+4)) +Math.log(1+0.0228*(a5*s.ax)) +Math.cos(a0) +Math.sin(a0) +a6.a=a +a6.b=a5 +a6.c=116*A.l1(A.apb(a7)[1]/100)-16 +return a6}, +eX:function eX(){var _=this +_.d=_.c=_.b=_.a=$}, +ac1:function ac1(a,b,c,d,e,f,g,h,i,j){var _=this +_.f=a +_.r=b +_.w=c +_.x=d +_.y=e +_.z=f +_.as=g +_.at=h +_.ax=i +_.ay=j}, +asl(a){var s,r=t.S,q=a.a +q===$&&A.a() +s=a.b +s===$&&A.a() +return new A.oD(q,s,A.E(r,r))}, +b4(a,b){var s=t.S +A.aEw(a,b) +return new A.oD(a,b,A.E(s,s))}, +aEw(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=A.eY(A.nm(a,b,50)),d=e.b +d===$&&A.a() +s=Math.abs(d-b) +for(d=t.n,r=1;r<50;++r){q=B.c.a7(b) +p=e.b +p===$&&A.a() +if(q===B.c.a7(p))return e +o=A.nm(a,b,50+r) +n=new A.eX() +n.d=o +q=$.DH() +p=o>>>16&255 +m=o>>>8&255 +l=o&255 +k=A.iH(A.b([A.c7(p),A.c7(m),A.c7(l)],d),$.hF) +j=A.Vz(k[0],k[1],k[2],q) +n.a=j.a +i=j.b +n.b=i +n.c=116*A.l1(A.iH(A.b([A.c7(p),A.c7(m),A.c7(l)],d),$.hF)[1]/100)-16 +h=Math.abs(i-b) +if(h>>16&255 +m=o>>>8&255 +l=o&255 +k=A.iH(A.b([A.c7(p),A.c7(m),A.c7(l)],d),$.hF) +j=A.Vz(k[0],k[1],k[2],q) +g.a=j.a +q=j.b +g.b=q +g.c=116*A.l1(A.iH(A.b([A.c7(p),A.c7(m),A.c7(l)],d),$.hF)[1]/100)-16 +f=Math.abs(q-b) +if(f=1;s=q){q=s-1 +if(b[q]!=null)break}p=new A.ca("") +o=""+(a+"(") +p.a=o +n=A.Z(b) +m=n.h("fO<1>") +l=new A.fO(b,0,s,m) +l.u8(b,0,s,n.c) +m=o+new A.ay(l,new A.ajG(),m.h("ay")).bw(0,", ") +p.a=m +p.a=m+("): part "+(r-1)+" was null, but part "+r+" was not.") +throw A.c(A.cx(p.j(0),null))}}, +WS:function WS(a){this.a=a}, +WV:function WV(){}, +ajG:function ajG(){}, +a0J:function a0J(){}, +aCw(a,b){var s,r,q,p,o,n=b.T6(a) +b.ob(a) +if(n!=null)a=B.d.cZ(a,n.length) +s=t.s +r=A.b([],s) +q=A.b([],s) +s=a.length +if(s!==0&&b.wT(a.charCodeAt(0))){q.push(a[0]) +p=1}else{q.push("") +p=0}for(o=p;o"))}, +aGD(a){var s=B.az.e6(0,a) +if(t.j.b(s))return J.u5(s,t.N) +s.toString +return s}, +a9v:function a9v(){}, +a9w:function a9w(a){this.a=a}, +ajh:function ajh(a){this.a=a}, +azM(a,b,c){var s,r,q,p={} +p.a=b +s=a.gix()?A.hp(!0,c):A.amy(null,!0,c) +a.gix() +p.a=b +p.b=null +p.c=a +p.d=p.e=!1 +r=A.bj("currentDoneHandler") +q=new A.WL(p,s,r) +r.b=new A.WO(p,r,new A.WN(p,s),q) +s.sEP(new A.WK(p,q,a,s)) +return s.gtW(s)}, +WL:function WL(a,b,c){this.a=a +this.b=b +this.c=c}, +WM:function WM(a){this.a=a}, +WN:function WN(a,b){this.a=a +this.b=b}, +WO:function WO(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +WK:function WK(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.d=d}, +WH:function WH(a){this.a=a}, +WI:function WI(a,b){this.a=a +this.b=b}, +WJ:function WJ(a){this.a=a}, +aEB(a,b,c,d){var s={},r=a.gix()?A.hp(!0,d):A.amy(null,!0,d) +s.a=null +r.sEP(new A.abx(s,a,b,r,A.auZ(A.aJ0(),d),A.auZ(A.aJ_(),d),c)) +return r.gtW(r)}, +aso(a,b,c){c.jc(a,b)}, +asn(a){a.aJ(0)}, +abx:function abx(a,b,c,d,e,f,g){var _=this +_.a=a +_.b=b +_.c=c +_.d=d +_.e=e +_.f=f +_.r=g}, +abt:function abt(a,b,c){this.a=a +this.b=b +this.c=c}, +abv:function abv(a,b){this.a=a +this.b=b}, +abu:function abu(a,b,c){this.a=a +this.b=b +this.c=c}, +abw:function abw(a,b){this.a=a +this.b=b}, +ac3(a,b,c){return A.aEB(a,new A.ac4(c,b),b,c)}, +ac4:function ac4(a,b){this.a=a +this.b=b}, +a1j:function a1j(a,b){this.a=a +this.b=b}, +ac2:function ac2(){}, +Vg:function Vg(){}, +a4t:function a4t(){}, +a4u:function a4u(){}, +o5:function o5(a,b){this.a=a +this.b=b}, +GN:function GN(a,b,c){this.a=a +this.b=b +this.c=c}, +a0y:function a0y(){}, +wG:function wG(a,b,c){this.a=a +this.b=b +this.d=c}, +abO:function abO(){}, +asy(){var s,r,q=self +q=q.window +s=$.akK() +r=new A.abP(q) +$.u2().n(0,r,s) +q=q.navigator +r.b=J.pg(q.userAgent,"Safari")&&!J.pg(q.userAgent,"Chrome") +return r}, +abP:function abP(a){this.a=a +this.b=!1}, +Ho(a){var s=new A.bi(new Float64Array(16)) +if(s.dw(a)===0)return null +return s}, +aC5(){return new A.bi(new Float64Array(16))}, +aC6(){var s=new A.bi(new Float64Array(16)) +s.dF() +return s}, +a49(a,b,c){var s=new Float64Array(16),r=new A.bi(s) +r.dF() +s[14]=c +s[13]=b +s[12]=a +return r}, +a48(a,b,c){var s=new Float64Array(16) +s[15]=1 +s[10]=c +s[5]=b +s[0]=a +return new A.bi(s)}, +bi:function bi(a){this.a=a}, +fS:function fS(a){this.a=a}, +j1:function j1(a){this.a=a}, +oO(a,b,c,d,e){var s +if(c==null)s=null +else{s=A.aur(new A.ae9(c),t.m) +s=s==null?null:A.b6(s)}s=new A.Ay(a,b,s,!1,e.h("Ay<0>")) +s.BE() +return s}, +aur(a,b){var s=$.ad +if(s===B.ad)return a +return s.a7P(a,b)}, +vH:function vH(a,b){this.a=a +this.$ti=b}, +m9:function m9(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +Nj:function Nj(a,b,c,d){var _=this +_.a=a +_.b=b +_.c=c +_.$ti=d}, +Ay:function Ay(a,b,c,d,e){var _=this +_.a=0 +_.b=a +_.c=b +_.d=c +_.e=d +_.$ti=e}, +ae9:function ae9(a){this.a=a}, +aea:function aea(a){this.a=a}, +akk(){var s=0,r=A.C(t.H) +var $async$akk=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:s=2 +return A.y(A.ajJ(new A.akl(),new A.akm()),$async$akk) +case 2:return A.A(null,r)}}) +return A.B($async$akk,r)}, +akm:function akm(){}, +akl:function akl(){}, +aJs(a,b){return Math.max(a,b)}, +aJL(a){return Math.sqrt(a)}, +aIR(a){return Math.exp(a)}, +av4(a){return Math.log(a)}, +Dq(a,b){return Math.pow(a,b)}, +aBO(a){return $.aBN.i(0,a).gafp()}, +anQ(a){if(typeof dartPrint=="function"){dartPrint(a) +return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a) +return}if(typeof print=="function"){print(a) +return}throw"Unable to print message: "+String(a)}, +atO(a){var s,r,q +if(a==null)return a +if(typeof a=="string"||typeof a=="number"||A.mw(a))return a +if(A.aJk(a))return A.hy(a) +s=Array.isArray(a) +s.toString +if(s){r=[] +q=0 +while(!0){s=a.length +s.toString +if(!(q>>6)+(a&63),r=s&1,q=u.I.charCodeAt(s>>>1) +return q>>>4&-r|q&15&r-1}, +mA(a,b){var s=(a&1023)<<10|b&1023,r=u.R.charCodeAt(1024+(s>>>9))+(s&511),q=r&1,p=u.I.charCodeAt(r>>>1) +return p>>>4&-q|p&15&q-1}, +ajQ(a,b,c,d,e){return A.aIf(a,b,c,d,e,e)}, +aIf(a,b,c,d,e,f){var s=0,r=A.C(f),q,p +var $async$ajQ=A.D(function(g,h){if(g===1)return A.z(h,r) +while(true)switch(s){case 0:p=A.fe(null,t.P) +s=3 +return A.y(p,$async$ajQ) +case 3:q=a.$1(b) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$ajQ,r)}, +eF(){var s=$.axl() +return s}, +aHE(a){var s +switch(a.a){case 1:s=B.au +break +case 0:s=B.av +break +case 2:s=B.bi +break +case 4:s=B.b5 +break +case 3:s=B.bj +break +case 5:s=B.au +break +default:s=null}return s}, +tZ(a,b){var s +if(a==null)return b==null +if(b==null||a.gq(a)!==b.gq(b))return!1 +if(a===b)return!0 +for(s=a.gX(a);s.t();)if(!b.p(0,s.gG(s)))return!1 +return!0}, +dn(a,b){var s +if(a==null)return b==null +if(b==null||a.length!==b.length)return!1 +if(a===b)return!0 +for(s=0;s>>1 +r=p-s +q=A.b8(r,a[0],!1,c) +A.ajB(a,b,s,p,q,0) +A.ajB(a,b,0,s,a,r) +A.aua(b,a,r,p,q,0,r,a,0)}, +aHc(a,b,c,d,e){var s,r,q,p,o +for(s=d+1;s1e6){if(q.b==null)q.b=$.IQ.$0() +q.eG(0) +$.TL=0}while(!0){if(!($.TL<12288?!$.Ue().gM(0):r))break +s=$.Ue().ot() +$.TL=$.TL+s.length +A.anQ(s)}if(!$.Ue().gM(0)){$.anf=!0 +$.TL=0 +A.cb(B.ev,A.aJC()) +if($.aja==null)$.aja=new A.b1(new A.a9($.ad,t.U),t.h)}else{$.aon().le(0) +r=$.aja +if(r!=null)r.eS(0) +$.aja=null}}, +aBf(a,b,c){return a}, +Di(a){var s=0,r=A.C(t.lu),q,p,o +var $async$Di=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:s=3 +return A.y(A.a0u(a),$async$Di) +case 3:o=c +$.jU.toString +s=5 +return A.y(A.Dl(o,null),$async$Di) +case 5:s=4 +return A.y(c.hp(),$async$Di) +case 4:p=c +q=p.gfw(p) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$Di,r)}, +a4c(a){var s=a.a +if(s[0]===1&&s[1]===0&&s[2]===0&&s[3]===0&&s[4]===0&&s[5]===1&&s[6]===0&&s[7]===0&&s[8]===0&&s[9]===0&&s[10]===1&&s[11]===0&&s[14]===0&&s[15]===1)return new A.n(s[12],s[13]) +return null}, +am4(a,b){var s,r,q +if(a==b)return!0 +if(a==null){b.toString +return A.Hq(b)}if(b==null)return A.Hq(a) +s=a.a +r=s[0] +q=b.a +return r===q[0]&&s[1]===q[1]&&s[2]===q[2]&&s[3]===q[3]&&s[4]===q[4]&&s[5]===q[5]&&s[6]===q[6]&&s[7]===q[7]&&s[8]===q[8]&&s[9]===q[9]&&s[10]===q[10]&&s[11]===q[11]&&s[12]===q[12]&&s[13]===q[13]&&s[14]===q[14]&&s[15]===q[15]}, +Hq(a){var s=a.a +return s[0]===1&&s[1]===0&&s[2]===0&&s[3]===0&&s[4]===0&&s[5]===1&&s[6]===0&&s[7]===0&&s[8]===0&&s[9]===0&&s[10]===1&&s[11]===0&&s[12]===0&&s[13]===0&&s[14]===0&&s[15]===1}, +bH(a,b){var s=a.a,r=b.a,q=b.b,p=s[0]*r+s[4]*q+s[12],o=s[1]*r+s[5]*q+s[13],n=s[3]*r+s[7]*q+s[15] +if(n===1)return new A.n(p,o) +else return new A.n(p/n,o/n)}, +a4b(a,b,c,d,e){var s,r=e?1:1/(a[3]*b+a[7]*c+a[15]),q=(a[0]*b+a[4]*c+a[12])*r,p=(a[1]*b+a[5]*c+a[13])*r +if(d){s=$.akH() +s[2]=q +s[0]=q +s[3]=p +s[1]=p}else{s=$.akH() +if(qs[2])s[2]=q +if(p>s[3])s[3]=p}}, +e_(b1,b2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=b1.a,a5=b2.a,a6=b2.b,a7=b2.c,a8=a7-a5,a9=b2.d,b0=a9-a6 +if(!isFinite(a8)||!isFinite(b0)){s=a4[3]===0&&a4[7]===0&&a4[15]===1 +A.a4b(a4,a5,a6,!0,s) +A.a4b(a4,a7,a6,!1,s) +A.a4b(a4,a5,a9,!1,s) +A.a4b(a4,a7,a9,!1,s) +a7=$.akH() +return new A.x(a7[0],a7[1],a7[2],a7[3])}a7=a4[0] +r=a7*a8 +a9=a4[4] +q=a9*b0 +p=a7*a5+a9*a6+a4[12] +a9=a4[1] +o=a9*a8 +a7=a4[5] +n=a7*b0 +m=a9*a5+a7*a6+a4[13] +a7=a4[3] +if(a7===0&&a4[7]===0&&a4[15]===1){l=p+r +if(r<0)k=p +else{k=l +l=p}if(q<0)l+=q +else k+=q +j=m+o +if(o<0)i=m +else{i=j +j=m}if(n<0)j+=n +else i+=n +return new A.x(l,j,k,i)}else{a9=a4[7] +h=a9*b0 +g=a7*a5+a9*a6+a4[15] +f=p/g +e=m/g +a9=p+r +a7=g+a7*a8 +d=a9/a7 +c=m+o +b=c/a7 +a=g+h +a0=(p+q)/a +a1=(m+n)/a +a7+=h +a2=(a9+q)/a7 +a3=(c+n)/a7 +return new A.x(A.aqP(f,d,a0,a2),A.aqP(e,b,a1,a3),A.aqO(f,d,a0,a2),A.aqO(e,b,a1,a3))}}, +aqP(a,b,c,d){var s=ab?a:b,r=c>d?c:d +return s>r?s:r}, +aqR(a,b){var s +if(A.Hq(a))return b +s=new A.bi(new Float64Array(16)) +s.ba(a) +s.dw(s) +return A.e_(s,b)}, +aqQ(a){var s,r=new A.bi(new Float64Array(16)) +r.dF() +s=new A.j1(new Float64Array(4)) +s.yC(0,0,0,a.a) +r.yB(0,s) +s=new A.j1(new Float64Array(4)) +s.yC(0,0,0,a.b) +r.yB(1,s) +return r}, +Dp(a,b,c){if(a==null)return a===b +return a>b-c&&aB.f.bo(A.amf(new A.dJ(s,0,!1)),100)?"19"+m:"20"+m +h.r=B.d.W(m,0,4)+"/"+B.d.W(m,4,6)+"/"+B.d.W(m,6,8) +l=b[20] +if(A.bO("[M|F|x|<]",!0,!1).di(l)==null)return h +h.w=l +k=B.d.W(b,21,27) +if(A.bO("[A-Za-z]",!0,!1).di(k)!=null)return h +k=A.fl(B.d.W(k,0,2),j)>=60?"19"+k:"20"+k +h.x=B.d.W(k,0,4)+"/"+B.d.W(k,4,6)+"/"+B.d.cZ(k,6) +return h}, +aqK(a,b,c){var s,r,q,p,o,n,m,l,k,j=null,i="[0-9]",h="<",g="[A-Za-z]",f=A.am6(j,j,j,j,j,j,j,j,j,j),e=B.d.W(a,0,1) +if(A.bO("[I|P|V]",!0,!1).di(e)==null)return f +f.a="ID CARD (TD-1)" +s=B.d.W(b,15,18) +if(A.bO(i,!0,!1).di(s)!=null)return f +f.b=A.ji(s,h,"") +r=B.d.W(c,0,B.d.hP(c,"<<")) +if(A.bO(i,!0,!1).di(r)!=null)return f +r=A.ji(r,h," ") +B.d.oF(r) +f.c=r +q=B.d.cZ(c,r.length+2) +if(A.bO(i,!0,!1).di(q)!=null)return f +f.d=B.d.oF(A.ji(q,h," ")) +p=B.d.W(a,5,14) +f.e=A.ji(p,h," ") +o=B.d.W(a,2,5) +if(A.bO(i,!0,!1).di(o)!=null)return f +f.f=A.ji(o,h,"") +n=B.d.W(b,0,6) +if(A.bO(g,!0,!1).di(n)!=null)return f +m=Date.now() +n=A.fl(B.d.W(n,0,2),j)>B.f.bo(A.amf(new A.dJ(m,0,!1)),100)?"19"+n:"20"+n +f.r=B.d.W(n,0,4)+"/"+B.d.W(n,4,6)+"/"+B.d.W(n,6,8) +l=b[7] +if(A.bO("[M|F|x|<]",!0,!1).di(l)==null)return f +f.w=A.ji(l,h,"X") +k="20"+b+".substring(8, 14)" +if(A.bO(g,!0,!1).di(k)!=null)return f +f.x=B.d.W(k,0,4)+"/"+B.d.W(k,4,6)+"/"+B.d.cZ(k,6) +return f}, +aEP(a){var s,r,q=A.b([],t.E5) +for(s=0;sb?a:b,r=s===b?a:b +return(s+5)/(r+5)}, +apd(a,b){var s,r,q,p +if(b<0||b>100)return-1 +s=A.mU(b) +r=a*(s+5)-5 +q=A.alf(r,s) +if(q0.04)return-1 +p=A.apa(r)+0.4 +if(p<0||p>100)return-1 +return p}, +apc(a,b){var s,r,q,p +if(b<0||b>100)return-1 +s=A.mU(b) +r=(s+5)/a-5 +q=A.alf(s,r) +if(q0.04)return-1 +p=A.apa(r)-0.4 +if(p<0||p>100)return-1 +return p}, +aln(a){var s,r,q,p,o,n=a.a +n===$&&A.a() +s=B.c.a7(n) +r=s>=90&&s<=111 +s=a.b +s===$&&A.a() +q=B.c.a7(s) +p=a.c +p===$&&A.a() +o=B.c.a7(p)<65 +if(r&&q>16&&o)return A.eY(A.nm(n,s,70)) +return a}, +a_r(a){var s=a/100 +return(s<=0.0031308?s*12.92:1.055*Math.pow(s,0.4166666666666667)-0.055)*255}, +alM(a){var s=Math.pow(Math.abs(a),0.42) +return A.nK(a)*400*s/(s+27.13)}, +alN(a){var s=A.iH(a,$.aBm),r=A.alM(s[0]),q=A.alM(s[1]),p=A.alM(s[2]) +return Math.atan2((r+q-2*p)/9,(11*r+-12*q+p)/11)}, +aBl(a,b){var s,r,q,p,o,n=$.wb[0],m=$.wb[1],l=$.wb[2],k=B.f.bo(b,4)<=1?0:100,j=B.f.bo(b,2)===0?0:100 +if(b<4){s=(a-k*m-j*l)/n +r=0<=s&&s<=100 +q=t.n +if(r)return A.b([s,k,j],q) +else return A.b([-1,-1,-1],q)}else if(b<8){p=(a-j*n-k*l)/m +r=0<=p&&p<=100 +q=t.n +if(r)return A.b([j,p,k],q) +else return A.b([-1,-1,-1],q)}else{o=(a-k*n-j*m)/l +r=0<=o&&o<=100 +q=t.n +if(r)return A.b([k,j,o],q) +else return A.b([-1,-1,-1],q)}}, +aBh(a,b){var s,r,q,p,o,n,m,l,k=A.b([-1,-1,-1],t.n) +for(s=k,r=0,q=0,p=!1,o=!0,n=0;n<12;++n){m=A.aBl(a,n) +if(m[0]<0)continue +l=A.alN(m) +if(!p){q=l +r=q +s=m +k=s +p=!0 +continue}if(o||B.c.bo(l-r+25.132741228718345,6.283185307179586)100.01||b>100.01||a>100.01)return 0 +return((A.pH(g)&255)<<16|(A.pH(f[1])&255)<<8|A.pH(f[2])&255|4278190080)>>>0}a1-=(a0-a9)*a1/(2*a0)}return 0}, +nm(a,b,c){var s,r,q,p +if(b<0.0001||c<0.0001||c>99.9999){s=A.pH(A.mU(c)) +return A.ap9(s,s,s)}r=A.x0(a)/180*3.141592653589793 +q=A.mU(c) +p=A.aBj(r,b,q) +if(p!==0)return p +return A.azJ(A.aBg(q,r))}, +ap9(a,b,c){return((a&255)<<16|(b&255)<<8|c&255|4278190080)>>>0}, +azJ(a){return A.ap9(A.pH(a[0]),A.pH(a[1]),A.pH(a[2]))}, +apb(a){return A.iH(A.b([A.c7(B.f.es(a,16)&255),A.c7(B.f.es(a,8)&255),A.c7(a&255)],t.n),$.hF)}, +mU(a){return 100*A.azI((a+16)/116)}, +apa(a){return A.l1(a/100)*116-16}, +c7(a){var s=a/255 +if(s<=0.040449936)return s/12.92*100 +else return Math.pow((s+0.055)/1.055,2.4)*100}, +pH(a){var s=a/100 +return A.aC3(0,255,B.c.a7((s<=0.0031308?s*12.92:1.055*Math.pow(s,0.4166666666666667)-0.055)*255))}, +l1(a){if(a>0.008856451679035631)return Math.pow(a,0.3333333333333333) +else return(903.2962962962963*a+16)/116}, +azI(a){var s=a*a*a +if(s>0.008856451679035631)return s +else return(116*a-16)/903.2962962962963}, +nK(a){if(a<0)return-1 +else if(a===0)return 0 +else return 1}, +am3(a,b,c){return(1-c)*a+c*b}, +aC3(a,b,c){if(cb)return b +return c}, +a47(a,b,c){if(cb)return b +return c}, +x0(a){a=B.c.bo(a,360) +return a<0?a+360:a}, +iH(a,b){var s,r,q,p,o=a[0],n=b[0],m=n[0],l=a[1],k=n[1],j=a[2] +n=n[2] +s=b[1] +r=s[0] +q=s[1] +s=s[2] +p=b[2] +return A.b([o*m+l*k+j*n,o*r+l*q+j*s,o*p[0]+l*p[1]+j*p[2]],t.n)}, +pa(a,b){var s=$.aya(),r=A.b([a,b,null,null,null,null,null,null,null,null,null,null,null,null,null,null],t.XS) +A.aHR("join",r) +return s.aco(new A.d6(r,t.Ri))}, +av0(a){var s +if(!(a>=65&&a<=90))s=a>=97&&a<=122 +else s=!0 +return s}, +aIN(a,b){var s,r,q=null,p=a.length,o=b+2 +if(pa.b +else r=!0 +if(r){o.zo() +o.b=A.cb(a.hF(s),o.gBB())}}o.c=a}, +zo(){var s=this.b +if(s!=null)s.aA(0) +this.b=null}, +a6o(){var s=this,r=s.a.$0(),q=s.c +q.toString +if(!r.Qo(q)){s.b=null +q=s.d +if(q!=null)q.$0()}else s.b=A.cb(s.c.hF(r),s.gBB())}} +A.UG.prototype={ +nw(){var s=0,r=A.C(t.H),q=this +var $async$nw=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:s=2 +return A.y(q.a.$0(),$async$nw) +case 2:s=3 +return A.y(q.b.$0(),$async$nw) +case 3:return A.A(null,r)}}) +return A.B($async$nw,r)}, +adz(){return A.aB_(new A.UK(this),new A.UL(this))}, +a4C(){return A.aAY(new A.UH(this))}, +L9(){return A.aAZ(new A.UI(this),new A.UJ(this))}} +A.UK.prototype={ +$0(){var s=0,r=A.C(t.e),q,p=this,o +var $async$$0=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:o=p.a +s=3 +return A.y(o.nw(),$async$$0) +case 3:q=o.L9() +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$$0,r)}, +$S:247} +A.UL.prototype={ +$1(a){return this.Sv(a)}, +$0(){return this.$1(null)}, +Sv(a){var s=0,r=A.C(t.e),q,p=this,o +var $async$$1=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=p.a +s=3 +return A.y(o.a.$1(a),$async$$1) +case 3:q=o.a4C() +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$$1,r)}, +$S:116} +A.UH.prototype={ +$1(a){return this.Su(a)}, +$0(){return this.$1(null)}, +Su(a){var s=0,r=A.C(t.e),q,p=this,o +var $async$$1=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=p.a +s=3 +return A.y(o.b.$0(),$async$$1) +case 3:q=o.L9() +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$$1,r)}, +$S:116} +A.UI.prototype={ +$1(a){var s,r,q,p=$.az().gbY(),o=p.a,n=a.hostElement +n.toString +s=a.viewConstraints +r=$.auc +$.auc=r+1 +q=new A.Nm(r,o,A.apY(n),s,B.cL,A.apo(n)) +q.Hu(r,o,n,s) +p.RB(q,a) +return r}, +$S:464} +A.UJ.prototype={ +$1(a){return $.az().gbY().P3(a)}, +$S:102} +A.W4.prototype={ +gb1(a){var s=this.d +if(s==null){this.IF() +s=this.d}s.toString +return s}, +gc1(){if(this.y==null)this.IF() +var s=this.e +s.toString +return s}, +IF(){var s,r,q,p,o,n,m,l,k=this,j=!1,i=null,h=k.y +if(h!=null){A.l6(h,0) +h=k.y +h.toString +A.l5(h,0) +k.y=null}h=k.x +s=h!=null&&h.length!==0 +if(s){h.toString +r=B.b.f3(h,0) +k.y=r +i=r +j=!0}else{h=k.f +$.bq() +q=self.window.devicePixelRatio +if(q===0)q=1 +p=k.r +o=self.window.devicePixelRatio +if(o===0)o=1 +i=k.HN(h,p) +n=i +k.y=n +if(n==null){A.avk() +i=k.HN(h,p)}n=i.style +A.l(n,"position","absolute") +A.l(n,"width",A.h(h/q)+"px") +A.l(n,"height",A.h(p/o)+"px")}if(!J.e(k.z.lastChild,i))k.z.append(i) +try{if(j)i.style.removeProperty("z-index") +h=A.ft(i,"2d",null) +h.toString +k.d=t.e.a(h)}catch(m){}h=k.d +if(h==null){A.avk() +h=A.ft(i,"2d",null) +h.toString +h=k.d=t.e.a(h)}q=k.as +k.e=new A.WU(h,k,q,B.cU,B.fx,B.dX) +l=k.gb1(0) +l.save();++k.Q +A.apu(l,1,0,0,1,0,0) +if(s)l.clearRect(0,0,k.f*q,k.r*q) +$.bq() +h=self.window.devicePixelRatio +if(h===0)h=1 +p=self.window.devicePixelRatio +if(p===0)p=1 +l.scale(h*q,p*q) +k.a4Z()}, +HN(a,b){var s=this.as +return A.aK6(B.c.d4(a*s),B.c.d4(b*s))}, +I(a){var s,r,q,p,o,n=this +n.WP(0) +if(n.y!=null){s=n.d +if(s!=null)try{s.font=""}catch(q){r=A.a6(q) +if(!J.e(r.name,"NS_ERROR_FAILURE"))throw q}}if(n.y!=null){n.Bj() +n.e.eG(0) +p=n.w +if(p==null)p=n.w=A.b([],t.J) +o=n.y +o.toString +p.push(o) +n.e=n.d=null}n.x=n.w +n.e=n.d=n.y=n.w=null}, +Lr(a,b,c,d){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=h.gb1(0) +if(d!=null)for(s=d.length,r=h.as,q=t.Ci;a>>16&255,m>>>8&255,m&255).a)) +s.translate(-5e4,0) +l=new Float32Array(2) +m=$.bq().d +if(m==null){m=self.window.devicePixelRatio +if(m===0)m=1}l[0]=5e4*m +m=i.b +m.c.Sc(l) +k=l[0] +j=l[1] +l[1]=0 +l[0]=0 +m.c.Sc(l) +A.alr(s,k-l[0]) +A.als(s,j-l[1])}}, +l3(){var s=this,r=s.z +if((r==null?null:r.x)!=null)r=$.aw().gby()===B.K +else r=!1 +if(r)s.a.restore() +r=s.Q +if(r!=null){s.a.translate(-r.a,-r.b) +s.Q=null}}, +f0(a){var s=this.a +if(a===B.X)s.stroke() +else A.XK(s,null)}, +eG(a){var s,r=this,q=r.a +A.XL(q,"") +s=q.fillStyle +r.r=s==null?null:A.alT(s) +A.XM(q,"") +s=q.strokeStyle +r.w=s==null?null:A.alT(s) +q.shadowBlur=0 +A.alq(q,"none") +A.alr(q,0) +A.als(q,0) +q.globalCompositeOperation="source-over" +r.d=B.cU +A.apv(q,1) +r.x=1 +q.lineCap="butt" +r.e=B.fx +q.lineJoin="miter" +r.f=B.dX +r.Q=null}} +A.QQ.prototype={ +I(a){B.b.I(this.a) +this.b=null +this.c=A.cH()}, +c5(a){var s=this.c,r=new A.bp(new Float32Array(16)) +r.ba(s) +s=this.b +s=s==null?null:A.hV(s,!0,t.Sv) +this.a.push(new A.JE(r,s))}, +bG(a){var s,r=this.a +if(r.length===0)return +s=r.pop() +this.c=s.a +this.b=s.b}, +aq(a,b,c){this.c.aq(0,b,c)}, +em(a,b,c){this.c.em(0,b,c)}, +l2(a,b){this.c.S_(0,B.vS,b)}, +a8(a,b){this.c.cq(0,new A.bp(b))}, +kp(a){var s,r,q=this.b +if(q==null)q=this.b=A.b([],t.CK) +s=this.c +r=new A.bp(new Float32Array(16)) +r.ba(s) +q.push(new A.od(a,null,null,r))}, +lI(a){var s,r,q=this.b +if(q==null)q=this.b=A.b([],t.CK) +s=this.c +r=new A.bp(new Float32Array(16)) +r.ba(s) +q.push(new A.od(null,a,null,r))}, +hC(a,b){var s,r,q=this.b +if(q==null)q=this.b=A.b([],t.CK) +s=this.c +r=new A.bp(new Float32Array(16)) +r.ba(s) +q.push(new A.od(null,null,b,r))}} +A.fZ.prototype={ +il(a,b,c,d){var s,r,q,p,o=d.ay,n=this.a,m=a.b +if(o===B.lh){m===$&&A.a() +m=m.a +m===$&&A.a() +m=m.a +m.toString +A.b7(n,"drawImageRectCubic",[m,A.eH(b),A.eH(c),0.3333333333333333,0.3333333333333333,d.a])}else{m===$&&A.a() +m=m.a +m===$&&A.a() +m=m.a +m.toString +s=A.eH(b) +r=A.eH(c) +q=A.aK0(o) +p=o===B.dc?$.be.aX().MipmapMode.Linear:$.be.aX().MipmapMode.None +A.b7(n,"drawImageRectOptions",[m,s,r,q,p,d.a])}}, +a9H(a){var s=a.a +s===$&&A.a() +s=s.a +s.toString +this.a.drawPicture(s)}, +fJ(a,b){var s=b==null?null:b.a +A.arU(this.a,s,A.eH(a),null,null)}} +A.aiX.prototype={ +$1(a){var s=A.d9().b +if(s==null)s=null +else{s=s.canvasKitBaseUrl +if(s==null)s=null}return(s==null?"https://www.gstatic.com/flutter-canvaskit/36335019a8eab588c3c2ea783c618d90505be233/":s)+a}, +$S:68} +A.W_.prototype={ +c5(a){B.c.Y(this.a.a.save())}, +fJ(a,b){var s=t.V,r=this.a +if(a==null){s.a(b) +A.arU(r.a,b.a,null,null,null)}else r.fJ(a,s.a(b))}, +bG(a){this.a.a.restore()}, +aq(a,b,c){this.a.a.translate(b,c)}, +em(a,b,c){var s=c==null?b:c +this.a.a.scale(b,s) +return null}, +l2(a,b){this.a.a.rotate(b*180/3.141592653589793,0,0)}, +a8(a,b){this.a.a.concat(A.avq(A.Ds(b)))}, +vQ(a,b){this.a.a.clipRect(A.eH(a),$.aov()[1],b)}, +kp(a){return this.vQ(a,!0)}, +vP(a,b){this.a.a.clipRRect(A.u0(a),$.Ud(),b)}, +lI(a){return this.vP(a,!0)}, +vO(a,b,c){var s=t.E_.a(b).a +s===$&&A.a() +s=s.a +s.toString +this.a.a.clipPath(s,$.Ud(),c)}, +hC(a,b){return this.vO(0,b,!0)}, +hG(a,b,c){A.b7(this.a.a,"drawLine",[a.a,a.b,b.a,b.b,t.V.a(c).a])}, +nL(a){this.a.a.drawPaint(t.V.a(a).a)}, +cP(a,b){t.V.a(b) +this.a.a.drawRect(A.eH(a),b.a)}, +dg(a,b){t.V.a(b) +this.a.a.drawRRect(A.u0(a),b.a)}, +nK(a,b,c){t.V.a(c) +this.a.a.drawDRRect(A.u0(a),A.u0(b),c.a)}, +qT(a,b){t.V.a(b) +this.a.a.drawOval(A.eH(a),b.a)}, +ik(a,b,c){this.a.a.drawCircle(a.a,a.b,b,t.V.a(c).a)}, +Dl(a,b,c,d,e){t.V.a(e) +A.b7(this.a.a,"drawArc",[A.eH(a),b*57.29577951308232,c*57.29577951308232,!1,e.a])}, +dP(a,b){var s +t.E_.a(a) +t.V.a(b) +s=a.a +s===$&&A.a() +s=s.a +s.toString +this.a.a.drawPath(s,b.a)}, +il(a,b,c,d){this.a.il(t.XY.a(a),b,c,t.V.a(d))}, +ku(a,b){var s=t.z7.a(a).a +s===$&&A.a() +s=s.a +s.toString +this.a.a.drawParagraph(s,b.a,b.b)}, +nM(a,b,c,d){var s,r,q,p,o,n,m,l +t.E_.a(a) +s=$.bq().d +if(s==null){s=self.window.devicePixelRatio +if(s===0)s=1}r=d?5:4 +q=A.a3(B.c.a7((b.gm(b)>>>24&255)*0.039),b.gm(b)>>>16&255,b.gm(b)>>>8&255,b.gm(b)&255) +p=A.a3(B.c.a7((b.gm(b)>>>24&255)*0.25),b.gm(b)>>>16&255,b.gm(b)>>>8&255,b.gm(b)&255) +o=t.e.a({ambient:A.tY(q),spot:A.tY(p)}) +n=$.be.aX().computeTonalColors(o) +m=a.a +m===$&&A.a() +m=m.a +m.toString +l=new Float32Array(3) +l[2]=s*c +s=new Float32Array(3) +s[0]=0 +s[1]=-1 +s[2]=1 +A.b7(this.a.a,"drawShadow",[m,l,s,1.3333333333333333,n.ambient,n.spot,r|4])}} +A.Hi.prototype={ +gu(a){var s=this.a +return s.gu(s)}, +k(a,b){if(b==null)return!1 +if(A.r(this)!==J.T(b))return!1 +return b instanceof A.Hi&&b.a.k(0,this.a)}, +j(a){return this.a.j(0)}} +A.EH.prototype={$ikZ:1} +A.EG.prototype={ +AL(){return A.aIC(this.a,this.b)}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){if(b==null)return!1 +if(A.r(this)!==J.T(b))return!1 +return!1}, +j(a){return"ColorFilter.mode("+A.h(this.a)+", "+this.b.j(0)+")"}} +A.uL.prototype={ +ga3y(){var s,r,q=new Float32Array(20) +for(s=this.a,r=0;r<20;++r)if(B.b.p(B.DB,r))q[r]=s[r]/255 +else q[r]=s[r] +return q}, +AL(){return $.be.aX().ColorFilter.MakeMatrix(this.ga3y())}, +gu(a){return A.bN(this.a)}, +k(a,b){if(b==null)return!1 +return A.r(this)===J.T(b)&&b instanceof A.uL&&A.hz(this.a,b.a)}, +j(a){return"ColorFilter.matrix("+A.h(this.a)+")"}} +A.pA.prototype={ +AL(){var s,r=$.be.aX().ColorFilter,q=this.a.b +q===$&&A.a() +q=q.a +q.toString +s=this.b.b +s===$&&A.a() +s=s.a +s.toString +return r.MakeCompose(q,s)}, +k(a,b){if(b==null)return!1 +if(!(b instanceof A.pA))return!1 +return b.a.k(0,this.a)&&b.b.k(0,this.b)}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"ColorFilter.compose("+this.a.j(0)+", "+this.b.j(0)+")"}} +A.Fy.prototype={ +gCn(){var s,r=this,q=r.b +if(q===$){s=r.a.$0() +J.akV(s) +r.b!==$&&A.a1() +r.b=s +q=s}return q}, +SH(){var s,r=this.d,q=this.c +if(r.length!==0){s=r.pop() +q.push(s) +return s}else{s=this.a.$0() +J.akV(s) +q.push(s) +return s}}, +l(){var s,r,q,p +for(s=this.d,r=s.length,q=0;q"))}, +adA(a,b){var s=this,r=new A.hE(),q=s.z +q===$&&A.a() +q=q.Fw() +r.km(new A.x(0,0,0+q.a,0+q.b)) +s.c.a.push(r) +q=s.d +if(J.e(q.i(0,a),b)){if(!B.b.p(s.w,a))s.f.D(0,a) +return}q.n(0,a,b) +s.f.D(0,a)}, +Zj(a,b){var s,r=this,q=r.e.bj(0,a,new A.a_L(a)),p=q.b,o=p.style,n=b.b +A.l(o,"width",A.h(n.a)+"px") +A.l(o,"height",A.h(n.b)+"px") +A.l(o,"position","absolute") +s=r.ZE(b.c) +if(s!==q.c){q.a=r.a4N(s,p,q.a) +q.c=s}r.Yv(b,p,a)}, +ZE(a){var s,r,q,p +for(s=a.a,r=A.Z(s).h("cm<1>"),s=new A.cm(s,r),s=new A.bS(s,s.gq(0),r.h("bS")),r=r.h("aI.E"),q=0;s.t();){p=s.d +p=(p==null?r.a(p):p).a +if(p===B.qV||p===B.qW||p===B.qX)++q}return q}, +a4N(a,b,c){var s,r,q,p,o,n=c.parentNode!=null +if(n){s=c.nextSibling +c.remove()}else s=null +r=b +q=0 +while(!0){if(!(!J.e(r,c)&&q"),a1=new A.cm(a1,r),a1=new A.bS(a1,a1.gq(0),r.h("bS")),r=r.h("aI.E"),q=a0.at,p=t.K,o=t.R,n=a3,m=1;a1.t();){l=a1.d +if(l==null)l=r.a(l) +switch(l.a.a){case 3:l=l.e +l.toString +k=new Float32Array(16) +j=new A.bp(k) +j.ba(l) +j.cq(0,s) +l=n.style +i=A.fk(k) +l.setProperty("transform",i,"") +s=j +break +case 0:case 1:case 2:n=n.parentElement +k=n.style +k.setProperty("clip","","") +k=n.style +k.setProperty("clip-path","","") +s=new A.bp(new Float32Array(16)) +s.XQ() +k=n.style +k.setProperty("transform","","") +k=n.style +k.setProperty("width","100%","") +k=n.style +k.setProperty("height","100%","") +k=l.b +if(k!=null){l=n.style +h=k.b +g=k.c +f=k.d +k=k.a +l.setProperty("clip","rect("+A.h(h)+"px, "+A.h(g)+"px, "+A.h(f)+"px, "+A.h(k)+"px)","")}else{k=l.c +if(k!=null){e=new self.window.flutterCanvasKit.Path() +e.setFillType($.Uh()[0]) +d=new A.uO(B.b2) +i=new A.ey("Path",o) +i.a=e +$.aoD() +if($.aoy())$.aoo().register(d,i) +d.a!==$&&A.bx() +d.a=i +l=i.a +l.toString +l.addRRect(A.u0(k),!1) +a0.J3() +k=a0.as.querySelector("#sk_path_defs") +k.toString +c="svgClip"+ ++a0.Q +l=self.document.createElementNS("http://www.w3.org/2000/svg","clipPath") +l.id=c +h=self.document.createElementNS("http://www.w3.org/2000/svg","path") +g=A.a4(i.a.toSVGString()) +if(g==null)g=p.a(g) +h.setAttribute("d",g) +l.append(h) +k.append(l) +J.ek(q.bj(0,a4,new A.a_J()),c) +l=n.style +l.setProperty("clip-path","url(#"+c+")","")}else{l=l.d +if(l!=null){a0.J3() +k=a0.as.querySelector("#sk_path_defs") +k.toString +c="svgClip"+ ++a0.Q +h=self.document.createElementNS("http://www.w3.org/2000/svg","clipPath") +h.id=c +g=self.document.createElementNS("http://www.w3.org/2000/svg","path") +l=l.a +l===$&&A.a() +l=A.a4(l.a.toSVGString()) +if(l==null)l=p.a(l) +g.setAttribute("d",l) +h.append(g) +k.append(h) +J.ek(q.bj(0,a4,new A.a_K()),c) +h=n.style +h.setProperty("clip-path","url(#"+c+")","")}}}l=n.style +l.setProperty("transform-origin","0 0 0","") +l=n.style +l.setProperty("position","absolute","") +break +case 4:l=l.f +l.toString +m*=l/255 +break}}A.l(a3.style,"opacity",B.c.j(m)) +b=$.bq().d +if(b==null){a1=self.window.devicePixelRatio +b=a1===0?1:a1}a=1/b +a1=new Float32Array(16) +a1[15]=1 +a1[10]=1 +a1[5]=a +a1[0]=a +s=new A.bp(a1).rL(s) +A.l(n.style,"transform",A.fk(s.a))}, +a51(a){A.l(a.style,"transform-origin","0 0 0") +A.l(a.style,"position","absolute")}, +J3(){var s,r,q=this +if(q.as!=null)return +s=A.FH($.akP(),!1) +q.as=s +r=self.document.createElementNS("http://www.w3.org/2000/svg","defs") +r.id="sk_path_defs" +s.append(r) +r=q.as +r.toString +q.a.append(r)}, +tX(a,b){return this.U6(0,b)}, +U6(a,b){var s=0,r=A.C(t.H),q,p=this,o,n,m,l,k,j,i,h,g,f,e,d,c +var $async$tX=A.D(function(a0,a1){if(a0===1)return A.z(a1,r) +while(true)switch(s){case 0:c=A.b([b],t.H0) +for(o=p.c.b,n=o.length,m=0;m=0;--p){n=q[p] +if(n instanceof A.dj){if(!o){o=!0 +continue}B.b.f3(q,p) +B.b.E9(r,0,n.a);--s +if(s===0)break}}o=A.d9().gCv()===1 +for(p=q.length-1;p>0;--p){n=q[p] +if(n instanceof A.dj){if(o){B.b.L(n.a,r) +break}o=!0}}B.b.L(m.a,q) +return m}, +a6F(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this +if(a.lZ(d.x))return +s=d.a0d(d.x,a) +r=A.Z(s).h("aF<1>") +q=A.a8(new A.aF(s,new A.a_M(),r),!0,r.h("j.E")) +p=A.anM(q) +for(r=p.length,o=0;o") +B.b.V(A.a8(new A.aZ(r,q),!0,q.h("j.E")),s.gP4()) +q=t.qN +s.c=new A.vC(A.b([],q),A.b([],q)) +q=s.d +q.I(0) +s.a9f() +q.I(0) +r.I(0) +s.f.I(0) +B.b.I(s.w) +B.b.I(s.r) +s.x=new A.qQ(A.b([],t.RX))}} +A.a_O.prototype={ +$1(a){var s=a.b +s.toString +return s}, +$S:442} +A.a_L.prototype={ +$0(){var s=A.auI(this.a) +return new A.rE(s,s)}, +$S:452} +A.a_J.prototype={ +$0(){return A.aA(t.N)}, +$S:119} +A.a_K.prototype={ +$0(){return A.aA(t.N)}, +$S:119} +A.a_M.prototype={ +$1(a){return a!==-1}, +$S:50} +A.a_N.prototype={ +$2(a,b){var s=this.b[b],r=this.a +if(s!==-1){s=t.mg.a(r.x.a[s]) +a.b=s.b +s.b=null}else a.b=r.b.gwd().SH()}, +$S:456} +A.rE.prototype={} +A.vB.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.vB&&b.a.k(0,s.a)&&b.b.k(0,s.b)&&b.c.k(0,s.c)}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.nN.prototype={ +F(){return"MutatorType."+this.b}} +A.hg.prototype={ +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(!(b instanceof A.hg))return!1 +s=r.a +if(s!==b.a)return!1 +switch(s.a){case 0:return J.e(r.b,b.b) +case 1:return J.e(r.c,b.c) +case 2:return r.d==b.d +case 3:return r.e==b.e +case 4:return r.f==b.f +default:return!1}}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.nO.prototype={ +k(a,b){if(b==null)return!1 +if(b===this)return!0 +return b instanceof A.nO&&A.hz(b.a,this.a)}, +gu(a){return A.bN(this.a)}, +gX(a){var s=this.a,r=A.Z(s).h("cm<1>") +s=new A.cm(s,r) +return new A.bS(s,s.gq(0),r.h("bS"))}} +A.vC.prototype={} +A.Kg.prototype={ +gDD(){var s,r=this.b +if(r===$){s=A.d9().b +if(s==null)s=null +else{s=s.useColorEmoji +if(s==null)s=null}s=s===!0 +r=this.b=A.aB7(new A.a9I(this),A.b([A.S("Noto Sans","notosans/v36/o-0mIpQlx3QUlC5A4PNB6Ryti20_6n1iPHjcz6L1SoM-jCpoiyD9A99d41P6zHtY.ttf",!0),A.S("Noto Color Emoji","notocoloremoji/v30/Yq6P-KqIXTD0t4D9z1ESnKM3-HpFab5s79iz64w.ttf",s),A.S("Noto Emoji","notoemoji/v47/bMrnmSyK7YY-MEu6aWjPDs-ar6uWaGWuob-r0jwvS-FGJCMY.ttf",!s),A.S("Noto Music","notomusic/v20/pe0rMIiSN5pO63htf1sxIteQB9Zra1U.ttf",!0),A.S("Noto Sans Symbols","notosanssymbols/v43/rP2up3q65FkAtHfwd-eIS2brbDN6gxP34F9jRRCe4W3gfQ8gavVFRkzrbQ.ttf",!0),A.S("Noto Sans Symbols 2","notosanssymbols2/v23/I_uyMoGduATTei9eI8daxVHDyfisHr71ypPqfX71-AI.ttf",!0),A.S("Noto Sans Adlam","notosansadlam/v22/neIczCCpqp0s5pPusPamd81eMfjPonvqdbYxxpgufnv0TGnBZLwhuvk.ttf",!0),A.S("Noto Sans Anatolian Hieroglyphs","notosansanatolianhieroglyphs/v16/ijw9s4roRME5LLRxjsRb8A0gKPSWq4BbDmHHu6j2pEtUJzZWXybIymc5QYo.ttf",!0),A.S("Noto Sans Arabic","notosansarabic/v18/nwpxtLGrOAZMl5nJ_wfgRg3DrWFZWsnVBJ_sS6tlqHHFlhQ5l3sQWIHPqzCfyGyvu3CBFQLaig.ttf",!0),A.S("Noto Sans Armenian","notosansarmenian/v43/ZgN0jOZKPa7CHqq0h37c7ReDUubm2SEdFXp7ig73qtTY5idb74R9UdM3y2nZLorxb60iYy6zF3Eg.ttf",!0),A.S("Noto Sans Avestan","notosansavestan/v21/bWti7ejKfBziStx7lIzKOLQZKhIJkyu9SASLji8U.ttf",!0),A.S("Noto Sans Balinese","notosansbalinese/v24/NaPwcYvSBuhTirw6IaFn6UrRDaqje-lpbbRtYf-Fwu2Ov7fdhE5Vd222PPY.ttf",!0),A.S("Noto Sans Bamum","notosansbamum/v27/uk-0EGK3o6EruUbnwovcbBTkkklK_Ya_PBHfNGTPEddO-_gLykxEkxA.ttf",!0),A.S("Noto Sans Bassa Vah","notosansbassavah/v17/PN_bRee-r3f7LnqsD5sax12gjZn7mBpL5YwUpA2MBdcFn4MaAc6p34gH-GD7.ttf",!0),A.S("Noto Sans Batak","notosansbatak/v20/gok2H6TwAEdtF9N8-mdTCQvT-Zdgo4_PHuk74A.ttf",!0),A.S("Noto Sans Bengali","notosansbengali/v20/Cn-SJsCGWQxOjaGwMQ6fIiMywrNJIky6nvd8BjzVMvJx2mcSPVFpVEqE-6KmsolLudCk8izI0lc.ttf",!0),A.S("Noto Sans Bhaiksuki","notosansbhaiksuki/v17/UcC63EosKniBH4iELXATsSBWdvUHXxhj8rLUdU4wh9U.ttf",!0),A.S("Noto Sans Brahmi","notosansbrahmi/v19/vEFK2-VODB8RrNDvZSUmQQIIByV18tK1W77HtMo.ttf",!0),A.S("Noto Sans Buginese","notosansbuginese/v18/esDM30ldNv-KYGGJpKGk18phe_7Da6_gtfuEXLmNtw.ttf",!0),A.S("Noto Sans Buhid","notosansbuhid/v22/Dxxy8jiXMW75w3OmoDXVWJD7YwzAe6tgnaFoGA.ttf",!0),A.S("Noto Sans Canadian Aboriginal","notosanscanadianaboriginal/v26/4C_TLjTuEqPj-8J01CwaGkiZ9os0iGVkezM1mUT-j_Lmlzda6uH_nnX1bzigWLn_yAsg0q0uhQ.ttf",!0),A.S("Noto Sans Carian","notosanscarian/v16/LDIpaoiONgYwA9Yc6f0gUILeMIOgs7ob9yGLmfI.ttf",!0),A.S("Noto Sans Caucasian Albanian","notosanscaucasianalbanian/v18/nKKA-HM_FYFRJvXzVXaANsU0VzsAc46QGOkWytlTs-TXrYDmoVmRSZo.ttf",!0),A.S("Noto Sans Chakma","notosanschakma/v17/Y4GQYbJ8VTEp4t3MKJSMjg5OIzhi4JjTQhYBeYo.ttf",!0),A.S("Noto Sans Cham","notosanscham/v30/pe06MIySN5pO62Z5YkFyQb_bbuRhe6D4yip43qfcERwcv7GykboaLg.ttf",!0),A.S("Noto Sans Cherokee","notosanscherokee/v20/KFOPCm6Yu8uF-29fiz9vQF9YWK6Z8O10cHNA0cSkZCHYWi5PDkm5rAffjl0.ttf",!0),A.S("Noto Sans Coptic","notosanscoptic/v21/iJWfBWmUZi_OHPqn4wq6kgqumOEd78u_VG0xR4Y.ttf",!0),A.S("Noto Sans Cuneiform","notosanscuneiform/v17/bMrrmTWK7YY-MF22aHGGd7H8PhJtvBDWgb9JlRQueeQ.ttf",!0),A.S("Noto Sans Cypriot","notosanscypriot/v19/8AtzGta9PYqQDjyp79a6f8Cj-3a3cxIsK5MPpahF.ttf",!0),A.S("Noto Sans Deseret","notosansdeseret/v17/MwQsbgPp1eKH6QsAVuFb9AZM6MMr2Vq9ZnJSZtQG.ttf",!0),A.S("Noto Sans Devanagari","notosansdevanagari/v25/TuGoUUFzXI5FBtUq5a8bjKYTZjtRU6Sgv3NaV_SNmI0b8QQCQmHn6B2OHjbL_08AlXQly-AzoFoW4Ow.ttf",!0),A.S("Noto Sans Duployan","notosansduployan/v17/gokzH7nwAEdtF9N8-mdTDx_X9JM5wsvrFsIn6WYDvA.ttf",!0),A.S("Noto Sans Egyptian Hieroglyphs","notosansegyptianhieroglyphs/v29/vEF42-tODB8RrNDvZSUmRhcQHzx1s7y_F9-j3qSzEcbEYindSVK8xRg7iw.ttf",!0),A.S("Noto Sans Elbasan","notosanselbasan/v16/-F6rfiZqLzI2JPCgQBnw400qp1trvHdlre4dFcFh.ttf",!0),A.S("Noto Sans Elymaic","notosanselymaic/v17/UqyKK9YTJW5liNMhTMqe9vUFP65ZD4AjWOT0zi2V.ttf",!0),A.S("Noto Sans Ethiopic","notosansethiopic/v47/7cHPv50vjIepfJVOZZgcpQ5B9FBTH9KGNfhSTgtoow1KVnIvyBoMSzUMacb-T35OK6DjwmfeaY9u.ttf",!0),A.S("Noto Sans Georgian","notosansgeorgian/v44/PlIaFke5O6RzLfvNNVSitxkr76PRHBC4Ytyq-Gof7PUs4S7zWn-8YDB09HFNdpvnzFj-f5WK0OQV.ttf",!0),A.S("Noto Sans Glagolitic","notosansglagolitic/v18/1q2ZY4-BBFBst88SU_tOj4J-4yuNF_HI4ERK4Amu7nM1.ttf",!0),A.S("Noto Sans Gothic","notosansgothic/v16/TuGKUUVzXI5FBtUq5a8bj6wRbzxTFMX40kFQRx0.ttf",!0),A.S("Noto Sans Grantha","notosansgrantha/v17/3y976akwcCjmsU8NDyrKo3IQfQ4o-r8cFeulHc6N.ttf",!0),A.S("Noto Sans Gujarati","notosansgujarati/v25/wlpWgx_HC1ti5ViekvcxnhMlCVo3f5pv17ivlzsUB14gg1TMR2Gw4VceEl7MA_ypFwPM_OdiEH0s.ttf",!0),A.S("Noto Sans Gunjala Gondi","notosansgunjalagondi/v19/bWtX7e7KfBziStx7lIzKPrcSMwcEnCv6DW7n5g0ef3PLtymzNxYL4YDE4J4vCTxEJQ.ttf",!0),A.S("Noto Sans Gurmukhi","notosansgurmukhi/v26/w8g9H3EvQP81sInb43inmyN9zZ7hb7ATbSWo4q8dJ74a3cVrYFQ_bogT0-gPeG1OenbxZ_trdp7h.ttf",!0),A.S("Noto Sans HK","notosanshk/v31/nKKF-GM_FYFRJvXzVXaAPe97P1KHynJFP716qHB--oWTiYjNvVA.ttf",!0),A.S("Noto Sans Hanunoo","notosanshanunoo/v21/f0Xs0fCv8dxkDWlZSoXOj6CphMloFsEsEpgL_ix2.ttf",!0),A.S("Noto Sans Hatran","notosanshatran/v16/A2BBn4Ne0RgnVF3Lnko-0sOBIfL_mM83r1nwzDs.ttf",!0),A.S("Noto Sans Hebrew","notosanshebrew/v43/or3HQ7v33eiDljA1IufXTtVf7V6RvEEdhQlk0LlGxCyaeNKYZC0sqk3xXGiXd4qtoiJltutR2g.ttf",!0),A.S("Noto Sans Imperial Aramaic","notosansimperialaramaic/v16/a8IMNpjwKmHXpgXbMIsbTc_kvks91LlLetBr5itQrtdml3YfPNno.ttf",!0),A.S("Noto Sans Indic Siyaq Numbers","notosansindicsiyaqnumbers/v16/6xK5dTJFKcWIu4bpRBjRZRpsIYHabOeZ8UZLubTzpXNHKx2WPOpVd5Iu.ttf",!0),A.S("Noto Sans Inscriptional Pahlavi","notosansinscriptionalpahlavi/v16/ll8UK3GaVDuxR-TEqFPIbsR79Xxz9WEKbwsjpz7VklYlC7FCVtqVOAYK0QA.ttf",!0),A.S("Noto Sans Inscriptional Parthian","notosansinscriptionalparthian/v16/k3k7o-IMPvpLmixcA63oYi-yStDkgXuXncL7dzfW3P4TAJ2yklBJ2jNkLlLr.ttf",!0),A.S("Noto Sans JP","notosansjp/v52/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFBEj75vY0rw-oME.ttf",!0),A.S("Noto Sans Javanese","notosansjavanese/v23/2V01KJkDAIA6Hp4zoSScDjV0Y-eoHAHT-Z3MngEefiidxJnkFFliZYWj4O8.ttf",!0),A.S("Noto Sans KR","notosanskr/v36/PbyxFmXiEBPT4ITbgNA5Cgms3VYcOA-vvnIzzuoyeLTq8H4hfeE.ttf",!0),A.S("Noto Sans Kaithi","notosanskaithi/v21/buEtppS9f8_vkXadMBJJu0tWjLwjQi0KdoZIKlo.ttf",!0),A.S("Noto Sans Kannada","notosanskannada/v27/8vIs7xs32H97qzQKnzfeXycxXZyUmySvZWItmf1fe6TVmgop9ndpS-BqHEyGrDvNzSIMLsPKrkY.ttf",!0),A.S("Noto Sans Kayah Li","notosanskayahli/v21/B50nF61OpWTRcGrhOVJJwOMXdca6Yecki3E06x2jVTX3WCc3CZH4EXLuKVM.ttf",!0),A.S("Noto Sans Kharoshthi","notosanskharoshthi/v16/Fh4qPiLjKS30-P4-pGMMXCCfvkc5Vd7KE5z4rFyx5mR1.ttf",!0),A.S("Noto Sans Khmer","notosanskhmer/v24/ijw3s5roRME5LLRxjsRb-gssOenAyendxrgV2c-Zw-9vbVUti_Z_dWgtWYuNAJz4kAbrddiA.ttf",!0),A.S("Noto Sans Khojki","notosanskhojki/v19/-nFnOHM29Oofr2wohFbTuPPKVWpmK_d709jy92k.ttf",!0),A.S("Noto Sans Khudawadi","notosanskhudawadi/v21/fdNi9t6ZsWBZ2k5ltHN73zZ5hc8HANlHIjRnVVXz9MY.ttf",!0),A.S("Noto Sans Lao","notosanslao/v30/bx6lNx2Ol_ixgdYWLm9BwxM3NW6BOkuf763Clj73CiQ_J1Djx9pidOt4ccbdf5MK3riB2w.ttf",!0),A.S("Noto Sans Lepcha","notosanslepcha/v19/0QI7MWlB_JWgA166SKhu05TekNS32AJstqBXgd4.ttf",!0),A.S("Noto Sans Limbu","notosanslimbu/v22/3JnlSDv90Gmq2mrzckOBBRRoNJVj0MF3OHRDnA.ttf",!0),A.S("Noto Sans Linear A","notosanslineara/v18/oPWS_l16kP4jCuhpgEGmwJOiA18FZj22zmHQAGQicw.ttf",!0),A.S("Noto Sans Linear B","notosanslinearb/v17/HhyJU4wt9vSgfHoORYOiXOckKNB737IV3BkFTq4EPw.ttf",!0),A.S("Noto Sans Lisu","notosanslisu/v25/uk-3EGO3o6EruUbnwovcYhz6kh57_nqbcTdjJnHP2Vwt29IlxkVdig.ttf",!0),A.S("Noto Sans Lycian","notosanslycian/v15/QldVNSNMqAsHtsJ7UmqxBQA9r8wA5_naCJwn00E.ttf",!0),A.S("Noto Sans Lydian","notosanslydian/v18/c4m71mVzGN7s8FmIukZJ1v4ZlcPReUPXMoIjEQI.ttf",!0),A.S("Noto Sans Mahajani","notosansmahajani/v19/-F6sfiVqLzI2JPCgQBnw60Agp0JrvD5Fh8ARHNh4zg.ttf",!0),A.S("Noto Sans Malayalam","notosansmalayalam/v26/sJoi3K5XjsSdcnzn071rL37lpAOsUThnDZIfPdbeSNzVakglNM-Qw8EaeB8Nss-_RuD9BFzEr6HxEA.ttf",!0),A.S("Noto Sans Mandaic","notosansmandaic/v16/cIfnMbdWt1w_HgCcilqhKQBo_OsMI5_A_gMk0izH.ttf",!0),A.S("Noto Sans Manichaean","notosansmanichaean/v18/taiVGntiC4--qtsfi4Jp9-_GkPZZCcrfekqCNTtFCtdX.ttf",!0),A.S("Noto Sans Marchen","notosansmarchen/v19/aFTO7OZ_Y282EP-WyG6QTOX_C8WZMHhPk652ZaHk.ttf",!0),A.S("Noto Sans Masaram Gondi","notosansmasaramgondi/v17/6xK_dThFKcWIu4bpRBjRYRV7KZCbUq6n_1kPnuGe7RI9WSWX.ttf",!0),A.S("Noto Sans Math","notosansmath/v15/7Aump_cpkSecTWaHRlH2hyV5UHkG-V048PW0.ttf",!0),A.S("Noto Sans Mayan Numerals","notosansmayannumerals/v16/PlIuFk25O6RzLfvNNVSivR09_KqYMwvvDKYjfIiE68oo6eepYQ.ttf",!0),A.S("Noto Sans Medefaidrin","notosansmedefaidrin/v23/WwkzxOq6Dk-wranENynkfeVsNbRZtbOIdLb1exeM4ZeuabBfmErWlT318e5A3rw.ttf",!0),A.S("Noto Sans Meetei Mayek","notosansmeeteimayek/v15/HTxAL3QyKieByqY9eZPFweO0be7M21uSphSdhqILnmrRfJ8t_1TJ_vTW5PgeFYVa.ttf",!0),A.S("Noto Sans Meroitic","notosansmeroitic/v18/IFS5HfRJndhE3P4b5jnZ3ITPvC6i00UDgDhTiKY9KQ.ttf",!0),A.S("Noto Sans Miao","notosansmiao/v17/Dxxz8jmXMW75w3OmoDXVV4zyZUjgUYVslLhx.ttf",!0),A.S("Noto Sans Modi","notosansmodi/v23/pe03MIySN5pO62Z5YkFyT7jeav5qWVAgVol-.ttf",!0),A.S("Noto Sans Mongolian","notosansmongolian/v21/VdGCAYADGIwE0EopZx8xQfHlgEAMsrToxLsg6-av1x0.ttf",!0),A.S("Noto Sans Mro","notosansmro/v18/qWcsB6--pZv9TqnUQMhe9b39WDzRtjkho4M.ttf",!0),A.S("Noto Sans Multani","notosansmultani/v20/9Bty3ClF38_RfOpe1gCaZ8p30BOFO1A0pfCs5Kos.ttf",!0),A.S("Noto Sans Myanmar","notosansmyanmar/v20/AlZq_y1ZtY3ymOryg38hOCSdOnFq0En23OU4o1AC.ttf",!0),A.S("Noto Sans NKo","notosansnko/v6/esDX31ZdNv-KYGGJpKGk2_RpMpCMHMLBrdA.ttf",!0),A.S("Noto Sans Nabataean","notosansnabataean/v16/IFS4HfVJndhE3P4b5jnZ34DfsjO330dNoBJ9hK8kMK4.ttf",!0),A.S("Noto Sans New Tai Lue","notosansnewtailue/v22/H4cKBW-Pl9DZ0Xe_nHUapt7PovLXAhAnY7wqaLy-OJgU3p_pdeXAYUbghFPKzeY.ttf",!0),A.S("Noto Sans Newa","notosansnewa/v16/7r3fqXp6utEsO9pI4f8ok8sWg8n_qN4R5lNU.ttf",!0),A.S("Noto Sans Nushu","notosansnushu/v19/rnCw-xRQ3B7652emAbAe_Ai1IYaFWFAMArZKqQ.ttf",!0),A.S("Noto Sans Ogham","notosansogham/v17/kmKlZqk1GBDGN0mY6k5lmEmww4hrt5laQxcoCA.ttf",!0),A.S("Noto Sans Ol Chiki","notosansolchiki/v29/N0b92TJNOPt-eHmFZCdQbrL32r-4CvhzDzRwlxOQYuVALWk267I6gVrz5gQ.ttf",!0),A.S("Noto Sans Old Hungarian","notosansoldhungarian/v18/E213_cD6hP3GwCJPEUssHEM0KqLaHJXg2PiIgRfjbg5nCYXt.ttf",!0),A.S("Noto Sans Old Italic","notosansolditalic/v16/TuGOUUFzXI5FBtUq5a8bh68BJxxEVam7tWlRdRhtCC4d.ttf",!0),A.S("Noto Sans Old North Arabian","notosansoldnortharabian/v16/esDF30BdNv-KYGGJpKGk2tNiMt7Jar6olZDyNdr81zBQmUo_xw4ABw.ttf",!0),A.S("Noto Sans Old Permic","notosansoldpermic/v17/snf1s1q1-dF8pli1TesqcbUY4Mr-ElrwKLdXgv_dKYB5.ttf",!0),A.S("Noto Sans Old Persian","notosansoldpersian/v16/wEOjEAbNnc5caQTFG18FHrZr9Bp6-8CmIJ_tqOlQfx9CjA.ttf",!0),A.S("Noto Sans Old Sogdian","notosansoldsogdian/v16/3JnjSCH90Gmq2mrzckOBBhFhdrMst48aURt7neIqM-9uyg.ttf",!0),A.S("Noto Sans Old South Arabian","notosansoldsoutharabian/v16/3qT5oiOhnSyU8TNFIdhZTice3hB_HWKsEnF--0XCHiKx1OtDT9HwTA.ttf",!0),A.S("Noto Sans Old Turkic","notosansoldturkic/v17/yMJNMJVya43H0SUF_WmcGEQVqoEMKDKbsE2RjEw-Vyws.ttf",!0),A.S("Noto Sans Oriya","notosansoriya/v31/AYCppXfzfccDCstK_hrjDyADv5e9748vhj3CJBLHIARtgD6TJQS0dJT5Ivj0f6_c6LhHBRe-.ttf",!0),A.S("Noto Sans Osage","notosansosage/v18/oPWX_kB6kP4jCuhpgEGmw4mtAVtXRlaSxkrMCQ.ttf",!0),A.S("Noto Sans Osmanya","notosansosmanya/v18/8vIS7xs32H97qzQKnzfeWzUyUpOJmz6kR47NCV5Z.ttf",!0),A.S("Noto Sans Pahawh Hmong","notosanspahawhhmong/v18/bWtp7e_KfBziStx7lIzKKaMUOBEA3UPQDW7krzc_c48aMpM.ttf",!0),A.S("Noto Sans Palmyrene","notosanspalmyrene/v16/ZgNPjOdKPa7CHqq0h37c_ASCWvH93SFCPnK5ZpdNtcA.ttf",!0),A.S("Noto Sans Pau Cin Hau","notosanspaucinhau/v20/x3d-cl3IZKmUqiMg_9wBLLtzl22EayN7ehIdjEWqKMxsKw.ttf",!0),A.S("Noto Sans Phags Pa","notosansphagspa/v15/pxiZyoo6v8ZYyWh5WuPeJzMkd4SrGChkqkSsrvNXiA.ttf",!0),A.S("Noto Sans Phoenician","notosansphoenician/v17/jizFRF9Ksm4Bt9PvcTaEkIHiTVtxmFtS5X7Jot-p5561.ttf",!0),A.S("Noto Sans Psalter Pahlavi","notosanspsalterpahlavi/v16/rP2Vp3K65FkAtHfwd-eISGznYihzggmsicPfud3w1G3KsUQBct4.ttf",!0),A.S("Noto Sans Rejang","notosansrejang/v21/Ktk2AKuMeZjqPnXgyqrib7DIogqwN4O3WYZB_sU.ttf",!0),A.S("Noto Sans Runic","notosansrunic/v17/H4c_BXWPl9DZ0Xe_nHUaus7W68WWaxpvHtgIYg.ttf",!0),A.S("Noto Sans SC","notosanssc/v36/k3kCo84MPvpLmixcA63oeAL7Iqp5IZJF9bmaG9_FnYxNbPzS5HE.ttf",!0),A.S("Noto Sans Saurashtra","notosanssaurashtra/v23/ea8GacQ0Wfz_XKWXe6OtoA8w8zvmYwTef9ndjhPTSIx9.ttf",!0),A.S("Noto Sans Sharada","notosanssharada/v16/gok0H7rwAEdtF9N8-mdTGALG6p0kwoXLPOwr4H8a.ttf",!0),A.S("Noto Sans Shavian","notosansshavian/v17/CHy5V_HZE0jxJBQlqAeCKjJvQBNF4EFQSplv2Cwg.ttf",!0),A.S("Noto Sans Siddham","notosanssiddham/v20/OZpZg-FwqiNLe9PELUikxTWDoCCeGqndk3Ic92ZH.ttf",!0),A.S("Noto Sans Sinhala","notosanssinhala/v26/yMJ2MJBya43H0SUF_WmcBEEf4rQVO2P524V5N_MxQzQtb-tf5dJbC30Fu9zUwg2a5lgLpJwbQRM.ttf",!0),A.S("Noto Sans Sogdian","notosanssogdian/v16/taiQGn5iC4--qtsfi4Jp6eHPnfxQBo--Pm6KHidM.ttf",!0),A.S("Noto Sans Sora Sompeng","notosanssorasompeng/v24/PlIRFkO5O6RzLfvNNVSioxM2_OTrEhPyDLolKvCsHzCxWuGkYHR818DpZXJQd4Mu.ttf",!0),A.S("Noto Sans Soyombo","notosanssoyombo/v17/RWmSoL-Y6-8q5LTtXs6MF6q7xsxgY0FrIFOcK25W.ttf",!0),A.S("Noto Sans Sundanese","notosanssundanese/v26/FwZw7_84xUkosG2xJo2gm7nFwSLQkdymq2mkz3Gz1_b6ctxpNNHCizv7fQES.ttf",!0),A.S("Noto Sans Syloti Nagri","notosanssylotinagri/v20/uU9eCAQZ75uhfF9UoWDRiY3q7Sf_VFV3m4dGFVfxN87gsj0.ttf",!0),A.S("Noto Sans Syriac","notosanssyriac/v16/Ktk7AKuMeZjqPnXgyqribqzQqgW0LYiVqV7dXcP0C-VD9MaJyZfUL_FC.ttf",!0),A.S("Noto Sans TC","notosanstc/v35/-nFuOG829Oofr2wohFbTp9ifNAn722rq0MXz76Cy_CpOtma3uNQ.ttf",!0),A.S("Noto Sans Tagalog","notosanstagalog/v22/J7aFnoNzCnFcV9ZI-sUYuvote1R0wwEAA8jHexnL.ttf",!0),A.S("Noto Sans Tagbanwa","notosanstagbanwa/v18/Y4GWYbB8VTEp4t3MKJSMmQdIKjRtt_nZRjQEaYpGoQ.ttf",!0),A.S("Noto Sans Tai Le","notosanstaile/v17/vEFK2-VODB8RrNDvZSUmVxEATwR58tK1W77HtMo.ttf",!0),A.S("Noto Sans Tai Tham","notosanstaitham/v20/kJEbBv0U4hgtwxDUw2x9q7tbjLIfbPGHBoaVSAZ3MdLJBCUbPgquyaRGKMw.ttf",!0),A.S("Noto Sans Tai Viet","notosanstaiviet/v19/8QIUdj3HhN_lv4jf9vsE-9GMOLsaSPZr644fWsRO9w.ttf",!0),A.S("Noto Sans Takri","notosanstakri/v24/TuGJUVpzXI5FBtUq5a8bnKIOdTwQNO_W3khJXg.ttf",!0),A.S("Noto Sans Tamil","notosanstamil/v27/ieVc2YdFI3GCY6SyQy1KfStzYKZgzN1z4LKDbeZce-0429tBManUktuex7vGo70RqKDt_EvT.ttf",!0),A.S("Noto Sans Tamil Supplement","notosanstamilsupplement/v21/DdTz78kEtnooLS5rXF1DaruiCd_bFp_Ph4sGcn7ax_vsAeMkeq1x.ttf",!0),A.S("Noto Sans Telugu","notosanstelugu/v26/0FlxVOGZlE2Rrtr-HmgkMWJNjJ5_RyT8o8c7fHkeg-esVC5dzHkHIJQqrEntezbqQUbf-3v37w.ttf",!0),A.S("Noto Sans Thaana","notosansthaana/v24/C8c14dM-vnz-s-3jaEsxlxHkBH-WZOETXfoQrfQ9Y4XrbhLhnu4-tbNu.ttf",!0),A.S("Noto Sans Thai","notosansthai/v25/iJWnBXeUZi_OHPqn4wq6hQ2_hbJ1xyN9wd43SofNWcd1MKVQt_So_9CdU5RtpzF-QRvzzXg.ttf",!0),A.S("Noto Sans Tifinagh","notosanstifinagh/v20/I_uzMoCduATTei9eI8dawkHIwvmhCvbn6rnEcXfs4Q.ttf",!0),A.S("Noto Sans Tirhuta","notosanstirhuta/v16/t5t6IQYRNJ6TWjahPR6X-M-apUyby7uGUBsTrn5P.ttf",!0),A.S("Noto Sans Ugaritic","notosansugaritic/v16/3qTwoiqhnSyU8TNFIdhZVCwbjCpkAXXkMhoIkiazfg.ttf",!0),A.S("Noto Sans Vai","notosansvai/v17/NaPecZTSBuhTirw6IaFn_UrURMTsDIRSfr0.ttf",!0),A.S("Noto Sans Wancho","notosanswancho/v17/zrf-0GXXyfn6Fs0lH9P4cUubP0GBqAPopiRfKp8.ttf",!0),A.S("Noto Sans Warang Citi","notosanswarangciti/v17/EYqtmb9SzL1YtsZSScyKDXIeOv3w-zgsNvKRpeVCCXzdgA.ttf",!0),A.S("Noto Sans Yi","notosansyi/v19/sJoD3LFXjsSdcnzn071rO3apxVDJNVgSNg.ttf",!0),A.S("Noto Sans Zanabazar Square","notosanszanabazarsquare/v19/Cn-jJsuGWQxOjaGwMQ6fOicyxLBEMRfDtkzl4uagQtJxOCEgN0Gc.ttf",!0),A.S("Noto Serif Tibetan","notoseriftibetan/v22/gokGH7nwAEdtF9N45n0Vaz7O-pk0wsvxHeDXMfqguoCmIrYcPS7rdSy_32c.ttf",!0)],t.Qg))}return r}, +a4R(){var s,r,q,p,o,n=this,m=n.r +if(m!=null){m.delete() +n.r=null +m=n.w +if(m!=null)m.delete() +n.w=null}n.r=$.be.aX().TypefaceFontProvider.Make() +m=$.be.aX().FontCollection.Make() +n.w=m +m.enableFontFallback() +n.w.setDefaultFontManager(n.r) +m=n.f +m.I(0) +for(s=n.d,r=s.length,q=0;q=q.c||q.b>=q.d)q=o.b +else{n=o.b +if(!(n.a>=n.c||n.b>=n.d))q=q.kx(n)}}return q}, +jE(a){var s,r,q,p,o +for(s=this.c,r=s.length,q=0;q=o.c||o.b>=o.d))p.f0(a)}}} +A.Jw.prototype={ +f0(a){this.jE(a)}} +A.EP.prototype={ +iJ(a,b){var s,r,q=null,p=this.f,o=a.c.a +o.push(new A.hg(B.qX,q,q,p,q,q)) +s=this.kX(a,b) +p=p.a +p===$&&A.a() +r=A.ak_(p.a.getBounds()) +if(s.xs(r))this.b=s.cW(r) +o.pop()}, +f0(a){var s,r=this,q=a.a +q.c5(0) +s=r.r +q.a8g(0,r.f,s!==B.Z) +s=s===B.ck +if(s)q.fJ(r.b,null) +r.jE(a) +if(s)q.bG(0) +q.bG(0)}, +$iWq:1} +A.ET.prototype={ +iJ(a,b){var s,r=null,q=this.f,p=a.c.a +p.push(new A.hg(B.qV,q,r,r,r,r)) +s=this.kX(a,b) +if(s.xs(q))this.b=s.cW(q) +p.pop()}, +f0(a){var s,r,q=a.a +q.c5(0) +s=this.f +r=this.r +q.Oe(s,B.ej,r!==B.Z) +r=r===B.ck +if(r)q.fJ(s,null) +this.jE(a) +if(r)q.bG(0) +q.bG(0)}, +$iWt:1} +A.ER.prototype={ +iJ(a,b){var s,r,q,p,o=null,n=this.f,m=a.c.a +m.push(new A.hg(B.qW,o,n,o,o,o)) +s=this.kX(a,b) +r=n.a +q=n.b +p=n.c +n=n.d +if(s.xs(new A.x(r,q,p,n)))this.b=s.cW(new A.x(r,q,p,n)) +m.pop()}, +f0(a){var s,r=this,q=a.a +q.c5(0) +s=r.r +q.a8i(r.f,s!==B.Z) +s=s===B.ck +if(s)q.fJ(r.b,null) +r.jE(a) +if(s)q.bG(0) +q.bG(0)}, +$iWr:1} +A.HY.prototype={ +iJ(a,b){var s,r,q,p,o=this,n=null,m=new A.bp(new Float32Array(16)) +m.ba(b) +s=o.r +r=s.a +s=s.b +m.aq(0,r,s) +q=A.cH() +q.iZ(r,s,0) +p=a.c.a +p.push(A.am7(q)) +p.push(new A.hg(B.GK,n,n,n,n,o.f)) +o.Uo(a,m) +p.pop() +p.pop() +o.b=o.b.aq(0,r,s)}, +f0(a){var s,r,q,p=this,o=A.Wh() +o.sae(0,A.a3(p.f,0,0,0)) +s=a.a +s.c5(0) +r=p.r +q=r.a +r=r.b +s.aq(0,q,r) +s.fJ(p.b.cX(new A.n(-q,-r)),o) +r=o.b +r===$&&A.a() +r.l() +p.jE(a) +s.bG(0) +s.bG(0)}, +$ia5v:1} +A.zO.prototype={ +iJ(a,b){var s=this.f,r=b.rL(s),q=a.c.a +q.push(A.am7(s)) +this.b=A.u1(s,this.kX(a,r)) +q.pop()}, +f0(a){var s=a.a +s.c5(0) +s.a8(0,this.f.a) +this.jE(a) +s.bG(0)}, +$iL2:1} +A.HW.prototype={$ia5u:1} +A.GJ.prototype={ +iJ(a,b){var s,r,q,p,o=this,n=new A.bp(new Float32Array(16)) +n.ba(b) +s=o.f +r=s.a +s=s.b +n.aq(0,r,s) +q=A.cH() +q.iZ(r,s,0) +s=a.c.a +s.push(A.am7(q)) +p=t.p1.a(o.r) +p.Qc(new A.a06(o,o.kX(a,n))) +s.pop()}, +f0(a){var s,r,q=this,p=a.a +p.c5(0) +s=q.f +p.aq(0,s.a,s.b) +p.Oe(q.b,B.ej,!1) +r=A.Wh() +r.sabD(q.r) +p.fJ(q.b,r) +s=r.b +s===$&&A.a() +s.l() +q.jE(a) +p.bG(0) +p.bG(0)}, +$ia05:1} +A.a06.prototype={ +$1(a){var s=A.eH(this.b) +s=a.getOutputBounds(s) +this.a.b=new A.x(s[0],s[1],s[2],s[3])}, +$S:1} +A.IA.prototype={ +iJ(a,b){var s=this.c.a +s===$&&A.a() +this.b=A.ak_(s.a.cullRect()).cX(this.d)}, +f0(a){var s,r +B.c.Y(a.b.a.save()) +s=this.d +a.b.a.translate(s.a,s.b) +s=a.b +r=this.c.a +r===$&&A.a() +r=r.a +r.toString +s.a.drawPicture(r) +a.b.a.restore()}} +A.IE.prototype={ +iJ(a,b){var s=this,r=s.d,q=r.a,p=r.b,o=s.e,n=s.f +s.b=new A.x(q,p,q+o,p+n) +p=a.b +if(p!=null)p.adA(s.c,new A.vB(r,new A.K(o,n),new A.nO(A.hV(a.c.a,!0,t.CW))))}, +f0(a){var s,r,q,p,o,n,m=a.d +if(m==null)s=null +else{r=this.c +m.b.a.gcs().Qg(r) +q=m.c.c +m.r.push(r) +p=m.c;++p.c +o=p.a +if(q")),r=r.y[1];s.t();){q=s.a +q=(q==null?r.a(q):q).r +p=new A.a54(a) +p.$1(q.gCn()) +B.b.V(q.d,p) +B.b.V(q.c,p)}}} +A.a53.prototype={ +$0(){return A.aCk(this.b,this.a)}, +$S:328} +A.a54.prototype={ +$1(a){a.y=this.a +a.Bw()}, +$S:181} +A.nM.prototype={ +Rb(){this.r.gCn().qD(this.c)}, +t1(a,b){var s,r,q +t.Oz.a(a) +a.qD(this.c) +s=this.c +r=$.bq().d +if(r==null){q=self.window.devicePixelRatio +r=q===0?1:q}q=a.ax +A.l(a.Q.style,"transform","translate(0px, "+A.h(s.b/r-q/r)+"px)") +q=a.a.a.getCanvas() +q.clear(A.ajC($.Ug(),B.M)) +B.b.V(b,new A.fZ(q).gPb()) +a.a.a.flush() +return A.ce(null,t.H)}, +gwd(){return this.r}} +A.a55.prototype={ +$0(){var s=A.aS(self.document,"flt-canvas-container") +if($.akO())$.aw().gby() +return new A.i7(!1,!0,s)}, +$S:183} +A.uM.prototype={ +a7o(a){this.a.push(a)}, +c5(a){var s,r,q +for(s=this.a,r=0,q=0;q0))p.ax=null +else{r=a.a +q=new A.Wg(r,s) +s=$.be.aX().MaskFilter.MakeBlur($.axT()[r.a],s,!0) +s.toString +r=new A.ey(o,t.R) +r.i0(q,s,o,t.e) +q.c!==$&&A.bx() +q.c=r +p.ax=q}s=p.ax +if(s==null)s=null +else{s=s.c +s===$&&A.a() +s=s.a +s.toString}p.a.setMaskFilter(s)}, +skE(a){var s,r=this +if(r.ay===a)return +r.ay=a +s=r.as +s=s==null?null:s.G0(a) +r.a.setShader(s)}, +sOf(a){var s,r=this +if(r.ch===a)return +r.ch=a +r.Q=null +s=A.aIt(a) +s.toString +s=r.CW=A.a1z(s) +if(r.z){r.Q=s +s=r.CW=A.a1z(new A.pA($.akM(),s))}s=s.b +s===$&&A.a() +s=s.a +s.toString +r.a.setColorFilter(s)}, +sabD(a){if(J.e(this.c,a))return +t.fz.a(a) +a.Qc(new A.Wi(this)) +this.c=a}, +j(a){return"Paint()"}, +$ia5G:1} +A.Wi.prototype={ +$1(a){this.a.a.setImageFilter(a)}, +$S:1} +A.uO.prototype={ +gr7(){return this.b}, +sr7(a){var s +if(this.b===a)return +this.b=a +s=this.a +s===$&&A.a() +s=s.a +s.toString +s.setFillType($.Uh()[a.a])}, +C8(a){var s=this.a +s===$&&A.a() +s=s.a +s.toString +s.addOval(A.eH(a),!1,1)}, +fZ(a){var s=this.a +s===$&&A.a() +s=s.a +s.toString +s.addRRect(A.u0(a),!1)}, +vy(a){var s=this.a +s===$&&A.a() +s=s.a +s.toString +s.addRect(A.eH(a))}, +nu(a,b,c,d,e){var s=this.a +s===$&&A.a() +s=s.a +s.toString +s.arcToOval(A.eH(b),c*57.29577951308232,d*57.29577951308232,e)}, +aJ(a){var s=this.a +s===$&&A.a() +s.a.close()}, +p(a,b){var s=this.a +s===$&&A.a() +return s.a.contains(b.a,b.b)}, +eN(a){var s=this.a +s===$&&A.a() +return A.ak_(s.a.getBounds())}, +d9(a,b,c){var s=this.a +s===$&&A.a() +s.a.lineTo(b,c)}, +f_(a,b,c){var s=this.a +s===$&&A.a() +s.a.moveTo(b,c)}, +eG(a){var s +this.b=B.b2 +s=this.a +s===$&&A.a() +s.a.reset()}, +cX(a){var s,r=this.a +r===$&&A.a() +s=r.a.copy() +A.b7(s,"transform",[1,0,a.a,0,1,a.b,0,0,1]) +r=this.b +s.setFillType($.Uh()[r.a]) +return A.ap5(s,r)}} +A.mT.prototype={ +l(){var s=this.a +s===$&&A.a() +s.l()}, +td(a,b){var s,r,q,p=$.W0.aX().e.qD(new A.jn(a,b)).a,o=p.getCanvas() +o.clear(A.ajC($.Ug(),B.M)) +s=this.a +s===$&&A.a() +s=s.a +s.toString +o.drawPicture(s) +r=p.makeImageSnapshot() +p=$.be.aX().AlphaType.Premul +s=$.be.aX().ColorType.RGBA_8888 +q=A.arX(p,self.window.flutterCanvasKit.ColorSpace.SRGB,s,b,a) +s=r.readPixels(0,0,q) +s=$.be.aX().MakeImage(q,s,4*a) +if(s==null)throw A.c(A.R("Unable to convert image pixels into SkImage.")) +return A.Wf(s,null)}} +A.hE.prototype={ +km(a){var s=new self.window.flutterCanvasKit.PictureRecorder() +this.a=s +return this.b=new A.fZ(s.beginRecording(A.eH(a),!0))}, +lY(){var s,r,q,p=this.a +if(p==null)throw A.c(A.R("PictureRecorder is not recording")) +s=p.finishRecordingAsPicture() +p.delete() +this.a=null +r=new A.mT() +q=new A.ey("Picture",t.R) +q.i0(r,s,"Picture",t.e) +r.a!==$&&A.bx() +r.a=q +return r}, +gQt(){return this.a!=null}} +A.a6A.prototype={} +A.rG.prototype={ +gy7(){var s,r,q,p,o,n,m,l=this,k=l.e +if(k===$){s=l.a.gcs() +r=t.qN +q=A.b([],r) +r=A.b([],r) +p=t.S +o=t.t +n=A.b([],o) +o=A.b([],o) +m=A.b([],t.RX) +l.e!==$&&A.a1() +k=l.e=new A.GD(s.d,l,new A.vC(q,r),A.E(p,t.GB),A.E(p,t.JH),A.aA(p),n,o,new A.qQ(m),A.E(p,t.c8))}return k}, +wf(a){return this.a9G(a)}, +a9G(a){var s=0,r=A.C(t.H),q,p=this,o,n,m,l +var $async$wf=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:l=p.a.gjF() +if(l.gM(0)){s=1 +break}p.c=new A.jn(B.c.a7(l.a),B.c.a7(l.b)) +p.Rb() +o=p.gy7() +n=p.c +o.z=n +m=new A.hE() +n=n.Fw() +m.km(new A.x(0,0,0+n.a,0+n.b)) +n=m.b +n.toString +new A.ZK(n,null,p.gy7()).adH(a,!0) +s=3 +return A.y(p.gy7().tX(0,m.lY()),$async$wf) +case 3:case 1:return A.A(q,r)}}) +return A.B($async$wf,r)}} +A.XD.prototype={} +A.Jl.prototype={} +A.qN.prototype={ +lC(){var s,r,q,p=this,o=$.bq().d +if(o==null){s=self.window.devicePixelRatio +o=s===0?1:s}s=p.c +r=p.d +q=p.b.style +A.l(q,"width",A.h(s/o)+"px") +A.l(q,"height",A.h(r/o)+"px") +p.r=o}, +J2(a){var s,r=this,q=a.a +if(q===r.c&&a.b===r.d){q=$.bq().d +if(q==null){q=self.window.devicePixelRatio +if(q===0)q=1}if(q!==r.r)r.lC() +return}r.c=q +r.d=a.b +s=r.b +A.l6(s,q) +A.l5(s,r.d) +r.lC()}, +hd(a){}, +l(){this.a.remove()}, +go5(){return this.a}} +A.pz.prototype={ +F(){return"CanvasKitVariant."+this.b}} +A.uE.prototype={ +gFm(){return"canvaskit"}, +ga_U(){var s,r,q,p,o=this.b +if(o===$){s=t.N +r=A.b([],t.LX) +q=t.Pc +p=A.b([],q) +q=A.b([],q) +this.b!==$&&A.a1() +o=this.b=new A.Kg(A.aA(s),r,p,q,A.E(s,t.gS))}return o}, +grb(){var s,r,q,p,o=this.b +if(o===$){s=t.N +r=A.b([],t.LX) +q=t.Pc +p=A.b([],q) +q=A.b([],q) +this.b!==$&&A.a1() +o=this.b=new A.Kg(A.aA(s),r,p,q,A.E(s,t.gS))}return o}, +hd(a){var s=0,r=A.C(t.H),q,p=this,o +var $async$hd=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=p.a +q=o==null?p.a=new A.W1(p).$0():o +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$hd,r)}, +bg(){return A.Wh()}, +OB(a,b){if(a.gQt())A.aa(A.cx(u.r,null)) +return new A.W_(t.wW.a(a).km(B.dO))}, +OE(a,b,c,d,e,f,g){var s=new A.EI(b,c,d,e,f,g) +s.XX() +return s}, +OH(){return new A.hE()}, +CP(){var s=new A.Jw(A.b([],t.k5),B.I),r=new A.a1k(s) +r.b=s +return r}, +OF(a,b){var s,r,q,p,o="ImageFilter.matrix",n=new Float64Array(A.p4(a)) +A.Ds(a) +n=new A.Ac(n,b) +s=$.be.aX().ImageFilter +r=A.aK2(a) +q=$.axo().i(0,b) +q.toString +p=new A.ey(o,t.R) +p.i0(n,A.b7(s,"MakeMatrixTransform",[r,q,null]),o,t.e) +n.d!==$&&A.bx() +n.d=p +return n}, +ju(a,b,c,d){return this.abV(a,b,c,d)}, +Eb(a){return this.ju(a,!0,null,null)}, +abV(a,b,c,d){var s=0,r=A.C(t.hP),q +var $async$ju=A.D(function(e,f){if(e===1)return A.z(f,r) +while(true)switch(s){case 0:q=A.aJK(a,d,c) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$ju,r)}, +dz(){return A.azx()}, +OJ(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,a0,a1,a2){var s=t.eQ +s.a(a) +s.a(n) +return A.ala(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,g,h,a0,a1,a2)}, +OG(a,b,c,d,e,f,g,h,i,j,k,l){var s,r=f===0,q=r?null:f,p=t.e,o=p.a({}),n=$.axZ()[j.a] +o.textAlign=n +if(k!=null)o.textDirection=$.ay1()[k.a] +if(h!=null)o.maxLines=h +n=q!=null +if(n)o.heightMultiplier=q +if(l!=null)o.textHeightBehavior=$.ay2()[0] +if(a!=null)o.ellipsis=a +if(i!=null)o.strutStyle=A.azw(i,l) +o.replaceTabCharacters=!0 +s=p.a({}) +if(e!=null)s.fontStyle=A.anY(e,d) +if(c!=null)A.as1(s,c) +if(n)A.as3(s,q) +A.as0(s,A.ane(b,null)) +o.textStyle=s +o.applyRoundingHack=!1 +q=$.be.aX().ParagraphStyle(o) +return new A.uN(q,j,k,e,d,h,b,b,c,r?null:f,l,i,a,g)}, +w1(a){var s,r,q,p=null +t.m6.a(a) +s=A.b([],t.AT) +r=$.be.aX().ParagraphBuilder.MakeFromFontCollection(a.a,$.W0.aX().ga_U().w) +q=a.z +q=q==null?p:q.c +s.push(A.ala(p,p,p,p,p,p,a.w,p,p,a.x,a.e,p,a.d,p,a.y,q,p,p,a.r,p,p,p,p)) +return new A.Wj(r,a,s)}, +ov(a,b){return this.aeb(a,b)}, +aeb(a,b){var s=0,r=A.C(t.H),q,p=this,o,n,m,l +var $async$ov=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:n=p.w.i(0,b.a) +m=n.b +l=$.az().dy!=null?new A.Gj($.alK,$.alJ):null +if(m.a!=null){o=m.b +if(o!=null)o.a.eS(0) +o=new A.a9($.ad,t.U) +m.b=new A.Bx(new A.b1(o,t.h),l,a) +q=o +s=1 +break}o=new A.a9($.ad,t.U) +m.a=new A.Bx(new A.b1(o,t.h),l,a) +p.pD(n) +q=o +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$ov,r)}, +pD(a){return this.a2Y(a)}, +a2Y(a){var s=0,r=A.C(t.H),q,p=2,o,n=this,m,l,k,j,i,h,g +var $async$pD=A.D(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:i=a.b +h=i.a +h.toString +m=h +p=4 +s=7 +return A.y(n.v5(m.c,a,m.b),$async$pD) +case 7:m.a.eS(0) +p=2 +s=6 +break +case 4:p=3 +g=o +l=A.a6(g) +k=A.aK(g) +m.a.lJ(l,k) +s=6 +break +case 3:s=2 +break +case 6:h=i.b +i.a=h +i.b=null +if(h==null){s=1 +break}else{q=n.pD(a) +s=1 +break}case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$pD,r)}, +v5(a,b,c){return this.a4U(a,b,c)}, +a4U(a,b,c){var s=0,r=A.C(t.H),q +var $async$v5=A.D(function(d,e){if(d===1)return A.z(e,r) +while(true)switch(s){case 0:q=c==null +if(!q)c.Rv() +if(!q)c.Rx() +s=2 +return A.y(b.wf(t.h_.a(a).a),$async$v5) +case 2:if(!q)c.Rw() +if(!q)c.Gz() +return A.A(null,r)}}) +return A.B($async$v5,r)}, +a4_(a){var s=$.az().gbY().b.i(0,a) +this.w.n(0,s.a,this.d.CQ(s))}, +a41(a){var s=this.w +if(!s.a9(0,a))return +s=s.A(0,a) +s.toString +s.gy7().l() +s.gwd().l()}, +Od(){$.azk.I(0)}, +OD(a,b,c,d,e,f,g,h,i){return new A.iw(d,a,c,h,e,i,f,b,g)}} +A.W1.prototype={ +$0(){var s=0,r=A.C(t.P),q=this,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b +var $async$$0=A.D(function(a,a0){if(a===1)return A.z(a0,r) +while(true)switch(s){case 0:s=self.window.flutterCanvasKit!=null?2:4 +break +case 2:p=self.window.flutterCanvasKit +p.toString +$.be.b=p +s=3 +break +case 4:s=self.window.flutterCanvasKitLoaded!=null?5:7 +break +case 5:p=self.window.flutterCanvasKitLoaded +p.toString +b=$.be +s=8 +return A.y(A.cN(p,t.e),$async$$0) +case 8:b.b=a0 +s=6 +break +case 7:b=$.be +s=9 +return A.y(A.TV(),$async$$0) +case 9:b.b=a0 +self.window.flutterCanvasKit=$.be.aX() +case 6:case 3:p=$.az() +o=p.gbY() +n=q.a +if(n.f==null)for(m=o.b.gaF(0),l=A.o(m),m=new A.br(J.ak(m.a),m.b,l.h("br<1,2>")),l=l.y[1],k=t.mm,j=t.S,i=t.lz,h=t.e,g=n.w,f=n.d;m.t();){e=m.a +e=(e==null?l.a(e):e).a +d=p.r +if(d===$){d!==$&&A.a1() +d=p.r=new A.vZ(p,A.E(j,i),A.E(j,h),new A.jb(null,null,k),new A.jb(null,null,k))}c=d.b.i(0,e) +g.n(0,c.a,f.CQ(c))}if(n.f==null){p=o.d +n.f=new A.c0(p,A.o(p).h("c0<1>")).hT(n.ga3Z())}if(n.r==null){p=o.e +n.r=new A.c0(p,A.o(p).h("c0<1>")).hT(n.ga40())}$.W0.b=n +return A.A(null,r)}}) +return A.B($async$$0,r)}, +$S:82} +A.Kc.prototype={ +XX(){var s,r=this,q="Gradient.linear",p=$.be.aX().Shader,o=A.avr(r.b),n=A.avr(r.c),m=A.aJZ(r.d),l=A.aK_(r.e),k=$.ay3()[r.f.a],j=r.r +j=j!=null?A.aK1(j):null +s=new A.ey(q,t.R) +s.i0(r,A.b7(p,"MakeLinearGradient",[o,n,m,l,k,j==null?null:j]),q,t.e) +r.a!==$&&A.bx() +r.a=s}, +G0(a){var s=this.a +s===$&&A.a() +s=s.a +s.toString +return s}, +j(a){return"Gradient()"}, +$ial9:1} +A.EI.prototype={ +j(a){return"Gradient()"}} +A.i7.prototype={ +Bw(){var s,r=this.y +if(r!=null){s=this.w +if(s!=null)s.setResourceCacheLimitBytes(r)}}, +xG(a,b,c){return this.adJ(a,b,c)}, +adJ(a,b,c){var s=0,r=A.C(t.H),q=this,p,o,n,m,l,k,j,i +var $async$xG=A.D(function(d,e){if(d===1)return A.z(e,r) +while(true)switch(s){case 0:i=q.a.a.getCanvas() +i.clear(A.ajC($.Ug(),B.M)) +B.b.V(c,new A.fZ(i).gPb()) +q.a.a.flush() +if(self.window.createImageBitmap!=null)i=!A.aJi() +else i=!1 +s=i?2:4 +break +case 2:if(q.b){i=q.z +i.toString +p=i}else{i=q.Q +i.toString +p=i}i=a.b +i=[i,a.a,0,q.ax-i] +o=self.createImageBitmap(p,i[2],i[3],i[1],i[0]) +o=o +i=t.e +s=5 +return A.y(A.cN(o,i),$async$xG) +case 5:n=e +b.J2(new A.jn(A.cj(n.width),A.cj(n.height))) +m=b.e +if(m===$){l=A.ft(b.b,"bitmaprenderer",null) +l.toString +i.a(l) +b.e!==$&&A.a1() +b.e=l +m=l}m.transferFromImageBitmap(n) +s=3 +break +case 4:if(q.b){i=q.z +i.toString +k=i}else{i=q.Q +i.toString +k=i}i=q.ax +b.J2(a) +m=b.f +if(m===$){l=A.ft(b.b,"2d",null) +l.toString +t.e.a(l) +b.f!==$&&A.a1() +b.f=l +m=l}l=a.b +j=a.a +A.alo(m,k,0,i-l,j,l,0,0,j,l) +case 3:return A.A(null,r)}}) +return A.B($async$xG,r)}, +lC(){var s,r,q,p=this,o=$.bq().d +if(o==null){s=self.window.devicePixelRatio +o=s===0?1:s}s=p.at +r=p.ax +q=p.Q.style +A.l(q,"width",A.h(s/o)+"px") +A.l(q,"height",A.h(r/o)+"px") +p.ay=o}, +a9S(){if(this.a!=null)return +this.qD(B.xY)}, +qD(a){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f="webglcontextrestored",e="webglcontextlost",d=a.a +if(d===0||a.b===0)throw A.c(A.azi("Cannot create surfaces of empty size.")) +if(!g.d){s=g.cy +if(s!=null&&d===s.a&&a.b===s.b){r=$.bq().d +if(r==null){d=self.window.devicePixelRatio +r=d===0?1:d}if(g.c&&r!==g.ay)g.lC() +d=g.a +d.toString +return d}q=g.cx +if(q!=null)p=d>q.a||a.b>q.b +else p=!1 +if(p){p=a.Fw().ad(0,1.4) +o=B.c.a7(p.a) +p=B.c.a7(p.b) +n=g.a +if(n!=null)n.l() +g.a=null +g.at=o +g.ax=p +if(g.b){p=g.z +p.toString +A.apL(p,o) +o=g.z +o.toString +A.apK(o,g.ax)}else{p=g.Q +p.toString +A.l6(p,o) +o=g.Q +o.toString +A.l5(o,g.ax)}g.cx=new A.jn(g.at,g.ax) +if(g.c)g.lC()}}if(g.d||g.cx==null){p=g.a +if(p!=null)p.l() +g.a=null +p=g.w +if(p!=null)p.releaseResourcesAndAbandonContext() +p=g.w +if(p!=null)p.delete() +g.w=null +p=g.z +if(p!=null){A.cz(p,f,g.r,!1) +p=g.z +p.toString +A.cz(p,e,g.f,!1) +g.f=g.r=g.z=null}else{p=g.Q +if(p!=null){A.cz(p,f,g.r,!1) +p=g.Q +p.toString +A.cz(p,e,g.f,!1) +g.Q.remove() +g.f=g.r=g.Q=null}}g.at=d +p=g.ax=a.b +o=g.b +if(o){m=g.z=new self.OffscreenCanvas(d,p) +g.Q=null}else{l=g.Q=A.mz(p,d) +g.z=null +if(g.c){d=A.a4("true") +if(d==null)d=t.K.a(d) +l.setAttribute("aria-hidden",d) +A.l(g.Q.style,"position","absolute") +d=g.Q +d.toString +g.as.append(d) +g.lC()}m=l}g.r=A.b6(g.gZy()) +d=A.b6(g.gZw()) +g.f=d +A.bV(m,e,d,!1) +A.bV(m,f,g.r,!1) +g.d=!1 +d=$.fi +if((d==null?$.fi=A.p3():d)!==-1&&!A.d9().gO9()){k=$.fi +if(k==null)k=$.fi=A.p3() +j=t.e.a({antialias:0,majorVersion:k}) +if(o){d=$.be.aX() +p=g.z +p.toString +i=B.c.Y(d.GetWebGLContext(p,j))}else{d=$.be.aX() +p=g.Q +p.toString +i=B.c.Y(d.GetWebGLContext(p,j))}g.x=i +if(i!==0){g.w=$.be.aX().MakeGrContext(i) +if(g.ch===-1||g.CW===-1){d=$.fi +if(o){p=g.z +p.toString +h=A.aAt(p,d==null?$.fi=A.p3():d)}else{p=g.Q +p.toString +h=A.aAn(p,d==null?$.fi=A.p3():d)}g.ch=B.c.Y(h.getParameter(B.c.Y(h.SAMPLES))) +g.CW=B.c.Y(h.getParameter(B.c.Y(h.STENCIL_BITS)))}g.Bw()}}g.cx=a}g.cy=a +d=g.a +if(d!=null)d.l() +return g.a=g.ZM(a)}, +Zz(a){$.az().Ee() +a.stopPropagation() +a.preventDefault()}, +Zx(a){this.d=!0 +a.preventDefault()}, +ZM(a){var s,r=this,q=$.fi +if((q==null?$.fi=A.p3():q)===-1)return r.uJ("WebGL support not detected") +else if(A.d9().gO9())return r.uJ("CPU rendering forced by application") +else if(r.x===0)return r.uJ("Failed to initialize WebGL context") +else{q=$.be.aX() +s=r.w +s.toString +s=A.b7(q,"MakeOnScreenGLSurface",[s,a.a,a.b,self.window.flutterCanvasKit.ColorSpace.SRGB,r.ch,r.CW]) +if(s==null)return r.uJ("Failed to initialize WebGL surface") +return new A.EL(s,r.x)}}, +uJ(a){var s,r,q +if(!$.asa){$.dc().$1("WARNING: Falling back to CPU-only rendering. "+a+".") +$.asa=!0}if(this.b){s=$.be.aX() +r=this.z +r.toString +q=s.MakeSWCanvasSurface(r)}else{s=$.be.aX() +r=this.Q +r.toString +q=s.MakeSWCanvasSurface(r)}return new A.EL(q,null)}, +hd(a){this.a9S()}, +l(){var s=this,r=s.z +if(r!=null)A.cz(r,"webglcontextlost",s.f,!1) +r=s.z +if(r!=null)A.cz(r,"webglcontextrestored",s.r,!1) +s.r=s.f=null +r=s.a +if(r!=null)r.l()}, +go5(){return this.as}} +A.EL.prototype={ +l(){if(this.c)return +this.a.dispose() +this.c=!0}} +A.uN.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.uN&&b.b===s.b&&b.c==s.c&&b.d==s.d&&b.f==s.f&&b.r==s.r&&b.x==s.x&&b.y==s.y&&J.e(b.z,s.z)&&J.e(b.Q,s.Q)&&b.as==s.as&&J.e(b.at,s.at)}, +gu(a){var s=this +return A.P(s.b,s.c,s.d,s.e,s.f,s.r,s.x,s.y,s.z,s.Q,s.as,s.at,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return this.bC(0)}} +A.pC.prototype={ +gGt(){var s,r=this,q=r.fx +if(q===$){s=new A.Wk(r).$0() +r.fx!==$&&A.a1() +r.fx=s +q=s}return q}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.pC&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&b.d==s.d&&b.f==s.f&&b.w==s.w&&b.ch==s.ch&&b.x==s.x&&b.as==s.as&&b.at==s.at&&b.ax==s.ax&&b.ay==s.ay&&b.e==s.e&&b.cx==s.cx&&b.cy==s.cy&&A.hz(b.db,s.db)&&A.hz(b.z,s.z)&&A.hz(b.dx,s.dx)&&A.hz(b.dy,s.dy)}, +gu(a){var s=this,r=null,q=s.db,p=s.dy,o=s.z,n=o==null?r:A.bN(o),m=q==null?r:A.bN(q) +return A.P(s.a,s.b,s.c,s.d,s.f,s.r,s.w,s.ch,s.x,n,s.as,s.at,s.ax,s.ay,s.CW,s.cx,s.cy,m,s.e,A.P(r,p==null?r:A.bN(p),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a))}, +j(a){return this.bC(0)}} +A.Wk.prototype={ +$0(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this.a,e=f.a,d=f.b,c=f.c,b=f.d,a=f.e,a0=f.f,a1=f.w,a2=f.as,a3=f.at,a4=f.ax,a5=f.ay,a6=f.cx,a7=f.cy,a8=f.db,a9=f.dy,b0=t.e,b1=b0.a({}) +if(a6!=null){s=A.tY(new A.w(a6.y)) +b1.backgroundColor=s}if(e!=null){s=A.tY(e) +b1.color=s}if(d!=null){r=B.c.Y($.be.aX().NoDecoration) +s=d.a +if((s|1)===s)r=(r|B.c.Y($.be.aX().UnderlineDecoration))>>>0 +if((s|2)===s)r=(r|B.c.Y($.be.aX().OverlineDecoration))>>>0 +if((s|4)===s)r=(r|B.c.Y($.be.aX().LineThroughDecoration))>>>0 +b1.decoration=r}if(a!=null)b1.decorationThickness=a +if(c!=null){s=A.tY(c) +b1.decorationColor=s}if(b!=null)b1.decorationStyle=$.ay0()[b.a] +if(a1!=null)b1.textBaseline=$.ay_()[a1.a] +if(a2!=null)A.as1(b1,a2) +if(a3!=null)b1.letterSpacing=a3 +if(a4!=null)b1.wordSpacing=a4 +if(a5!=null)A.as3(b1,a5) +switch(f.ch){case null:case void 0:break +case B.t:A.as2(b1,!0) +break +case B.x1:A.as2(b1,!1) +break}q=f.fr +if(q===$){p=A.ane(f.y,f.Q) +f.fr!==$&&A.a1() +f.fr=p +q=p}A.as0(b1,q) +if(a0!=null)b1.fontStyle=A.anY(a0,f.r) +if(a7!=null){f=A.tY(new A.w(a7.y)) +b1.foregroundColor=f}if(a8!=null){o=A.b([],t.J) +for(f=a8.length,n=0;n")),o=o.h("X.E");q.t();){p=q.d +if(p==null)p=o.a(p) +if(r>=p.startIndex&&r<=p.endIndex)return new A.ch(B.c.Y(p.startIndex),B.c.Y(p.endIndex))}return B.x3}, +vS(){var s,r,q,p,o=this.a +o===$&&A.a() +o=o.a.getLineMetrics() +s=B.b.df(o,t.e) +r=A.b([],t.ER) +for(o=s.$ti,q=new A.bS(s,s.gq(0),o.h("bS")),o=o.h("X.E");q.t();){p=q.d +r.push(new A.uK(p==null?o.a(p):p))}return r}, +yh(a){var s=this.a +s===$&&A.a() +s=s.a.getLineMetricsAt(a) +return s==null?null:new A.uK(s)}, +gED(){var s=this.a +s===$&&A.a() +return B.c.Y(s.a.getNumberOfLines())}, +l(){var s=this.a +s===$&&A.a() +s.l()}} +A.uK.prototype={ +gNU(){return this.a.ascent}, +gOR(){return this.a.descent}, +gSd(){return this.a.ascent}, +gQ0(){return this.a.isHardBreak}, +gnx(){return this.a.baseline}, +gb3(a){var s=this.a +return B.c.a7(s.ascent+s.descent)}, +gdU(a){return this.a.left}, +gbH(a){return this.a.width}, +gEp(a){return B.c.Y(this.a.lineNumber)}, +$ilp:1} +A.Wj.prototype={ +q8(a){var s=A.b([],t.s),r=B.b.gP(this.e),q=r.y +if(q!=null)s.push(q) +q=r.Q +if(q!=null)B.b.L(s,q) +$.ap().grb().gDD().a9Q(a,s) +this.a.addText(a)}, +bs(){var s,r,q,p,o,n,m,l,k,j="Paragraph" +if($.axm()){s=this.a +r=B.W.e6(0,new A.js(s.getText())) +q=A.aDL($.ayd(),r) +p=q==null +o=p?null:q.i(0,r) +if(o!=null)n=o +else{m=A.auT(r,B.lv) +l=A.auT(r,B.lu) +n=new A.Qb(A.aIZ(r),l,m)}if(!p){p=q.c +k=p.i(0,r) +if(k==null)q.Hx(0,r,n) +else{m=k.d +if(!J.e(m.b,n)){k.hY(0) +q.Hx(0,r,n)}else{k.hY(0) +l=q.b +l.vv(m) +l=l.a.b.ud() +l.toString +p.n(0,r,l)}}}s.setWordsUtf16(n.c) +s.setGraphemeBreaksUtf16(n.b) +s.setLineBreaksUtf16(n.a)}s=this.a +n=s.build() +s.delete() +s=new A.EK(this.b) +r=new A.ey(j,t.R) +r.i0(s,n,j,t.e) +s.a!==$&&A.bx() +s.a=r +return s}, +fG(){var s=this.e +if(s.length<=1)return +s.pop() +this.a.pop()}, +xD(a8){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5=null,a6=this.e,a7=B.b.gP(a6) +t.BQ.a(a8) +s=a8.ay +if(s===0)r=a5 +else r=s==null?a7.ay:s +s=a8.a +if(s==null)s=a7.a +q=a8.b +if(q==null)q=a7.b +p=a8.c +if(p==null)p=a7.c +o=a8.d +if(o==null)o=a7.d +n=a8.e +if(n==null)n=a7.e +m=a8.f +if(m==null)m=a7.f +l=a8.w +if(l==null)l=a7.w +k=a8.x +if(k==null)k=a7.x +j=a8.y +if(j==null)j=a7.y +i=a8.z +if(i==null)i=a7.z +h=a8.Q +if(h==null)h=a7.Q +g=a8.as +if(g==null)g=a7.as +f=a8.at +if(f==null)f=a7.at +e=a8.ax +if(e==null)e=a7.ax +d=a8.ch +if(d==null)d=a7.ch +c=a8.cx +if(c==null)c=a7.cx +b=a8.cy +if(b==null)b=a7.cy +a=a8.db +if(a==null)a=a7.db +a0=a8.dy +if(a0==null)a0=a7.dy +a1=A.ala(c,s,q,p,o,n,j,h,a7.dx,g,a7.r,a0,m,b,r,d,f,a7.CW,k,i,a,l,e) +a6.push(a1) +a6=a1.cy +s=a6==null +if(!s||a1.cx!=null){a2=s?a5:a6.a +if(a2==null){a2=$.avw() +a6=a1.a +a3=a6==null?a5:a6.gm(a6) +if(a3==null)a3=4278190080 +a2.setColorInt(a3)}a6=a1.cx +a4=a6==null?a5:a6.a +if(a4==null)a4=$.avv() +this.a.pushPaintStyle(a1.gGt(),a2,a4)}else this.a.pushStyle(a1.gGt())}} +A.aj1.prototype={ +$1(a){return this.a===a}, +$S:25} +A.wx.prototype={ +F(){return"IntlSegmenterGranularity."+this.b}} +A.Ey.prototype={ +j(a){return"CanvasKitError: "+this.a}} +A.uS.prototype={ +Tz(a,b){var s={} +s.a=!1 +this.a.oT(0,A.cL(J.ah(t.xE.a(a.b),"text"))).aT(0,new A.WC(s,b),t.P).ko(new A.WD(s,b))}, +SM(a){this.b.oN(0).aT(0,new A.Wx(a),t.P).ko(new A.Wy(this,a))}, +abp(a){this.b.oN(0).aT(0,new A.WA(a),t.P).ko(new A.WB(a))}} +A.WC.prototype={ +$1(a){var s=this.b +if(a){s.toString +s.$1(B.L.bA([!0]))}else{s.toString +s.$1(B.L.bA(["copy_fail","Clipboard.setData failed",null])) +this.a.a=!0}}, +$S:69} +A.WD.prototype={ +$1(a){var s +if(!this.a.a){s=this.b +s.toString +s.$1(B.L.bA(["copy_fail","Clipboard.setData failed",null]))}}, +$S:28} +A.Wx.prototype={ +$1(a){var s=A.as(["text",a],t.N,t.z),r=this.a +r.toString +r.$1(B.L.bA([s]))}, +$S:94} +A.Wy.prototype={ +$1(a){var s +if(a instanceof A.oG){A.q4(B.r,null,t.H).aT(0,new A.Ww(this.b),t.P) +return}s=this.b +A.mC("Could not get text from clipboard: "+A.h(a)) +s.toString +s.$1(B.L.bA(["paste_fail","Clipboard.getData failed",null]))}, +$S:28} +A.Ww.prototype={ +$1(a){var s=this.a +if(s!=null)s.$1(null)}, +$S:18} +A.WA.prototype={ +$1(a){var s=A.as(["value",a.length!==0],t.N,t.z),r=this.a +r.toString +r.$1(B.L.bA([s]))}, +$S:94} +A.WB.prototype={ +$1(a){var s,r +if(a instanceof A.oG){A.q4(B.r,null,t.H).aT(0,new A.Wz(this.a),t.P) +return}s=A.as(["value",!1],t.N,t.z) +r=this.a +r.toString +r.$1(B.L.bA([s]))}, +$S:28} +A.Wz.prototype={ +$1(a){var s=this.a +if(s!=null)s.$1(null)}, +$S:18} +A.Wu.prototype={ +oT(a,b){return this.Ty(0,b)}, +Ty(a,b){var s=0,r=A.C(t.y),q,p=2,o,n,m,l,k +var $async$oT=A.D(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:p=4 +m=self.window.navigator.clipboard +m.toString +b.toString +s=7 +return A.y(A.cN(m.writeText(b),t.z),$async$oT) +case 7:p=2 +s=6 +break +case 4:p=3 +k=o +n=A.a6(k) +A.mC("copy is not successful "+A.h(n)) +m=A.ce(!1,t.y) +q=m +s=1 +break +s=6 +break +case 3:s=2 +break +case 6:q=A.ce(!0,t.y) +s=1 +break +case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$oT,r)}} +A.Wv.prototype={ +oN(a){var s=0,r=A.C(t.N),q +var $async$oN=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:q=A.cN(self.window.navigator.clipboard.readText(),t.N) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$oN,r)}} +A.YS.prototype={ +oT(a,b){return A.ce(this.a5J(b),t.y)}, +a5J(a){var s,r,q,p,o="-99999px",n="transparent",m=A.aS(self.document,"textarea"),l=m.style +A.l(l,"position","absolute") +A.l(l,"top",o) +A.l(l,"left",o) +A.l(l,"opacity","0") +A.l(l,"color",n) +A.l(l,"background-color",n) +A.l(l,"background",n) +self.document.body.append(m) +s=m +A.apG(s,a) +A.ct(s,null) +s.select() +r=!1 +try{r=self.document.execCommand("copy") +if(!r)A.mC("copy is not successful")}catch(p){q=A.a6(p) +A.mC("copy is not successful "+A.h(q))}finally{s.remove()}return r}} +A.YT.prototype={ +oN(a){return A.nh(new A.oG("Paste is not implemented for this browser."),null,t.N)}} +A.Zf.prototype={ +gO9(){var s=this.b +if(s==null)s=null +else{s=s.canvasKitForceCpuOnly +if(s==null)s=null}return s===!0}, +gCv(){var s,r=this.b +if(r==null)s=null +else{r=r.canvasKitMaximumSurfaces +if(r==null)r=null +r=r==null?null:B.c.Y(r) +s=r}if(s==null)s=8 +if(s<1)return 1 +return s}, +gCX(){var s=this.b +if(s==null)s=null +else{s=s.debugShowSemanticsNodes +if(s==null)s=null}return s===!0}, +gRO(){var s=this.b +if(s==null)s=null +else{s=s.renderer +if(s==null)s=null}if(s==null){s=self.window.flutterWebRenderer +if(s==null)s=null}return s}, +gDC(){var s=this.b +if(s==null)s=null +else{s=s.fontFallbackBaseUrl +if(s==null)s=null}return s==null?"https://fonts.gstatic.com/s/":s}} +A.FT.prototype={ +gnI(a){var s=this.d +if(s==null){s=self.window.devicePixelRatio +if(s===0)s=1}return s}} +A.a8u.prototype={ +tP(a){return this.TE(a)}, +TE(a){var s=0,r=A.C(t.y),q,p=2,o,n,m,l,k,j,i +var $async$tP=A.D(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:j=self.window.screen +s=j!=null?3:4 +break +case 3:n=j.orientation +s=n!=null?5:6 +break +case 5:l=J.ax(a) +s=l.gM(a)?7:9 +break +case 7:n.unlock() +q=!0 +s=1 +break +s=8 +break +case 9:m=A.aDz(A.cL(l.gH(a))) +s=m!=null?10:11 +break +case 10:p=13 +s=16 +return A.y(A.cN(n.lock(m),t.z),$async$tP) +case 16:q=!0 +s=1 +break +p=2 +s=15 +break +case 13:p=12 +i=o +l=A.ce(!1,t.y) +q=l +s=1 +break +s=15 +break +case 12:s=2 +break +case 15:case 11:case 8:case 6:case 4:q=!1 +s=1 +break +case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$tP,r)}} +A.XN.prototype={ +$1(a){return this.a.warn(a)}, +$S:9} +A.XR.prototype={ +$1(a){a.toString +return A.bw(a)}, +$S:453} +A.GG.prototype={ +gaI(a){return A.cj(this.b.status)}, +gE0(){var s=this.b,r=A.cj(s.status)>=200&&A.cj(s.status)<300,q=A.cj(s.status),p=A.cj(s.status),o=A.cj(s.status)>307&&A.cj(s.status)<400 +return r||q===0||p===304||o}, +gxv(){var s=this +if(!s.gE0())throw A.c(new A.GF(s.a,s.gaI(0))) +return new A.a_P(s.b)}, +$iaqf:1} +A.a_P.prototype={ +xH(a,b,c){var s=0,r=A.C(t.H),q=this,p,o,n +var $async$xH=A.D(function(d,e){if(d===1)return A.z(e,r) +while(true)switch(s){case 0:n=q.a.body.getReader() +p=t.e +case 2:if(!!0){s=3 +break}s=4 +return A.y(A.cN(n.read(),p),$async$xH) +case 4:o=e +if(o.done){s=3 +break}b.$1(c.a(o.value)) +s=2 +break +case 3:return A.A(null,r)}}) +return A.B($async$xH,r)}, +nv(){var s=0,r=A.C(t.pI),q,p=this,o +var $async$nv=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:s=3 +return A.y(A.cN(p.a.arrayBuffer(),t.X),$async$nv) +case 3:o=b +o.toString +q=t.pI.a(o) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$nv,r)}} +A.GF.prototype={ +j(a){return'Flutter Web engine failed to fetch "'+this.a+'". HTTP request succeeded, but the server responded with HTTP status '+this.b+"."}, +$ibR:1} +A.GE.prototype={ +j(a){return'Flutter Web engine failed to complete HTTP request to fetch "'+this.a+'": '+A.h(this.b)}, +$ibR:1} +A.FJ.prototype={} +A.vm.prototype={} +A.ajR.prototype={ +$2(a,b){this.a.$2(B.b.df(a,t.e),b)}, +$S:422} +A.ajF.prototype={ +$1(a){var s=A.j0(a,0,null) +if(B.Jt.p(0,B.b.gP(s.grU())))return s.j(0) +self.window.console.error("URL rejected by TrustedTypes policy flutter-engine: "+a+"(download prevented)") +return null}, +$S:403} +A.N6.prototype={ +t(){var s=++this.b,r=this.a +if(s>r.length)throw A.c(A.R("Iterator out of bounds")) +return s"))}, +gq(a){return B.c.Y(this.a.length)}} +A.Nb.prototype={ +t(){var s=++this.b,r=this.a +if(s>r.length)throw A.c(A.R("Iterator out of bounds")) +return s"))}, +gq(a){return B.c.Y(this.a.length)}} +A.FF.prototype={ +gG(a){var s=this.b +s===$&&A.a() +return s}, +t(){var s=this.a.next() +if(s.done)return!1 +this.b=this.$ti.c.a(s.value) +return!0}} +A.Yu.prototype={} +A.JE.prototype={} +A.od.prototype={} +A.QP.prototype={} +A.a8c.prototype={ +c5(a){var s,r,q=this,p=q.r5$ +p=p.length===0?q.a:B.b.gP(p) +s=q.jn$ +r=new A.bp(new Float32Array(16)) +r.ba(s) +q.Pu$.push(new A.QP(p,r))}, +bG(a){var s,r,q,p=this,o=p.Pu$ +if(o.length===0)return +s=o.pop() +p.jn$=s.b +o=p.r5$ +r=s.a +q=p.a +while(!0){if(!!J.e(o.length===0?q:B.b.gP(o),r))break +o.pop()}}, +aq(a,b,c){this.jn$.aq(0,b,c)}, +em(a,b,c){this.jn$.em(0,b,c)}, +l2(a,b){this.jn$.S_(0,B.vS,b)}, +a8(a,b){this.jn$.cq(0,new A.bp(b))}} +A.akx.prototype={ +$1(a){$.anh=!1 +$.az().hg("flutter/system",$.axp(),new A.akw())}, +$S:67} +A.akw.prototype={ +$1(a){}, +$S:15} +A.ZA.prototype={ +a9Q(a,b){var s,r,q,p,o,n=this,m=A.aA(t.S) +for(s=new A.a86(a),r=n.d,q=n.c;s.t();){p=s.d +if(!(p<160||r.p(0,p)||q.p(0,p)))m.D(0,p)}if(m.a===0)return +o=A.a8(m,!0,m.$ti.c) +if(n.a.SV(o,b).length!==0)n.a7r(o)}, +a7r(a){var s=this +s.at.L(0,a) +if(!s.ax){s.ax=!0 +s.Q=A.q4(B.r,new A.ZI(s),t.H)}}, +a_v(){var s,r +this.ax=!1 +s=this.at +if(s.a===0)return +r=A.a8(s,!0,A.o(s).c) +s.I(0) +this.aad(r)}, +aad(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=A.b([],t.t),d=A.b([],t._m),c=t.Qg,b=A.b([],c) +for(s=a.length,r=t.Ie,q=0;qr){B.b.I(k) +k.push(o) +r=o.e +q=o}else if(n===r){k.push(o) +if(o.d1)if(B.b.dA(k,new A.ZH(l))){s=self.window.navigator.language +if(s==="zh-Hans"||s==="zh-CN"||s==="zh-SG"||s==="zh-MY"){m=l.f +if(B.b.p(k,m))q=m}else if(s==="zh-Hant"||s==="zh-TW"||s==="zh-MO"){m=l.r +if(B.b.p(k,m))q=m}else if(s==="zh-HK"){m=l.w +if(B.b.p(k,m))q=m}else if(s==="ja"){m=l.x +if(B.b.p(k,m))q=m}else if(s==="ko"){m=l.y +if(B.b.p(k,m))q=m}else{m=l.f +if(B.b.p(k,m))q=m}}else{m=l.z +if(B.b.p(k,m))q=m +else{m=l.f +if(B.b.p(k,m))q=m}}q.toString +return q}, +ZS(a){var s,r,q,p=A.b([],t._m) +for(s=a.split(","),r=s.length,q=0;q=q[r])s=r+1 +else p=r}}} +A.G3.prototype={ +af1(){var s=this.e +if(s==null)return A.ce(null,t.H) +else return s.a}, +D(a,b){var s,r,q=this +if(q.b.p(0,b)||q.c.a9(0,b.b))return +s=q.c +r=s.a +s.n(0,b.b,b) +if(q.e==null)q.e=new A.b1(new A.a9($.ad,t.U),t.h) +if(r===0)A.cb(B.r,q.gU2())}, +mO(){var s=0,r=A.C(t.H),q=this,p,o,n,m,l,k,j,i +var $async$mO=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:j=A.E(t.N,t.uz) +i=A.b([],t.s) +for(p=q.c,o=p.gaF(0),n=A.o(o),o=new A.br(J.ak(o.a),o.b,n.h("br<1,2>")),m=t.H,n=n.y[1];o.t();){l=o.a +if(l==null)l=n.a(l) +j.n(0,l.b,A.aBb(new A.Z_(q,l,i),m))}s=2 +return A.y(A.ni(j.gaF(0),m),$async$mO) +case 2:B.b.ht(i) +for(o=i.length,n=q.a,m=n.as,k=0;k")),s=s.y[1];o.t();){r=o.a +for(r=J.ak(r==null?s.a(r):r);r.t();){q=r.gG(r) +q.b.$1(q.a)}}p.b=p.a +p.a=null}, +HE(a,b){var s,r=this,q=r.a +if(q==null)q=r.a=A.E(t.N,r.$ti.h("N>")) +s=q.i(0,a) +if(s==null){s=A.b([],r.$ti.h("v>")) +q.n(0,a,s) +q=s}else q=s +q.push(b)}, +aek(a){var s,r,q=this.b +if(q==null)return null +s=q.i(0,a) +if(s==null||s.length===0)return null +r=(s&&B.b).f3(s,0) +this.HE(a,r) +return r.a}} +A.rS.prototype={} +A.Gj.prototype={ +Rv(){var s=A.q2() +this.c=s}, +Rx(){var s=A.q2() +this.d=s}, +Rw(){var s=A.q2() +this.e=s}, +Gz(){var s,r,q,p=this,o=p.c +o.toString +s=p.d +s.toString +r=p.e +r.toString +r=A.b([p.a,p.b,o,s,r,r,0,0,0,0,1],t.t) +$.alL.push(new A.la(r)) +q=A.q2() +if(q-$.avD()>1e5){$.aB8=q +o=$.az() +s=$.alL +A.kG(o.dy,o.fr,s) +$.alL=A.b([],t.no)}}} +A.jm.prototype={ +sqo(a,b){var s,r,q=this +q.a=b +s=B.c.d1(b.a)-1 +r=B.c.d1(q.a.b)-1 +if(q.z!==s||q.Q!==r){q.z=s +q.Q=r +q.N7()}}, +N7(){A.l(this.c.style,"transform","translate("+this.z+"px, "+this.Q+"px)")}, +M5(){var s=this,r=s.a,q=r.a +r=r.b +s.d.aq(0,-q+(q-1-s.z)+1,-r+(r-1-s.Q)+1)}, +P6(a,b){return this.r>=A.V7(a.c-a.a)&&this.w>=A.V6(a.d-a.b)&&this.ay===b}, +I(a){var s,r,q,p,o,n=this +n.at=!1 +n.d.I(0) +s=n.f +r=s.length +for(q=n.c,p=0;po){l=o +o=p +p=l}if(n>m){l=m +m=n +n=l}k=Math.abs(a3.r) +j=Math.abs(a3.e) +i=Math.abs(a3.w) +h=Math.abs(a3.f) +g=Math.abs(a3.z) +f=Math.abs(a3.x) +e=Math.abs(a3.Q) +d=Math.abs(a3.y) +a.beginPath() +a.moveTo(p+k,n) +c=o-k +a.lineTo(c,n) +A.Dj(a,c,n+i,k,i,0,4.71238898038469,6.283185307179586,!1) +c=m-d +a.lineTo(o,c) +A.Dj(a,o-f,c,f,d,0,0,1.5707963267948966,!1) +c=p+g +a.lineTo(c,m) +A.Dj(a,c,m-e,g,e,0,1.5707963267948966,3.141592653589793,!1) +c=n+h +a.lineTo(p,c) +A.Dj(a,p+j,c,j,h,0,3.141592653589793,4.71238898038469,!1) +a2.gc1().f0(b) +a2.gc1().l3()}}, +qT(a,b){var s,r,q,p,o,n,m=this.d +if(this.vm(b)){a=A.Df(a,b) +s=A.Dh(a,b,"draw-oval",m.c) +m=a.a +r=a.b +this.pm(s,new A.n(m,r),b) +A.l(s.style,"border-radius",A.h((a.c-m)/2)+"px / "+A.h((a.d-r)/2)+"px")}else{m.gc1().jT(b,a) +r=b.b +m.gb1(0).beginPath() +q=m.gc1().Q +p=q==null +o=p?a.gaQ().a:a.gaQ().a-q.a +n=p?a.gaQ().b:a.gaQ().b-q.b +A.Dj(m.gb1(0),o,n,(a.c-a.a)/2,(a.d-a.b)/2,0,0,6.283185307179586,!1) +m.gc1().f0(r) +m.gc1().l3()}}, +ik(a,b,c){var s,r,q,p,o,n,m,l,k=this +if(k.BU(c)){s=A.Df(A.qM(a,b),c) +r=A.Dh(s,c,"draw-circle",k.d.c) +k.pm(r,new A.n(s.a,s.b),c) +A.l(r.style,"border-radius","50%")}else{q=c.w!=null?A.qM(a,b):null +p=k.d +p.gc1().jT(c,q) +q=c.b +p.gb1(0).beginPath() +o=p.gc1().Q +n=o==null +m=a.a +m=n?m:m-o.a +l=a.b +l=n?l:l-o.b +A.Dj(p.gb1(0),m,l,b,b,0,0,6.283185307179586,!1) +p.gc1().f0(q) +p.gc1().l3()}}, +dP(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=this +if(h.vm(b)){s=h.d +r=s.c +t.Ci.a(a) +q=a.a.G_() +if(q!=null){h.cP(q,b) +return}p=a.a +o=p.ax?p.JA():null +if(o!=null){h.dg(o,b) +return}n=A.auJ() +p=A.a4("visible") +if(p==null)p=t.K.a(p) +n.setAttribute("overflow",p) +p=self.document.createElementNS("http://www.w3.org/2000/svg","path") +n.append(p) +m=b.b +if(m!==B.X)if(m!==B.b1){m=b.c +m=m!==0&&m!=null}else m=!1 +else m=!0 +l=b.r +if(m){m=A.a4(A.cM(l)) +if(m==null)m=t.K.a(m) +p.setAttribute("stroke",m) +m=b.c +m=A.a4(A.h(m==null?1:m)) +if(m==null)m=t.K.a(m) +p.setAttribute("stroke-width",m) +m=b.d +if(m!=null){m=A.a4(A.h(A.avo(m))) +if(m==null)m=t.K.a(m) +p.setAttribute("stroke-linecap",m)}m=A.a4("none") +if(m==null)m=t.K.a(m) +p.setAttribute("fill",m)}else{m=A.a4(A.cM(l)) +if(m==null)m=t.K.a(m) +p.setAttribute("fill",m)}if(a.b===B.dH){m=A.a4("evenodd") +if(m==null)m=t.K.a(m) +p.setAttribute("fill-rule",m)}m=A.a4(A.avg(a.a,0,0)) +if(m==null)m=t.K.a(m) +p.setAttribute("d",m) +if(s.b==null){k=n.style +A.l(k,"position","absolute") +if(!r.rr(0)){A.l(k,"transform",A.fk(r.a)) +A.l(k,"transform-origin","0 0 0")}}if(b.x!=null){s=b.b +j=A.cM(b.r) +i=b.x.b +if($.aw().gby()===B.K&&s!==B.X)A.l(n.style,"box-shadow","0px 0px "+A.h(i*2)+"px "+j) +else A.l(n.style,"filter","blur("+A.h(i)+"px)")}h.pm(n,B.h,b)}else{s=b.w!=null?a.eN(0):null +p=h.d +p.gc1().jT(b,s) +s=b.b +if(s==null&&b.c!=null)p.dP(a,B.X) +else p.dP(a,s) +p.gc1().l3()}}, +nM(a,b,c,d){var s,r,q,p,o,n,m=this.d,l=A.aIk(a.eN(0),c) +if(l!=null){s=(B.c.a7(0.3*(b.gm(b)>>>24&255))&255)<<24|b.gm(b)&16777215 +r=A.aIb(s>>>16&255,s>>>8&255,s&255,255) +m.gb1(0).save() +q=m.gb1(0) +q.globalAlpha=(s>>>24&255)/255 +s=d&&$.aw().gby()!==B.K +q=l.b +p=l.a +o=q.a +n=q.b +if(s){m.gb1(0).translate(o,n) +A.alp(m.gb1(0),A.av8(new A.wS(B.y2,p))) +A.XM(m.gb1(0),"") +A.XL(m.gb1(0),r)}else{A.alp(m.gb1(0),"none") +A.XM(m.gb1(0),"") +A.XL(m.gb1(0),r) +m.gb1(0).shadowBlur=p +A.alq(m.gb1(0),r) +A.alr(m.gb1(0),o) +A.als(m.gb1(0),n)}m.ne(m.gb1(0),a) +A.XK(m.gb1(0),null) +m.gb1(0).restore()}}, +Bk(a){var s,r,q,p=a.a,o=A.FE(p) +o.toString +s=this.b +if(s!=null){r=s.aek(o) +if(r!=null)return r}if(!a.b){a.b=!0 +A.l(p.style,"position","absolute")}q=A.FH(p,!0) +p=this.b +if(p!=null)p.HE(o,new A.rS(q,A.aGL(),p.$ti.h("rS<1>"))) +return q}, +IX(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h=this +t.gc.a(a) +s=c.a +r=A.aIz(c.z) +if(r instanceof A.x6)q=h.ZL(a,r.b,r.c,c) +else if(r instanceof A.a4a){p=A.aJR(r.b) +o=p.b +h.c.append(o) +h.f.push(o) +q=h.Bk(a) +A.l(q.style,"filter","url(#"+p.a+")")}else q=h.Bk(a) +o=q.style +n=A.ajI(s) +A.l(o,"mix-blend-mode",n==null?"":n) +o=h.d +if(o.b!=null){n=q.style +n.removeProperty("width") +n.removeProperty("height") +n=o.b +n.toString +m=A.and(n,q,b,o.c) +for(o=m.length,n=h.c,l=h.f,k=0;k1){s=q.a +s.y=s.r.pop() +r=s.w.pop() +if(r!=null){s.Q=r.a +s.as=r.b +s.at=r.c +s.ax=r.d +s.z=!0}else if(s.z)s.z=!1}s=q.c +if(s.length!==0&&B.b.gP(s) instanceof A.xv)s.pop() +else s.push(B.z4);--q.r}, +aq(a,b,c){var s=this.a,r=s.a +if(b!==0||c!==0)r.x=!1 +r.y.aq(0,b,c) +s.c.push(new A.Ip(b,c))}, +em(a,b,c){var s=c==null?b:c,r=this.a,q=r.a +if(b!==1||s!==1)q.x=!1 +q.y.jR(0,b,s,1) +r.c.push(new A.In(b,s)) +return null}, +l2(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=this.a,g=h.a +if(b!==0)g.x=!1 +g=g.y +s=Math.cos(b) +r=Math.sin(b) +g=g.a +q=g[0] +p=g[4] +o=g[1] +n=g[5] +m=g[2] +l=g[6] +k=g[3] +j=g[7] +i=-r +g[0]=q*s+p*r +g[1]=o*s+n*r +g[2]=m*s+l*r +g[3]=k*s+j*r +g[4]=q*i+p*s +g[5]=o*i+n*s +g[6]=m*i+l*s +g[7]=k*i+j*s +h.c.push(new A.Im(b))}, +a8(a,b){var s=A.Ds(b),r=this.a,q=r.a +q.y.cq(0,new A.bp(s)) +q.x=q.y.rr(0) +r.c.push(new A.Io(s))}, +vQ(a,b){this.a.jg(a,B.ej)}, +kp(a){return this.vQ(a,!0)}, +vP(a,b){var s=this.a,r=new A.I7(a) +s.a.jg(new A.x(a.a,a.b,a.c,a.d),r) +s.d.c=!0 +s.c.push(r)}, +lI(a){return this.vP(a,!0)}, +vO(a,b,c){var s,r=this.a +t.Ci.a(b) +s=new A.I6(b) +r.a.jg(b.eN(0),s) +r.d.c=!0 +r.c.push(s)}, +hC(a,b){return this.vO(0,b,!0)}, +hG(a,b,c){var s,r,q,p,o,n,m=this.a +t.g.a(c) +s=Math.max(A.tM(c),1) +c.e=!0 +r=new A.Id(a,b,c.a) +q=a.a +p=b.a +o=a.b +n=b.b +m.a.mD(Math.min(q,p)-s,Math.min(o,n)-s,Math.max(q,p)+s,Math.max(o,n)+s,r) +m.e=m.d.c=!0 +m.c.push(r)}, +nL(a){var s,r,q=this.a +t.g.a(a) +a.e=q.e=q.d.c=!0 +s=new A.If(a.a) +r=q.a +r.jQ(r.a,s) +q.c.push(s)}, +cP(a,b){this.a.cP(a,t.g.a(b))}, +dg(a,b){this.a.dg(a,t.g.a(b))}, +nK(a,b,c){this.a.nK(a,b,t.g.a(c))}, +qT(a,b){var s,r,q,p=this.a +t.g.a(b) +p.e=p.d.c=!0 +s=A.tM(b) +b.e=!0 +r=new A.Ie(a,b.a) +q=p.a +if(s!==0)q.jQ(a.ec(s),r) +else q.jQ(a,r) +p.c.push(r)}, +ik(a,b,c){var s,r,q,p,o,n=this.a +t.g.a(c) +n.e=n.d.c=!0 +s=A.tM(c) +c.e=!0 +r=new A.Ia(a,b,c.a) +q=b+s +p=a.a +o=a.b +n.a.mD(p-q,o-q,p+q,o+q,r) +n.c.push(r)}, +Dl(a,b,c,d,e){var s,r=$.ap().dz(),q=c<=-6.283185307179586 +if(q){r.nu(0,a,b,-3.141592653589793,!0) +b-=3.141592653589793 +r.nu(0,a,b,-3.141592653589793,!1) +b-=3.141592653589793 +c+=6.283185307179586}s=!q +for(;c>=6.283185307179586;s=!1){r.nu(0,a,b,3.141592653589793,s) +b+=3.141592653589793 +r.nu(0,a,b,3.141592653589793,!1) +b+=3.141592653589793 +c-=6.283185307179586}r.nu(0,a,b,c,s) +this.a.dP(r,t.g.a(e))}, +dP(a,b){this.a.dP(a,t.g.a(b))}, +il(a,b,c,d){var s,r,q=this.a +t.g.a(d) +s=q.d +d.e=q.e=s.a=s.c=!0 +r=new A.Ic(a,b,c,d.a) +q.a.jQ(c,r) +q.c.push(r)}, +ku(a,b){this.a.ku(a,b)}, +nM(a,b,c,d){var s,r,q=this.a +q.e=q.d.c=!0 +s=A.aIi(a.eN(0),c) +r=new A.Ik(t.Ci.a(a),b,c,d) +q.a.jQ(s,r) +q.c.push(r)}} +A.Ao.prototype={ +gfm(){return this.eU$}, +bf(a){var s=this.nF("flt-clip"),r=A.aS(self.document,"flt-clip-interior") +this.eU$=r +A.l(r.style,"position","absolute") +r=this.eU$ +r.toString +s.append(r) +return s}, +NO(a,b){var s +if(b!==B.z){s=a.style +A.l(s,"overflow","hidden") +A.l(s,"z-index","0")}}} +A.xD.prototype={ +hm(){var s=this +s.f=s.e.f +if(s.CW!==B.z)s.w=s.cx +else s.w=null +s.r=null}, +bf(a){var s=this.Hr(0),r=A.a4("rect") +if(r==null)r=t.K.a(r) +s.setAttribute("clip-type",r) +return s}, +dt(){var s,r=this,q=r.d.style,p=r.cx,o=p.a +A.l(q,"left",A.h(o)+"px") +s=p.b +A.l(q,"top",A.h(s)+"px") +A.l(q,"width",A.h(p.c-o)+"px") +A.l(q,"height",A.h(p.d-s)+"px") +p=r.d +p.toString +r.NO(p,r.CW) +p=r.eU$.style +A.l(p,"left",A.h(-o)+"px") +A.l(p,"top",A.h(-s)+"px")}, +aZ(a,b){var s=this +s.lh(0,b) +if(!s.cx.k(0,b.cx)||s.CW!==b.CW){s.w=null +s.dt()}}, +$iWt:1} +A.Iu.prototype={ +hm(){var s,r=this +r.f=r.e.f +if(r.cx!==B.z){s=r.CW +r.w=new A.x(s.a,s.b,s.c,s.d)}else r.w=null +r.r=null}, +bf(a){var s=this.Hr(0),r=A.a4("rrect") +if(r==null)r=t.K.a(r) +s.setAttribute("clip-type",r) +return s}, +dt(){var s,r=this,q=r.d.style,p=r.CW,o=p.a +A.l(q,"left",A.h(o)+"px") +s=p.b +A.l(q,"top",A.h(s)+"px") +A.l(q,"width",A.h(p.c-o)+"px") +A.l(q,"height",A.h(p.d-s)+"px") +A.l(q,"border-top-left-radius",A.h(p.e)+"px") +A.l(q,"border-top-right-radius",A.h(p.r)+"px") +A.l(q,"border-bottom-right-radius",A.h(p.x)+"px") +A.l(q,"border-bottom-left-radius",A.h(p.z)+"px") +p=r.d +p.toString +r.NO(p,r.cx) +p=r.eU$.style +A.l(p,"left",A.h(-o)+"px") +A.l(p,"top",A.h(-s)+"px")}, +aZ(a,b){var s=this +s.lh(0,b) +if(!s.CW.k(0,b.CW)||s.cx!==b.cx){s.w=null +s.dt()}}, +$iWr:1} +A.xC.prototype={ +bf(a){return this.nF("flt-clippath")}, +hm(){var s=this +s.V5() +if(s.cx!==B.z){if(s.w==null)s.w=s.CW.eN(0)}else s.w=null}, +dt(){var s=this,r=s.cy +if(r!=null)r.remove() +r=s.d +r.toString +r=A.auK(r,s.CW) +s.cy=r +s.d.append(r)}, +aZ(a,b){var s,r=this +r.lh(0,b) +if(b.CW!==r.CW){r.w=null +s=b.cy +if(s!=null)s.remove() +r.dt()}else r.cy=b.cy +b.cy=null}, +ij(){var s=this.cy +if(s!=null)s.remove() +this.cy=null +this.tZ()}, +$iWq:1} +A.aaq.prototype={ +yx(a,b){var s,r,q,p,o=self.document.createElementNS("http://www.w3.org/2000/svg","feColorMatrix"),n=o.type +n.toString +A.a87(n,1) +n=o.result +n.toString +A.qV(n,b) +n=o.values.baseVal +n.toString +for(s=this.b,r=0;r<20;++r){q=s.createSVGNumber() +p=a[r] +q.value=p +n.appendItem(q)}this.c.append(o)}, +mF(a,b,c){var s=self.document.createElementNS("http://www.w3.org/2000/svg","feFlood"),r=A.a4(a) +if(r==null)r=t.K.a(r) +s.setAttribute("flood-color",r) +r=A.a4(b) +if(r==null)r=t.K.a(r) +s.setAttribute("flood-opacity",r) +r=s.result +r.toString +A.qV(r,c) +this.c.append(s)}, +Gh(a,b,c){var s=self.document.createElementNS("http://www.w3.org/2000/svg","feBlend"),r=s.in1 +r.toString +A.qV(r,a) +r=s.in2 +r.toString +A.qV(r,b) +r=s.mode +r.toString +A.a87(r,c) +this.c.append(s)}, +tM(a,b,c,d,e,f,g,h){var s=self.document.createElementNS("http://www.w3.org/2000/svg","feComposite"),r=s.in1 +r.toString +A.qV(r,a) +r=s.in2 +r.toString +A.qV(r,b) +r=s.operator +r.toString +A.a87(r,g) +if(c!=null){r=s.k1 +r.toString +A.a88(r,c)}if(d!=null){r=s.k2 +r.toString +A.a88(r,d)}if(e!=null){r=s.k3 +r.toString +A.a88(r,e)}if(f!=null){r=s.k4 +r.toString +A.a88(r,f)}r=s.result +r.toString +A.qV(r,h) +this.c.append(s)}, +yy(a,b,c,d){var s=null +return this.tM(a,b,s,s,s,s,c,d)}, +bs(){var s=this.b +s.append(this.c) +return new A.aap(this.a,s)}} +A.aap.prototype={} +A.XI.prototype={ +jg(a,b){throw A.c(A.cp(null))}, +lI(a){throw A.c(A.cp(null))}, +hC(a,b){throw A.c(A.cp(null))}, +hG(a,b,c){throw A.c(A.cp(null))}, +nL(a){throw A.c(A.cp(null))}, +cP(a,b){var s +a=A.Df(a,b) +s=this.r5$ +s=s.length===0?this.a:B.b.gP(s) +s.append(A.Dh(a,b,"draw-rect",this.jn$))}, +dg(a,b){var s,r=A.Dh(A.Df(new A.x(a.a,a.b,a.c,a.d),b),b,"draw-rrect",this.jn$) +A.auu(r.style,a) +s=this.r5$ +s=s.length===0?this.a:B.b.gP(s) +s.append(r)}, +qT(a,b){throw A.c(A.cp(null))}, +ik(a,b,c){throw A.c(A.cp(null))}, +dP(a,b){throw A.c(A.cp(null))}, +nM(a,b,c,d){throw A.c(A.cp(null))}, +il(a,b,c,d){throw A.c(A.cp(null))}, +ku(a,b){var s=A.auO(a,b,this.jn$),r=this.r5$ +r=r.length===0?this.a:B.b.gP(r) +r.append(s)}, +nQ(){}} +A.GC.prototype={} +A.wg.prototype={ +l(){}, +d5(a){return this}, +Qp(a){return a===this}, +S5(a){var s,r,q,p,o=this,n=null +switch(a.a){case 0:case 1:s=A.mz(n,n) +r=o.d +A.l6(s,r) +q=o.e +A.l5(s,q) +p=A.ft(s,"2d",n) +p.toString +t.e.a(p) +A.alo(p,o.a,0,0,n,n,n,n,n,n) +return A.ce(A.es(p.getImageData(0,0,r,q).data.buffer,0,n),t.CD) +default:r=o.a +q=A.FE(r) +q=q==null?n:B.d.c6(q,"data:") +p=t.CD +if(q===!0){r=A.FE(r) +r.toString +return A.ce(A.es(A.aEG(A.j0(r,0,n)).a8G().buffer,0,n),p)}else return A.ce(n,p)}}, +j(a){return"["+this.d+"\xd7"+this.e+"]"}, +$ia00:1, +gbH(a){return this.d}, +gb3(a){return this.e}} +A.xE.prototype={ +hm(){var s,r,q,p=this,o=p.e.f +p.f=o +s=p.cx +r=s.a +q=s.b +if(r!==0||q!==0){o.toString +s=new A.bp(new Float32Array(16)) +s.ba(o) +p.f=s +s.aq(0,r,q)}p.r=null}, +goh(){var s,r=this.cy +if(r==null){r=this.cx +s=A.cH() +s.iZ(-r.a,-r.b,0) +this.cy=s +r=s}return r}, +gfm(){return this.dx}, +q9(a){this.yY(a) +this.db=a.db +this.dx=a.dx +a.dx=a.db=null}, +ij(){var s=this +s.tZ() +$.a7P.RH(s.db) +s.dx=s.db=null}, +bf(a){var s="position",r="absolute",q="transform-origin",p=this.nF("flt-image-filter"),o=this.nF("flt-image-filter-interior") +A.da(o,s,r) +A.da(o,q,"0 0 0") +A.da(p,s,r) +A.da(p,q,"0 0 0") +this.dx=o +p.appendChild(o) +return p}, +dt(){var s,r,q=this,p=t.m1.a(q.CW) +$.a7P.RH(q.db) +q.db=null +A.l(q.dx.style,"filter",p.gaaa()) +A.l(q.dx.style,"transform",p.gaeM()) +s=q.d.style +r=q.cx +A.l(s,"left",A.h(r.a)+"px") +A.l(s,"top",A.h(r.b)+"px")}, +aZ(a,b){var s=this +s.lh(0,b) +if(!b.CW.k(0,s.CW)||!b.cx.k(0,s.cx))s.dt()}, +$ia05:1} +A.xF.prototype={ +hm(){var s,r,q=this,p=q.e.f +q.f=p +s=q.CW +if(s!==0||q.cx!==0){p.toString +r=new A.bp(new Float32Array(16)) +r.ba(p) +q.f=r +r.aq(0,s,q.cx)}q.r=null}, +goh(){var s=this,r=s.cy +if(r==null){r=A.cH() +r.iZ(-s.CW,-s.cx,0) +s.cy=r}return r}, +bf(a){var s=A.aS(self.document,"flt-offset") +A.da(s,"position","absolute") +A.da(s,"transform-origin","0 0 0") +return s}, +dt(){A.l(this.d.style,"transform","translate("+A.h(this.CW)+"px, "+A.h(this.cx)+"px)")}, +aZ(a,b){var s=this +s.lh(0,b) +if(b.CW!==s.CW||b.cx!==s.cx)s.dt()}, +$ia5u:1} +A.xG.prototype={ +hm(){var s,r,q,p=this,o=p.e.f +p.f=o +s=p.cx +r=s.a +q=s.b +if(r!==0||q!==0){o.toString +s=new A.bp(new Float32Array(16)) +s.ba(o) +p.f=s +s.aq(0,r,q)}p.r=null}, +goh(){var s,r=this.cy +if(r==null){r=this.cx +s=A.cH() +s.iZ(-r.a,-r.b,0) +this.cy=s +r=s}return r}, +bf(a){var s=A.aS(self.document,"flt-opacity") +A.da(s,"position","absolute") +A.da(s,"transform-origin","0 0 0") +return s}, +dt(){var s,r=this.d +r.toString +A.da(r,"opacity",A.h(this.CW/255)) +s=this.cx +A.l(r.style,"transform","translate("+A.h(s.a)+"px, "+A.h(s.b)+"px)")}, +aZ(a,b){var s=this +s.lh(0,b) +if(s.CW!==b.CW||!s.cx.k(0,b.cx))s.dt()}, +$ia5v:1} +A.rg.prototype={ +sCr(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.a=a}, +gcH(a){var s=this.a.b +return s==null?B.b1:s}, +scH(a,b){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.b=b}, +gep(){var s=this.a.c +return s==null?0:s}, +sep(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.c=a}, +syJ(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.d=a}, +swR(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.f=!1}, +gae(a){return new A.w(this.a.r)}, +sae(a,b){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.r=b.gm(b)}, +sGn(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.w=a}, +sQM(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.x=a}, +skE(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.y=a}, +sOf(a){var s=this +if(s.e){s.a=s.a.d5(0) +s.e=!1}s.a.z=a}, +j(a){return"Paint()"}, +$ia5G:1, +swO(){}} +A.KD.prototype={ +d5(a){var s=this,r=new A.KD() +r.a=s.a +r.y=s.y +r.x=s.x +r.w=s.w +r.f=s.f +r.r=s.r +r.z=s.z +r.c=s.c +r.b=s.b +r.e=s.e +r.d=s.d +return r}, +j(a){return this.bC(0)}} +A.eN.prototype={ +Fv(){var s,r,q,p,o,n,m,l,k,j=this,i=A.b([],t.yv),h=j.Zu(0.25),g=B.f.a5R(1,h) +i.push(new A.n(j.a,j.b)) +if(h===5){s=new A.Ml() +j.Ie(s) +r=s.a +r.toString +q=s.b +q.toString +p=r.c +o=p===r.e&&r.d===r.f&&q.a===q.c&&q.b===q.d +if(o){n=new A.n(p,r.d) +i.push(n) +i.push(n) +i.push(n) +i.push(new A.n(q.e,q.f)) +g=2}}else o=!1 +if(!o)A.alc(j,h,i) +m=2*g+1 +k=0 +while(!0){if(!(k=0)s.c=-r +s.e=s.d=-1}, +vy(a){this.vz(a,0,0)}, +uD(){var s,r=this.a,q=r.w +for(r=r.r,s=0;s359){j=c4<0?-0.001953125:0.001953125 +i=p +do{i-=j +m=Math.cos(i) +l=Math.sin(i)}while(o===m&&n===l)}}h=c4>0?0:1 +g=c0/2 +f=(c2.d-c2.b)/2 +e=c2.gaQ().a+g*Math.cos(p) +d=c2.gaQ().b+f*Math.sin(p) +if(o===m&&n===l){if(c5)b9.f_(0,e,d) +else b9.AR(e,d) +return}c=o*m+n*l +b=o*l-n*m +c0=!1 +if(Math.abs(b)<=0.000244140625)if(c>0)if(!(b>=0&&h===0))c0=b<=0&&h===1 +else c0=!0 +if(c0){if(c5)b9.f_(0,e,d) +else b9.AR(e,d) +return}c0=h===1 +if(c0)b=-b +if(0===b)a=2 +else if(0===c)a=b>0?1:3 +else{r=b<0 +a=r?2:0 +if(c<0!==r)++a}a0=A.b([],t.td) +for(a1=0;a1=d||e>=c)h.vz(b,0,3) +else if(A.aJl(a1))h.HC(b,0,3) +else{s=d-f +r=c-e +q=Math.max(0,a) +p=Math.max(0,a1.r) +o=Math.max(0,a1.z) +n=Math.max(0,a1.x) +m=Math.max(0,a1.f) +l=Math.max(0,a1.w) +k=Math.max(0,a1.Q) +j=Math.max(0,a1.y) +i=A.aj4(k,j,r,A.aj4(m,l,r,A.aj4(o,n,s,A.aj4(q,p,s,1)))) +a=c-i*k +h.f_(0,f,a) +h.d9(0,f,e+i*m) +h.fo(f,e,f+i*q,e,0.707106781) +h.d9(0,d-i*p,e) +h.fo(d,e,d,e+i*l,0.707106781) +h.d9(0,d,c-i*j) +h.fo(d,c,d-i*n,c,0.707106781) +h.d9(0,f+i*o,c) +h.fo(f,c,f,a,0.707106781) +h.aJ(0) +h.e=g?0:-1 +f=h.a +f.ax=g +f.ch=!1 +f.CW=6}}, +p(a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=this +if(a4.a.w===0)return!1 +s=a4.eN(0) +r=a6.a +q=a6.b +if(rs.c||q>s.d)return!1 +p=a4.a +o=new A.a5O(p,r,q,new Float32Array(18)) +o.a7b() +n=B.dH===a4.b +m=o.d +if((n?m&1:m)!==0)return!0 +l=o.e +if(l<=1)return l!==0 +p=(l&1)===0 +if(!p||n)return!p +k=A.are(a4.a,!0) +j=new Float32Array(18) +i=A.b([],t.yv) +p=k.a +h=!1 +do{g=i.length +switch(k.kP(0,j)){case 0:case 5:break +case 1:A.aJU(j,r,q,i) +break +case 2:A.aJV(j,r,q,i) +break +case 3:f=k.f +A.aJS(j,r,q,p.y[f],i) +break +case 4:A.aJT(j,r,q,i) +break +case 6:h=!0 +break}f=i.length +if(f>g){e=f-1 +d=i[e] +c=d.a +b=d.b +if(Math.abs(c*c+b*b)<0.000244140625)B.b.f3(i,e) +else for(a=0;a0?1:0 +if(f<=0){f=b*a1 +if(f<0)f=-1 +else f=f>0?1:0 +f=f<=0}else f=a2}else f=a2 +if(f){a3=B.b.f3(i,e) +if(a!==i.length)i[a]=a3 +break}}}}while(!h) +return i.length!==0}, +cX(a){var s,r=a.a,q=a.b,p=this.a,o=A.aCx(p,r,q),n=p.e,m=new Uint8Array(n) +B.R.oS(m,0,p.r) +o=new A.qB(o,m) +n=p.x +o.x=n +o.z=p.z +s=p.y +if(s!=null){n=new Float32Array(n) +o.y=n +B.iE.oS(n,0,s)}o.e=p.e +o.w=p.w +o.c=p.c +o.d=p.d +n=p.Q +o.Q=n +if(!n){o.a=p.a.aq(0,r,q) +n=p.b +o.b=n==null?null:n.aq(0,r,q) +o.as=p.as}o.cx=p.cx +o.at=p.at +o.ax=p.ax +o.ay=p.ay +o.ch=p.ch +o.CW=p.CW +r=new A.rh(o,B.b2) +r.ID(this) +return r}, +eN(e2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,e0=this,e1=e0.a +if((e1.ax?e1.CW:-1)===-1)s=(e1.at?e1.CW:-1)!==-1 +else s=!0 +if(s)return e1.eN(0) +if(!e1.Q&&e1.b!=null){e1=e1.b +e1.toString +return e1}r=new A.nU(e1) +r.pb(e1) +q=e0.a.f +for(p=!1,o=0,n=0,m=0,l=0,k=0,j=0,i=0,h=0,g=null,f=null,e=null;d=r.ad7(),d!==6;){c=r.e +switch(d){case 0:j=q[c] +h=q[c+1] +i=h +k=j +break +case 1:j=q[c+2] +h=q[c+3] +i=h +k=j +break +case 2:if(f==null)f=new A.a6x() +b=c+1 +a=q[c] +a0=b+1 +a1=q[b] +b=a0+1 +a2=q[a0] +a0=b+1 +a3=q[b] +a4=q[a0] +a5=q[a0+1] +s=f.a=Math.min(a,a4) +a6=f.b=Math.min(a1,a5) +a7=f.c=Math.max(a,a4) +a8=f.d=Math.max(a1,a5) +a9=a-2*a2+a4 +if(Math.abs(a9)>0.000244140625){b0=(a-a2)/a9 +if(b0>=0&&b0<=1){b1=1-b0 +b2=b1*b1 +b3=2*b0*b1 +b0*=b0 +b4=b2*a+b3*a2+b0*a4 +b5=b2*a1+b3*a3+b0*a5 +s=Math.min(s,b4) +f.a=s +a7=Math.max(a7,b4) +f.c=a7 +a6=Math.min(a6,b5) +f.b=a6 +a8=Math.max(a8,b5) +f.d=a8}}a9=a1-2*a3+a5 +if(Math.abs(a9)>0.000244140625){b6=(a1-a3)/a9 +if(b6>=0&&b6<=1){b7=1-b6 +b2=b7*b7 +b3=2*b6*b7 +b6*=b6 +b8=b2*a+b3*a2+b6*a4 +b9=b2*a1+b3*a3+b6*a5 +s=Math.min(s,b8) +f.a=s +a7=Math.max(a7,b8) +f.c=a7 +a6=Math.min(a6,b9) +f.b=a6 +a8=Math.max(a8,b9) +f.d=a8}h=a8 +j=a7 +i=a6 +k=s}else{h=a8 +j=a7 +i=a6 +k=s}break +case 3:if(e==null)e=new A.WP() +s=e1.y[r.b] +b=c+1 +a=q[c] +a0=b+1 +a1=q[b] +b=a0+1 +a2=q[a0] +a0=b+1 +a3=q[b] +a4=q[a0] +a5=q[a0+1] +e.a=Math.min(a,a4) +e.b=Math.min(a1,a5) +e.c=Math.max(a,a4) +e.d=Math.max(a1,a5) +c0=new A.k2() +c1=a4-a +c2=s*(a2-a) +if(c0.kF(s*c1-c1,c1-2*c2,c2)!==0){a6=c0.a +a6.toString +if(a6>=0&&a6<=1){c3=2*(s-1) +a9=(-c3*a6+c3)*a6+1 +c4=a2*s +b4=(((a4-2*c4+a)*a6+2*(c4-a))*a6+a)/a9 +c4=a3*s +b5=(((a5-2*c4+a1)*a6+2*(c4-a1))*a6+a1)/a9 +e.a=Math.min(e.a,b4) +e.c=Math.max(e.c,b4) +e.b=Math.min(e.b,b5) +e.d=Math.max(e.d,b5)}}c5=a5-a1 +c6=s*(a3-a1) +if(c0.kF(s*c5-c5,c5-2*c6,c6)!==0){a6=c0.a +a6.toString +if(a6>=0&&a6<=1){c3=2*(s-1) +a9=(-c3*a6+c3)*a6+1 +c4=a2*s +b8=(((a4-2*c4+a)*a6+2*(c4-a))*a6+a)/a9 +c4=a3*s +b9=(((a5-2*c4+a1)*a6+2*(c4-a1))*a6+a1)/a9 +e.a=Math.min(e.a,b8) +e.c=Math.max(e.c,b8) +e.b=Math.min(e.b,b9) +e.d=Math.max(e.d,b9)}}k=e.a +i=e.b +j=e.c +h=e.d +break +case 4:if(g==null)g=new A.WX() +b=c+1 +c7=q[c] +a0=b+1 +c8=q[b] +b=a0+1 +c9=q[a0] +a0=b+1 +d0=q[b] +b=a0+1 +d1=q[a0] +a0=b+1 +d2=q[b] +d3=q[a0] +d4=q[a0+1] +s=Math.min(c7,d3) +g.a=s +g.c=Math.min(c8,d4) +a6=Math.max(c7,d3) +g.b=a6 +g.d=Math.max(c8,d4) +if(!(c7c9&&c9>d1&&d1>d3 +else a7=!0 +if(!a7){a7=-c7 +d5=a7+3*(c9-d1)+d3 +d6=2*(c7-2*c9+d1) +d7=d6*d6-4*d5*(a7+c9) +if(d7>=0&&Math.abs(d5)>0.000244140625){a7=-d6 +a8=2*d5 +if(d7===0){d8=a7/a8 +b1=1-d8 +if(d8>=0&&d8<=1){a7=3*b1 +b4=b1*b1*b1*c7+a7*b1*d8*c9+a7*d8*d8*d1+d8*d8*d8*d3 +g.a=Math.min(b4,s) +g.b=Math.max(b4,a6)}}else{d7=Math.sqrt(d7) +d8=(a7-d7)/a8 +b1=1-d8 +if(d8>=0&&d8<=1){s=3*b1 +b4=b1*b1*b1*c7+s*b1*d8*c9+s*d8*d8*d1+d8*d8*d8*d3 +g.a=Math.min(b4,g.a) +g.b=Math.max(b4,g.b)}d8=(a7+d7)/a8 +b1=1-d8 +if(d8>=0&&d8<=1){s=3*b1 +b4=b1*b1*b1*c7+s*b1*d8*c9+s*d8*d8*d1+d8*d8*d8*d3 +g.a=Math.min(b4,g.a) +g.b=Math.max(b4,g.b)}}}}if(!(c8d0&&d0>d2&&d2>d4 +else s=!0 +if(!s){s=-c8 +d5=s+3*(d0-d2)+d4 +d6=2*(c8-2*d0+d2) +d7=d6*d6-4*d5*(s+d0) +if(d7>=0&&Math.abs(d5)>0.000244140625){s=-d6 +a6=2*d5 +if(d7===0){d8=s/a6 +b1=1-d8 +if(d8>=0&&d8<=1){s=3*b1 +b5=b1*b1*b1*c8+s*b1*d8*d0+s*d8*d8*d2+d8*d8*d8*d4 +g.c=Math.min(b5,g.c) +g.d=Math.max(b5,g.d)}}else{d7=Math.sqrt(d7) +d8=(s-d7)/a6 +b1=1-d8 +if(d8>=0&&d8<=1){a7=3*b1 +b5=b1*b1*b1*c8+a7*b1*d8*d0+a7*d8*d8*d2+d8*d8*d8*d4 +g.c=Math.min(b5,g.c) +g.d=Math.max(b5,g.d)}s=(s+d7)/a6 +b7=1-s +if(s>=0&&s<=1){a6=3*b7 +b5=b7*b7*b7*c8+a6*b7*s*d0+a6*s*s*d2+s*s*s*d4 +g.c=Math.min(b5,g.c) +g.d=Math.max(b5,g.d)}}}}k=g.a +i=g.c +j=g.b +h=g.d +break}if(!p){l=h +m=j +n=i +o=k +p=!0}else{o=Math.min(o,k) +m=Math.max(m,j) +n=Math.min(n,i) +l=Math.max(l,h)}}d9=p?new A.x(o,n,m,l):B.I +e0.a.eN(0) +return e0.a.b=d9}, +j(a){return this.bC(0)}} +A.a5M.prototype={ +zj(a){var s=this,r=s.r,q=s.x +if(r!==q||s.w!==s.y){if(isNaN(r)||isNaN(s.w)||isNaN(q)||isNaN(s.y))return 5 +a[0]=r +a[1]=s.w +a[2]=q +r=s.y +a[3]=r +s.r=q +s.w=r +return 1}else{a[0]=q +a[1]=s.y +return 5}}, +ui(){var s,r,q=this +if(q.e===1){q.e=2 +return new A.n(q.x,q.y)}s=q.a.f +r=q.Q +return new A.n(s[r-2],s[r-1])}, +kP(a,b){var s,r,q,p,o,n,m=this,l=m.z,k=m.a +if(l===k.w){if(m.d&&m.e===2){if(1===m.zj(b))return 1 +m.d=!1 +return 5}return 6}s=m.z=l+1 +r=k.r[l] +switch(r){case 0:if(m.d){m.z=s-1 +q=m.zj(b) +if(q===5)m.d=!1 +return q}if(s===m.c)return 6 +l=k.f +k=m.Q +s=m.Q=k+1 +p=l[k] +m.Q=s+1 +o=l[s] +m.x=p +m.y=o +b[0]=p +b[1]=o +m.e=1 +m.r=p +m.w=o +m.d=!0 +break +case 1:n=m.ui() +l=k.f +k=m.Q +s=m.Q=k+1 +p=l[k] +m.Q=s+1 +o=l[s] +b[0]=n.a +b[1]=n.b +b[2]=p +b[3]=o +m.r=p +m.w=o +break +case 3:++m.f +n=m.ui() +b[0]=n.a +b[1]=n.b +l=k.f +k=m.Q +s=m.Q=k+1 +b[2]=l[k] +k=m.Q=s+1 +b[3]=l[s] +s=m.Q=k+1 +k=l[k] +b[4]=k +m.r=k +m.Q=s+1 +s=l[s] +b[5]=s +m.w=s +break +case 2:n=m.ui() +b[0]=n.a +b[1]=n.b +l=k.f +k=m.Q +s=m.Q=k+1 +b[2]=l[k] +k=m.Q=s+1 +b[3]=l[s] +s=m.Q=k+1 +k=l[k] +b[4]=k +m.r=k +m.Q=s+1 +s=l[s] +b[5]=s +m.w=s +break +case 4:n=m.ui() +b[0]=n.a +b[1]=n.b +l=k.f +k=m.Q +s=m.Q=k+1 +b[2]=l[k] +k=m.Q=s+1 +b[3]=l[s] +s=m.Q=k+1 +b[4]=l[k] +k=m.Q=s+1 +b[5]=l[s] +s=m.Q=k+1 +k=l[k] +b[6]=k +m.r=k +m.Q=s+1 +s=l[s] +b[7]=s +m.w=s +break +case 5:r=m.zj(b) +if(r===1)--m.z +else{m.d=!1 +m.e=0}m.r=m.x +m.w=m.y +break +case 6:break +default:throw A.c(A.bE("Unsupport Path verb "+r,null,null))}return r}} +A.qB.prototype={ +fK(a,b,c){var s=a*2,r=this.f +r[s]=b +r[s+1]=c}, +fl(a){var s=this.f,r=a*2 +return new A.n(s[r],s[r+1])}, +G_(){var s=this +if(s.ay)return new A.x(s.fl(0).a,s.fl(0).b,s.fl(1).a,s.fl(2).b) +else return s.w===4?s.a__():null}, +eN(a){var s +if(this.Q)this.zF() +s=this.a +s.toString +return s}, +a__(){var s,r,q,p,o,n,m,l,k=this,j=null,i=k.fl(0).a,h=k.fl(0).b,g=k.fl(1).a,f=k.fl(1).b +if(k.r[1]!==1||f!==h)return j +s=g-i +r=k.fl(2).a +q=k.fl(2).b +if(k.r[2]!==1||r!==g)return j +p=q-f +o=k.fl(3) +n=k.fl(3).b +if(k.r[3]!==1||n!==q)return j +if(r-o.a!==s||n-h!==p)return j +m=Math.min(i,g) +l=Math.min(h,q) +return new A.x(m,l,m+Math.abs(s),l+Math.abs(p))}, +Tb(){var s,r,q,p,o +if(this.w===2){s=this.r +s=s[0]!==0||s[1]!==1}else s=!0 +if(s)return null +s=this.f +r=s[0] +q=s[1] +p=s[2] +o=s[3] +if(q===o||r===p)return new A.x(r,q,p,o) +return null}, +JA(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this.eN(0),f=A.b([],t.kG),e=new A.nU(this) +e.pb(this) +s=new Float32Array(8) +e.kP(0,s) +for(r=0;q=e.kP(0,s),q!==6;)if(3===q){p=s[2] +o=s[3] +n=p-s[0] +m=o-s[1] +l=s[4] +k=s[5] +if(n!==0){j=Math.abs(n) +i=Math.abs(k-o)}else{i=Math.abs(m) +j=m!==0?Math.abs(l-p):Math.abs(n)}f.push(new A.aT(j,i));++r}l=f[0] +k=f[1] +h=f[2] +return A.IU(g,f[3],h,l,k)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.qB&&this.a9W(b)}, +gu(a){var s=this +return A.P(s.cx,s.f,s.y,s.r,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +a9W(a){var s,r,q,p,o,n,m,l=this +if(l.cx!==a.cx)return!1 +s=l.d +if(s!==a.d)return!1 +r=s*2 +for(q=l.f,p=a.f,o=0;ok.e){q=r+8 +k.e=q +p=new Uint8Array(q) +B.R.oS(p,0,k.r) +k.r=p}k.w=r +k.r[s]=a +if(3===a){o=k.z +r=o+1 +if(r>k.x){q=r+4 +k.x=q +n=new Float32Array(q) +q=k.y +if(q!=null)B.iE.oS(n,0,q) +k.y=n}k.z=r +k.y[o]=b}m=k.d +r=m+j +if(r>k.c){q=r+10 +k.c=q +l=new Float32Array(q*2) +B.iE.oS(l,0,k.f) +k.f=l}k.d=r +return m}} +A.nU.prototype={ +pb(a){var s +this.d=0 +s=this.a +if(s.Q)s.zF() +if(!s.as)this.c=s.w}, +ad7(){var s,r=this,q=r.c,p=r.a +if(q===p.w)return 6 +p=p.r +r.c=q+1 +s=p[q] +switch(s){case 0:q=r.d +r.e=q +r.d=q+2 +break +case 1:q=r.d +r.e=q-2 +r.d=q+2 +break +case 3:++r.b +q=r.d +r.e=q-2 +r.d=q+4 +break +case 2:q=r.d +r.e=q-2 +r.d=q+4 +break +case 4:q=r.d +r.e=q-2 +r.d=q+6 +break +case 5:break +case 6:break +default:throw A.c(A.bE("Unsupport Path verb "+s,null,null))}return s}, +kP(a,b){var s,r,q,p,o,n=this,m=n.c,l=n.a +if(m===l.w)return 6 +s=l.r +n.c=m+1 +r=s[m] +q=l.f +p=n.d +switch(r){case 0:o=p+1 +b[0]=q[p] +p=o+1 +b[1]=q[o] +break +case 1:b[0]=q[p-2] +b[1]=q[p-1] +o=p+1 +b[2]=q[p] +p=o+1 +b[3]=q[o] +break +case 3:++n.b +b[0]=q[p-2] +b[1]=q[p-1] +o=p+1 +b[2]=q[p] +p=o+1 +b[3]=q[o] +o=p+1 +b[4]=q[p] +p=o+1 +b[5]=q[o] +break +case 2:b[0]=q[p-2] +b[1]=q[p-1] +o=p+1 +b[2]=q[p] +p=o+1 +b[3]=q[o] +o=p+1 +b[4]=q[p] +p=o+1 +b[5]=q[o] +break +case 4:b[0]=q[p-2] +b[1]=q[p-1] +o=p+1 +b[2]=q[p] +p=o+1 +b[3]=q[o] +o=p+1 +b[4]=q[p] +p=o+1 +b[5]=q[o] +o=p+1 +b[6]=q[p] +p=o+1 +b[7]=q[o] +break +case 5:break +case 6:break +default:throw A.c(A.bE("Unsupport Path verb "+r,null,null))}n.d=p +return r}} +A.k2.prototype={ +kF(a,b,c){var s,r,q,p,o,n,m,l=this +if(a===0){s=A.U4(-c,b) +l.a=s +return s==null?0:1}r=b*b-4*a*c +if(r<0)return 0 +r=Math.sqrt(r) +if(!isFinite(r))return 0 +q=b<0?-(b-r)/2:-(b+r)/2 +p=A.U4(q,a) +if(p!=null){l.a=p +o=1}else o=0 +p=A.U4(c,q) +if(p!=null){n=o+1 +if(o===0)l.a=p +else l.b=p +o=n}if(o===2){s=l.a +s.toString +m=l.b +m.toString +if(s>m){l.a=m +l.b=s}else if(s===m)return 1}return o}} +A.a9H.prototype={ +Pq(a){return(this.a*a+this.c)*a+this.e}, +Pr(a){return(this.b*a+this.d)*a+this.f}} +A.a5O.prototype={ +a7b(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this,d=e.a,c=A.are(d,!0) +for(s=e.f,r=t.td;q=c.kP(0,s),q!==6;)switch(q){case 0:case 5:break +case 1:e.Zs() +break +case 2:p=!A.arg(s)?A.aCy(s):0 +o=e.It(s[0],s[1],s[2],s[3],s[4],s[5]) +if(p>0)o+=e.It(s[4],s[5],s[6],s[7],s[8],s[9]) +e.d+=o +break +case 3:n=d.y[c.f] +m=s[0] +l=s[1] +k=s[2] +j=s[3] +i=s[4] +h=s[5] +g=A.arg(s) +f=A.b([],r) +new A.eN(m,l,k,j,i,h,n).a8d(f) +e.Is(f[0]) +if(!g&&f.length===2)e.Is(f[1]) +break +case 4:e.Zk() +break}}, +Zs(){var s,r,q,p,o,n=this,m=n.f,l=m[0],k=m[1],j=m[2],i=m[3] +if(k>i){s=k +r=i +q=-1}else{s=i +r=k +q=1}m=n.c +if(ms)return +p=n.b +if(A.a5P(p,m,l,k,j,i)){++n.e +return}if(m===s)return +o=(j-l)*(m-k)-(i-k)*(p-l) +if(o===0){if(p!==j||m!==i)++n.e +q=0}else if(A.aDs(o)===q)q=0 +n.d+=q}, +It(a,b,c,d,e,f){var s,r,q,p,o,n,m,l,k=this +if(b>f){s=b +r=f +q=-1}else{s=f +r=b +q=1}p=k.c +if(ps)return 0 +o=k.b +if(A.a5P(o,p,a,b,e,f)){++k.e +return 0}if(p===s)return 0 +n=new A.k2() +if(0===n.kF(b-2*d+f,2*(d-b),b-p))m=q===1?a:e +else{l=n.a +l.toString +m=((e-2*c+a)*l+2*(c-a))*l+a}if(Math.abs(m-o)<0.000244140625)if(o!==e||p!==f){++k.e +return 0}return mg){s=h +r=g +q=-1}else{s=g +r=h +q=1}p=i.c +if(ps)return +o=i.b +if(A.a5P(o,p,a.a,h,a.e,g)){++i.e +return}if(p===s)return +n=a.r +m=a.d*n-p*n+p +l=new A.k2() +if(0===l.kF(g+(h-2*m),2*(m-h),h-p))k=q===1?a.a:a.e +else{j=l.a +j.toString +k=A.azO(a.a,a.c,a.e,n,j)/A.azN(n,j)}if(Math.abs(k-o)<0.000244140625)if(o!==a.e||p!==a.f){++i.e +return}p=i.d +i.d=p+(kq){p=b +o=q +n=-1}else{p=q +o=b +n=1}m=g.c +if(mp)return +l=g.b +if(A.a5P(l,m,d,b,r,q)){++g.e +return}if(m===p)return +k=Math.min(d,Math.min(a,Math.min(s,r))) +j=Math.max(d,Math.max(a,Math.max(s,r))) +if(lj){g.d+=n +return}i=A.auA(f,a0,m) +if(i==null)return +h=A.auQ(d,a,s,r,i) +if(Math.abs(h-l)<0.000244140625)if(l!==r||m!==q){++g.e +return}f=g.d +g.d=f+(h1,o=null,n=1/0,m=0;m<$.kD.length;++m){l=$.kD[m] +$.bq() +k=self.window.devicePixelRatio +if(k===0)k=1 +if(l.y!==k)continue +k=l.a +j=k.c-k.a +k=k.d-k.b +i=j*k +h=a.dy +g=self.window.devicePixelRatio +if(l.r>=B.c.d4(s*(g===0?1:g))+2){g=self.window.devicePixelRatio +f=l.w>=B.c.d4(r*(g===0?1:g))+2&&l.ay===h}else f=!1 +e=i4)){if(j===a1&&k===a3){o=l +break}n=i +o=l}}if(o!=null){B.b.A($.kD,o) +o.sqo(0,a4) +o.b=a.fx +return o}p=a.cy.b.d +k=a.dy +j=A.aS(self.document,"flt-canvas") +h=A.b([],t.J) +$.bq() +g=self.window.devicePixelRatio +if(g===0)g=1 +d=A.V7(a1) +c=A.V6(a3) +a3=new A.W4(A.V7(a1),A.V6(a3),k,A.b([],t.vj),A.cH()) +b=new A.jm(a4,j,a3,h,d,c,g,k,p) +A.l(j.style,"position","absolute") +b.z=B.c.d1(a0)-1 +b.Q=B.c.d1(a2)-1 +b.N7() +a3.z=j +b.M5() +b.b=a.fx +return b}, +HT(){A.l(this.d.style,"transform","translate("+A.h(this.CW)+"px, "+A.h(this.cx)+"px)")}, +dt(){this.HT() +this.uc(null)}, +bs(){this.zI(null) +this.fr=!0 +this.H2()}, +aZ(a,b){var s,r,q=this +q.yZ(0,b) +q.fx=b.fx +if(b!==q)b.fx=null +if(q.CW!==b.CW||q.cx!==b.cx)q.HT() +q.zI(b) +if(q.cy===b.cy){s=q.ch +r=s instanceof A.jm&&q.dy!==s.ay +if(q.fr||r)q.uc(b) +else q.ch=b.ch}else q.uc(b)}, +l0(){var s=this +s.H5() +s.zI(s) +if(s.fr)s.uc(s)}, +ij(){A.TQ(this.ch) +this.ch=null +this.H3()}} +A.a5S.prototype={ +$0(){var s,r=this.a,q=r.fy +q.toString +s=r.ch=r.a_L(q) +s.b=r.fx +q=r.d +q.toString +A.anT(q) +r.d.append(s.c) +s.I(0) +q=r.cy.b +q.toString +r=r.fy +r.toString +q.Ci(s,r) +s.nQ()}, +$S:0} +A.xH.prototype={ +bf(a){return A.auI(this.ch)}, +dt(){var s=this,r=s.d.style +A.l(r,"transform","translate("+A.h(s.CW)+"px, "+A.h(s.cx)+"px)") +A.l(r,"width",A.h(s.cy)+"px") +A.l(r,"height",A.h(s.db)+"px") +A.l(r,"position","absolute")}, +vJ(a){if(this.V6(a))return this.ch===t.p0.a(a).ch +return!1}, +xb(a){return a.ch===this.ch?0:1}, +aZ(a,b){var s=this +s.yZ(0,b) +if(s.CW!==b.CW||s.cx!==b.cx||s.cy!==b.cy||s.db!==b.db)s.dt()}} +A.a6W.prototype={ +Ci(a,b){var s,r,q,p,o,n,m,l,k,j +try{m=this.b +m.toString +m=A.avj(b,m) +l=this.c +k=l.length +if(m){s=k +for(r=0;rq*q+p*p||g*g+f*f>o*o+n*n||e*e+d*d>m*m+l*l||c*c+b*b>k*k+j*j)return +a3.e=a3.d.c=!0 +a=A.tM(b2) +b2.e=!0 +a0=new A.Ib(b0,b1,b2.a) +q=$.ap().dz() +q.sr7(B.dH) +q.fZ(b0) +q.fZ(b1) +q.aJ(0) +a0.x=q +a1=Math.min(a5,a7) +a2=Math.max(a5,a7) +a3.a.mD(a1-a,Math.min(a6,a8)-a,a2+a,Math.max(a6,a8)+a,a0) +a3.c.push(a0)}, +dP(a,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=this +if(a0.a.w==null){t.Ci.a(a) +s=a.a.G_() +if(s!=null){b.cP(s,a0) +return}r=a.a +q=r.ax?r.JA():null +if(q!=null){b.dg(q,a0) +return}p=a.a.Tb() +if(p!=null){r=a0.a.c +r=(r==null?0:r)===0}else r=!1 +if(r){r=p.a +o=p.c +n=Math.min(r,o) +m=p.b +l=p.d +k=Math.min(m,l) +r=o-r +j=Math.abs(r) +m=l-m +i=Math.abs(m) +h=m===0?1:i +g=r===0?1:j +a0.scH(0,B.b1) +b.cP(new A.x(n,k,n+g,k+h),a0) +return}}t.Ci.a(a) +if(a.a.w!==0){b.e=b.d.c=!0 +f=a.eN(0) +e=A.tM(a0) +if(e!==0)f=f.ec(e) +r=a.a +o=new A.qB(r.f,r.r) +o.e=r.e +o.w=r.w +o.c=r.c +o.d=r.d +o.x=r.x +o.z=r.z +o.y=r.y +m=r.Q +o.Q=m +if(!m){o.a=r.a +o.b=r.b +o.as=r.as}o.cx=r.cx +o.at=r.at +o.ax=r.ax +o.ay=r.ay +o.ch=r.ch +o.CW=r.CW +d=new A.rh(o,B.b2) +d.ID(a) +a0.e=!0 +c=new A.Ih(d,a0.a) +b.a.jQ(f,c) +d.b=a.b +b.c.push(c)}}, +ku(a,b){var s,r,q,p,o=this +t.Ak.a(a) +if(!a.e)return +o.e=!0 +s=o.d +s.c=!0 +s.b=!0 +r=new A.Ig(a,b) +q=a.gc_().z +s=b.a +p=b.b +o.a.mD(s+q.a,p+q.b,s+q.c,p+q.d,r) +o.c.push(r)}} +A.cD.prototype={} +A.vq.prototype={ +acg(a){var s=this +if(s.a)return!0 +return s.ea.d||s.da.c}} +A.xv.prototype={ +d0(a){a.c5(0)}, +j(a){return this.bC(0)}} +A.Il.prototype={ +d0(a){a.bG(0)}, +j(a){return this.bC(0)}} +A.Ip.prototype={ +d0(a){a.aq(0,this.a,this.b)}, +j(a){return this.bC(0)}} +A.In.prototype={ +d0(a){a.em(0,this.a,this.b)}, +j(a){return this.bC(0)}} +A.Im.prototype={ +d0(a){a.l2(0,this.a)}, +j(a){return this.bC(0)}} +A.Io.prototype={ +d0(a){a.a8(0,this.a)}, +j(a){return this.bC(0)}} +A.I8.prototype={ +d0(a){a.jg(this.f,this.r)}, +j(a){return this.bC(0)}} +A.I7.prototype={ +d0(a){a.lI(this.f)}, +j(a){return this.bC(0)}} +A.I6.prototype={ +d0(a){a.hC(0,this.f)}, +j(a){return this.bC(0)}} +A.Id.prototype={ +d0(a){a.hG(this.f,this.r,this.w)}, +j(a){return this.bC(0)}} +A.If.prototype={ +d0(a){a.nL(this.f)}, +j(a){return this.bC(0)}} +A.Ij.prototype={ +d0(a){a.cP(this.f,this.r)}, +j(a){return this.bC(0)}} +A.Ii.prototype={ +d0(a){a.dg(this.f,this.r)}, +j(a){return this.bC(0)}} +A.Ib.prototype={ +d0(a){var s=this.w +if(s.b==null)s.b=B.b1 +a.dP(this.x,s)}, +j(a){return this.bC(0)}} +A.Ie.prototype={ +d0(a){a.qT(this.f,this.r)}, +j(a){return this.bC(0)}} +A.Ia.prototype={ +d0(a){a.ik(this.f,this.r,this.w)}, +j(a){return this.bC(0)}} +A.Ih.prototype={ +d0(a){a.dP(this.f,this.r)}, +j(a){return this.bC(0)}} +A.Ik.prototype={ +d0(a){var s=this +a.nM(s.f,s.r,s.w,s.x)}, +j(a){return this.bC(0)}} +A.Ic.prototype={ +d0(a){var s=this +a.il(s.f,s.r,s.w,s.x)}, +j(a){return this.bC(0)}} +A.Ig.prototype={ +d0(a){a.ku(this.f,this.r)}, +j(a){return this.bC(0)}} +A.agm.prototype={ +jg(a,b){var s,r,q,p,o=this,n=a.a,m=a.b,l=a.c,k=a.d +if(!o.x){s=$.aom() +s[0]=n +s[1]=m +s[2]=l +s[3]=k +A.anZ(o.y,s) +n=s[0] +m=s[1] +l=s[2] +k=s[3]}if(!o.z){o.Q=n +o.as=m +o.at=l +o.ax=k +o.z=!0 +r=k +q=l +p=m +s=n}else{s=o.Q +if(n>s){o.Q=n +s=n}p=o.as +if(m>p){o.as=m +p=m}q=o.at +if(l=q||p>=r)b.a=!0 +else{b.b=s +b.c=p +b.d=q +b.e=r}}, +jQ(a,b){this.mD(a.a,a.b,a.c,a.d,b)}, +mD(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j=this +if(a===c||b===d){e.a=!0 +return}if(!j.x){s=$.aom() +s[0]=a +s[1]=b +s[2]=c +s[3]=d +A.anZ(j.y,s) +r=s[0] +q=s[1] +p=s[2] +o=s[3]}else{o=d +p=c +q=b +r=a}if(j.z){n=j.at +if(r>=n){e.a=!0 +return}m=j.Q +if(p<=m){e.a=!0 +return}l=j.ax +if(q>=l){e.a=!0 +return}k=j.as +if(o<=k){e.a=!0 +return}if(rn)p=n +if(ql)o=l}e.b=r +e.c=q +e.d=p +e.e=o +if(j.b){j.c=Math.min(Math.min(j.c,r),p) +j.e=Math.max(Math.max(j.e,r),p) +j.d=Math.min(Math.min(j.d,q),o) +j.f=Math.max(Math.max(j.f,q),o)}else{j.c=Math.min(r,p) +j.e=Math.max(r,p) +j.d=Math.min(q,o) +j.f=Math.max(q,o)}j.b=!0}, +yq(){var s=this,r=s.y,q=new A.bp(new Float32Array(16)) +q.ba(r) +s.r.push(q) +r=s.z?new A.x(s.Q,s.as,s.at,s.ax):null +s.w.push(r)}, +a8x(){var s,r,q,p,o,n,m,l,k,j,i=this +if(!i.b)return B.I +s=i.a +r=s.a +if(isNaN(r))r=-1/0 +q=s.c +if(isNaN(q))q=1/0 +p=s.b +if(isNaN(p))p=-1/0 +o=s.d +if(isNaN(o))o=1/0 +s=i.c +n=i.e +m=Math.min(s,n) +l=Math.max(s,n) +n=i.d +s=i.f +k=Math.min(n,s) +j=Math.max(n,s) +if(l1;)s.pop() +t.IF.a(B.b.gH(s)).rZ(new A.a6r())}, +$S:0} +A.aan.prototype={ +$0(){var s,r,q=t.IF,p=this.a.a +if($.aal==null)q.a(B.b.gH(p)).bs() +else{s=q.a(B.b.gH(p)) +r=$.aal +r.toString +s.aZ(0,r)}A.aId(q.a(B.b.gH(p))) +$.aal=q.a(B.b.gH(p)) +return new A.ri(q.a(B.b.gH(p)).d,this.b)}, +$S:243} +A.a5n.prototype={ +TI(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this +for(s=f.d,r=f.c,q=a.a,p=f.b,o=b.a,n=0;n>>24&255)<1}, +$S:230} +A.a9u.prototype={} +A.Yw.prototype={ +j(a){return"Gradient()"}} +A.wa.prototype={ +a9b(a,b,c){var s,r,q,p,o,n,m,l,k,j,i=this,h=i.f +if(h===B.jr||h===B.js){s=i.r +r=b.a +q=b.b +p=i.b +o=i.c +n=p.a +m=o.a +p=p.b +o=o.b +if(s!=null){l=(n+m)/2-r +k=(p+o)/2-q +s.Sb(0,n-l,p-k) +p=s.b +n=s.c +s.Sb(0,m-l,o-k) +j=a.createLinearGradient(p+l-r,n+k-q,s.b+l-r,s.c+k-q)}else j=a.createLinearGradient(n-r,p-q,m-r,o-q) +A.aG9(j,i.d,i.e,h===B.js) +return j}else{h=a.createPattern(A.et(i.OC(b,c,!1)),"no-repeat") +h.toString +return h}}, +OC(c7,c8,c9){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0=this,c1="premultipliedAlpha",c2="u_resolution",c3="m_gradient",c4="attachShader",c5=c7.c,c6=c7.a +c5-=c6 +s=B.c.d4(c5) +r=c7.d +q=c7.b +r-=q +p=B.c.d4(r) +if($.anH==null)$.anH=new A.aiA() +o=$.aot() +n=o.a +if(n==null){n=new A.a5q(s,p) +if(A.ar5())n.a=new self.OffscreenCanvas(s,p) +else{m=n.b=A.mz(p,s) +m.className="gl-canvas" +n.MP(m)}o.a=n}else if(s!==n.c&&p!==n.d){n.c=s +n.d=p +m=n.a +if(m!=null){A.apL(m,s) +n=n.a +n.toString +A.apK(n,p)}else{m=n.b +if(m!=null){A.l6(m,s) +m=n.b +m.toString +A.l5(m,p) +m=n.b +m.toString +n.MP(m)}}}o=o.a +o.toString +if(A.ar5()){o=o.a +o.toString +n=t.N +m=A.alw(o,"webgl2",A.as([c1,!1],n,t.z)) +m.toString +l=new A.Gq(m) +$.a_g.b=A.E(n,t.eS) +l.dy=o +o=$.a_g}else{o=o.b +o.toString +n=$.fi +n=(n==null?$.fi=A.p3():n)===1?"webgl":"webgl2" +m=t.N +n=A.ft(o,n,A.as([c1,!1],m,t.z)) +n.toString +l=new A.Gq(n) +$.a_g.b=A.E(m,t.eS) +l.dy=o +o=$.a_g}l.fr=s +l.fx=p +k=A.aCs(c0.d,c0.e) +n=$.asz +if(n==null){n=$.fi +if(n==null)n=$.fi=A.p3() +m=A.b([],t.zz) +j=A.b([],t.fe) +i=new A.Ka(m,j,n===2,!1,new A.ca("")) +i.C6(11,"position") +i.C6(11,"color") +i.kj(14,"u_ctransform") +i.kj(11,"u_scale") +i.kj(11,"u_shift") +m.push(new A.oo("v_color",11,3)) +n=A.b([],t.s) +j.push(new A.z2("main",n)) +n.push("gl_Position = ((u_ctransform * position) * u_scale) + u_shift;") +n.push("v_color = color.zyxw;") +n=$.asz=i.bs()}m=c0.f +j=$.fi +if(j==null)j=$.fi=A.p3() +h=A.b([],t.zz) +g=A.b([],t.fe) +i=new A.Ka(h,g,j===2,!0,new A.ca("")) +i.e=1 +i.C6(11,"v_color") +i.kj(9,c2) +i.kj(14,c3) +f=i.gPM() +j=A.b([],t.s) +e=new A.z2("main",j) +g.push(e) +j.push("vec4 localCoord = m_gradient * vec4(gl_FragCoord.x, u_resolution.y - gl_FragCoord.y, 0, 1);") +j.push("float st = localCoord.x;") +j.push(f.a+" = "+A.aHS(i,e,k,m)+" * scale + bias;") +d=i.bs() +c=n+"||"+d +b=J.ah(o.aX(),c) +if(b==null){a=l.Oh(0,"VERTEX_SHADER",n) +a0=l.Oh(0,"FRAGMENT_SHADER",d) +n=l.a +j=n.createProgram() +A.b7(n,c4,[j,a]) +A.b7(n,c4,[j,a0]) +A.b7(n,"linkProgram",[j]) +h=l.ay +if(!A.b7(n,"getProgramParameter",[j,h==null?l.ay=n.LINK_STATUS:h]))A.aa(A.c8(A.b7(n,"getProgramInfoLog",[j]))) +b=new A.Gr(j) +J.eI(o.aX(),c,b)}o=l.a +n=b.a +A.b7(o,"useProgram",[n]) +j=c0.b +a1=j.a +a2=j.b +j=c0.c +a3=j.a +a4=j.b +a5=a3-a1 +a6=a4-a2 +a7=Math.sqrt(a5*a5+a6*a6) +j=a7<11920929e-14 +a8=j?0:-a6/a7 +a9=j?1:a5/a7 +b0=m!==B.jr +b1=b0?c5/2:(a1+a3)/2-c6 +b2=b0?r/2:(a2+a4)/2-q +b3=A.cH() +b3.iZ(-b1,-b2,0) +b4=A.cH() +b5=b4.a +b5[0]=a9 +b5[1]=a8 +b5[4]=-a8 +b5[5]=a9 +b6=A.cH() +b6.aeN(0,0.5) +if(a7>11920929e-14)b6.bc(0,1/a7) +c5=c0.r +if(c5!=null){b7=new A.bp(new Float32Array(16)) +b7.dw(new A.bp(c5.a)) +b8=c7.gaQ() +c5=b8.a +c6=b8.b +b6.aq(0,-c5,-c6) +b6.cq(0,b7) +b6.aq(0,c5,c6)}b6.cq(0,b4) +b6.cq(0,b3) +k.TI(l,b) +A.b7(o,"uniformMatrix4fv",[l.mC(0,n,c3),!1,b6.a]) +A.b7(o,"uniform2f",[l.mC(0,n,c2),s,p]) +b9=new A.a_j(c9,c7,l,b,k,s,p).$0() +$.aot() +return b9}} +A.a_j.prototype={ +$0(){var s,r,q,p=this,o="bindBuffer",n=$.anH,m=p.b,l=p.c,k=p.d,j=p.e,i=p.f,h=p.r,g=m.c,f=m.a,e=m.d +m=m.b +s=l.a +if(p.a){n.Pc(new A.x(0,0,0+(g-f),0+(e-m)),l,k,j,i,h) +n=l.fr +r=A.mz(l.fx,n) +n=A.ft(r,"2d",null) +n.toString +l.Pa(0,t.e.a(n),0,0) +n=r.toDataURL("image/png") +A.l6(r,0) +A.l5(r,0) +A.b7(s,o,[l.goc(),null]) +A.b7(s,o,[l.gwU(),null]) +return n}else{n.Pc(new A.x(0,0,0+(g-f),0+(e-m)),l,k,j,i,h) +q=l.adO(j.e) +A.b7(s,o,[l.goc(),null]) +A.b7(s,o,[l.gwU(),null]) +q.toString +return q}}, +$S:221} +A.l7.prototype={ +gaaa(){return""}} +A.B3.prototype={ +gaeM(){return A.fk(this.a)}, +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.B3&&b.b===this.b&&A.hz(b.a,this.a)}, +gu(a){return A.P(A.bN(this.a),this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"ImageFilter.matrix("+A.h(this.a)+", "+this.b.j(0)+")"}} +A.FU.prototype={$il7:1} +A.x6.prototype={} +A.a4a.prototype={} +A.Ka.prototype={ +gPM(){var s=this.Q +if(s==null)s=this.Q=new A.oo(this.y?"gFragColor":"gl_FragColor",11,3) +return s}, +C6(a,b){var s=new A.oo(b,a,1) +this.b.push(s) +return s}, +kj(a,b){var s=new A.oo(b,a,2) +this.b.push(s) +return s}, +Nu(a,b){var s,r,q=this,p="varying ",o=b.c +switch(o){case 0:q.as.a+="const " +break +case 1:s=q.as +if(q.y)r="in " +else r=q.z?p:"attribute " +s.a+=r +break +case 2:q.as.a+="uniform " +break +case 3:s=q.as +r=q.y?"out ":p +s.a+=r +break}s=q.as +r=s.a+=A.aDR(b.b)+" "+b.a +if(o===0)o=s.a=r+" = " +else o=r +s.a=o+";\n"}, +bs(){var s,r,q,p,o,n=this,m=n.y +if(m)n.as.a+="#version 300 es\n" +s=n.e +if(s!=null){r=n.as +if(s===0)s="lowp" +else s=s===1?"mediump":"highp" +s="precision "+s+" float;\n" +r.a+=s}if(m&&n.Q!=null){m=n.Q +m.toString +n.Nu(n.as,m)}for(m=n.b,s=m.length,r=n.as,q=0;q=0;--r,p=n){a.toString +o=B.b.hP(a,r)!==-1&&B.b.p(m,r) +n=s[r].d +n.toString +if(!o)if(p==null)q.append(n) +else q.insertBefore(n,p)}}, +a3b(a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this.x,d=e.length,c=a0.x,b=c.length,a=A.b([],t.l) +for(s=0;s1&&d.charCodeAt(0)<127&&d.charCodeAt(1)<127) +o=A.aGh(new A.a17(g,d,a,p,q),t.S) +if(e.type!=="keydown")if(g.b){r=A.jv(e) +r.toString +r=r==="CapsLock" +n=r}else n=!1 +else n=!0 +if(g.b){r=A.jv(e) +r.toString +r=r==="CapsLock"}else r=!1 +if(r){g.LF(B.r,new A.a18(s,q,o),new A.a19(g,q)) +m=B.aX}else if(n){r=g.f +if(r.i(0,q)!=null){l=e.repeat +if(l==null)l=f +if(l===!0)m=B.D4 +else{l=g.d +l.toString +k=r.i(0,q) +k.toString +l.$1(new A.f0(s,B.aL,q,k,f,!0)) +r.A(0,q) +m=B.aX}}else m=B.aX}else{if(g.f.i(0,q)==null){e.preventDefault() +return}m=B.aL}r=g.f +j=r.i(0,q) +i=f +switch(m.a){case 0:i=o.$0() +break +case 1:break +case 2:i=j +break}l=i==null +if(l)r.A(0,q) +else r.n(0,q,i) +$.axy().V(0,new A.a1a(g,o,a,s)) +if(p)if(!l)g.a69(q,o.$0(),s) +else{r=g.r.A(0,q) +if(r!=null)r.$0()}if(p)h=d +else h=f +d=j==null?o.$0():j +r=m===B.aL?f:h +if(g.d.$1(new A.f0(s,m,q,d,r,!1)))e.preventDefault()}, +kH(a){var s=this,r={},q=a.a +if(A.h4(q)==null||A.jv(q)==null)return +r.a=!1 +s.d=new A.a1f(r,s) +try{s.a1f(a)}finally{if(!r.a)s.d.$1(B.D3) +s.d=null}}, +vf(a,b,c,d,e){var s,r=this,q=r.f,p=q.a9(0,a),o=q.a9(0,b),n=p||o,m=d===B.aX&&!n,l=d===B.aL&&n +if(m){r.a.$1(new A.f0(A.ang(e),B.aX,a,c,null,!0)) +q.n(0,a,c)}if(l&&p){s=q.i(0,a) +s.toString +r.Mn(e,a,s)}if(l&&o){q=q.i(0,b) +q.toString +r.Mn(e,b,q)}}, +Mn(a,b,c){this.a.$1(new A.f0(A.ang(a),B.aL,b,c,null,!0)) +this.f.A(0,b)}} +A.a1b.prototype={ +$1(a){var s=this +if(!s.a.a&&!s.b.e){s.c.$0() +s.b.a.$1(s.d.$0())}}, +$S:18} +A.a1c.prototype={ +$0(){this.a.a=!0}, +$S:0} +A.a1d.prototype={ +$0(){return new A.f0(new A.aQ(this.a.a+2e6),B.aL,this.b,this.c,null,!0)}, +$S:165} +A.a1e.prototype={ +$0(){this.a.f.A(0,this.b)}, +$S:0} +A.a17.prototype={ +$0(){var s,r,q,p,o,n=this,m=n.b,l=B.Gt.i(0,m) +if(l!=null)return l +s=n.c.a +if(B.qI.a9(0,A.h4(s))){m=A.h4(s) +m.toString +m=B.qI.i(0,m) +r=m==null?null:m[B.c.Y(s.location)] +r.toString +return r}if(n.d){q=n.a.c.SS(A.jv(s),A.h4(s),B.c.Y(s.keyCode)) +if(q!=null)return q}if(m==="Dead"){m=s.altKey +p=s.ctrlKey +o=A.FG(s) +s=s.metaKey +m=m?1073741824:0 +p=p?268435456:0 +o=o===!0?536870912:0 +s=s?2147483648:0 +return n.e+(m+p+o+s)+98784247808}return B.d.gu(m)+98784247808}, +$S:73} +A.a18.prototype={ +$0(){return new A.f0(this.a,B.aL,this.b,this.c.$0(),null,!0)}, +$S:165} +A.a19.prototype={ +$0(){this.a.f.A(0,this.b)}, +$S:0} +A.a1a.prototype={ +$2(a,b){var s,r,q=this +if(J.e(q.b.$0(),a))return +s=q.a +r=s.f +if(r.a8F(0,a)&&!b.$1(q.c))r.Fl(r,new A.a16(s,a,q.d))}, +$S:197} +A.a16.prototype={ +$2(a,b){var s=this.b +if(b!==s)return!1 +this.a.d.$1(new A.f0(this.c,B.aL,a,s,null,!0)) +return!0}, +$S:202} +A.a1f.prototype={ +$1(a){this.a.a=!0 +return this.b.a.$1(a)}, +$S:89} +A.WT.prototype={ +fq(a){if(!this.b)return +this.b=!1 +A.bV(this.a,"contextmenu",$.akQ(),null)}, +a9J(a){if(this.b)return +this.b=!0 +A.cz(this.a,"contextmenu",$.akQ(),null)}} +A.a4I.prototype={} +A.akq.prototype={ +$1(a){a.preventDefault()}, +$S:1} +A.Vi.prototype={ +ga6A(){var s=this.a +s===$&&A.a() +return s}, +l(){var s=this +if(s.c||s.gl5()==null)return +s.c=!0 +s.a6B()}, +qZ(){var s=0,r=A.C(t.H),q=this +var $async$qZ=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:s=q.gl5()!=null?2:3 +break +case 2:s=4 +return A.y(q.iQ(),$async$qZ) +case 4:s=5 +return A.y(q.gl5().tG(0,-1),$async$qZ) +case 5:case 3:return A.A(null,r)}}) +return A.B($async$qZ,r)}, +gjj(){var s=this.gl5() +s=s==null?null:s.T1() +return s==null?"/":s}, +gbu(){var s=this.gl5() +return s==null?null:s.G1(0)}, +a6B(){return this.ga6A().$0()}} +A.x8.prototype={ +XS(a){var s,r=this,q=r.d +if(q==null)return +r.a=q.Ca(r.gEW(r)) +if(!r.AI(r.gbu())){s=t.z +q.mn(0,A.as(["serialCount",0,"state",r.gbu()],s,s),"flutter",r.gjj())}r.e=r.gzT()}, +gzT(){if(this.AI(this.gbu())){var s=this.gbu() +s.toString +return B.c.Y(A.bA(J.ah(t.f.a(s),"serialCount")))}return 0}, +AI(a){return t.f.b(a)&&J.ah(a,"serialCount")!=null}, +tQ(a,b,c){var s,r,q=this.d +if(q!=null){s=t.z +r=this.e +if(b){r===$&&A.a() +s=A.as(["serialCount",r,"state",c],s,s) +a.toString +q.mn(0,s,"flutter",a)}else{r===$&&A.a();++r +this.e=r +s=A.as(["serialCount",r,"state",c],s,s) +a.toString +q.Rn(0,s,"flutter",a)}}}, +Gm(a){return this.tQ(a,!1,null)}, +EX(a,b){var s,r,q,p,o=this +if(!o.AI(b)){s=o.d +s.toString +r=o.e +r===$&&A.a() +q=t.z +s.mn(0,A.as(["serialCount",r+1,"state",b],q,q),"flutter",o.gjj())}o.e=o.gzT() +s=$.az() +r=o.gjj() +t.Xy.a(b) +q=b==null?null:J.ah(b,"state") +p=t.z +s.hg("flutter/navigation",B.ay.hI(new A.hd("pushRouteInformation",A.as(["location",r,"state",q],p,p))),new A.a4T())}, +iQ(){var s=0,r=A.C(t.H),q,p=this,o,n,m +var $async$iQ=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:p.l() +if(p.b||p.d==null){s=1 +break}p.b=!0 +o=p.gzT() +s=o>0?3:4 +break +case 3:s=5 +return A.y(p.d.tG(0,-o),$async$iQ) +case 5:case 4:n=p.gbu() +n.toString +t.f.a(n) +m=p.d +m.toString +m.mn(0,J.ah(n,"state"),"flutter",p.gjj()) +case 1:return A.A(q,r)}}) +return A.B($async$iQ,r)}, +gl5(){return this.d}} +A.a4T.prototype={ +$1(a){}, +$S:15} +A.z7.prototype={ +XY(a){var s,r=this,q=r.d +if(q==null)return +r.a=q.Ca(r.gEW(r)) +s=r.gjj() +if(!A.ams(A.apH(self.window.history))){q.mn(0,A.as(["origin",!0,"state",r.gbu()],t.N,t.z),"origin","") +r.a5Q(q,s)}}, +tQ(a,b,c){var s=this.d +if(s!=null)this.Bp(s,a,!0)}, +Gm(a){return this.tQ(a,!1,null)}, +EX(a,b){var s,r=this,q="flutter/navigation" +if(A.arT(b)){s=r.d +s.toString +r.a5P(s) +$.az().hg(q,B.ay.hI(B.GC),new A.a9F())}else if(A.ams(b)){s=r.f +s.toString +r.f=null +$.az().hg(q,B.ay.hI(new A.hd("pushRoute",s)),new A.a9G())}else{r.f=r.gjj() +r.d.tG(0,-1)}}, +Bp(a,b,c){var s +if(b==null)b=this.gjj() +s=this.e +if(c)a.mn(0,s,"flutter",b) +else a.Rn(0,s,"flutter",b)}, +a5Q(a,b){return this.Bp(a,b,!1)}, +a5P(a){return this.Bp(a,null,!1)}, +iQ(){var s=0,r=A.C(t.H),q,p=this,o,n +var $async$iQ=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:p.l() +if(p.b||p.d==null){s=1 +break}p.b=!0 +o=p.d +s=3 +return A.y(o.tG(0,-1),$async$iQ) +case 3:n=p.gbu() +n.toString +o.mn(0,J.ah(t.f.a(n),"state"),"flutter",p.gjj()) +case 1:return A.A(q,r)}}) +return A.B($async$iQ,r)}, +gl5(){return this.d}} +A.a9F.prototype={ +$1(a){}, +$S:15} +A.a9G.prototype={ +$1(a){}, +$S:15} +A.jQ.prototype={} +A.vR.prototype={ +gz6(){var s,r,q=this,p=q.b +if(p===$){s=q.a +r=A.Ha(new A.aF(s,new A.YZ(),A.Z(s).h("aF<1>")),t.Te) +q.b!==$&&A.a1() +q.b=r +p=r}return p}} +A.YZ.prototype={ +$1(a){return a.c}, +$S:27} +A.Gw.prototype={ +gKO(){var s,r=this,q=r.c +if(q===$){s=A.b6(r.ga3G()) +r.c!==$&&A.a1() +r.c=s +q=s}return q}, +a3H(a){var s,r,q,p=A.apI(a) +p.toString +for(s=this.a,r=s.length,q=0;q")).hT(m)) +o=o.e +p.push(new A.c0(o,A.o(o).h("c0<1>")).hT(m))}q.push(r) +r.$1(s.a) +s=l.gC0() +r=self.document.body +if(r!=null)A.bV(r,"keydown",s.gK0(),k) +r=self.document.body +if(r!=null)A.bV(r,"keyup",s.gK1(),k) +r=self.document.body +if(r!=null)A.bV(r,"focusin",s.gJX(),k) +r=self.document.body +if(r!=null)A.bV(r,"focusout",s.gJY(),k) +r=s.a.d +s.e=new A.c0(r,A.o(r).h("c0<1>")).hT(s.ga2y()) +s=self.document.body +if(s!=null)s.prepend(l.b) +s=l.gbY().e +l.a=new A.c0(s,A.o(s).h("c0<1>")).hT(new A.YH(l))}, +l(){var s,r,q,p=this,o=null +p.p2.removeListener(p.p3) +p.p3=null +s=p.k4 +if(s!=null)s.disconnect() +p.k4=null +s=p.k1 +if(s!=null)s.b.removeEventListener(s.a,s.c) +p.k1=null +s=$.akF() +r=s.a +B.b.A(r,p.gN1()) +if(r.length===0)s.b.removeListener(s.gKO()) +s=p.gHR() +r=s.b +B.b.A(r,p.gLV()) +if(r.length===0)s.cN() +s=p.gC0() +r=self.document.body +if(r!=null)A.cz(r,"keydown",s.gK0(),o) +r=self.document.body +if(r!=null)A.cz(r,"keyup",s.gK1(),o) +r=self.document.body +if(r!=null)A.cz(r,"focusin",s.gJX(),o) +r=self.document.body +if(r!=null)A.cz(r,"focusout",s.gJY(),o) +s=s.e +if(s!=null)s.aA(0) +p.b.remove() +s=p.a +s===$&&A.a() +s.aA(0) +s=p.gbY() +r=s.b +q=A.o(r).h("aZ<1>") +B.b.V(A.a8(new A.aZ(r,q),!0,q.h("j.E")),s.ga9D()) +s.d.aJ(0) +s.e.aJ(0)}, +gbY(){var s,r,q,p=this.r +if(p===$){s=t.S +r=A.hp(!0,s) +q=A.hp(!0,s) +p!==$&&A.a1() +p=this.r=new A.vZ(this,A.E(s,t.lz),A.E(s,t.e),r,q)}return p}, +gHR(){var s,r,q,p=this,o=p.w +if(o===$){s=p.gbY() +r=A.b([],t.Gl) +q=A.b([],t.LY) +p.w!==$&&A.a1() +o=p.w=new A.M4(s,r,B.b6,q)}return o}, +gabE(){return t.e8.a(this.gbY().b.i(0,0))}, +Ee(){var s=this.x +if(s!=null)A.kF(s,this.y)}, +gC0(){var s,r=this,q=r.z +if(q===$){s=r.gbY() +r.z!==$&&A.a1() +q=r.z=new A.Li(s,r.gacc(),B.xk)}return q}, +acd(a){A.kG(this.Q,this.as,a)}, +acb(a,b){var s=this.db +if(s!=null)A.kF(new A.YI(b,s,a),this.dx) +else b.$1(!1)}, +hg(a,b,c){var s +if(a==="dev.flutter/channel-buffers")try{s=$.Ui() +b.toString +s.aaL(b)}finally{c.$1(null)}else $.Ui().adD(a,b,c)}, +a5G(a,a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this,b=null +switch(a){case"flutter/skia":s=B.ay.h4(a0) +switch(s.a){case"Skia.setResourceCacheMaxBytes":if($.ap() instanceof A.uE){r=A.cj(s.b) +$.W0.aX().d.Gl(r)}c.dD(a1,B.L.bA([A.b([!0],t.HZ)])) +break}return +case"flutter/assets":c.px(B.W.e6(0,A.dh(a0.buffer,0,b)),a1) +return +case"flutter/platform":s=B.ay.h4(a0) +switch(s.a){case"SystemNavigator.pop":q=t.e8 +if(q.a(c.gbY().b.i(0,0))!=null)q.a(c.gbY().b.i(0,0)).gvE().qZ().aT(0,new A.YC(c,a1),t.P) +else c.dD(a1,B.L.bA([!0])) +return +case"HapticFeedback.vibrate":q=c.a0b(A.cL(s.b)) +p=self.window.navigator +if("vibrate" in p)p.vibrate(q) +c.dD(a1,B.L.bA([!0])) +return +case u.p:o=t.xE.a(s.b) +q=J.ax(o) +n=A.cL(q.i(o,"label")) +if(n==null)n="" +m=A.Db(q.i(o,"primaryColor")) +if(m==null)m=4278190080 +q=self.document +q.title=n +A.avn(new A.w(m>>>0)) +c.dD(a1,B.L.bA([!0])) +return +case"SystemChrome.setSystemUIOverlayStyle":l=A.Db(J.ah(t.xE.a(s.b),"statusBarColor")) +A.avn(l==null?b:new A.w(l>>>0)) +c.dD(a1,B.L.bA([!0])) +return +case"SystemChrome.setPreferredOrientations":B.z9.tP(t.j.a(s.b)).aT(0,new A.YD(c,a1),t.P) +return +case"SystemSound.play":c.dD(a1,B.L.bA([!0])) +return +case"Clipboard.setData":new A.uS(A.alg(),A.amd()).Tz(s,a1) +return +case"Clipboard.getData":new A.uS(A.alg(),A.amd()).SM(a1) +return +case"Clipboard.hasStrings":new A.uS(A.alg(),A.amd()).abp(a1) +return}break +case"flutter/service_worker":q=self.window +k=self.document.createEvent("Event") +k.initEvent("flutter-first-frame",!0,!0) +q.dispatchEvent(k) +return +case"flutter/textinput":$.DK().gqp(0).abi(a0,a1) +return +case"flutter/contextmenu":switch(B.ay.h4(a0).a){case"enableContextMenu":t.e8.a(c.gbY().b.i(0,0)).gOn().a9J(0) +c.dD(a1,B.L.bA([!0])) +return +case"disableContextMenu":t.e8.a(c.gbY().b.i(0,0)).gOn().fq(0) +c.dD(a1,B.L.bA([!0])) +return}return +case"flutter/mousecursor":s=B.ci.h4(a0) +o=t.f.a(s.b) +switch(s.a){case"activateSystemCursor":q=A.aqq(c.gbY().b.gaF(0)) +if(q!=null){if(q.w===$){q.gcs() +q.w!==$&&A.a1() +q.w=new A.a4I()}j=B.Gl.i(0,A.cL(J.ah(o,"kind"))) +if(j==null)j="default" +if(j==="default")self.document.body.style.removeProperty("cursor") +else A.l(self.document.body.style,"cursor",j)}break}return +case"flutter/web_test_e2e":c.dD(a1,B.L.bA([A.aH9(B.ay,a0)])) +return +case"flutter/platform_views":i=B.ci.h4(a0) +o=b +h=i.b +o=h +q=$.awg() +a1.toString +q.aaV(i.a,o,a1) +return +case"flutter/accessibility":g=$.bh +if(g==null)g=$.bh=A.cX() +if(g.b){q=t.f +f=q.a(J.ah(q.a(B.bq.ex(a0)),"data")) +e=A.cL(J.ah(f,"message")) +if(e!=null&&e.length!==0){d=A.GV(f,"assertiveness") +g.a.NK(e,B.E_[d==null?0:d])}}c.dD(a1,B.bq.bA(!0)) +return +case"flutter/navigation":q=t.e8 +if(q.a(c.gbY().b.i(0,0))!=null)q.a(c.gbY().b.i(0,0)).DO(a0).aT(0,new A.YE(c,a1),t.P) +else if(a1!=null)a1.$1(b) +c.y2="/" +return}q=$.avh +if(q!=null){q.$3(a,a0,a1) +return}c.dD(a1,b)}, +px(a,b){return this.a1i(a,b)}, +a1i(a,b){var s=0,r=A.C(t.H),q=1,p,o=this,n,m,l,k,j,i,h +var $async$px=A.D(function(c,d){if(c===1){p=d +s=q}while(true)switch(s){case 0:q=3 +k=$.tL +h=t.Lk +s=6 +return A.y(A.tV(k.tu(a)),$async$px) +case 6:n=h.a(d) +s=7 +return A.y(n.gxv().nv(),$async$px) +case 7:m=d +o.dD(b,A.es(m,0,null)) +q=1 +s=5 +break +case 3:q=2 +i=p +l=A.a6(i) +$.dc().$1("Error while trying to load an asset: "+A.h(l)) +o.dD(b,null) +s=5 +break +case 2:s=1 +break +case 5:return A.A(null,r) +case 1:return A.z(p,r)}}) +return A.B($async$px,r)}, +a0b(a){switch(a){case"HapticFeedbackType.lightImpact":return 10 +case"HapticFeedbackType.mediumImpact":return 20 +case"HapticFeedbackType.heavyImpact":return 30 +case"HapticFeedbackType.selectionClick":return 10 +default:return 50}}, +iX(){var s=$.avl +if(s==null)throw A.c(A.c8("scheduleFrameCallback must be initialized first.")) +s.$0()}, +xP(a,b){return this.ae9(a,b)}, +ae9(a,b){var s=0,r=A.C(t.H),q=this,p +var $async$xP=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:p=q.at +p=p==null?null:p.D(0,b) +s=p===!0||$.ap().gFm()==="html"?2:3 +break +case 2:s=4 +return A.y($.ap().ov(a,b),$async$xP) +case 4:case 3:return A.A(null,r)}}) +return A.B($async$xP,r)}, +Yd(){var s=this +if(s.k1!=null)return +s.c=s.c.Os(A.alA()) +s.k1=A.bW(self.window,"languagechange",new A.YB(s))}, +Y9(){var s,r,q,p=new self.MutationObserver(A.ajg(new A.YA(this))) +this.k4=p +s=self.document.documentElement +s.toString +r=A.b(["style"],t.s) +q=A.E(t.N,t.z) +q.n(0,"attributes",!0) +q.n(0,"attributeFilter",r) +r=A.a4(q) +if(r==null)r=t.K.a(r) +p.observe(s,r)}, +a5I(a){this.hg("flutter/lifecycle",A.es(B.b9.dv(a.F()).buffer,0,null),new A.YF())}, +N5(a){var s=this,r=s.c +if(r.d!==a){s.c=r.a8Q(a) +A.kF(null,null) +A.kF(s.p4,s.R8)}}, +a6H(a){var s=this.c,r=s.a +if((r.a&32)!==0!==a){this.c=s.Oq(r.a8O(a)) +A.kF(null,null)}}, +Y6(){var s,r=this,q=r.p2 +r.N5(q.matches?B.a5:B.a6) +s=A.b6(new A.Yz(r)) +r.p3=s +q.addListener(s)}, +hQ(a,b,c){A.kG(this.x1,this.x2,new A.r2(b,0,a,c))}, +gD_(){var s=this.y2 +if(s==null){s=t.e8.a(this.gbY().b.i(0,0)) +s=s==null?null:s.gvE().gjj() +s=this.y2=s==null?"/":s}return s}, +dD(a,b){A.q4(B.r,null,t.H).aT(0,new A.YJ(a,b),t.P)}} +A.YH.prototype={ +$1(a){this.a.Ee()}, +$S:13} +A.YI.prototype={ +$0(){return this.a.$1(this.b.$1(this.c))}, +$S:0} +A.YG.prototype={ +$1(a){this.a.t8(this.b,a)}, +$S:15} +A.YC.prototype={ +$1(a){this.a.dD(this.b,B.L.bA([!0]))}, +$S:18} +A.YD.prototype={ +$1(a){this.a.dD(this.b,B.L.bA([a]))}, +$S:69} +A.YE.prototype={ +$1(a){var s=this.b +if(a)this.a.dD(s,B.L.bA([!0])) +else if(s!=null)s.$1(null)}, +$S:69} +A.YB.prototype={ +$1(a){var s=this.a +s.c=s.c.Os(A.alA()) +A.kF(s.k2,s.k3)}, +$S:1} +A.YA.prototype={ +$2(a,b){var s,r,q,p,o=null,n=B.b.gX(a),m=t.e,l=this.a +for(;n.t();){s=n.gG(0) +s.toString +m.a(s) +r=s.type +if((r==null?o:r)==="attributes"){r=s.attributeName +r=(r==null?o:r)==="style"}else r=!1 +if(r){r=self.document.documentElement +r.toString +q=A.aJA(r) +p=(q==null?16:q)/16 +r=l.c +if(r.e!==p){l.c=r.a8S(p) +A.kF(o,o) +A.kF(l.ok,l.p1)}}}}, +$S:219} +A.YF.prototype={ +$1(a){}, +$S:15} +A.Yz.prototype={ +$1(a){var s=A.apI(a) +s.toString +s=s?B.a5:B.a6 +this.a.N5(s)}, +$S:1} +A.YJ.prototype={ +$1(a){var s=this.a +if(s!=null)s.$1(this.b)}, +$S:18} +A.aki.prototype={ +$0(){this.a.$2(this.b,this.c)}, +$S:0} +A.abV.prototype={ +j(a){return A.r(this).j(0)+"[view: null]"}} +A.IC.prototype={ +qA(a,b,c,d,e){var s=this,r=a==null?s.a:a,q=d==null?s.c:d,p=c==null?s.d:c,o=e==null?s.e:e,n=b==null?s.f:b +return new A.IC(r,!1,q,p,o,n,s.r,s.w)}, +Oq(a){var s=null +return this.qA(a,s,s,s,s)}, +Os(a){var s=null +return this.qA(s,a,s,s,s)}, +a8S(a){var s=null +return this.qA(s,s,s,s,a)}, +a8Q(a){var s=null +return this.qA(s,s,a,s,s)}, +a8R(a){var s=null +return this.qA(s,s,s,a,s)}} +A.UM.prototype={ +on(a){var s,r,q +if(a!==this.a){this.a=a +for(s=this.b,r=s.length,q=0;q.")) +return}if(s.b.a9(0,c)){a.$1(B.ci.lX("recreating_view","view id: "+c,"trying to create an already created view")) +return}s.aea(d,c,b) +a.$1(B.ci.qW(null))}, +aaV(a,b,c){var s,r,q +switch(a){case"create":t.f.a(b) +s=J.ax(b) +r=B.c.Y(A.mu(s.i(b,"id"))) +q=A.bw(s.i(b,"viewType")) +this.ZO(c,s.i(b,"params"),r,q) +return +case"dispose":s=this.b.b.A(0,A.cj(b)) +if(s!=null)s.remove() +c.$1(B.ci.qW(null)) +return}c.$1(null)}} +A.a8a.prototype={ +af5(){if(this.a==null){this.a=A.b6(new A.a8b()) +A.bV(self.document,"touchstart",this.a,null)}}} +A.a8b.prototype={ +$1(a){}, +$S:1} +A.a6c.prototype={ +ZF(){if("PointerEvent" in self.window){var s=new A.agt(A.E(t.S,t.ZW),this,A.b([],t.H8)) +s.TH() +return s}throw A.c(A.a_("This browser does not support pointer events which are necessary to handle interactions with Flutter Web apps."))}} +A.EM.prototype={ +adg(a,b){var s,r,q,p=this,o=$.az() +if(!o.c.c){s=A.b(b.slice(0),A.Z(b)) +A.kG(o.cx,o.cy,new A.lB(s)) +return}s=p.a +if(s!=null){o=s.a +r=A.h3(a) +r.toString +o.push(new A.By(b,a,A.rP(r))) +if(a.type==="pointerup")if(!J.e(a.target,s.b))p.A9()}else if(a.type==="pointerdown"){q=a.target +if(t.e.b(q)&&q.hasAttribute("flt-tappable")){o=A.cb(B.a7,p.ga3T()) +s=A.h3(a) +s.toString +p.a=new A.Qe(A.b([new A.By(b,a,A.rP(s))],t.jc),q,o)}else{s=A.b(b.slice(0),A.Z(b)) +A.kG(o.cx,o.cy,new A.lB(s))}}else{if(a.type==="pointerup"){s=A.h3(a) +s.toString +p.b=A.rP(s)}s=A.b(b.slice(0),A.Z(b)) +A.kG(o.cx,o.cy,new A.lB(s))}}, +adb(a,b,c,d){var s=this,r=s.a +if(r==null){if(d&&s.a5U(b))s.LS(b,c) +return}if(d){s.a=null +r.c.aA(0) +s.LS(b,c)}else s.A9()}, +LS(a,b){var s +a.stopPropagation() +$.az().hQ(b,B.fm,null) +s=this.a +if(s!=null)s.c.aA(0) +this.b=this.a=null}, +a3U(){if(this.a==null)return +this.A9()}, +a5U(a){var s,r=this.b +if(r==null)return!0 +s=A.h3(a) +s.toString +return A.rP(s).a-r.a>=5e4}, +A9(){var s,r,q,p,o,n,m=this.a +m.c.aA(0) +s=t.D9 +r=A.b([],s) +for(q=m.a,p=q.length,o=0;o1}, +a2X(a){var s,r,q,p,o,n,m=this +if($.aw().gby()===B.b8)return!1 +if(m.Ku(a.deltaX,A.apR(a))||m.Ku(a.deltaY,A.apS(a)))return!1 +if(!(B.c.bo(a.deltaX,120)===0&&B.c.bo(a.deltaY,120)===0)){s=A.apR(a) +if(B.c.bo(s==null?1:s,120)===0){s=A.apS(a) +s=B.c.bo(s==null?1:s,120)===0}else s=!1}else s=!0 +if(s){s=a.deltaX +r=m.c +q=r==null +p=q?null:r.deltaX +o=Math.abs(s-(p==null?0:p)) +s=a.deltaY +p=q?null:r.deltaY +n=Math.abs(s-(p==null?0:p)) +s=!0 +if(!q)if(!(o===0&&n===0))s=!(o<20&&n<20) +if(s){if(A.h3(a)!=null)s=(q?null:A.h3(r))!=null +else s=!1 +if(s){s=A.h3(a) +s.toString +r.toString +r=A.h3(r) +r.toString +if(s-r<50&&m.d)return!0}return!1}}return!0}, +ZD(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this +if(c.a2X(a)){s=B.bv +r=-2}else{s=B.cF +r=-1}q=a.deltaX +p=a.deltaY +switch(B.c.Y(a.deltaMode)){case 1:o=$.atD +if(o==null){n=A.aS(self.document,"div") +o=n.style +A.l(o,"font-size","initial") +A.l(o,"display","none") +self.document.body.append(n) +o=A.aly(self.window,n).getPropertyValue("font-size") +if(B.d.p(o,"px"))m=A.arq(A.ji(o,"px","")) +else m=null +n.remove() +o=$.atD=m==null?16:m/4}q*=o +p*=o +break +case 2:o=c.a.b +q*=o.gjF().a +p*=o.gjF().b +break +case 0:if($.aw().gbX()===B.b0){o=$.bq() +l=o.d +if(l==null){l=self.window.devicePixelRatio +if(l===0)l=1}q*=l +o=o.d +if(o==null){o=self.window.devicePixelRatio +if(o===0)o=1}p*=o}break +default:break}k=A.b([],t.D9) +o=c.a +l=o.b +j=A.auD(a,l) +if($.aw().gbX()===B.b0){i=o.e +h=i==null +if(h)g=null +else{g=$.aoB() +g=i.f.a9(0,g)}if(g!==!0){if(h)i=null +else{h=$.aoC() +h=i.f.a9(0,h) +i=h}f=i===!0}else f=!0}else f=!1 +i=a.ctrlKey&&!f +o=o.d +l=l.a +h=j.a +if(i){i=A.h3(a) +i.toString +i=A.rP(i) +g=$.bq() +e=g.d +if(e==null){e=self.window.devicePixelRatio +if(e===0)e=1}g=g.d +if(g==null){g=self.window.devicePixelRatio +if(g===0)g=1}d=A.vl(a) +d.toString +o.a8H(k,B.c.Y(d),B.c3,r,s,h*e,j.b*g,1,1,Math.exp(-p/200),B.I6,i,l)}else{i=A.h3(a) +i.toString +i=A.rP(i) +g=$.bq() +e=g.d +if(e==null){e=self.window.devicePixelRatio +if(e===0)e=1}g=g.d +if(g==null){g=self.window.devicePixelRatio +if(g===0)g=1}d=A.vl(a) +d.toString +o.a8J(k,B.c.Y(d),B.c3,r,s,new A.aiC(c),h*e,j.b*g,1,1,q,p,B.I5,i,l)}c.c=a +c.d=s===B.bv +return k}} +A.aiC.prototype={ +$1$allowPlatformDefault(a){var s=this.a +s.e=B.eB.yp(s.e,a)}, +$0(){return this.$1$allowPlatformDefault(!1)}, +$S:233} +A.j8.prototype={ +j(a){return A.r(this).j(0)+"(change: "+this.a.j(0)+", buttons: "+this.b+")"}} +A.rQ.prototype={ +Te(a,b){var s +if(this.a!==0)return this.G6(b) +s=(b===0&&a>-1?A.aIm(a):b)&1073741823 +this.a=s +return new A.j8(B.I4,s)}, +G6(a){var s=a&1073741823,r=this.a +if(r===0&&s!==0)return new A.j8(B.c3,r) +this.a=s +return new A.j8(s===0?B.c3:B.f8,s)}, +G5(a){if(this.a!==0&&(a&1073741823)===0){this.a=0 +return new A.j8(B.vJ,0)}return null}, +Tf(a){if((a&1073741823)===0){this.a=0 +return new A.j8(B.c3,0)}return null}, +Tg(a){var s +if(this.a===0)return null +s=this.a=(a==null?0:a)&1073741823 +if(s===0)return new A.j8(B.vJ,s) +else return new A.j8(B.f8,s)}} +A.agt.prototype={ +A2(a){return this.f.bj(0,a,new A.agv())}, +Lp(a){if(A.alx(a)==="touch")this.f.A(0,A.apM(a))}, +zf(a,b,c,d){this.a7p(0,a,b,new A.agu(this,d,c))}, +ze(a,b,c){return this.zf(a,b,c,!0)}, +TH(){var s,r=this,q=r.a.b +r.ze(q.gcs().a,"pointerdown",new A.agx(r)) +s=q.c +r.ze(s.gym(),"pointermove",new A.agy(r)) +r.zf(q.gcs().a,"pointerleave",new A.agz(r),!1) +r.ze(s.gym(),"pointerup",new A.agA(r)) +r.zf(q.gcs().a,"pointercancel",new A.agB(r),!1) +r.b.push(A.aqH("wheel",new A.agC(r),!1,q.gcs().a))}, +lp(a,b,c){var s,r,q,p,o,n,m,l,k,j,i=A.alx(c) +i.toString +s=this.L6(i) +i=A.apN(c) +i.toString +r=A.apO(c) +r.toString +i=Math.abs(i)>Math.abs(r)?A.apN(c):A.apO(c) +i.toString +r=A.h3(c) +r.toString +q=A.rP(r) +p=c.pressure +if(p==null)p=null +r=this.a +o=r.b +n=A.auD(c,o) +m=this.n9(c) +l=$.bq() +k=l.d +if(k==null){k=self.window.devicePixelRatio +if(k===0)k=1}l=l.d +if(l==null){l=self.window.devicePixelRatio +if(l===0)l=1}j=p==null?0:p +r.d.a8I(a,b.b,b.a,m,s,n.a*k,n.b*l,j,1,B.fa,i/180*3.141592653589793,q,o.a)}, +a_B(a){var s,r +if("getCoalescedEvents" in a){s=a.getCoalescedEvents() +s=B.b.df(s,t.e) +r=new A.bK(s.a,s.$ti.h("bK<1,d>")) +if(!r.gM(r))return r}return A.b([a],t.J)}, +L6(a){switch(a){case"mouse":return B.cF +case"pen":return B.f9 +case"touch":return B.dM +default:return B.iM}}, +n9(a){var s=A.alx(a) +s.toString +if(this.L6(s)===B.cF)s=-1 +else{s=A.apM(a) +s.toString +s=B.c.Y(s)}return s}} +A.agv.prototype={ +$0(){return new A.rQ()}, +$S:239} +A.agu.prototype={ +$1(a){var s,r,q,p,o,n,m,l,k +if(this.b){s=this.a.a.e +if(s!=null){r=a.getModifierState("Alt") +q=a.getModifierState("Control") +p=a.getModifierState("Meta") +o=a.getModifierState("Shift") +n=A.h3(a) +n.toString +m=$.axF() +l=$.axG() +k=$.aop() +s.vf(m,l,k,r?B.aX:B.aL,n) +m=$.aoB() +l=$.aoC() +k=$.aoq() +s.vf(m,l,k,q?B.aX:B.aL,n) +r=$.axH() +m=$.axI() +l=$.aor() +s.vf(r,m,l,p?B.aX:B.aL,n) +r=$.axJ() +q=$.axK() +m=$.aos() +s.vf(r,q,m,o?B.aX:B.aL,n)}}this.c.$1(a)}, +$S:1} +A.agx.prototype={ +$1(a){var s,r,q=this.a,p=q.n9(a),o=A.b([],t.D9),n=q.A2(p),m=A.vl(a) +m.toString +s=n.G5(B.c.Y(m)) +if(s!=null)q.lp(o,s,a) +m=B.c.Y(a.button) +r=A.vl(a) +r.toString +q.lp(o,n.Te(m,B.c.Y(r)),a) +q.n0(a,o) +if(J.e(a.target,q.a.b.gcs().a)){a.preventDefault() +A.cb(B.r,new A.agw(q))}}, +$S:48} +A.agw.prototype={ +$0(){$.az().gC0().a86(this.a.a.b.a,B.Rv)}, +$S:0} +A.agy.prototype={ +$1(a){var s,r,q,p,o=this.a,n=o.A2(o.n9(a)),m=A.b([],t.D9) +for(s=J.ak(o.a_B(a));s.t();){r=s.gG(s) +q=r.buttons +if(q==null)q=null +q.toString +p=n.G5(B.c.Y(q)) +if(p!=null)o.lp(m,p,r) +q=r.buttons +if(q==null)q=null +q.toString +o.lp(m,n.G6(B.c.Y(q)),r)}o.n0(a,m)}, +$S:48} +A.agz.prototype={ +$1(a){var s,r=this.a,q=r.A2(r.n9(a)),p=A.b([],t.D9),o=A.vl(a) +o.toString +s=q.Tf(B.c.Y(o)) +if(s!=null){r.lp(p,s,a) +r.n0(a,p)}}, +$S:48} +A.agA.prototype={ +$1(a){var s,r,q,p=this.a,o=p.n9(a),n=p.f +if(n.a9(0,o)){s=A.b([],t.D9) +n=n.i(0,o) +n.toString +r=A.vl(a) +q=n.Tg(r==null?null:B.c.Y(r)) +p.Lp(a) +if(q!=null){p.lp(s,q,a) +p.n0(a,s)}}}, +$S:48} +A.agB.prototype={ +$1(a){var s,r=this.a,q=r.n9(a),p=r.f +if(p.a9(0,q)){s=A.b([],t.D9) +p.i(0,q).a=0 +r.Lp(a) +r.lp(s,new A.j8(B.vI,0),a) +r.n0(a,s)}}, +$S:48} +A.agC.prototype={ +$1(a){var s=this.a +s.e=!1 +s.n0(a,s.ZD(a)) +if(!s.e)a.preventDefault()}, +$S:1} +A.tn.prototype={} +A.aeN.prototype={ +wi(a,b,c){return this.a.bj(0,a,new A.aeO(b,c))}} +A.aeO.prototype={ +$0(){return new A.tn(this.a,this.b)}, +$S:252} +A.a6d.prototype={ +Jk(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1){var s,r=$.jj().a.i(0,c),q=r.b,p=r.c +r.b=j +r.c=k +s=r.a +if(s==null)s=0 +return A.ari(a,b,c,d,e,f,!1,h,i,j-q,k-p,j,k,l,s,m,n,o,a0,a1,a2,a3,a4,a5,a6,a7,a8,!1,a9,b0,b1)}, +n7(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6){return this.Jk(a,b,c,d,e,f,g,null,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5,a6)}, +AU(a,b,c){var s=$.jj().a.i(0,a) +return s.b!==b||s.c!==c}, +ke(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){var s,r=$.jj().a.i(0,c),q=r.b,p=r.c +r.b=i +r.c=j +s=r.a +if(s==null)s=0 +return A.ari(a,b,c,d,e,f,!1,null,h,i-q,j-p,i,j,k,s,l,m,n,o,a0,a1,a2,a3,a4,a5,B.fa,a6,!0,a7,a8,a9)}, +CF(a,b,c,d,e,f,g,h,i,j,k,l,m,a0,a1,a2,a3){var s,r,q,p,o,n=this +if(a0===B.fa)switch(c.a){case 1:$.jj().wi(d,g,h) +a.push(n.n7(b,c,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +break +case 3:s=$.jj() +r=s.a.a9(0,d) +s.wi(d,g,h) +if(!r)a.push(n.ke(b,B.iL,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +a.push(n.n7(b,c,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +s.b=b +break +case 4:s=$.jj() +r=s.a.a9(0,d) +s.wi(d,g,h).a=$.at4=$.at4+1 +if(!r)a.push(n.ke(b,B.iL,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +if(n.AU(d,g,h))a.push(n.ke(0,B.c3,d,0,0,e,!1,0,g,h,0,0,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +a.push(n.n7(b,c,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +s.b=b +break +case 5:a.push(n.n7(b,c,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +$.jj().b=b +break +case 6:case 0:s=$.jj() +q=s.a +p=q.i(0,d) +p.toString +if(c===B.vI){g=p.b +h=p.c}if(n.AU(d,g,h))a.push(n.ke(s.b,B.f8,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +a.push(n.n7(b,c,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +if(e===B.dM){a.push(n.ke(0,B.I3,d,0,0,e,!1,0,g,h,0,0,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +q.A(0,d)}break +case 2:s=$.jj().a +o=s.i(0,d) +a.push(n.n7(b,c,d,0,0,e,!1,0,o.b,o.c,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +s.A(0,d) +break +case 7:case 8:case 9:break}else switch(a0.a){case 1:case 2:case 3:s=$.jj() +r=s.a.a9(0,d) +s.wi(d,g,h) +if(!r)a.push(n.ke(b,B.iL,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +if(n.AU(d,g,h))if(b!==0)a.push(n.ke(b,B.f8,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +else a.push(n.ke(b,B.c3,d,0,0,e,!1,0,g,h,0,i,j,0,0,0,0,0,k,l,m,0,a1,a2,a3)) +a.push(n.Jk(b,c,d,0,0,e,!1,f,0,g,h,0,i,j,0,0,0,0,0,k,l,m,a0,0,a1,a2,a3)) +break +case 0:break +case 4:break}}, +a8H(a,b,c,d,e,f,g,h,i,j,k,l,m){return this.CF(a,b,c,d,e,null,f,g,h,i,j,0,0,k,0,l,m)}, +a8J(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){return this.CF(a,b,c,d,e,f,g,h,i,j,1,k,l,m,0,n,o)}, +a8I(a,b,c,d,e,f,g,h,i,j,k,l,m){return this.CF(a,b,c,d,e,null,f,g,h,i,1,0,0,j,k,l,m)}} +A.amg.prototype={} +A.a6C.prototype={ +XU(a){$.kC.push(new A.a6D(this))}, +l(){var s,r +for(s=this.a,r=A.hc(s,s.r);r.t();)s.i(0,r.d).aA(0) +s.I(0) +$.IY=null}, +PV(a){var s,r,q,p,o,n,m=this,l=globalThis.KeyboardEvent +if(!(l!=null&&a instanceof l))return +s=new A.iy(a) +r=A.jv(a) +r.toString +if(a.type==="keydown"&&A.h4(a)==="Tab"&&a.isComposing)return +q=A.h4(a) +q.toString +if(!(q==="Meta"||q==="Shift"||q==="Alt"||q==="Control")&&m.c){q=m.a +p=q.i(0,r) +if(p!=null)p.aA(0) +if(a.type==="keydown")if(!a.ctrlKey){p=A.FG(a) +p=p===!0||a.altKey||a.metaKey}else p=!0 +else p=!1 +if(p)q.n(0,r,A.cb(B.hJ,new A.a6F(m,r,s))) +else q.A(0,r)}o=a.getModifierState("Shift")?1:0 +if(a.getModifierState("Alt")||a.getModifierState("AltGraph"))o|=2 +if(a.getModifierState("Control"))o|=4 +if(a.getModifierState("Meta"))o|=8 +m.b=o +if(a.type==="keydown")if(A.h4(a)==="CapsLock")m.b=o|32 +else if(A.jv(a)==="NumLock")m.b=o|16 +else if(A.h4(a)==="ScrollLock")m.b=o|64 +else if(A.h4(a)==="Meta"&&$.aw().gbX()===B.iG)m.b|=8 +else if(A.jv(a)==="MetaLeft"&&A.h4(a)==="Process")m.b|=8 +n=A.as(["type",a.type,"keymap","web","code",A.jv(a),"key",A.h4(a),"location",B.c.Y(a.location),"metaState",m.b,"keyCode",B.c.Y(a.keyCode)],t.N,t.z) +$.az().hg("flutter/keyevent",B.L.bA(n),new A.a6G(s))}} +A.a6D.prototype={ +$0(){this.a.l()}, +$S:0} +A.a6F.prototype={ +$0(){var s,r,q=this.a +q.a.A(0,this.b) +s=this.c.a +r=A.as(["type","keyup","keymap","web","code",A.jv(s),"key",A.h4(s),"location",B.c.Y(s.location),"metaState",q.b,"keyCode",B.c.Y(s.keyCode)],t.N,t.z) +$.az().hg("flutter/keyevent",B.L.bA(r),A.aGN())}, +$S:0} +A.a6G.prototype={ +$1(a){var s +if(a==null)return +if(A.ky(J.ah(t.a.a(B.L.ex(a)),"handled"))){s=this.a.a +s.preventDefault() +s.stopPropagation()}}, +$S:15} +A.Gr.prototype={} +A.Gq.prototype={ +Pa(a,b,c,d){var s=this.dy,r=this.fr,q=this.fx +A.b7(b,"drawImage",[s,0,0,r,q,c,d,r,q])}, +Oh(a,b,c){var s,r=this.a,q=r.createShader(r[b]) +if(q==null)throw A.c(A.c8(A.aGm(r,"getError"))) +A.b7(r,"shaderSource",[q,c]) +A.b7(r,"compileShader",[q]) +s=this.c +if(!A.b7(r,"getShaderParameter",[q,s==null?this.c=r.COMPILE_STATUS:s]))throw A.c(A.c8("Shader compilation failed: "+A.h(A.b7(r,"getShaderInfoLog",[q])))) +return q}, +goc(){var s=this.d +return s==null?this.d=this.a.ARRAY_BUFFER:s}, +gwU(){var s=this.e +return s==null?this.e=this.a.ELEMENT_ARRAY_BUFFER:s}, +gEm(){var s=this.f +return s==null?this.f=this.a.STATIC_DRAW:s}, +mC(a,b,c){var s=A.b7(this.a,"getUniformLocation",[b,c]) +if(s==null)throw A.c(A.c8(c+" not found")) +else return s}, +adO(a){var s,r,q=this +if("transferToImageBitmap" in q.dy&&a){q.dy.getContext("webgl2") +return q.dy.transferToImageBitmap()}else{s=q.fr +r=A.mz(q.fx,s) +s=A.ft(r,"2d",null) +s.toString +q.Pa(0,t.e.a(s),0,0) +return r}}} +A.a5q.prototype={ +MP(a){var s,r,q,p,o=this.c +$.bq() +s=self.window.devicePixelRatio +if(s===0)s=1 +r=this.d +q=self.window.devicePixelRatio +if(q===0)q=1 +p=a.style +A.l(p,"position","absolute") +A.l(p,"width",A.h(o/s)+"px") +A.l(p,"height",A.h(r/q)+"px")}} +A.uk.prototype={ +F(){return"Assertiveness."+this.b}} +A.Up.prototype={ +a7G(a){switch(a.a){case 0:return this.a +case 1:return this.b}}, +NK(a,b){var s=this,r=s.a7G(b),q=A.aS(self.document,"div") +A.alv(q,s.c?a+"\xa0":a) +s.c=!s.c +r.append(q) +A.cb(B.bd,new A.Uq(q))}} +A.Uq.prototype={ +$0(){return this.a.remove()}, +$S:0} +A.Ab.prototype={ +F(){return"_CheckableKind."+this.b}} +A.Wd.prototype={ +dc(a){var s,r,q,p=this,o="true" +p.hu(0) +s=p.c +if((s.k4&1)!==0){switch(p.w.a){case 0:r=p.a +r===$&&A.a() +q=A.a4("checkbox") +if(q==null)q=t.K.a(q) +r.setAttribute("role",q) +break +case 1:r=p.a +r===$&&A.a() +q=A.a4("radio") +if(q==null)q=t.K.a(q) +r.setAttribute("role",q) +break +case 2:r=p.a +r===$&&A.a() +q=A.a4("switch") +if(q==null)q=t.K.a(q) +r.setAttribute("role",q) +break}r=s.Dq() +q=p.a +if(r===B.ew){q===$&&A.a() +r=A.a4(o) +if(r==null)r=t.K.a(r) +q.setAttribute("aria-disabled",r) +r=A.a4(o) +if(r==null)r=t.K.a(r) +q.setAttribute("disabled",r)}else{q===$&&A.a() +q.removeAttribute("aria-disabled") +q.removeAttribute("disabled")}s=s.a +s=(s&2)!==0||(s&131072)!==0?o:"false" +r=p.a +r===$&&A.a() +s=A.a4(s) +if(s==null)s=t.K.a(s) +r.setAttribute("aria-checked",s)}}, +l(){this.p5() +var s=this.a +s===$&&A.a() +s.removeAttribute("aria-disabled") +s.removeAttribute("disabled")}, +hN(){var s=this.e +if(s==null)s=null +else{s=s.c.a +s===$&&A.a() +A.ct(s,null) +s=!0}return s===!0}} +A.Fs.prototype={ +XI(a){var s=this,r=s.c,q=A.alH(r,s) +s.e=q +s.e3(q) +s.e3(new A.nF(r,s)) +a.k3.r.push(new A.Xo(s,a))}, +a5K(){this.c.C1(new A.Xn())}, +dc(a){var s,r,q +this.hu(0) +s=this.c +if((s.a&4096)!==0){r=s.z +s=r==null?"":r +q=this.a +q===$&&A.a() +s=A.a4(s) +if(s==null)s=t.K.a(s) +q.setAttribute("aria-label",s) +s=A.a4("dialog") +if(s==null)s=t.K.a(s) +q.setAttribute("role",s)}}, +OS(a){var s,r +if((this.c.a&4096)!==0)return +s=this.a +s===$&&A.a() +r=A.a4("dialog") +if(r==null)r=t.K.a(r) +s.setAttribute("role",r) +r=a.b.p3.a +r===$&&A.a() +r=A.a4(r.id) +if(r==null)r=t.K.a(r) +s.setAttribute("aria-describedby",r)}, +hN(){return!1}} +A.Xo.prototype={ +$0(){if(this.b.k3.w)return +this.a.a5K()}, +$S:0} +A.Xn.prototype={ +$1(a){var s=a.p3 +if(s==null)return!0 +return!s.hN()}, +$S:150} +A.qT.prototype={ +dc(a){var s,r=this,q=r.b +if((q.a&4096)===0)return +if((q.k4&1024)!==0){s=r.e +if(s!=null)s.OS(r) +else q.k3.r.push(new A.a80(r))}}, +a36(){var s,r,q=this.b.p1 +while(!0){s=q!=null +if(s){r=q.p3 +r=(r==null?null:r.b)!==B.fc}else r=!1 +if(!r)break +q=q.p1}if(s){s=q.p3 +s=(s==null?null:s.b)===B.fc}else s=!1 +if(s){s=q.p3 +s.toString +this.e=t.JX.a(s)}}} +A.a80.prototype={ +$0(){var s,r=this.a +if(!r.d){r.a36() +s=r.e +if(s!=null)s.OS(r)}}, +$S:0} +A.Ge.prototype={ +dc(a){var s,r,q=this,p=q.b +if((p.a&2097152)!==0){s=q.e +if(s.b==null){r=q.c.a +r===$&&A.a() +s.QI(p.k2,r)}p=p.a +if((p&32)!==0)p=(p&64)===0||(p&128)!==0 +else p=!1 +s.Oa(p)}else q.e.yI()}} +A.DR.prototype={ +QI(a,b){var s,r,q=this,p=q.b,o=p==null +if(b===(o?null:p.a[2])){o=p.a +if(a===o[3])return +s=o[2] +r=o[1] +q.b=new A.BA([o[0],r,s,a]) +return}if(!o)q.yI() +o=A.b6(new A.Us(q)) +o=[A.b6(new A.Ut(q)),o,b,a] +q.b=new A.BA(o) +A.XO(b,0) +A.bV(b,"focus",o[1],null) +A.bV(b,"blur",o[0],null)}, +yI(){var s,r=this.b +this.c=this.b=null +if(r==null)return +s=r.a +A.cz(s[2],"focus",s[1],null) +A.cz(s[2],"blur",s[0],null)}, +LX(a){var s,r,q=this.b +if(q==null)return +s=$.az() +r=q.a[3] +s.hQ(r,a?B.j4:B.j5,null)}, +Oa(a){var s,r=this,q=r.b +if(q==null){r.c=null +return}if(a===r.c)return +r.c=a +if(a){s=r.a +s.w=!0}else return +s.r.push(new A.Ur(r,q))}} +A.Us.prototype={ +$1(a){return this.a.LX(!0)}, +$S:1} +A.Ut.prototype={ +$1(a){return this.a.LX(!1)}, +$S:1} +A.Ur.prototype={ +$0(){var s=this.b +if(!J.e(this.a.b,s))return +A.ct(s.a[2],null)}, +$S:0} +A.a_s.prototype={ +dc(a){var s,r +this.hu(0) +s=this.c +if((s.k4&16777216)===0)return +r=s.id +s=s.p3.a +s===$&&A.a() +r=A.a4(r) +if(r==null)r=t.K.a(r) +s.setAttribute("aria-level",r)}, +hN(){var s=this.e +if(s==null)s=null +else{s=s.c.a +s===$&&A.a() +A.ct(s,null) +s=!0}return s===!0}} +A.a0r.prototype={ +hN(){var s=this.e +if(s==null)s=null +else{s=s.c.a +s===$&&A.a() +A.ct(s,null) +s=!0}return s===!0}, +dc(a){var s,r,q,p=this +p.hu(0) +s=p.c +if(s.gEk()){r=s.dy +r=r!=null&&!B.c1.gM(r)}else r=!1 +if(r){if(p.w==null){p.w=A.aS(self.document,"flt-semantics-img") +r=s.dy +if(r!=null&&!B.c1.gM(r)){r=p.w.style +A.l(r,"position","absolute") +A.l(r,"top","0") +A.l(r,"left","0") +q=s.y +A.l(r,"width",A.h(q.c-q.a)+"px") +s=s.y +A.l(r,"height",A.h(s.d-s.b)+"px")}A.l(p.w.style,"font-size","6px") +s=p.w +s.toString +r=p.a +r===$&&A.a() +r.append(s)}s=p.w +s.toString +r=A.a4("img") +if(r==null)r=t.K.a(r) +s.setAttribute("role",r) +p.LZ(p.w)}else if(s.gEk()){s=p.a +s===$&&A.a() +r=A.a4("img") +if(r==null)r=t.K.a(r) +s.setAttribute("role",r) +p.LZ(s) +p.zv()}else{p.zv() +s=p.a +s===$&&A.a() +s.removeAttribute("aria-label")}}, +LZ(a){var s=this.c.z +if(s!=null&&s.length!==0){a.toString +s.toString +s=A.a4(s) +if(s==null)s=t.K.a(s) +a.setAttribute("aria-label",s)}}, +zv(){var s=this.w +if(s!=null){s.remove() +this.w=null}}, +l(){this.p5() +this.zv() +var s=this.a +s===$&&A.a() +s.removeAttribute("aria-label")}} +A.a0z.prototype={ +XN(a){var s,r,q=this,p=q.c +q.e3(new A.nF(p,q)) +q.e3(new A.qT(p,q)) +q.NA(B.bR) +p=q.w +s=q.a +s===$&&A.a() +s.append(p) +A.XP(p,"range") +s=A.a4("slider") +if(s==null)s=t.K.a(s) +p.setAttribute("role",s) +A.bV(p,"change",A.b6(new A.a0A(q,a)),null) +s=new A.a0B(q) +q.z!==$&&A.bx() +q.z=s +r=$.bh;(r==null?$.bh=A.cX():r).w.push(s) +q.x.QI(a.k2,p)}, +hN(){A.ct(this.w,null) +return!0}, +dc(a){var s,r=this +r.hu(0) +s=$.bh +switch((s==null?$.bh=A.cX():s).f.a){case 1:r.a_q() +r.a6J() +break +case 0:r.IP() +break}r.x.Oa((r.c.a&32)!==0)}, +a_q(){var s=this.w,r=A.alt(s) +r.toString +if(!r)return +A.apB(s,!1)}, +a6J(){var s,r,q,p,o,n,m,l=this +if(!l.Q){s=l.c.k4 +r=(s&4096)!==0||(s&8192)!==0||(s&16384)!==0}else r=!0 +if(!r)return +l.Q=!1 +q=""+l.y +s=l.w +A.apC(s,q) +p=A.a4(q) +if(p==null)p=t.K.a(p) +s.setAttribute("aria-valuenow",p) +p=l.c +o=p.ax +o.toString +o=A.a4(o) +if(o==null)o=t.K.a(o) +s.setAttribute("aria-valuetext",o) +n=p.ch.length!==0?""+(l.y+1):q +s.max=n +o=A.a4(n) +if(o==null)o=t.K.a(o) +s.setAttribute("aria-valuemax",o) +m=p.cx.length!==0?""+(l.y-1):q +s.min=m +p=A.a4(m) +if(p==null)p=t.K.a(p) +s.setAttribute("aria-valuemin",p)}, +IP(){var s=this.w,r=A.alt(s) +r.toString +if(r)return +A.apB(s,!0)}, +l(){var s,r,q=this +q.p5() +q.x.yI() +s=$.bh +if(s==null)s=$.bh=A.cX() +r=q.z +r===$&&A.a() +B.b.A(s.w,r) +q.IP() +q.w.remove()}} +A.a0A.prototype={ +$1(a){var s,r=this.a,q=r.w,p=A.alt(q) +p.toString +if(p)return +r.Q=!0 +q=A.alu(q) +q.toString +s=A.fl(q,null) +q=r.y +if(s>q){r.y=q+1 +$.az().hQ(this.b.k2,B.w8,null)}else if(sr){s=q.b +s.toString +if((s&32)!==0||(s&16)!==0)$.az().hQ(p,B.dR,n) +else $.az().hQ(p,B.dT,n)}else{s=q.b +s.toString +if((s&32)!==0||(s&16)!==0)$.az().hQ(p,B.dS,n) +else $.az().hQ(p,B.dU,n)}}}, +ao(){var s,r=this.c.p3.a +r===$&&A.a() +A.l(r.style,"overflow","") +r=this.x +s=r.style +A.l(s,"position","absolute") +A.l(s,"transform-origin","0 0 0") +A.l(s,"pointer-events","none") +s=this.a +s===$&&A.a() +s.append(r)}, +dc(a){var s,r,q,p=this +p.hu(0) +p.c.k3.r.push(new A.a8P(p)) +if(p.y==null){s=p.a +s===$&&A.a() +A.l(s.style,"touch-action","none") +p.Jl() +r=new A.a8Q(p) +p.w=r +q=$.bh;(q==null?$.bh=A.cX():q).w.push(r) +r=A.b6(new A.a8R(p)) +p.y=r +A.bV(s,"scroll",r,null)}}, +gIV(){var s,r=this.c.b +r.toString +r=(r&32)!==0||(r&16)!==0 +s=this.a +if(r){s===$&&A.a() +return B.c.Y(s.scrollTop)}else{s===$&&A.a() +return B.c.Y(s.scrollLeft)}}, +KK(){var s,r,q,p,o=this,n="transform",m=o.c,l=m.y +if(l==null){$.dc().$1("Warning! the rect attribute of semanticsObject is null") +return}s=m.b +s.toString +s=(s&32)!==0||(s&16)!==0 +r=o.x +q=l.d-l.b +p=l.c-l.a +if(s){s=B.c.d4(q) +r=r.style +A.l(r,n,"translate(0px,"+(s+10)+"px)") +A.l(r,"width",""+B.c.a7(p)+"px") +A.l(r,"height","10px") +r=o.a +r===$&&A.a() +r.scrollTop=10 +m.p4=o.z=B.c.Y(r.scrollTop) +m.R8=0}else{s=B.c.d4(p) +r=r.style +A.l(r,n,"translate("+(s+10)+"px,0px)") +A.l(r,"width","10px") +A.l(r,"height",""+B.c.a7(q)+"px") +q=o.a +q===$&&A.a() +q.scrollLeft=10 +q=B.c.Y(q.scrollLeft) +o.z=q +m.p4=0 +m.R8=q}}, +Jl(){var s,r=this,q="overflow-y",p="overflow-x",o=$.bh +switch((o==null?$.bh=A.cX():o).f.a){case 1:o=r.c.b +o.toString +o=(o&32)!==0||(o&16)!==0 +s=r.a +if(o){s===$&&A.a() +A.l(s.style,q,"scroll")}else{s===$&&A.a() +A.l(s.style,p,"scroll")}break +case 0:o=r.c.b +o.toString +o=(o&32)!==0||(o&16)!==0 +s=r.a +if(o){s===$&&A.a() +A.l(s.style,q,"hidden")}else{s===$&&A.a() +A.l(s.style,p,"hidden")}break}}, +l(){var s,r,q,p=this +p.p5() +s=p.a +s===$&&A.a() +r=s.style +r.removeProperty("overflowY") +r.removeProperty("overflowX") +r.removeProperty("touch-action") +q=p.y +if(q!=null){A.cz(s,"scroll",q,null) +p.y=null}s=p.w +if(s!=null){q=$.bh +B.b.A((q==null?$.bh=A.cX():q).w,s) +p.w=null}}, +hN(){var s=this.e +if(s==null)s=null +else{s=s.c.a +s===$&&A.a() +A.ct(s,null) +s=!0}return s===!0}} +A.a8P.prototype={ +$0(){var s=this.a +s.KK() +s.c.Fj()}, +$S:0} +A.a8Q.prototype={ +$1(a){this.a.Jl()}, +$S:145} +A.a8R.prototype={ +$1(a){this.a.a4M()}, +$S:1} +A.vE.prototype={ +j(a){var s=A.b([],t.s),r=this.a +if((r&1)!==0)s.push("accessibleNavigation") +if((r&2)!==0)s.push("invertColors") +if((r&4)!==0)s.push("disableAnimations") +if((r&8)!==0)s.push("boldText") +if((r&16)!==0)s.push("reduceMotion") +if((r&32)!==0)s.push("highContrast") +if((r&64)!==0)s.push("onOffSwitchLabels") +return"AccessibilityFeatures"+A.h(s)}, +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.vE&&b.a===this.a}, +gu(a){return B.f.gu(this.a)}, +Ov(a,b){var s=(a==null?(this.a&1)!==0:a)?1:0,r=this.a +s=(r&2)!==0?s|2:s&4294967293 +s=(r&4)!==0?s|4:s&4294967291 +s=(r&8)!==0?s|8:s&4294967287 +s=(r&16)!==0?s|16:s&4294967279 +s=(b==null?(r&32)!==0:b)?s|32:s&4294967263 +return new A.vE((r&64)!==0?s|64:s&4294967231)}, +a8O(a){return this.Ov(null,a)}, +a8L(a){return this.Ov(a,null)}} +A.K9.prototype={$iamp:1} +A.K6.prototype={} +A.fJ.prototype={ +F(){return"PrimaryRole."+this.b}} +A.IO.prototype={ +mY(a,b,c){var s=this,r=s.c,q=A.xS(s.bf(0),r) +s.a!==$&&A.bx() +s.a=q +q=A.alH(r,s) +s.e=q +s.e3(q) +s.e3(new A.nF(r,s)) +s.e3(new A.qT(r,s)) +s.NA(c)}, +bf(a){return A.aS(self.document,"flt-semantics")}, +ao(){}, +NA(a){var s=this,r=new A.H_(a,s.c,s) +s.f=r +s.e3(r)}, +e3(a){var s=this.d;(s==null?this.d=A.b([],t.VM):s).push(a)}, +dc(a){var s,r,q,p,o=this.d +if(o==null)return +for(s=o.length,r=0;r1)for(p=0;p=0;--p,a1=s){g=l[p] +s=g.k2 +if(!B.b.p(a0,s)){k=g.p3 +if(a1==null){m.toString +k=k.a +k===$&&A.a() +m.append(k)}else{m.toString +k=k.a +k===$&&A.a() +m.insertBefore(k,a1)}g.p1=a2 +q.e.n(0,s,a2)}s=g.p3.a +s===$&&A.a()}a2.p2=l}, +a0q(){var s,r,q=this +if(q.go!==-1)return B.iR +else if(q.id!==0)return B.vQ +else if((q.a&16)!==0)return B.vP +else{s=q.b +s.toString +if((s&64)!==0||(s&128)!==0)return B.vO +else if(q.gEk())return B.vR +else{s=q.a +if((s&1)!==0||(s&65536)!==0)return B.iQ +else if((s&8)!==0)return B.iP +else{r=q.b +r.toString +if((r&32)!==0||(r&16)!==0||(r&4)!==0||(r&8)!==0)return B.iN +else if((s&2048)!==0)return B.fc +else if((s&4194304)!==0)return B.iO +else return B.iS}}}}, +ZP(a){var s,r,q,p=this +switch(a.a){case 3:s=new A.aaM(B.vP,p) +r=A.xS(s.bf(0),p) +s.a!==$&&A.bx() +s.a=r +s.a5O() +break +case 1:s=new A.a8I(A.aS(self.document,"flt-semantics-scroll-overflow"),B.iN,p) +s.mY(B.iN,p,B.bR) +break +case 0:s=A.aBw(p) +break +case 2:s=new A.Vq(B.iP,p) +s.mY(B.iP,p,B.eF) +s.e3(A.KK(p,s)) +r=s.a +r===$&&A.a() +q=A.a4("button") +if(q==null)q=t.K.a(q) +r.setAttribute("role",q) +break +case 4:s=new A.Wd(A.aGs(p),B.iQ,p) +s.mY(B.iQ,p,B.bR) +s.e3(A.KK(p,s)) +break +case 7:s=A.aA5(p) +break +case 6:s=new A.a0r(B.vR,p) +r=A.xS(s.bf(0),p) +s.a!==$&&A.bx() +s.a=r +r=A.alH(p,s) +s.e=r +s.e3(r) +s.e3(new A.nF(p,s)) +s.e3(new A.qT(p,s)) +s.e3(A.KK(p,s)) +break +case 8:s=new A.a69(B.iR,p) +s.mY(B.iR,p,B.bR) +break +case 10:s=new A.a1q(B.iO,p) +s.mY(B.iO,p,B.eF) +s.e3(A.KK(p,s)) +break +case 5:s=new A.a_s(B.vQ,p) +r=A.xS(s.bf(0),p) +s.a!==$&&A.bx() +s.a=r +q=A.a4("heading") +if(q==null)q=t.K.a(q) +r.setAttribute("role",q) +break +case 9:s=new A.ZW(B.iS,p) +s.mY(B.iS,p,B.hY) +r=p.b +r.toString +if((r&1)!==0)s.e3(A.KK(p,s)) +break +default:s=null}return s}, +a6P(){var s,r,q,p=this,o=p.p3,n=p.a0q(),m=p.p3 +if(m==null)s=null +else{m=m.a +m===$&&A.a() +s=m}if(o!=null)if(o.b===n){o.dc(0) +return}else{o.l() +o=p.p3=null}if(o==null){o=p.p3=p.ZP(n) +o.ao() +o.dc(0)}m=p.p3.a +m===$&&A.a() +if(!J.e(s,m)){r=p.ok +if(r!=null){m=p.p3.a +m===$&&A.a() +m.append(r)}q=s==null?null:s.parentElement +if(q!=null){m=p.p3.a +m===$&&A.a() +q.insertBefore(m,s) +s.remove()}}}, +Fj(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=g.p3.a +f===$&&A.a() +f=f.style +s=g.y +A.l(f,"width",A.h(s.c-s.a)+"px") +s=g.y +A.l(f,"height",A.h(s.d-s.b)+"px") +f=g.dy +r=f!=null&&!B.c1.gM(f)?g.FY():null +f=g.y +q=f.b===0&&f.a===0 +p=g.dx +f=p==null +o=f||A.akC(p)===B.xb +if(q&&o&&g.p4===0&&g.R8===0){f=g.p3.a +f===$&&A.a() +A.a9d(f) +if(r!=null)A.a9d(r) +return}n=A.bj("effectiveTransform") +if(!q)if(f){f=g.y +m=f.a +l=f.b +f=A.cH() +f.iZ(m,l,0) +n.b=f +k=m===0&&l===0}else{f=new A.bp(new Float32Array(16)) +f.ba(new A.bp(p)) +s=g.y +f.aq(0,s.a,s.b) +n.b=f +k=J.ayx(n.aP())}else{if(!o)n.b=new A.bp(p) +k=o}f=g.p3 +if(!k){f=f.a +f===$&&A.a() +f=f.style +A.l(f,"transform-origin","0 0 0") +A.l(f,"transform",A.fk(n.aP().a))}else{f=f.a +f===$&&A.a() +A.a9d(f)}if(r!=null)if(!q||g.p4!==0||g.R8!==0){f=g.y +s=f.a +j=g.R8 +f=f.b +i=g.p4 +h=r.style +A.l(h,"top",A.h(-f+i)+"px") +A.l(h,"left",A.h(-s+j)+"px")}else A.a9d(r)}, +C1(a){var s,r,q,p +if(!a.$1(this))return!1 +s=this.dy +if(s==null)return!0 +for(r=s.length,q=this.k3.d,p=0;p>>0}p=o.ax +if(n.k1!==p){n.k1=p +n.k4=(n.k4|33554432)>>>0}p=o.cy +if(n.ax!==p){n.ax=p +n.k4=(n.k4|4096)>>>0}p=o.db +if(n.ay!==p){n.ay=p +n.k4=(n.k4|4096)>>>0}p=o.ay +if(n.z!==p){n.z=p +n.k4=(n.k4|1024)>>>0}p=o.ch +if(n.Q!==p){n.Q=p +n.k4=(n.k4|1024)>>>0}p=o.at +if(!J.e(n.y,p)){n.y=p +n.k4=(n.k4|512)>>>0}p=o.id +if(n.dx!==p){n.dx=p +n.k4=(n.k4|65536)>>>0}p=o.z +if(n.r!==p){n.r=p +n.k4=(n.k4|64)>>>0}p=o.c +if(n.b!==p){n.b=p +n.k4=(n.k4|2)>>>0}p=o.f +if(n.c!==p){n.c=p +n.k4=(n.k4|4)>>>0}p=o.r +if(n.d!==p){n.d=p +n.k4=(n.k4|8)>>>0}p=o.x +if(n.e!==p){n.e=p +n.k4=(n.k4|16)>>>0}p=o.y +if(n.f!==p){n.f=p +n.k4=(n.k4|32)>>>0}p=o.Q +if(n.w!==p){n.w=p +n.k4=(n.k4|128)>>>0}p=o.as +if(n.x!==p){n.x=p +n.k4=(n.k4|256)>>>0}p=o.CW +if(n.as!==p){n.as=p +n.k4=(n.k4|2048)>>>0}p=o.cx +if(n.at!==p){n.at=p +n.k4=(n.k4|2048)>>>0}p=o.dx +if(n.ch!==p){n.ch=p +n.k4=(n.k4|8192)>>>0}p=o.dy +if(n.CW!==p){n.CW=p +n.k4=(n.k4|8192)>>>0}p=o.fr +if(n.cx!==p){n.cx=p +n.k4=(n.k4|16384)>>>0}p=o.fx +if(n.cy!==p){n.cy=p +n.k4=(n.k4|16384)>>>0}p=o.fy +if(n.fy!==p){n.fy=p +n.k4=(n.k4|4194304)>>>0}p=o.p1 +if(n.id!==p){n.id=p +n.k4=(n.k4|16777216)>>>0}p=o.go +if(n.db!=p){n.db=p +n.k4=(n.k4|32768)>>>0}p=o.k2 +if(n.fr!==p){n.fr=p +n.k4=(n.k4|1048576)>>>0}p=o.k1 +if(n.dy!==p){n.dy=p +n.k4=(n.k4|524288)>>>0}p=o.k3 +if(n.fx!==p){n.fx=p +n.k4=(n.k4|2097152)>>>0}p=o.w +if(n.go!==p){n.go=p +n.k4=(n.k4|8388608)>>>0}n.a6P() +p=n.k4 +if((p&512)!==0||(p&65536)!==0||(p&64)!==0)n.Fj() +p=n.dy +p=!(p!=null&&!B.c1.gM(p))&&n.go===-1 +m=n.p3 +if(p){p=m.a +p===$&&A.a() +p=p.style +p.setProperty("pointer-events","all","")}else{p=m.a +p===$&&A.a() +p=p.style +p.setProperty("pointer-events","none","")}}for(q=0;q"),n=A.a8(new A.aZ(p,o),!0,o.h("j.E")),m=n.length +for(s=0;s=20)return i.d=!0 +if(!B.Jo.p(0,a.type))return!0 +if(i.a!=null)return!1 +r=A.bj("activationPoint") +switch(a.type){case"click":r.sco(new A.vm(a.offsetX,a.offsetY)) +break +case"touchstart":case"touchend":s=t.VA +s=A.eL(new A.Aq(a.changedTouches,s),s.h("j.E"),t.e) +s=A.o(s).y[1].a(J.il(s.a)) +r.sco(new A.vm(s.clientX,s.clientY)) +break +case"pointerdown":case"pointerup":r.sco(new A.vm(a.clientX,a.clientY)) +break +default:return!0}q=i.b.getBoundingClientRect() +s=q.left +p=q.right +o=q.left +n=q.top +m=q.bottom +l=q.top +k=r.aP().a-(s+(p-o)/2) +j=r.aP().b-(n+(m-l)/2) +if(k*k+j*j<1){i.d=!0 +i.a=A.cb(B.bd,new A.a4D(i)) +return!1}return!0}, +R9(){var s,r=this.b=A.aS(self.document,"flt-semantics-placeholder") +A.bV(r,"click",A.b6(new A.a4C(this)),!0) +s=A.a4("button") +if(s==null)s=t.K.a(s) +r.setAttribute("role",s) +s=A.a4("Enable accessibility") +if(s==null)s=t.K.a(s) +r.setAttribute("aria-label",s) +s=r.style +A.l(s,"position","absolute") +A.l(s,"left","0") +A.l(s,"top","0") +A.l(s,"right","0") +A.l(s,"bottom","0") +return r}, +l(){var s=this.b +if(s!=null)s.remove() +this.a=this.b=null}} +A.a4D.prototype={ +$0(){this.a.l() +var s=$.bh;(s==null?$.bh=A.cX():s).syu(!0)}, +$S:0} +A.a4C.prototype={ +$1(a){this.a.y0(a)}, +$S:1} +A.Vq.prototype={ +hN(){var s=this.e +if(s==null)s=null +else{s=s.c.a +s===$&&A.a() +A.ct(s,null) +s=!0}return s===!0}, +dc(a){var s,r +this.hu(0) +s=this.c.Dq() +r=this.a +if(s===B.ew){r===$&&A.a() +s=A.a4("true") +if(s==null)s=t.K.a(s) +r.setAttribute("aria-disabled",s)}else{r===$&&A.a() +r.removeAttribute("aria-disabled")}}} +A.KJ.prototype={ +XZ(a,b){var s,r=A.b6(new A.aaE(this,a)) +this.e=r +s=b.a +s===$&&A.a() +A.bV(s,"click",r,null)}, +dc(a){var s,r=this,q=r.f,p=r.b +if(p.Dq()!==B.ew){p=p.b +p.toString +p=(p&1)!==0}else p=!1 +r.f=p +if(q!==p){s=r.c.a +if(p){s===$&&A.a() +p=A.a4("") +if(p==null)p=t.K.a(p) +s.setAttribute("flt-tappable",p)}else{s===$&&A.a() +s.removeAttribute("flt-tappable")}}}} +A.aaE.prototype={ +$1(a){$.aod().adb(0,a,this.b.k2,this.a.f)}, +$S:1} +A.a9j.prototype={ +Dp(a,b,c,d){this.CW=b +this.x=d +this.y=c}, +a7j(a){var s,r,q=this,p=q.ch +if(p===a)return +else if(p!=null)q.fq(0) +q.ch=a +q.c=a.w +q.Mm() +p=q.CW +p.toString +s=q.x +s.toString +r=q.y +r.toString +q.Uu(0,p,r,s)}, +fq(a){var s,r,q,p=this +if(!p.b)return +p.b=!1 +p.w=p.r=null +for(s=p.z,r=0;r=this.b)throw A.c(A.aqk(b,this)) +return this.a[b]}, +n(a,b,c){if(b>=this.b)throw A.c(A.aqk(b,this)) +this.a[b]=c}, +sq(a,b){var s,r,q,p=this,o=p.b +if(bo){if(o===0)q=new Uint8Array(b) +else q=p.zQ(b) +B.R.dW(q,0,p.b,p.a) +p.a=q}}p.b=b}, +ds(a,b){var s=this,r=s.b +if(r===s.a.length)s.Hy(r) +s.a[s.b++]=b}, +D(a,b){var s=this,r=s.b +if(r===s.a.length)s.Hy(r) +s.a[s.b++]=b}, +vs(a,b,c,d){A.dw(c,"start") +if(d!=null&&c>d)throw A.c(A.bY(d,c,null,"end",null)) +this.Y3(b,c,d)}, +L(a,b){return this.vs(0,b,0,null)}, +Y3(a,b,c){var s,r,q,p=this +if(A.o(p).h("N").b(a))c=c==null?a.length:c +if(c!=null){p.a2Q(p.b,a,b,c) +return}for(s=J.ak(a),r=0;s.t();){q=s.gG(s) +if(r>=b)p.ds(0,q);++r}if(ro.gq(b)||d>o.gq(b))throw A.c(A.R("Too few elements")) +s=d-c +r=p.b+s +p.a_u(r) +o=p.a +q=a+s +B.R.bx(o,q,p.b+s,o,a) +B.R.bx(p.a,a,q,b,c) +p.b=r}, +a_u(a){var s,r=this +if(a<=r.a.length)return +s=r.zQ(a) +B.R.dW(s,0,r.b,r.a) +r.a=s}, +zQ(a){var s=this.a.length*2 +if(a!=null&&ss)throw A.c(A.bY(c,0,s,null,null)) +s=this.a +if(A.o(this).h("je").b(d))B.R.bx(s,b,c,d.a,e) +else B.R.bx(s,b,c,d,e)}, +dW(a,b,c,d){return this.bx(0,b,c,d,0)}} +A.Oc.prototype={} +A.L7.prototype={} +A.hd.prototype={ +j(a){return A.r(this).j(0)+"("+this.a+", "+A.h(this.b)+")"}} +A.a0N.prototype={ +bA(a){return A.es(B.b9.dv(B.az.wg(a)).buffer,0,null)}, +ex(a){if(a==null)return a +return B.az.e6(0,B.cJ.dv(A.dh(a.buffer,0,null)))}} +A.a0P.prototype={ +hI(a){return B.L.bA(A.as(["method",a.a,"args",a.b],t.N,t.z))}, +h4(a){var s,r,q,p=null,o=B.L.ex(a) +if(!t.f.b(o))throw A.c(A.bE("Expected method call Map, got "+A.h(o),p,p)) +s=J.ax(o) +r=s.i(o,"method") +q=s.i(o,"args") +if(typeof r=="string")return new A.hd(r,q) +throw A.c(A.bE("Invalid method call: "+A.h(o),p,p))}} +A.aa0.prototype={ +bA(a){var s=A.amQ() +this.dn(0,s,!0) +return s.ks()}, +ex(a){var s,r +if(a==null)return null +s=new A.J_(a) +r=this.hj(0,s) +if(s.b=b.a.byteLength)throw A.c(B.aK) +return this.jG(b.mA(0),b)}, +jG(a,b){var s,r,q,p,o,n,m,l,k,j=this +switch(a){case 0:s=null +break +case 1:s=!0 +break +case 2:s=!1 +break +case 3:r=b.a.getInt32(b.b,B.aa===$.db()) +b.b+=4 +s=r +break +case 4:s=b.yf(0) +break +case 5:q=j.dV(b) +s=A.fl(B.cJ.dv(b.mB(q)),16) +break +case 6:b.jY(8) +r=b.a.getFloat64(b.b,B.aa===$.db()) +b.b+=8 +s=r +break +case 7:q=j.dV(b) +s=B.cJ.dv(b.mB(q)) +break +case 8:s=b.mB(j.dV(b)) +break +case 9:q=j.dV(b) +b.jY(4) +p=b.a +o=A.aqZ(p.buffer,p.byteOffset+b.b,q) +b.b=b.b+4*q +s=o +break +case 10:s=b.yg(j.dV(b)) +break +case 11:q=j.dV(b) +b.jY(8) +p=b.a +o=A.aqX(p.buffer,p.byteOffset+b.b,q) +b.b=b.b+8*q +s=o +break +case 12:q=j.dV(b) +n=[] +for(p=b.a,m=0;m=p.byteLength)A.aa(B.aK) +b.b=l+1 +n.push(j.jG(p.getUint8(l),b))}s=n +break +case 13:q=j.dV(b) +p=t.X +n=A.E(p,p) +for(p=b.a,m=0;m=p.byteLength)A.aa(B.aK) +b.b=l+1 +l=j.jG(p.getUint8(l),b) +k=b.b +if(k>=p.byteLength)A.aa(B.aK) +b.b=k+1 +n.n(0,l,j.jG(p.getUint8(k),b))}s=n +break +default:throw A.c(B.aK)}return s}, +eL(a,b){var s,r,q +if(b<254)a.b.ds(0,b) +else{s=a.b +r=a.c +q=a.d +if(b<=65535){s.ds(0,254) +r.setUint16(0,b,B.aa===$.db()) +s.vs(0,q,0,2)}else{s.ds(0,255) +r.setUint32(0,b,B.aa===$.db()) +s.vs(0,q,0,4)}}}, +dV(a){var s=a.mA(0) +switch(s){case 254:s=a.a.getUint16(a.b,B.aa===$.db()) +a.b+=2 +return s +case 255:s=a.a.getUint32(a.b,B.aa===$.db()) +a.b+=4 +return s +default:return s}}} +A.aa3.prototype={ +$2(a,b){var s=this.a,r=this.b +s.dn(0,r,a) +s.dn(0,r,b)}, +$S:143} +A.aa4.prototype={ +h4(a){var s,r,q +a.toString +s=new A.J_(a) +r=B.bq.hj(0,s) +q=B.bq.hj(0,s) +if(typeof r=="string"&&s.b>=a.byteLength)return new A.hd(r,q) +else throw A.c(B.lk)}, +qW(a){var s=A.amQ() +s.b.ds(0,0) +B.bq.dn(0,s,a) +return s.ks()}, +lX(a,b,c){var s=A.amQ() +s.b.ds(0,1) +B.bq.dn(0,s,a) +B.bq.dn(0,s,c) +B.bq.dn(0,s,b) +return s.ks()}} +A.ac9.prototype={ +jY(a){var s,r,q=this.b,p=B.f.bo(q.b,a) +if(p!==0)for(s=a-p,r=0;r0)b=c +else{$.p9.toString +f=$.bq().d +if(f==null){f=self.window.devicePixelRatio +if(f===0)f=1}b=1/f}f=d==null?a8:A.cM(d.gm(d)) +b0.setProperty("-webkit-text-stroke",A.h(b)+"px "+A.h(f),"")}else if(d!=null){a=A.cM(d.gm(d)) +b0.setProperty("color",a,"")}f=g.cy +a0=f==null?a8:f.gae(f) +if(a0!=null){a=A.cM(a0.a) +b0.setProperty("background-color",a,"")}a1=g.at +if(a1!=null){f=B.c.d1(a1) +b0.setProperty("font-size",""+f+"px","")}f=g.f +if(f!=null){a=A.anB(f.a) +b0.setProperty("font-weight",a,"")}f=A.ajO(g.y) +f.toString +b0.setProperty("font-family",f,"") +f=g.ax +if(f!=null)b0.setProperty("letter-spacing",A.h(f)+"px","") +f=g.ay +if(f!=null)b0.setProperty("word-spacing",A.h(f)+"px","") +f=g.b +a2=g.dx +if(a2!=null){a=A.aHI(a2) +b0.setProperty("text-shadow",a,"")}if(f!=null){e=g.d +f=f.a +a3=(f|1)===f?""+"underline ":"" +if((f|2)===f)a3+="overline " +f=(f|4)===f?a3+"line-through ":a3 +if(e!=null)f+=A.h(A.aGE(e)) +a4=f.length===0?a8:f.charCodeAt(0)==0?f:f +if(a4!=null){f=$.aw() +p=f.d +if(p===$){e=self.window.navigator.vendor +p=f.b +if(p===$){p=self.window.navigator.userAgent +f.b!==$&&A.a1() +f.b=p}a3=p +n=f.qJ(e,a3.toLowerCase()) +f.d!==$&&A.a1() +f.d=n +p=n}f=p +if(f===B.K){f=h.style +f.setProperty("-webkit-text-decoration",a4,"")}else b0.setProperty("text-decoration",a4,"") +a5=g.c +if(a5!=null){a=A.cM(a5.a) +b0.setProperty("text-decoration-color",a,"")}}}a6=g.as +if(a6!=null&&a6.length!==0){a=A.aGW(a6) +b0.setProperty("font-variation-settings",a,"")}g=j.S8() +f=g.a +e=g.b +a3=h.style +a3.setProperty("position","absolute","") +a3.setProperty("top",A.h(e)+"px","") +a3.setProperty("left",A.h(f)+"px","") +a3.setProperty("width",A.h(g.c-f)+"px","") +a3.setProperty("line-height",A.h(g.d-e)+"px","") +h.append(self.document.createTextNode(i)) +a9.append(h)}++q}return a9}, +tv(){return this.gc_().tv()}, +tw(a,b,c,d){return this.gc_().SG(a,b,c,d)}, +yb(a,b,c){return this.tw(a,b,c,B.ec)}, +dd(a){return this.gc_().dd(a)}, +FO(a){return this.gc_().SL(a)}, +yd(a){var s,r,q,p,o,n,m,l,k,j=this.un(a,0,this.gc_().y.length) +if(j==null)return null +s=this.gc_().y[j] +r=s.SI(a) +if(r==null)return null +for(q=s.x,p=q.length,o=r.a,n=r.b,m=0;m") +return A.a8(new A.ay(s,new A.W3(),r),!0,r.h("aI.E"))}, +yh(a){return 0<=a&&ab)if(a>=q.gc_().y[b].b){s=c=q.gc_().y[b].gmq()?null:b +r=B.f.c7(b+c,2) +s=q.un(a,r,c) +return s==null?q.un(a,b,r):s}, +l(){}} +A.W3.prototype={ +$1(a){return a.a}, +$S:285} +A.xx.prototype={} +A.rf.prototype={ +RR(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=this,a=b.a +if(a==null){a=b.gzC(b) +s=b.gzV() +r=b.gzW() +q=b.gzX() +p=b.gzY() +o=b.gAh(b) +n=b.gAf(b) +m=b.gBx() +l=b.gz4(b) +k=b.gAc() +j=b.gAd() +i=b.gAg() +h=b.gAe(b) +g=b.gAQ(b) +f=b.gC3(b) +e=b.gz5(b) +d=b.gAP() +c=b.gAT() +f=b.a=A.aq_(b.gzk(b),a,s,r,q,p,l,k,j,h,n,i,o,b.gur(),e,d,g,c,b.gBq(),m,f) +a=f}return a}} +A.ED.prototype={ +gzC(a){var s=this.c.a +if(s==null)if(this.gur()==null){s=this.b +s=s.gzC(s)}else s=null +return s}, +gzV(){var s=this.c.b +return s==null?this.b.gzV():s}, +gzW(){var s=this.c.c +return s==null?this.b.gzW():s}, +gzX(){var s=this.c.d +return s==null?this.b.gzX():s}, +gzY(){var s=this.c.e +return s==null?this.b.gzY():s}, +gAh(a){var s=this.c.f +if(s==null){s=this.b +s=s.gAh(s)}return s}, +gAf(a){var s=this.b +s=s.gAf(s) +return s}, +gBx(){var s=this.c.w +return s==null?this.b.gBx():s}, +gAc(){var s=this.c.z +return s==null?this.b.gAc():s}, +gAd(){var s=this.b.gAd() +return s}, +gAg(){var s=this.c.as +return s==null?this.b.gAg():s}, +gAe(a){var s=this.c.at +if(s==null){s=this.b +s=s.gAe(s)}return s}, +gAQ(a){var s=this.c.ax +if(s==null){s=this.b +s=s.gAQ(s)}return s}, +gC3(a){var s=this.c.ay +if(s==null){s=this.b +s=s.gC3(s)}return s}, +gz5(a){var s=this.c.ch +if(s===0)s=null +else if(s==null){s=this.b +s=s.gz5(s)}return s}, +gAP(){var s=this.c.CW +return s==null?this.b.gAP():s}, +gAT(){var s=this.c.cx +return s==null?this.b.gAT():s}, +gzk(a){var s=this.c.cy +if(s==null){s=this.b +s=s.gzk(s)}return s}, +gur(){var s=this.c.db +return s==null?this.b.gur():s}, +gBq(){var s=this.c.dx +return s==null?this.b.gBq():s}, +gz4(a){var s=this.c +if(s.x)s=s.y +else{s=this.b +s=s.gz4(s)}return s}} +A.Jx.prototype={ +gzC(a){return null}, +gzV(){return null}, +gzW(){return null}, +gzX(){return null}, +gzY(){return null}, +gAh(a){return this.b.c}, +gAf(a){return this.b.d}, +gBx(){return null}, +gz4(a){var s=this.b.f +return s==null?"sans-serif":s}, +gAc(){return null}, +gAd(){return null}, +gAg(){return null}, +gAe(a){var s=this.b.r +return s==null?14:s}, +gAQ(a){return null}, +gC3(a){return null}, +gz5(a){return this.b.w}, +gAP(){return null}, +gAT(){return this.b.Q}, +gzk(a){return null}, +gur(){return null}, +gBq(){return null}} +A.W2.prototype={ +gIJ(){var s=this.d,r=s.length +return r===0?this.e:s[r-1]}, +xD(a){this.d.push(new A.ED(this.gIJ(),t.Q4.a(a)))}, +fG(){var s=this.d +if(s.length!==0)s.pop()}, +q8(a){var s=this,r=s.a.a+=a,q=s.gIJ().RR() +s.a6C(q) +s.c.push(new A.xx(q,r.length))}, +a6C(a){var s,r,q,p,o=this +if(!o.w)return +s=a.ax +if(s!=null&&s!==0){o.w=!1 +return}r=a.b +if(r!=null){q=r.a +q=B.e.a!==q}else q=!1 +if(q){o.w=!1 +return}p=a.as +if(p!=null&&p.length!==0){o.w=!1 +return}}, +bs(){var s,r=this,q=r.c +if(q.length===0)q.push(new A.xx(r.e.RR(),0)) +s=r.a.a +return new A.Ez(q,r.b,s.charCodeAt(0)==0?s:s,r.w)}} +A.a_C.prototype={ +jB(a){return this.acC(a)}, +acC(a0){var s=0,r=A.C(t.S7),q,p=this,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a +var $async$jB=A.D(function(a1,a2){if(a1===1)return A.z(a2,r) +while(true)switch(s){case 0:b=A.b([],t.Rh) +for(o=a0.a,n=o.length,m=0;m")) +a.t() +d=A.aGw(d) +c=A.Z(d) +s=new J.c2(d,d.length,c.h("c2<1>")) +s.t() +d=this.b +r=A.Z(d) +q=new J.c2(d,d.length,r.h("c2<1>")) +q.t() +p=a.d +if(p==null)p=b.c.a(p) +o=s.d +if(o==null)o=c.c.a(o) +n=q.d +if(n==null)n=r.c.a(n) +for(d=b.c,c=c.c,r=r.c,m=0;!0;m=j){b=p.b +l=o.b +k=n.c +j=Math.min(b,Math.min(l,k)) +i=b-j +h=i===0?p.c:B.q +g=j-m +e.push(A.alY(m,j,h,o.c,o.d,n,A.my(p.d-i,0,g),A.my(p.e-i,0,g))) +if(b===j){f=a.t() +if(f){p=a.d +if(p==null)p=d.a(p)}}else f=!1 +if(l===j)if(s.t()){o=s.d +if(o==null)o=c.a(o) +f=!0}if(k===j)if(q.t()){n=q.d +if(n==null)n=r.a(n) +f=!0}if(!f)break}return e}} +A.ady.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +return b instanceof A.ha&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d==s.d&&b.e===s.e&&b.f===s.f&&b.r===s.r&&b.w===s.w}} +A.ha.prototype={ +gq(a){return this.b-this.a}, +gEi(){return this.b-this.a===this.w}, +gjz(){return!1}, +yk(a){return B.d.W(a.c,this.a,this.b-this.r)}, +tS(a,b){var s,r,q,p,o,n,m,l,k,j=this,i=j.a +if(i===b)return A.b([null,j],t.oA) +s=j.b +if(s===b)return A.b([j,null],t.oA) +r=s-b +q=j.r +p=Math.min(q,r) +o=j.w +n=Math.min(o,r) +m=j.d +l=j.e +k=j.f +return A.b([A.alY(i,b,B.q,m,l,k,q-p,o-n),A.alY(b,s,j.c,m,l,k,p,n)],t.cN)}, +j(a){var s=this +return B.QB.j(0)+"("+s.a+", "+s.b+", "+s.c.j(0)+", "+A.h(s.d)+")"}} +A.aeu.prototype={ +tO(a,b,c,d,e){var s=this +s.ip$=a +s.kz$=b +s.kA$=c +s.kB$=d +s.ci$=e}} +A.aev.prototype={ +gdU(a){var s,r,q=this,p=q.ca$ +p===$&&A.a() +s=q.hK$ +if(p.y===B.p){s===$&&A.a() +p=s}else{s===$&&A.a() +r=q.ci$ +r===$&&A.a() +r=p.a.f-(s+(r+q.cj$)) +p=r}return p}, +gl1(a){var s,r=this,q=r.ca$ +q===$&&A.a() +s=r.hK$ +if(q.y===B.p){s===$&&A.a() +q=r.ci$ +q===$&&A.a() +q=s+(q+r.cj$)}else{s===$&&A.a() +q=q.a.f-s}return q}, +acp(a){var s,r,q=this,p=q.ca$ +p===$&&A.a() +s=p.f +if(q.b>p.c-s)return +r=q.w +if(r===0)return +q.cj$=(a-p.a.f)/(p.r-s)*r}} +A.aet.prototype={ +gMv(){var s,r,q,p,o,n,m,l,k=this,j=k.wp$ +if(j===$){s=k.ca$ +s===$&&A.a() +r=k.gdU(0) +q=k.ca$.a +p=k.kz$ +p===$&&A.a() +o=k.gl1(0) +n=k.ca$ +m=k.kA$ +m===$&&A.a() +l=k.d +l.toString +k.wp$!==$&&A.a1() +j=k.wp$=new A.ee(s.a.r+r,q.w-p,q.r+o,n.a.w+m,l)}return j}, +S8(){var s,r,q,p,o,n,m,l,k,j,i=this,h=i.ca$ +h===$&&A.a() +if(i.b>h.c-h.f){s=i.d +s.toString +h=h.a.r +if(s===B.p){s=i.gdU(0) +r=i.ca$.a +q=i.kz$ +q===$&&A.a() +p=i.gl1(0) +o=i.ci$ +o===$&&A.a() +n=i.cj$ +m=i.kB$ +m===$&&A.a() +l=i.ca$ +k=i.kA$ +k===$&&A.a() +j=i.d +j.toString +j=new A.ee(h+s,r.w-q,r.r+p-(o+n-m),l.a.w+k,j) +h=j}else{s=i.gdU(0) +r=i.ci$ +r===$&&A.a() +q=i.cj$ +p=i.kB$ +p===$&&A.a() +o=i.ca$.a +n=i.kz$ +n===$&&A.a() +m=i.gl1(0) +l=i.ca$ +k=i.kA$ +k===$&&A.a() +j=i.d +j.toString +j=new A.ee(h+s+(r+q-p),o.w-n,o.r+m,l.a.w+k,j) +h=j}return h}return i.gMv()}, +tf(a,b){var s,r,q,p,o,n,m,l,k,j=this +if(b==null)b=j.a +if(a==null)a=j.b +s=j.a +r=b<=s +if(r&&a>=j.b-j.r)return j.gMv() +if(r)q=0 +else{r=j.ip$ +r===$&&A.a() +r.slN(j.f) +r=j.ip$ +q=A.mB($.pf(),r.a.c,s,b,r.c.a.ax)}s=j.b-j.r +if(a>=s)p=0 +else{r=j.ip$ +r===$&&A.a() +r.slN(j.f) +r=j.ip$ +p=A.mB($.pf(),r.a.c,a,s,r.c.a.ax)}s=j.d +s.toString +if(s===B.p){o=j.gdU(0)+q +n=j.gl1(0)-p}else{o=j.gdU(0)+p +n=j.gl1(0)-q}s=j.ca$ +s===$&&A.a() +s=s.a +r=s.r +s=s.w +m=j.kz$ +m===$&&A.a() +l=j.kA$ +l===$&&A.a() +k=j.d +k.toString +return new A.ee(r+o,s-m,r+n,s+l,k)}, +aeH(){return this.tf(null,null)}, +T2(a){var s,r,q,p,o,n,m,l,k=this +a=k.a39(a) +s=k.a +r=k.b-k.r +q=r-s +if(q===0)return new A.ao(s,B.n) +if(q===1){p=k.ci$ +p===$&&A.a() +return am){n=q+1 +n=p===n?null:new A.av(n,p)}else n=new A.av(q,p) +return n}, +Ak(a8,a9,b0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5=this,a6=null,a7=a5.ca$ +a7===$&&A.a() +s=a7.ghs() +a7=s[a9] +r=s[b0] +q=a5.tf(r,a7) +p=a9+1 +if(p===b0)return new A.iA(new A.x(q.a,q.b,q.c,q.d),new A.ch(a7,r),q.e) +o=q.a +n=a6 +m=q.c +n=m +l=o +if(lMath.abs(a8-B.c.hB(a8,h,p.c))?j:i}g=q.e +f=a8<=l +$label0$0:{e=B.p===g +d=e +c=a6 +b=a6 +if(d){a7=f +b=a7 +c=b}else a7=!1 +a=!a7 +a0=a6 +a1=a6 +if(a){a0=B.P===g +a2=a0 +if(a2){if(d){a7=b +a3=d}else{a7=f +b=a7 +a3=!0}a1=!1===a7 +a7=a1}else{a3=d +a7=!1}}else{a3=d +a2=!1 +a7=!0}if(a7){a7=new A.ch(s[a9],s[p]) +break $label0$0}if(e)if(a2)a7=a1 +else{if(a3)a7=b +else{a7=f +b=a7 +a3=!0}a1=!1===a7 +a7=a1}else a7=!1 +if(!a7){if(a)a7=a0 +else{a0=B.P===g +a7=a0}if(a7)if(d)a7=c +else{c=!0===(a3?b:f) +a7=c}else a7=!1}else a7=!0 +if(a7){a7=new A.ch(s[b0-1],s[b0]) +break $label0$0}a7=a6}r=a7.a +a4=a5.tf(a7.b,r) +return new A.iA(new A.x(a4.a,a4.b,a4.c,a4.d),a7,a4.e)}, +FN(a){var s,r=this.gyo(),q=r.a,p=null,o=r.b +p=o +s=q +return this.Ak(a,s,p)}} +A.vA.prototype={ +gEi(){return!1}, +gjz(){return!1}, +yk(a){var s=a.b.z +s.toString +return s}, +tS(a,b){throw A.c(A.c8("Cannot split an EllipsisFragment"))}} +A.rp.prototype={ +gGv(){var s=this.Q +if(s===$){s!==$&&A.a1() +s=this.Q=new A.Kv(this.a)}return s}, +xx(a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=this,a2=a3.a +a1.b=a2 +a1.c=0 +a1.d=null +a1.f=a1.e=0 +a1.x=!1 +s=a1.y +B.b.I(s) +r=a1.a +q=A.aqD(r,a1.gGv(),0,A.b([],t.cN),0,a2) +p=a1.as +if(p===$){p!==$&&A.a1() +p=a1.as=new A.a1m(r.a,r.c)}o=p.wv() +B.b.V(o,a1.gGv().gacY()) +$label0$0:for(n=0;nq.c;){if(q.ga82()){q.abU() +s.push(q.bs()) +a1.x=!0 +break $label0$0}if(q.gace())q.aem() +else q.aao() +n+=q.a7C(o,n+1) +s.push(q.bs()) +q=q.QT()}a2=q.a +if(a2.length!==0){a2=B.b.gP(a2).c +a2=a2===B.bs||a2===B.bt}else a2=!1 +if(a2){s.push(q.bs()) +q=q.QT()}}a2=r.b +l=a2.e +if(l!=null&&s.length>l){a1.x=!0 +B.b.t3(s,l,s.length)}for(r=s.length,k=1/0,j=-1/0,i=0;ij)j=c}a1.z=new A.x(k,0,j,a1.c) +if(r!==0)if(isFinite(a1.b)&&a2.a===B.e0)for(n=0;n=d;--s){r=p[s] +r.hK$=e+o +if(r.d==null)r.d=a +q=r.ci$ +q===$&&A.a() +o+=q+r.cj$}return o}, +tv(){var s,r,q,p,o,n,m,l=A.b([],t.Lx) +for(s=this.y,r=s.length,q=0;q=b||a<0||b<0)return A.b([],t.Lx) +s=this.a.c.length +if(a>s||b>s)return A.b([],t.Lx) +r=A.b([],t.Lx) +for(q=this.y,p=q.length,o=0;o=r+j.w)return new A.ao(j.c-j.e,B.am) +q=s-r +for(s=j.x,r=s.length,p=0;p=r+(q.gdU(0)+q.gl1(0))/2 +break +case 0:r=s<=r+(q.gdU(0)+q.gl1(0))/2 +break +default:r=i}else r=n +n=r}}l=q.FN(s) +if(n)return l +switch(q.d.a){case 1:r=!0 +break +case 0:r=!1 +break +default:r=i}p=q.ca$ +p===$&&A.a() +r=p.a8n(q,r) +k=r==null?i:r.FN(s) +if(k==null)return l +r=l.a +j=Math.min(Math.abs(r.a-s),Math.abs(r.c-s)) +r=k.a +return Math.min(Math.abs(r.a-s),Math.abs(r.c-s))>j?l:k}, +J9(a){var s,r,q,p=this.y,o=p.length +if(o===0)return null +for(s=0;s1 +return this.as>0}, +ga7w(){var s=this.c-this.w,r=this.d.b +switch(r.a.a){case 2:return s/2 +case 1:return s +case 4:r=r.b +return(r==null?B.p:r)===B.P?s:0 +case 5:r=r.b +return(r==null?B.p:r)===B.P?0:s +default:return 0}}, +ga82(){var s,r=this.d.b +if(r.z==null)return!1 +s=r.e +return s==null||s===this.f+1}, +gYV(){var s=this.a +if(s.length!==0){s=B.b.gP(s).c +s=s===B.bs||s===B.bt}else s=!1 +if(s)return!1 +s=this.b +s=s==null?null:s.length!==0 +if(s===!0)return!1 +return!0}, +Nx(a){var s=this +s.vi(a) +if(a.c!==B.q)s.Q=s.a.length +B.b.D(s.a,a)}, +vi(a){var s,r=this,q=a.w +r.at=r.at+q +if(a.gEi())r.ax+=q +else{r.ax=q +q=r.x +s=a.kB$ +s===$&&A.a() +r.w=q+s}q=r.x +s=a.ci$ +s===$&&A.a() +r.x=q+(s+a.cj$) +if(a.gjz())r.Yi(a) +if(a.c!==B.q)++r.as +q=r.y +s=a.kz$ +s===$&&A.a() +r.y=Math.max(q,s) +s=r.z +q=a.kA$ +q===$&&A.a() +r.z=Math.max(s,q)}, +Yi(a){var s,r,q,p,o,n=this,m=t.mX.a(a.f) +switch(m.gfk()){case B.vD:s=n.y +r=m.gb3(m).ac(0,n.y) +break +case B.iK:s=m.gb3(m).ac(0,n.z) +r=n.z +break +case B.vE:q=n.y +p=n.z +o=m.gb3(m).dr(0,2).ac(0,(q+p)/2) +s=B.c.a6(n.y,o) +r=B.c.a6(n.z,o) +break +case B.vB:s=m.gb3(m) +r=0 +break +case B.vC:r=m.gb3(m) +s=0 +break +case B.vA:s=m.gafB() +r=m.gb3(m).ac(0,s) +break +default:s=null +r=null}q=a.kB$ +q===$&&A.a() +p=a.ci$ +p===$&&A.a() +a.tO(n.e,s,r,q,p+a.cj$)}, +pR(){var s,r=this,q=r.as=r.ax=r.at=r.z=r.y=r.x=r.w=0 +r.Q=-1 +for(s=r.a;q1||a +q=B.b.gP(s) +if(q.gjz()){if(r){p=g.b +p.toString +B.b.js(p,0,B.b.f4(s)) +g.pR()}return}p=g.e +p.slN(q.f) +o=g.x +n=q.ci$ +n===$&&A.a() +m=q.cj$ +l=q.b-q.r +k=p.PI(q.a,l,r,b-(o-(n+m))) +if(k===l)return +B.b.f4(s) +g.pR() +j=q.tS(0,k) +i=B.b.gH(j) +if(i!=null){p.Ew(i) +g.Nx(i)}h=B.b.gP(j) +if(h!=null){p.Ew(h) +s=g.b +s.toString +B.b.js(s,0,h)}}, +aao(){return this.PJ(!1,null)}, +abU(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=g.d.b.z +f.toString +g.b=A.b([],t.cN) +s=g.e +r=g.a +s.slN(B.b.gP(r).f) +q=$.pf() +p=f.length +o=A.mB(q,f,0,p,null) +n=g.c +m=Math.max(0,n-o) +while(!0){if(r.length>1){l=g.x +k=B.b.gP(r) +j=k.ci$ +j===$&&A.a() +k=l-(j+k.cj$) +l=k}else l=0 +if(!(l>m))break +l=g.b +l.toString +B.b.js(l,0,B.b.f4(r)) +g.pR() +s.slN(B.b.gP(r).f) +o=A.mB(q,f,0,p,null) +m=n-o}i=B.b.gP(r) +g.PJ(!0,m) +f=g.gPn() +h=new A.vA($,$,$,$,$,$,$,$,$,0,B.bt,null,B.hS,i.f,0,0,f,f) +f=i.kz$ +f===$&&A.a() +r=i.kA$ +r===$&&A.a() +h.tO(s,f,r,o,o) +g.Nx(h)}, +aem(){var s,r=this.a,q=r.length,p=q-2 +for(;r[p].c===B.q;)--p +s=p+1 +A.di(s,q,q,null,null) +this.b=A.hq(r,s,q,A.Z(r).c).dl(0) +B.b.t3(r,s,r.length) +this.pR()}, +a7C(a,b){var s,r=this,q=r.a,p=b +while(!0){s=!1 +if(r.gYV())if(p1;){p=B.f.c7(q+r,2) +o=A.mB($.pf(),s,a,p,this.c.a.ax) +if(od?q:p +r=p}}return q===a&&!c?q+1:q}} +A.lo.prototype={ +F(){return"LineBreakType."+this.b}} +A.YU.prototype={ +wv(){return A.aGz(this.a)}} +A.abT.prototype={ +wv(){var s=this.a +return A.aux(s,s,this.b)}} +A.ln.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +return b instanceof A.ln&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d&&b.e===s.e}, +j(a){return"LineBreakFragment("+this.a+", "+this.b+", "+this.c.j(0)+")"}} +A.aj3.prototype={ +$2(a,b){var s=this,r=a===B.bt?s.b.length:s.a.f,q=s.a,p=q.a +if(p===B.cp)++q.d +else if(p===B.dk||p===B.eJ||p===B.eN){++q.e;++q.d}if(a===B.q)return +p=q.c +s.c.push(new A.ln(a,q.e,q.d,p,r)) +q.c=q.f +q.d=q.e=0 +q.a=q.b=null}, +$S:311} +A.JB.prototype={ +l(){this.a.remove()}} +A.abd.prototype={ +aE(a,b){var s,r,q,p,o,n,m,l=this.a.gc_().y +for(s=l.length,r=0;r=1){o=B.b.bZ(s,0,r-1) +n=o +if(t.EO.b(n)){q=s[r-1] instanceof A.vA +p=o}}if(!q){q=t.EO.b(s) +if(q)p=s}else q=!0 +if(q){q=(p&&B.b).gP(p).b +break $label0$0}q=null}m.d!==$&&A.a1() +l=m.d=q}return l}, +a_C(a){var s,r,q,p,o,n=A.b([],t.t) +for(s=a.length,r=this.b,q=!1,p=0;p0){s=q +continue}if(p<0){r=q +continue}return q}return r}, +SI(a){var s,r=this +if(a>=r.gmq()||r.ghs().length===0)return null +s=r.yn(a,0,r.ghs().length) +return new A.ch(r.ghs()[s],r.ghs()[s+1])}, +a8n(a,b){var s,r,q,p,o,n,m,l,k,j +for(s=this.x,r=s.length,q=null,p=0;p=this.gmq())break +if(o.gyo()==null)continue +if(b){n=a.ca$ +n===$&&A.a() +m=a.hK$ +if(n.y===B.p){m===$&&A.a() +n=m}else{m===$&&A.a() +l=a.ci$ +l===$&&A.a() +l=n.a.f-(m+(l+a.cj$)) +n=l}m=o.ca$ +m===$&&A.a() +l=o.hK$ +if(m.y===B.p){l===$&&A.a() +m=o.ci$ +m===$&&A.a() +m=l+(m+o.cj$)}else{l===$&&A.a() +m=m.a.f-l}k=n-m}else{n=o.ca$ +n===$&&A.a() +m=o.hK$ +if(n.y===B.p){m===$&&A.a() +n=m}else{m===$&&A.a() +l=o.ci$ +l===$&&A.a() +l=n.a.f-(m+(l+o.cj$)) +n=l}m=a.ca$ +m===$&&A.a() +l=a.hK$ +if(m.y===B.p){l===$&&A.a() +m=a.ci$ +m===$&&A.a() +m=l+(m+a.cj$)}else{l===$&&A.a() +m=m.a.f-l}k=n-m}j=q==null?null:q.a +$label0$1:{if(k>0)n=j==null||j>k +else n=!1 +if(n){q=new A.Bw(k,o) +break $label0$1}if(k===0)return o +continue}}return q==null?null:q.b}, +a8m(a){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=null +if(g.ghs().length===0)return f +for(s=g.x,r=s.length,q=f,p=0,o=0;o=g.gmq())break +l=n.b +if(l-m===0)continue +for(;m>g.ghs()[p];)++p +if(g.ghs()[p]>=l)continue +m=n.ca$ +m===$&&A.a() +l=m.y===B.p +k=n.hK$ +if(l){k===$&&A.a() +j=k}else{k===$&&A.a() +j=n.ci$ +j===$&&A.a() +j=m.a.f-(k+(j+n.cj$))}if(aj){if(l){k===$&&A.a() +m=n.ci$ +m===$&&A.a() +m=k+(m+n.cj$)}else{k===$&&A.a() +m=m.a.f-k}i=a-m}else return n}h=q==null?f:q.a +if(h==null||h>i)q=new A.Bw(i,n)}return q==null?f:q.b}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.e,s.f,s.r,s.w,s.x,s.y,null,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.iM)if(b.a.k(0,r.a))if(b.b===r.b)if(b.c===r.c)if(b.e===r.e)if(b.f===r.f)if(b.r===r.r)if(b.w===r.w)if(b.x===r.x)s=b.y===r.y +return s}, +j(a){return B.QG.j(0)+"("+this.b+", "+this.c+", "+this.a.j(0)+")"}} +A.vF.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.vF&&b.a===s.a&&b.b==s.b&&b.c==s.c&&b.e==s.e&&b.f==s.f&&b.r==s.r&&b.w==s.w&&J.e(b.x,s.x)&&J.e(b.y,s.y)&&b.z==s.z&&J.e(b.Q,s.Q)}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return this.bC(0)}} +A.vG.prototype={ +gPf(){var s=this.y +return s.length===0?"sans-serif":s}, +gOK(){var s,r,q,p,o=this,n=o.dy +if(n==null){n=o.f +s=o.at +r=o.gPf() +q=n==null?null:A.anB(n.a) +if(q==null)q="normal" +p=B.c.d1(s==null?14:s) +n=A.ajO(r) +n.toString +n=o.dy="normal "+q+" "+p+"px "+n}return n}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.vG&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&b.d==s.d&&b.f==s.f&&b.w==s.w&&b.CW==s.CW&&b.y===s.y&&b.at==s.at&&b.ax==s.ax&&b.ay==s.ay&&b.ch==s.ch&&b.e==s.e&&J.e(b.cx,s.cx)&&b.cy==s.cy&&b.db==s.db&&A.hz(b.dx,s.dx)&&A.hz(b.z,s.z)&&A.hz(b.Q,s.Q)&&A.hz(b.as,s.as)}, +gu(a){var s=this,r=null,q=s.dx,p=s.as,o=s.z,n=o==null?r:A.bN(o),m=q==null?r:A.bN(q) +return A.P(s.a,s.b,s.c,s.d,s.f,s.r,s.w,s.CW,s.y,n,s.at,s.ax,s.ay,s.ch,s.cx,s.cy,s.db,m,s.e,A.P(r,p==null?r:A.bN(p),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a))}, +j(a){return this.bC(0)}} +A.zy.prototype={ +k(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.zy&&b.gu(0)===this.gu(0)}, +gu(a){var s,r=this,q=r.f +if(q===$){s=A.P(r.a,r.b,r.c,null,null,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a) +r.f!==$&&A.a1() +r.f=s +q=s}return q}} +A.aaJ.prototype={} +A.KN.prototype={ +ga2D(){var s,r,q,p,o,n,m,l,k,j=this,i=j.d +if(i===$){s=A.aS(self.document,"div") +r=s.style +A.l(r,"visibility","hidden") +A.l(r,"position","absolute") +A.l(r,"top","0") +A.l(r,"left","0") +A.l(r,"display","flex") +A.l(r,"flex-direction","row") +A.l(r,"align-items","baseline") +A.l(r,"margin","0") +A.l(r,"border","0") +A.l(r,"padding","0") +r=j.e +q=j.a +p=q.a +o=r.a +n=o.style +A.l(n,"font-size",""+B.c.d1(q.b)+"px") +m=A.ajO(p) +m.toString +A.l(n,"font-family",m) +l=q.c +if(l==null)k=p==="FlutterTest"?1:null +else k=l +if(k!=null)A.l(n,"line-height",B.c.j(k)) +r.b=null +A.l(o.style,"white-space","pre") +r.b=null +A.alv(o," ") +s.append(o) +r.b=null +j.b.a.append(s) +j.d!==$&&A.a1() +j.d=s +i=s}return i}, +gqa(a){var s,r=this,q=r.f +if(q===$){q=r.c +if(q===$){s=A.aS(self.document,"div") +r.ga2D().append(s) +r.c!==$&&A.a1() +r.c=s +q=s}q=q.getBoundingClientRect().bottom +r.f!==$&&A.a1() +r.f=q}return q}} +A.q1.prototype={ +F(){return"FragmentFlow."+this.b}} +A.mK.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +return b instanceof A.mK&&b.a===s.a&&b.b===s.b&&b.c==s.c&&b.d===s.d}, +j(a){return"BidiFragment("+this.a+", "+this.b+", "+A.h(this.c)+")"}} +A.Ad.prototype={ +F(){return"_ComparisonResult."+this.b}} +A.ci.prototype={ +a8r(a){if(athis.b)return B.RK +return B.RJ}} +A.kf.prototype={ +ws(a,b,c){var s=A.Dk(b,c) +return s==null?this.b:this.o1(s)}, +o1(a){var s,r,q,p,o=this +if(a==null)return o.b +s=o.c +r=s.i(0,a) +if(r!=null)return r +q=o.YA(a) +p=q===-1?o.b:o.a[q].c +s.n(0,a,p) +return p}, +YA(a){var s,r,q=this.a,p=q.length +for(s=0;s")).V(0,new A.Ys(this,r)) +return r}} +A.Ys.prototype={ +$1(a){var s=this.a,r=s.b.i(0,a) +r.toString +this.b.push(A.bW(r,"input",new A.Yt(s,a,r)))}, +$S:338} +A.Yt.prototype={ +$1(a){var s,r=this.a.c,q=this.b +if(r.i(0,q)==null)throw A.c(A.R("AutofillInfo must have a valid uniqueIdentifier.")) +else{r=r.i(0,q) +r.toString +s=A.apV(this.c) +$.az().hg("flutter/textinput",B.ay.hI(new A.hd("TextInputClient.updateEditingStateWithTag",[0,A.as([r.b,s.S7()],t.ob,t.z)])),A.TN())}}, +$S:1} +A.E8.prototype={ +NP(a,b){var s,r,q,p="password",o=this.d,n=this.e,m=globalThis.HTMLInputElement +if(m!=null&&a instanceof m){if(n!=null)a.placeholder=n +s=o==null +if(!s){a.name=o +a.id=o +if(B.d.p(o,p))A.XP(a,p) +else A.XP(a,"text")}r=s?"on":o +a.autocomplete=r}else{m=globalThis.HTMLTextAreaElement +if(m!=null&&a instanceof m){if(n!=null)a.placeholder=n +s=o==null +if(!s){a.name=o +a.id=o}q=A.a4(s?"on":o) +s=q==null?t.K.a(q):q +a.setAttribute("autocomplete",s)}}}, +dN(a){return this.NP(a,!1)}} +A.ro.prototype={} +A.pP.prototype={ +gxf(){return Math.min(this.b,this.c)}, +gxd(){return Math.max(this.b,this.c)}, +S7(){var s=this +return A.as(["text",s.a,"selectionBase",s.b,"selectionExtent",s.c,"composingBase",s.d,"composingExtent",s.e],t.N,t.z)}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(A.r(s)!==J.T(b))return!1 +return b instanceof A.pP&&b.a==s.a&&b.gxf()===s.gxf()&&b.gxd()===s.gxd()&&b.d===s.d&&b.e===s.e}, +j(a){return this.bC(0)}, +dN(a){var s,r,q=this,p=globalThis.HTMLInputElement +if(p!=null&&a instanceof p){a.toString +A.apC(a,q.a) +s=q.gxf() +q=q.gxd() +a.setSelectionRange(s,q)}else{p=globalThis.HTMLTextAreaElement +if(p!=null&&a instanceof p){a.toString +A.apG(a,q.a) +s=q.gxf() +q=q.gxd() +a.setSelectionRange(s,q)}else{r=a==null?null:A.aAr(a) +throw A.c(A.a_("Unsupported DOM element type: <"+A.h(r)+"> ("+J.T(a).j(0)+")"))}}}} +A.a0F.prototype={} +A.Gs.prototype={ +hX(){var s,r=this,q=r.w +if(q!=null){s=r.c +s.toString +q.dN(s)}q=r.d +q===$&&A.a() +if(q.x!=null){r.rW() +q=r.e +if(q!=null)q.dN(r.c) +q=r.d.x +q=q==null?null:q.a +q.toString +A.ct(q,!0) +q=r.c +q.toString +A.ct(q,!0)}}} +A.qW.prototype={ +hX(){var s,r=this,q=r.w +if(q!=null){s=r.c +s.toString +q.dN(s)}q=r.d +q===$&&A.a() +if(q.x!=null){r.rW() +q=r.c +q.toString +A.ct(q,!0) +q=r.e +if(q!=null){s=r.c +s.toString +q.dN(s)}}}, +rm(){if(this.w!=null)this.hX() +var s=this.c +s.toString +A.ct(s,!0)}} +A.v9.prototype={ +ghH(){var s=null,r=this.f +if(r==null){r=this.e.a +r.toString +r=this.f=new A.ro(r,"",-1,-1,s,s,s,s)}return r}, +o8(a,b,c){var s,r,q=this,p="none",o="transparent",n=a.b.w0() +A.XO(n,-1) +q.c=n +q.Cj(a) +n=q.c +n.classList.add("flt-text-editing") +s=n.style +A.l(s,"forced-color-adjust",p) +A.l(s,"white-space","pre-wrap") +A.l(s,"align-content","center") +A.l(s,"position","absolute") +A.l(s,"top","0") +A.l(s,"left","0") +A.l(s,"padding","0") +A.l(s,"opacity","1") +A.l(s,"color",o) +A.l(s,"background-color",o) +A.l(s,"background",o) +A.l(s,"caret-color",o) +A.l(s,"outline",p) +A.l(s,"border",p) +A.l(s,"resize",p) +A.l(s,"text-shadow",p) +A.l(s,"overflow","hidden") +A.l(s,"transform-origin","0 0 0") +if($.aw().gby()===B.bH||$.aw().gby()===B.K)n.classList.add("transparentTextEditing") +n=q.r +if(n!=null){r=q.c +r.toString +n.dN(r)}n=q.d +n===$&&A.a() +if(n.x==null){n=q.c +n.toString +A.ajn(n,a.a) +q.Q=!1}q.rm() +q.b=!0 +q.x=c +q.y=b}, +Cj(a){var s,r,q,p,o,n=this +n.d=a +s=n.c +if(a.d){s.toString +r=A.a4("readonly") +if(r==null)r=t.K.a(r) +s.setAttribute("readonly",r)}else s.removeAttribute("readonly") +if(a.e){s=n.c +s.toString +r=A.a4("password") +if(r==null)r=t.K.a(r) +s.setAttribute("type",r)}if(a.b.ghe()==="none"){s=n.c +s.toString +r=A.a4("none") +if(r==null)r=t.K.a(r) +s.setAttribute("inputmode",r)}q=A.aAJ(a.c) +s=n.c +s.toString +q.a8C(s) +p=a.w +s=n.c +if(p!=null){s.toString +p.NP(s,!0)}else{s.toString +r=A.a4("off") +if(r==null)r=t.K.a(r) +s.setAttribute("autocomplete",r) +r=n.c +r.toString +A.aGP(r,n.d.a)}o=a.f?"on":"off" +s=n.c +s.toString +r=A.a4(o) +if(r==null)r=t.K.a(r) +s.setAttribute("autocorrect",r)}, +rm(){this.hX()}, +q6(){var s,r,q=this,p=q.d +p===$&&A.a() +p=p.x +if(p!=null)B.b.L(q.z,p.q7()) +p=q.z +s=q.c +s.toString +r=q.grf() +p.push(A.bW(s,"input",r)) +s=q.c +s.toString +p.push(A.bW(s,"keydown",q.grI())) +p.push(A.bW(self.document,"selectionchange",r)) +r=q.c +r.toString +p.push(A.bW(r,"beforeinput",q.gww())) +if(!(q instanceof A.qW)){s=q.c +s.toString +p.push(A.bW(s,"blur",q.gwx()))}p=q.c +p.toString +q.vt(p) +q.xC()}, +FB(a){var s,r=this +r.w=a +if(r.b)if(r.d$!=null){s=r.c +s.toString +a.dN(s)}else r.hX()}, +FC(a){var s +this.r=a +if(this.b){s=this.c +s.toString +a.dN(s)}}, +fq(a){var s,r,q,p=this,o=null +p.b=!1 +p.w=p.r=p.f=p.e=null +for(s=p.z,r=0;r=0&&a.c>=0) +else s=!0 +if(s)return +a.dN(this.c)}, +hX(){var s=this.c +s.toString +A.ct(s,!0)}, +rW(){var s,r,q=this.d +q===$&&A.a() +q=q.x +q.toString +s=this.c +s.toString +if($.DK().gfa() instanceof A.qW)A.l(s.style,"pointer-events","all") +r=q.a +r.insertBefore(s,q.d) +A.ajn(r,q.f) +this.Q=!0}, +PS(a){var s,r,q=this,p=q.c +p.toString +s=q.a9p(A.apV(p)) +p=q.d +p===$&&A.a() +if(p.r){q.ghH().r=s.d +q.ghH().w=s.e +r=A.aEm(s,q.e,q.ghH())}else r=null +if(!s.k(0,q.e)){q.e=s +q.f=r +q.x.$2(s,r)}q.f=null}, +aas(a){var s,r,q,p=this,o=A.cL(a.data),n=A.cL(a.inputType) +if(n!=null){s=p.e +r=s.b +q=s.c +r=r>q?r:q +if(B.d.p(n,"delete")){p.ghH().b="" +p.ghH().d=r}else if(n==="insertLineBreak"){p.ghH().b="\n" +p.ghH().c=r +p.ghH().d=r}else if(o!=null){p.ghH().b=o +p.ghH().c=r +p.ghH().d=r}}}, +aat(a){var s,r,q,p=a.relatedTarget +if(p!=null){s=$.az() +r=s.gbY().r9(p) +q=this.c +q.toString +q=r==s.gbY().r9(q) +s=q}else s=!0 +if(s){s=this.c +s.toString +A.ct(s,!0)}}, +acX(a){var s,r,q=globalThis.KeyboardEvent +if(q!=null&&a instanceof q)if(a.keyCode===13){s=this.y +s.toString +r=this.d +r===$&&A.a() +s.$1(r.c) +s=this.d +if(s.b instanceof A.x9&&s.c==="TextInputAction.newline")return +a.preventDefault()}}, +Dp(a,b,c,d){var s,r=this +r.o8(b,c,d) +r.q6() +s=r.e +if(s!=null)r.Gg(s) +s=r.c +s.toString +A.ct(s,!0)}, +xC(){var s=this,r=s.z,q=s.c +q.toString +r.push(A.bW(q,"mousedown",new A.Xh())) +q=s.c +q.toString +r.push(A.bW(q,"mouseup",new A.Xi())) +q=s.c +q.toString +r.push(A.bW(q,"mousemove",new A.Xj()))}} +A.Xh.prototype={ +$1(a){a.preventDefault()}, +$S:1} +A.Xi.prototype={ +$1(a){a.preventDefault()}, +$S:1} +A.Xj.prototype={ +$1(a){a.preventDefault()}, +$S:1} +A.Xg.prototype={ +$0(){var s,r=this.a +if(J.e(r,self.document.activeElement)){s=this.b +if(s!=null)A.ct(s.gcs().a,!0)}if(this.c)r.remove()}, +$S:0} +A.a_T.prototype={ +o8(a,b,c){var s,r=this +r.yR(a,b,c) +s=r.c +s.toString +a.b.Ol(s) +s=r.d +s===$&&A.a() +if(s.x!=null)r.rW() +s=r.c +s.toString +a.y.Gd(s)}, +rm(){A.l(this.c.style,"transform","translate(-9999px, -9999px)") +this.p1=!1}, +q6(){var s,r,q=this,p=q.d +p===$&&A.a() +p=p.x +if(p!=null)B.b.L(q.z,p.q7()) +p=q.z +s=q.c +s.toString +r=q.grf() +p.push(A.bW(s,"input",r)) +s=q.c +s.toString +p.push(A.bW(s,"keydown",q.grI())) +p.push(A.bW(self.document,"selectionchange",r)) +r=q.c +r.toString +p.push(A.bW(r,"beforeinput",q.gww())) +r=q.c +r.toString +p.push(A.bW(r,"blur",q.gwx())) +r=q.c +r.toString +q.vt(r) +r=q.c +r.toString +p.push(A.bW(r,"focus",new A.a_W(q))) +q.Ye()}, +FB(a){var s=this +s.w=a +if(s.b&&s.p1)s.hX()}, +fq(a){var s +this.Ut(0) +s=this.ok +if(s!=null)s.aA(0) +this.ok=null}, +Ye(){var s=this.c +s.toString +this.z.push(A.bW(s,"click",new A.a_U(this)))}, +LH(){var s=this.ok +if(s!=null)s.aA(0) +this.ok=A.cb(B.aW,new A.a_V(this))}, +hX(){var s,r=this.c +r.toString +A.ct(r,!0) +r=this.w +if(r!=null){s=this.c +s.toString +r.dN(s)}}} +A.a_W.prototype={ +$1(a){this.a.LH()}, +$S:1} +A.a_U.prototype={ +$1(a){var s=this.a +if(s.p1){s.rm() +s.LH()}}, +$S:1} +A.a_V.prototype={ +$0(){var s=this.a +s.p1=!0 +s.hX()}, +$S:0} +A.UC.prototype={ +o8(a,b,c){var s,r=this +r.yR(a,b,c) +s=r.c +s.toString +a.b.Ol(s) +s=r.d +s===$&&A.a() +if(s.x!=null)r.rW() +else{s=r.c +s.toString +A.ajn(s,a.a)}s=r.c +s.toString +a.y.Gd(s)}, +q6(){var s,r,q=this,p=q.d +p===$&&A.a() +p=p.x +if(p!=null)B.b.L(q.z,p.q7()) +p=q.z +s=q.c +s.toString +r=q.grf() +p.push(A.bW(s,"input",r)) +s=q.c +s.toString +p.push(A.bW(s,"keydown",q.grI())) +p.push(A.bW(self.document,"selectionchange",r)) +r=q.c +r.toString +p.push(A.bW(r,"beforeinput",q.gww())) +r=q.c +r.toString +p.push(A.bW(r,"blur",q.gwx())) +r=q.c +r.toString +q.vt(r) +q.xC()}, +hX(){var s,r=this.c +r.toString +A.ct(r,!0) +r=this.w +if(r!=null){s=this.c +s.toString +r.dN(s)}}} +A.Z4.prototype={ +o8(a,b,c){var s +this.yR(a,b,c) +s=this.d +s===$&&A.a() +if(s.x!=null)this.rW()}, +q6(){var s,r,q=this,p=q.d +p===$&&A.a() +p=p.x +if(p!=null)B.b.L(q.z,p.q7()) +p=q.z +s=q.c +s.toString +r=q.grf() +p.push(A.bW(s,"input",r)) +s=q.c +s.toString +p.push(A.bW(s,"keydown",q.grI())) +s=q.c +s.toString +p.push(A.bW(s,"beforeinput",q.gww())) +s=q.c +s.toString +q.vt(s) +s=q.c +s.toString +p.push(A.bW(s,"keyup",new A.Z5(q))) +s=q.c +s.toString +p.push(A.bW(s,"select",r)) +r=q.c +r.toString +p.push(A.bW(r,"blur",q.gwx())) +q.xC()}, +hX(){var s,r=this,q=r.c +q.toString +A.ct(q,!0) +q=r.w +if(q!=null){s=r.c +s.toString +q.dN(s)}q=r.e +if(q!=null){s=r.c +s.toString +q.dN(s)}}} +A.Z5.prototype={ +$1(a){this.a.PS(a)}, +$S:1} +A.aaX.prototype={} +A.ab1.prototype={ +eI(a){var s=a.b +if(s!=null&&s!==this.a&&a.c){a.c=!1 +a.gfa().fq(0)}a.b=this.a +a.d=this.b}} +A.ab8.prototype={ +eI(a){var s=a.gfa(),r=a.d +r.toString +s.Cj(r)}} +A.ab3.prototype={ +eI(a){a.gfa().Gg(this.a)}} +A.ab6.prototype={ +eI(a){if(!a.c)a.a68()}} +A.ab2.prototype={ +eI(a){a.gfa().FB(this.a)}} +A.ab5.prototype={ +eI(a){a.gfa().FC(this.a)}} +A.aaW.prototype={ +eI(a){if(a.c){a.c=!1 +a.gfa().fq(0)}}} +A.aaZ.prototype={ +eI(a){if(a.c){a.c=!1 +a.gfa().fq(0)}}} +A.ab4.prototype={ +eI(a){}} +A.ab0.prototype={ +eI(a){}} +A.ab_.prototype={ +eI(a){}} +A.aaY.prototype={ +eI(a){var s +if(a.c){a.c=!1 +a.gfa().fq(0) +a.gqp(0) +s=a.b +$.az().hg("flutter/textinput",B.ay.hI(new A.hd("TextInputClient.onConnectionClosed",[s])),A.TN())}if(this.a)A.aJE() +A.aI9()}} +A.akv.prototype={ +$2(a,b){var s=t.qr +s=A.eL(new A.kn(b.getElementsByClassName("submitBtn"),s),s.h("j.E"),t.e) +A.o(s).y[1].a(J.il(s.a)).click()}, +$S:339} +A.aaK.prototype={ +abi(a,b){var s,r,q,p,o,n,m,l,k=B.ay.h4(a) +switch(k.a){case"TextInput.setClient":s=k.b +s.toString +t.Dn.a(s) +r=J.ax(s) +q=r.i(s,0) +q.toString +A.cj(q) +s=r.i(s,1) +s.toString +p=new A.ab1(q,A.aqn(t.xE.a(s))) +break +case"TextInput.updateConfig":this.a.d=A.aqn(t.a.a(k.b)) +p=B.zm +break +case"TextInput.setEditingState":p=new A.ab3(A.apW(t.a.a(k.b))) +break +case"TextInput.show":p=B.zk +break +case"TextInput.setEditableSizeAndTransform":p=new A.ab2(A.aAC(t.a.a(k.b))) +break +case"TextInput.setStyle":s=t.a.a(k.b) +r=J.ax(s) +o=A.cj(r.i(s,"textAlignIndex")) +n=A.cj(r.i(s,"textDirectionIndex")) +m=A.Db(r.i(s,"fontWeightIndex")) +l=m!=null?A.anB(m):"normal" +q=A.atI(r.i(s,"fontSize")) +if(q==null)q=null +p=new A.ab5(new A.Yb(q,l,A.cL(r.i(s,"fontFamily")),B.Dt[o],B.ia[n])) +break +case"TextInput.clearClient":p=B.zf +break +case"TextInput.hide":p=B.zg +break +case"TextInput.requestAutofill":p=B.zh +break +case"TextInput.finishAutofillContext":p=new A.aaY(A.ky(k.b)) +break +case"TextInput.setMarkedTextRect":p=B.zj +break +case"TextInput.setCaretRect":p=B.zi +break +default:$.az().dD(b,null) +return}p.eI(this.a) +new A.aaL(b).$0()}} +A.aaL.prototype={ +$0(){$.az().dD(this.a,B.L.bA([!0]))}, +$S:0} +A.a_Q.prototype={ +gqp(a){var s=this.a +if(s===$){s!==$&&A.a1() +s=this.a=new A.aaK(this)}return s}, +gfa(){var s,r,q,p=this,o=null,n=p.f +if(n===$){s=$.bh +if((s==null?$.bh=A.cX():s).b){s=A.aDO(p) +r=s}else{if($.aw().gbX()===B.ak)q=new A.a_T(p,A.b([],t.Up),$,$,$,o) +else if($.aw().gbX()===B.f5)q=new A.UC(p,A.b([],t.Up),$,$,$,o) +else if($.aw().gby()===B.K)q=new A.qW(p,A.b([],t.Up),$,$,$,o) +else q=$.aw().gby()===B.b8?new A.Z4(p,A.b([],t.Up),$,$,$,o):A.aBe(p) +r=q}p.f!==$&&A.a1() +n=p.f=r}return n}, +a68(){var s,r,q=this +q.c=!0 +s=q.gfa() +r=q.d +r.toString +s.Dp(0,r,new A.a_R(q),new A.a_S(q))}} +A.a_S.prototype={ +$2(a,b){var s,r,q="flutter/textinput",p=this.a +if(p.d.r){p.gqp(0) +p=p.b +s=t.N +r=t.z +$.az().hg(q,B.ay.hI(new A.hd("TextInputClient.updateEditingStateWithDeltas",[p,A.as(["deltas",A.b([A.as(["oldText",b.a,"deltaText",b.b,"deltaStart",b.c,"deltaEnd",b.d,"selectionBase",b.e,"selectionExtent",b.f,"composingBase",b.r,"composingExtent",b.w],s,r)],t.gG)],s,r)])),A.TN())}else{p.gqp(0) +p=p.b +$.az().hg(q,B.ay.hI(new A.hd("TextInputClient.updateEditingState",[p,a.S7()])),A.TN())}}, +$S:345} +A.a_R.prototype={ +$1(a){var s=this.a +s.gqp(0) +s=s.b +$.az().hg("flutter/textinput",B.ay.hI(new A.hd("TextInputClient.performAction",[s,a])),A.TN())}, +$S:353} +A.Yb.prototype={ +dN(a){var s=this,r=a.style +A.l(r,"text-align",A.aJW(s.d,s.e)) +A.l(r,"font",s.b+" "+A.h(s.a)+"px "+A.h(A.ajO(s.c)))}} +A.Y9.prototype={ +dN(a){var s=A.fk(this.c),r=a.style +A.l(r,"width",A.h(this.a)+"px") +A.l(r,"height",A.h(this.b)+"px") +A.l(r,"transform",s)}} +A.Ya.prototype={ +$1(a){return A.mu(a)}, +$S:248} +A.zP.prototype={ +F(){return"TransformKind."+this.b}} +A.ajN.prototype={ +$1(a){return"0x"+B.d.op(B.f.iT(a,16),2,"0")}, +$S:139} +A.Hg.prototype={ +gq(a){return this.b.b}, +i(a,b){var s=this.c.i(0,b) +return s==null?null:s.d.b}, +Hx(a,b,c){var s,r,q,p=this.b +p.vv(new A.Q8(b,c)) +s=this.c +r=p.a +q=r.b.ud() +q.toString +s.n(0,b,q) +if(p.b>this.a){s.A(0,r.a.gqV().a) +p.f4(0)}}} +A.jn.prototype={ +k(a,b){if(b==null)return!1 +return b instanceof A.jn&&b.a===this.a&&b.b===this.b}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +Fw(){return new A.K(this.a,this.b)}} +A.bp.prototype={ +XQ(){var s=this.a +s[15]=1 +s[0]=1 +s[5]=1 +s[10]=1}, +ba(a){var s=a.a,r=this.a +r[15]=s[15] +r[14]=s[14] +r[13]=s[13] +r[12]=s[12] +r[11]=s[11] +r[10]=s[10] +r[9]=s[9] +r[8]=s[8] +r[7]=s[7] +r[6]=s[6] +r[5]=s[5] +r[4]=s[4] +r[3]=s[3] +r[2]=s[2] +r[1]=s[1] +r[0]=s[0]}, +i(a,b){return this.a[b]}, +n(a,b,c){this.a[b]=c}, +aq(a,b,a0){var s=this.a,r=s[0],q=s[4],p=s[8],o=s[12],n=s[1],m=s[5],l=s[9],k=s[13],j=s[2],i=s[6],h=s[10],g=s[14],f=s[3],e=s[7],d=s[11],c=s[15] +s[12]=r*b+q*a0+p*0+o +s[13]=n*b+m*a0+l*0+k +s[14]=j*b+i*a0+h*0+g +s[15]=f*b+e*a0+d*0+c}, +aeN(a,b){return this.aq(0,b,0)}, +jR(a,b,c,d){var s=c==null?b:c,r=d==null?b:d,q=this.a +q[15]=q[15] +q[0]=q[0]*b +q[1]=q[1]*b +q[2]=q[2]*b +q[3]=q[3]*b +q[4]=q[4]*s +q[5]=q[5]*s +q[6]=q[6]*s +q[7]=q[7]*s +q[8]=q[8]*r +q[9]=q[9]*r +q[10]=q[10]*r +q[11]=q[11]*r +q[12]=q[12] +q[13]=q[13] +q[14]=q[14]}, +bc(a,b){return this.jR(0,b,null,null)}, +em(a,b,c){return this.jR(0,b,c,null)}, +rV(a,b,c){var s=this.a,r=s[0],q=s[4],p=s[8],o=s[12],n=s[1],m=s[5],l=s[9],k=s[13],j=s[2],i=s[6],h=s[10],g=s[14],f=1/(s[3]*a+s[7]*b+s[11]*c+s[15]) +return new A.Bz((r*a+q*b+p*c+o)*f,(n*a+m*b+l*c+k)*f,(j*a+i*b+h*c+g)*f)}, +rr(a){var s=this.a +return s[0]===1&&s[1]===0&&s[2]===0&&s[3]===0&&s[4]===0&&s[5]===1&&s[6]===0&&s[7]===0&&s[8]===0&&s[9]===0&&s[10]===1&&s[11]===0&&s[12]===0&&s[13]===0&&s[14]===0&&s[15]===1}, +S_(b0,b1,b2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=b1.a,a0=b1.b,a1=b1.c,a2=Math.sqrt(a*a+a0*a0+a1*a1),a3=a/a2,a4=a0/a2,a5=a1/a2,a6=Math.cos(b2),a7=Math.sin(b2),a8=1-a6,a9=a3*a3*a8+a6 +a1=a5*a7 +s=a3*a4*a8-a1 +a0=a4*a7 +r=a3*a5*a8+a0 +q=a4*a3*a8+a1 +p=a4*a4*a8+a6 +a1=a3*a7 +o=a4*a5*a8-a1 +n=a5*a3*a8-a0 +m=a5*a4*a8+a1 +l=a5*a5*a8+a6 +a1=this.a +a0=a1[0] +a=a1[4] +k=a1[8] +j=a1[1] +i=a1[5] +h=a1[9] +g=a1[2] +f=a1[6] +e=a1[10] +d=a1[3] +c=a1[7] +b=a1[11] +a1[0]=a0*a9+a*q+k*n +a1[1]=j*a9+i*q+h*n +a1[2]=g*a9+f*q+e*n +a1[3]=d*a9+c*q+b*n +a1[4]=a0*s+a*p+k*m +a1[5]=j*s+i*p+h*m +a1[6]=g*s+f*p+e*m +a1[7]=d*s+c*p+b*m +a1[8]=a0*r+a*o+k*l +a1[9]=j*r+i*o+h*l +a1[10]=g*r+f*o+e*l +a1[11]=d*r+c*o+b*l}, +iZ(a,b,c){var s=this.a +s[14]=c +s[13]=b +s[12]=a}, +dw(b5){var s,r,q,p,o=b5.a,n=o[0],m=o[1],l=o[2],k=o[3],j=o[4],i=o[5],h=o[6],g=o[7],f=o[8],e=o[9],d=o[10],c=o[11],b=o[12],a=o[13],a0=o[14],a1=o[15],a2=n*i-m*j,a3=n*h-l*j,a4=n*g-k*j,a5=m*h-l*i,a6=m*g-k*i,a7=l*g-k*h,a8=f*a-e*b,a9=f*a0-d*b,b0=f*a1-c*b,b1=e*a0-d*a,b2=e*a1-c*a,b3=d*a1-c*a0,b4=a2*b3-a3*b2+a4*b1+a5*b0-a6*a9+a7*a8 +if(b4===0){this.ba(b5) +return 0}s=1/b4 +r=this.a +r[0]=(i*b3-h*b2+g*b1)*s +r[1]=(-m*b3+l*b2-k*b1)*s +r[2]=(a*a7-a0*a6+a1*a5)*s +r[3]=(-e*a7+d*a6-c*a5)*s +q=-j +r[4]=(q*b3+h*b0-g*a9)*s +r[5]=(n*b3-l*b0+k*a9)*s +p=-b +r[6]=(p*a7+a0*a4-a1*a3)*s +r[7]=(f*a7-d*a4+c*a3)*s +r[8]=(j*b2-i*b0+g*a8)*s +r[9]=(-n*b2+m*b0-k*a8)*s +r[10]=(b*a6-a*a4+a1*a2)*s +r[11]=(-f*a6+e*a4-c*a2)*s +r[12]=(q*b1+i*a9-h*a8)*s +r[13]=(n*b1-m*a9+l*a8)*s +r[14]=(p*a5+a*a3-a0*a2)*s +r[15]=(f*a5-e*a3+d*a2)*s +return b4}, +cq(b5,b6){var s=this.a,r=s[15],q=s[0],p=s[4],o=s[8],n=s[12],m=s[1],l=s[5],k=s[9],j=s[13],i=s[2],h=s[6],g=s[10],f=s[14],e=s[3],d=s[7],c=s[11],b=b6.a,a=b[15],a0=b[0],a1=b[4],a2=b[8],a3=b[12],a4=b[1],a5=b[5],a6=b[9],a7=b[13],a8=b[2],a9=b[6],b0=b[10],b1=b[14],b2=b[3],b3=b[7],b4=b[11] +s[0]=q*a0+p*a4+o*a8+n*b2 +s[4]=q*a1+p*a5+o*a9+n*b3 +s[8]=q*a2+p*a6+o*b0+n*b4 +s[12]=q*a3+p*a7+o*b1+n*a +s[1]=m*a0+l*a4+k*a8+j*b2 +s[5]=m*a1+l*a5+k*a9+j*b3 +s[9]=m*a2+l*a6+k*b0+j*b4 +s[13]=m*a3+l*a7+k*b1+j*a +s[2]=i*a0+h*a4+g*a8+f*b2 +s[6]=i*a1+h*a5+g*a9+f*b3 +s[10]=i*a2+h*a6+g*b0+f*b4 +s[14]=i*a3+h*a7+g*b1+f*a +s[3]=e*a0+d*a4+c*a8+r*b2 +s[7]=e*a1+d*a5+c*a9+r*b3 +s[11]=e*a2+d*a6+c*b0+r*b4 +s[15]=e*a3+d*a7+c*b1+r*a}, +rL(a){var s=new A.bp(new Float32Array(16)) +s.ba(this) +s.cq(0,a) +return s}, +Sc(a){var s=a[0],r=a[1],q=this.a +a[0]=q[0]*s+q[4]*r+q[12] +a[1]=q[1]*s+q[5]*r+q[13]}, +j(a){return this.bC(0)}} +A.Z0.prototype={ +Sb(a,b,c){var s=this.a +this.b=s[12]+s[0]*b+s[4]*c +this.c=s[13]+s[1]*b+s[5]*c}} +A.X3.prototype={ +XH(a,b){var s=this,r=b.hT(new A.X4(s)) +s.d=r +r=A.aIy(new A.X5(s)) +s.c=r +r.observe(s.b)}, +aJ(a){var s,r=this +r.GH(0) +s=r.c +s===$&&A.a() +s.disconnect() +s=r.d +s===$&&A.a() +if(s!=null)s.aA(0) +r.e.aJ(0)}, +gR_(a){var s=this.e +return new A.c0(s,A.o(s).h("c0<1>"))}, +CB(){var s,r=$.bq().d +if(r==null){s=self.window.devicePixelRatio +r=s===0?1:s}s=this.b +return new A.K(s.clientWidth*r,s.clientHeight*r)}, +Oi(a,b){return B.cL}} +A.X4.prototype={ +$1(a){this.a.e.D(0,null)}, +$S:67} +A.X5.prototype={ +$2(a,b){var s,r,q,p +for(s=a.$ti,r=new A.bS(a,a.gq(0),s.h("bS")),q=this.a.e,s=s.h("X.E");r.t();){p=r.d +if(p==null)s.a(p) +if(!q.glt())A.aa(q.lj()) +q.j9(null)}}, +$S:404} +A.Ft.prototype={ +aJ(a){}} +A.Gl.prototype={ +a43(a){this.c.D(0,null)}, +aJ(a){var s +this.GH(0) +s=this.b +s===$&&A.a() +s.b.removeEventListener(s.a,s.c) +this.c.aJ(0)}, +gR_(a){var s=this.c +return new A.c0(s,A.o(s).h("c0<1>"))}, +CB(){var s,r,q=A.bj("windowInnerWidth"),p=A.bj("windowInnerHeight"),o=self.window.visualViewport,n=$.bq().d +if(n==null){s=self.window.devicePixelRatio +n=s===0?1:s}if(o!=null)if($.aw().gbX()===B.ak){s=self.document.documentElement.clientWidth +r=self.document.documentElement.clientHeight +q.b=s*n +p.b=r*n}else{s=o.width +if(s==null)s=null +s.toString +q.b=s*n +s=A.apQ(o) +s.toString +p.b=s*n}else{s=self.window.innerWidth +if(s==null)s=null +s.toString +q.b=s*n +s=A.apT(self.window) +s.toString +p.b=s*n}return new A.K(q.aP(),p.aP())}, +Oi(a,b){var s,r,q,p=$.bq().d +if(p==null){s=self.window.devicePixelRatio +p=s===0?1:s}r=self.window.visualViewport +q=A.bj("windowInnerHeight") +if(r!=null)if($.aw().gbX()===B.ak&&!b)q.b=self.document.documentElement.clientHeight*p +else{s=A.apQ(r) +s.toString +q.b=s*p}else{s=A.apT(self.window) +s.toString +q.b=s*p}return new A.Lk(0,0,0,a-q.aP())}} +A.Fz.prototype={ +Mk(){var s,r,q,p=A.alz(self.window,"(resolution: "+A.h(this.b)+"dppx)") +this.d=p +s=A.b6(this.ga3C()) +r=t.K +q=A.a4(A.as(["once",!0,"passive",!0],t.N,r)) +r=q==null?r.a(q):q +p.addEventListener("change",s,r)}, +a3D(a){var s=this,r=s.a.d +if(r==null){r=self.window.devicePixelRatio +if(r===0)r=1}s.b=r +s.c.D(0,r) +s.Mk()}} +A.XQ.prototype={ +Qg(a){var s,r=$.DF().b.i(0,a) +if(r==null){self.window.console.debug("Failed to inject Platform View Id: "+a+". Render seems to be happening before a `flutter/platform_views:create` platform message!") +return}s=this.b +if(J.e(r.parentElement,s))return +s.append(r)}} +A.X6.prototype={ +gym(){var s=this.b +s===$&&A.a() +return s}, +NW(a){A.l(a.style,"width","100%") +A.l(a.style,"height","100%") +A.l(a.style,"display","block") +A.l(a.style,"overflow","hidden") +A.l(a.style,"position","relative") +A.l(a.style,"touch-action","none") +this.a.appendChild(a) +$.akL() +this.b!==$&&A.bx() +this.b=a}, +go5(){return this.a}} +A.ZO.prototype={ +gym(){return self.window}, +NW(a){var s=a.style +A.l(s,"position","absolute") +A.l(s,"top","0") +A.l(s,"right","0") +A.l(s,"bottom","0") +A.l(s,"left","0") +this.a.append(a) +$.akL()}, +Yx(){var s,r,q +for(s=t.qr,s=A.eL(new A.kn(self.document.head.querySelectorAll('meta[name="viewport"]'),s),s.h("j.E"),t.e),r=J.ak(s.a),s=A.o(s).y[1];r.t();)s.a(r.gG(r)).remove() +q=A.aS(self.document,"meta") +s=A.a4("") +if(s==null)s=t.K.a(s) +q.setAttribute("flt-viewport",s) +q.name="viewport" +q.content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" +self.document.head.append(q) +$.akL()}, +go5(){return this.a}} +A.vZ.prototype={ +i(a,b){return this.b.i(0,b)}, +RB(a,b){var s=a.a +this.b.n(0,s,a) +if(b!=null)this.c.n(0,s,b) +this.d.D(0,s) +return a}, +ae1(a){return this.RB(a,null)}, +P3(a){var s,r=this.b,q=r.i(0,a) +if(q==null)return null +r.A(0,a) +s=this.c.A(0,a) +this.e.D(0,a) +q.l() +return s}, +r9(a){var s,r,q,p=null,o=a==null?p:a.closest("flutter-view[flt-view-id]") +if(o==null)s=p +else{r=o.getAttribute("flt-view-id") +s=r==null?p:r}q=s==null?p:A.fl(s,p) +return q==null?p:this.b.i(0,q)}} +A.a_h.prototype={} +A.ajm.prototype={ +$0(){return null}, +$S:423} +A.jx.prototype={ +Hu(a,b,c,d){var s,r,q,p=this,o=p.c +o.NW(p.gcs().a) +s=$.alW +s=s==null?null:s.gzP() +s=new A.a6c(p,new A.a6d(),s) +r=$.aw().gby()===B.K&&$.aw().gbX()===B.ak +if(r){r=$.awi() +s.a=r +r.af5()}s.f=s.ZF() +p.z!==$&&A.bx() +p.z=s +s=p.ch +s=s.gR_(s).hT(p.ga_4()) +p.d!==$&&A.bx() +p.d=s +q=p.r +if(q===$){s=p.gcs() +o=o.go5() +p.r!==$&&A.a1() +q=p.r=new A.a_h(s.a,o)}o=$.ap().gFm() +s=A.a4(p.a) +if(s==null)s=t.K.a(s) +q.a.setAttribute("flt-view-id",s) +s=q.b +o=A.a4(o+" (auto-selected)") +if(o==null)o=t.K.a(o) +s.setAttribute("flt-renderer",o) +o=A.a4("release") +if(o==null)o=t.K.a(o) +s.setAttribute("flt-build-mode",o) +o=A.a4("false") +if(o==null)o=t.K.a(o) +s.setAttribute("spellcheck",o) +$.kC.push(p.gkr())}, +l(){var s,r,q=this +if(q.f)return +q.f=!0 +s=q.d +s===$&&A.a() +s.aA(0) +q.ch.aJ(0) +s=q.z +s===$&&A.a() +r=s.f +r===$&&A.a() +r.l() +s=s.a +if(s!=null)if(s.a!=null){A.cz(self.document,"touchstart",s.a,null) +s.a=null}q.gcs().a.remove() +$.ap().Od() +q.gGb().eG(0)}, +gOn(){var s,r=this,q=r.x +if(q===$){s=r.gcs() +r.x!==$&&A.a1() +q=r.x=new A.WT(s.a)}return q}, +gcs(){var s,r,q,p,o,n,m,l,k="flutter-view",j=this.y +if(j===$){s=$.bq().d +if(s==null){s=self.window.devicePixelRatio +if(s===0)s=1}r=A.aS(self.document,k) +q=A.aS(self.document,"flt-glass-pane") +p=A.a4(A.as(["mode","open","delegatesFocus",!1],t.N,t.z)) +if(p==null)p=t.K.a(p) +p=q.attachShadow(p) +o=A.aS(self.document,"flt-scene-host") +n=A.aS(self.document,"flt-text-editing-host") +m=A.aS(self.document,"flt-semantics-host") +r.appendChild(q) +r.appendChild(n) +r.appendChild(m) +p.append(o) +l=A.d9().b +A.as9(k,r,"flt-text-editing-stylesheet",l==null?null:A.aqx(l)) +l=A.d9().b +A.as9("",p,"flt-internals-stylesheet",l==null?null:A.aqx(l)) +l=A.d9().gCX() +A.l(o.style,"pointer-events","none") +if(l)A.l(o.style,"opacity","0.3") +l=m.style +A.l(l,"position","absolute") +A.l(l,"transform-origin","0 0 0") +A.l(m.style,"transform","scale("+A.h(1/s)+")") +this.y!==$&&A.a1() +j=this.y=new A.XQ(r,q,p,o,n,m)}return j}, +gGb(){var s,r=this,q=r.as +if(q===$){s=A.aAM(r.gcs().f) +r.as!==$&&A.a1() +r.as=s +q=s}return q}, +gjF(){var s=this.at +return s==null?this.at=this.zJ():s}, +zJ(){var s=this.ch.CB() +return s}, +a_5(a){var s,r=this,q=r.gcs(),p=$.bq().d +if(p==null){p=self.window.devicePixelRatio +if(p===0)p=1}A.l(q.f.style,"transform","scale("+A.h(1/p)+")") +s=r.zJ() +if(!B.j7.p(0,$.aw().gbX())&&!r.a2W(s)&&$.DK().c)r.Iu(!0) +else{r.at=s +r.Iu(!1)}r.b.Ee()}, +a2W(a){var s,r,q=this.at +if(q!=null){s=q.b +r=a.b +if(s!==r&&q.a!==a.a){q=q.a +if(!(s>q&&rs&&a.a").bd(b).h("bK<1,2>"))}, +D(a,b){if(!!a.fixed$length)A.aa(A.a_("add")) +a.push(b)}, +f3(a,b){if(!!a.fixed$length)A.aa(A.a_("removeAt")) +if(b<0||b>=a.length)throw A.c(A.a6z(b,null)) +return a.splice(b,1)[0]}, +js(a,b,c){if(!!a.fixed$length)A.aa(A.a_("insert")) +if(b<0||b>a.length)throw A.c(A.a6z(b,null)) +a.splice(b,0,c)}, +E9(a,b,c){var s,r +if(!!a.fixed$length)A.aa(A.a_("insertAll")) +A.arw(b,0,a.length,"index") +if(!t.Ee.b(c))c=J.akX(c) +s=J.cc(c) +a.length=a.length+s +r=b+s +this.bx(a,r,a.length,a,b) +this.dW(a,b,r,c)}, +f4(a){if(!!a.fixed$length)A.aa(A.a_("removeLast")) +if(a.length===0)throw A.c(A.tU(a,-1)) +return a.pop()}, +A(a,b){var s +if(!!a.fixed$length)A.aa(A.a_("remove")) +for(s=0;s"))}, +L(a,b){var s +if(!!a.fixed$length)A.aa(A.a_("addAll")) +if(Array.isArray(b)){this.Y5(a,b) +return}for(s=J.ak(b);s.t();)a.push(s.gG(s))}, +Y5(a,b){var s,r=b.length +if(r===0)return +if(a===b)throw A.c(A.bL(a)) +for(s=0;s").bd(c).h("ay<1,2>"))}, +bw(a,b){var s,r=A.b8(a.length,"",!1,t.N) +for(s=0;ss)throw A.c(A.bY(b,0,s,"start",null)) +if(c==null)c=s +else if(cs)throw A.c(A.bY(c,b,s,"end",null)) +if(b===c)return A.b([],A.Z(a)) +return A.b(a.slice(b,c),A.Z(a))}, +fO(a,b){return this.bZ(a,b,null)}, +tD(a,b,c){A.di(b,c,a.length,null,null) +return A.hq(a,b,c,A.Z(a).c)}, +gH(a){if(a.length>0)return a[0] +throw A.c(A.bu())}, +gP(a){var s=a.length +if(s>0)return a[s-1] +throw A.c(A.bu())}, +gan(a){var s=a.length +if(s===1)return a[0] +if(s===0)throw A.c(A.bu()) +throw A.c(A.li())}, +t3(a,b,c){if(!!a.fixed$length)A.aa(A.a_("removeRange")) +A.di(b,c,a.length,null,null) +a.splice(b,c-b)}, +bx(a,b,c,d,e){var s,r,q,p,o +if(!!a.immutable$list)A.aa(A.a_("setRange")) +A.di(b,c,a.length,null,null) +s=c-b +if(s===0)return +A.dw(e,"skipCount") +if(t.j.b(d)){r=d +q=e}else{p=J.pi(d,e) +r=p.dm(p,!1) +q=0}p=J.ax(r) +if(q+s>p.gq(r))throw A.c(A.aqo()) +if(q=0;--o)a[b+o]=p.i(r,q+o) +else for(o=0;o0){a[0]=q +a[1]=r}return}p=0 +if(A.Z(a).c.b(null))for(o=0;o0)this.a4X(a,p)}, +ht(a){return this.en(a,null)}, +a4X(a,b){var s,r=a.length +for(;s=r-1,r>0;r=s)if(a[s]===null){a[s]=void 0;--b +if(b===0)break}}, +hP(a,b){var s,r=a.length +if(0>=r)return-1 +for(s=0;s"))}, +gu(a){return A.fL(a)}, +gq(a){return a.length}, +sq(a,b){if(!!a.fixed$length)A.aa(A.a_("set length")) +if(b<0)throw A.c(A.bY(b,0,null,"newLength",null)) +if(b>a.length)A.Z(a).c.a(null) +a.length=b}, +i(a,b){if(!(b>=0&&b=0&&b=a.length)return-1 +for(s=c;s=p){r.d=null +return!1}r.d=q[s] +r.c=s+1 +return!0}} +J.lm.prototype={ +b7(a,b){var s +if(ab)return 1 +else if(a===b){if(a===0){s=this.grs(b) +if(this.grs(a)===s)return 0 +if(this.grs(a))return-1 +return 1}return 0}else if(isNaN(a)){if(isNaN(b))return 0 +return 1}else return-1}, +grs(a){return a===0?1/a<0:a<0}, +gGq(a){var s +if(a>0)s=1 +else s=a<0?-1:a +return s}, +Y(a){var s +if(a>=-2147483648&&a<=2147483647)return a|0 +if(isFinite(a)){s=a<0?Math.ceil(a):Math.floor(a) +return s+0}throw A.c(A.a_(""+a+".toInt()"))}, +d4(a){var s,r +if(a>=0){if(a<=2147483647){s=a|0 +return a===s?s:s+1}}else if(a>=-2147483648)return a|0 +r=Math.ceil(a) +if(isFinite(r))return r +throw A.c(A.a_(""+a+".ceil()"))}, +d1(a){var s,r +if(a>=0){if(a<=2147483647)return a|0}else if(a>=-2147483648){s=a|0 +return a===s?s:s-1}r=Math.floor(a) +if(isFinite(r))return r +throw A.c(A.a_(""+a+".floor()"))}, +a7(a){if(a>0){if(a!==1/0)return Math.round(a)}else if(a>-1/0)return 0-Math.round(0-a) +throw A.c(A.a_(""+a+".round()"))}, +S0(a){if(a<0)return-Math.round(-a) +else return Math.round(a)}, +hB(a,b,c){if(this.b7(b,c)>0)throw A.c(A.tS(b)) +if(this.b7(a,b)<0)return b +if(this.b7(a,c)>0)return c +return a}, +R(a,b){var s +if(b>20)throw A.c(A.bY(b,0,20,"fractionDigits",null)) +s=a.toFixed(b) +if(a===0&&this.grs(a))return"-"+s +return s}, +aeG(a,b){var s +if(b<1||b>21)throw A.c(A.bY(b,1,21,"precision",null)) +s=a.toPrecision(b) +if(a===0&&this.grs(a))return"-"+s +return s}, +iT(a,b){var s,r,q,p +if(b<2||b>36)throw A.c(A.bY(b,2,36,"radix",null)) +s=a.toString(b) +if(s.charCodeAt(s.length-1)!==41)return s +r=/^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(s) +if(r==null)A.aa(A.a_("Unexpected toString result: "+s)) +s=r[1] +q=+r[3] +p=r[2] +if(p!=null){s+=p +q-=p.length}return s+B.d.ad("0",q)}, +j(a){if(a===0&&1/a<0)return"-0.0" +else return""+a}, +gu(a){var s,r,q,p,o=a|0 +if(a===o)return o&536870911 +s=Math.abs(a) +r=Math.log(s)/0.6931471805599453|0 +q=Math.pow(2,r) +p=s<1?s/q:q/s +return((p*9007199254740992|0)+(p*3542243181176521|0))*599197+r*1259&536870911}, +a6(a,b){return a+b}, +ac(a,b){return a-b}, +ad(a,b){return a*b}, +bo(a,b){var s=a%b +if(s===0)return 0 +if(s>0)return s +if(b<0)return s-b +else return s+b}, +fQ(a,b){if((a|0)===a)if(b>=1||b<-1)return a/b|0 +return this.Mq(a,b)}, +c7(a,b){return(a|0)===a?a/b|0:this.Mq(a,b)}, +Mq(a,b){var s=a/b +if(s>=-2147483648&&s<=2147483647)return s|0 +if(s>0){if(s!==1/0)return Math.floor(s)}else if(s>-1/0)return Math.ceil(s) +throw A.c(A.a_("Result of truncating division is "+A.h(s)+": "+A.h(a)+" ~/ "+A.h(b)))}, +TL(a,b){if(b<0)throw A.c(A.tS(b)) +return b>31?0:a<>>0}, +a5R(a,b){return b>31?0:a<>>0}, +es(a,b){var s +if(a>0)s=this.Ma(a,b) +else{s=b>31?31:b +s=a>>s>>>0}return s}, +a5Z(a,b){if(0>b)throw A.c(A.tS(b)) +return this.Ma(a,b)}, +Ma(a,b){return b>31?0:a>>>b}, +nh(a,b){if(b>31)return 0 +return a>>>b}, +gcF(a){return A.bU(t.Jy)}, +$ics:1, +$iQ:1, +$ic1:1} +J.qi.prototype={ +gGq(a){var s +if(a>0)s=1 +else s=a<0?-1:a +return s}, +gcF(a){return A.bU(t.S)}, +$ibZ:1, +$ip:1} +J.wA.prototype={ +gcF(a){return A.bU(t.i)}, +$ibZ:1} +J.jJ.prototype={ +nA(a,b){if(b<0)throw A.c(A.tU(a,b)) +if(b>=a.length)A.aa(A.tU(a,b)) +return a.charCodeAt(b)}, +Cf(a,b,c){var s=b.length +if(c>s)throw A.c(A.bY(c,0,s,null,null)) +return new A.RB(b,a,c)}, +Ce(a,b){return this.Cf(a,b,0)}, +a6(a,b){return a+b}, +Dr(a,b){var s=b.length,r=a.length +if(s>r)return!1 +return b===this.cZ(a,r-s)}, +tS(a,b){var s=A.b(a.split(b),t.s) +return s}, +ow(a,b,c,d){var s=A.di(b,c,a.length,null,null) +return A.avp(a,b,s,d)}, +dG(a,b,c){var s +if(c<0||c>a.length)throw A.c(A.bY(c,0,a.length,null,null)) +s=c+b.length +if(s>a.length)return!1 +return b===a.substring(c,s)}, +c6(a,b){return this.dG(a,b,0)}, +W(a,b,c){return a.substring(b,A.di(b,c,a.length,null,null))}, +cZ(a,b){return this.W(a,b,null)}, +oF(a){var s,r,q,p=a.trim(),o=p.length +if(o===0)return p +if(p.charCodeAt(0)===133){s=J.aqu(p,1) +if(s===o)return""}else s=0 +r=o-1 +q=p.charCodeAt(r)===133?J.aqv(p,r):o +if(s===0&&q===o)return p +return p.substring(s,q)}, +aeP(a){var s=a.trimStart() +if(s.length===0)return s +if(s.charCodeAt(0)!==133)return s +return s.substring(J.aqu(s,1))}, +y_(a){var s,r=a.trimEnd(),q=r.length +if(q===0)return r +s=q-1 +if(r.charCodeAt(s)!==133)return r +return r.substring(0,J.aqv(r,s))}, +ad(a,b){var s,r +if(0>=b)return"" +if(b===1||a.length===0)return a +if(b!==b>>>0)throw A.c(B.z2) +for(s=a,r="";!0;){if((b&1)===1)r=s+r +b=b>>>1 +if(b===0)break +s+=s}return r}, +op(a,b,c){var s=b-a.length +if(s<=0)return a +return this.ad(c,s)+a}, +kK(a,b,c){var s +if(c<0||c>a.length)throw A.c(A.bY(c,0,a.length,null,null)) +s=a.indexOf(b,c) +return s}, +hP(a,b){return this.kK(a,b,0)}, +acs(a,b,c){var s,r +if(c==null)c=a.length +else if(c<0||c>a.length)throw A.c(A.bY(c,0,a.length,null,null)) +s=b.length +r=a.length +if(c+s>r)c=r-s +return a.lastIndexOf(b,c)}, +acr(a,b){return this.acs(a,b,null)}, +a8E(a,b,c){var s=a.length +if(c>s)throw A.c(A.bY(c,0,s,null,null)) +return A.aky(a,b,c)}, +p(a,b){return this.a8E(a,b,0)}, +b7(a,b){var s +if(a===b)s=0 +else s=a>6}r=r+((r&67108863)<<3)&536870911 +r^=r>>11 +return r+((r&16383)<<15)&536870911}, +gcF(a){return A.bU(t.N)}, +gq(a){return a.length}, +i(a,b){if(!(b>=0&&b"))}, +gq(a){return J.cc(this.geu())}, +gM(a){return J.eJ(this.geu())}, +gb9(a){return J.jk(this.geu())}, +fM(a,b){var s=A.o(this) +return A.eL(J.pi(this.geu(),b),s.c,s.y[1])}, +aM(a,b){return A.o(this).y[1].a(J.ph(this.geu(),b))}, +gH(a){return A.o(this).y[1].a(J.il(this.geu()))}, +gP(a){return A.o(this).y[1].a(J.DM(this.geu()))}, +gan(a){return A.o(this).y[1].a(J.DN(this.geu()))}, +p(a,b){return J.pg(this.geu(),b)}, +j(a){return J.el(this.geu())}} +A.EA.prototype={ +t(){return this.a.t()}, +gG(a){var s=this.a +return this.$ti.y[1].a(s.gG(s))}} +A.mR.prototype={ +df(a,b){return A.eL(this.a,A.o(this).c,b)}, +geu(){return this.a}} +A.Ax.prototype={$iW:1} +A.Aa.prototype={ +i(a,b){return this.$ti.y[1].a(J.ah(this.a,b))}, +n(a,b,c){J.eI(this.a,b,this.$ti.c.a(c))}, +sq(a,b){J.ayI(this.a,b)}, +D(a,b){J.ek(this.a,this.$ti.c.a(b))}, +A(a,b){return J.kL(this.a,b)}, +f4(a){return this.$ti.y[1].a(J.ayG(this.a))}, +tD(a,b,c){var s=this.$ti +return A.eL(J.ayw(this.a,b,c),s.c,s.y[1])}, +bx(a,b,c,d,e){var s=this.$ti +J.ayJ(this.a,b,c,A.eL(d,s.y[1],s.c),e)}, +dW(a,b,c,d){return this.bx(0,b,c,d,0)}, +$iW:1, +$iN:1} +A.bK.prototype={ +df(a,b){return new A.bK(this.a,this.$ti.h("@<1>").bd(b).h("bK<1,2>"))}, +geu(){return this.a}} +A.kW.prototype={ +df(a,b){return new A.kW(this.a,this.b,this.$ti.h("@<1>").bd(b).h("kW<1,2>"))}, +D(a,b){return this.a.D(0,this.$ti.c.a(b))}, +L(a,b){var s=this.$ti +this.a.L(0,A.eL(b,s.y[1],s.c))}, +A(a,b){return this.a.A(0,b)}, +jv(a,b){var s=this +if(s.b!=null)return s.Zv(b,!0) +return new A.kW(s.a.jv(0,b),null,s.$ti)}, +Zv(a,b){var s,r=this.b,q=this.$ti,p=q.y[1],o=r==null?A.jM(p):r.$1$0(p) +for(p=this.a,p=p.gX(p),q=q.y[1];p.t();){s=q.a(p.gG(p)) +if(b===a.p(0,s))o.D(0,s)}return o}, +I(a){this.a.I(0)}, +Ze(){var s=this.b,r=this.$ti.y[1],q=s==null?A.jM(r):s.$1$0(r) +q.L(0,this) +return q}, +hn(a){var s=this.b,r=this.$ti.y[1],q=s==null?A.jM(r):s.$1$0(r) +q.L(0,this) +return q}, +$iW:1, +$ibd:1, +geu(){return this.a}} +A.mS.prototype={ +lG(a,b,c){return new A.mS(this.a,this.$ti.h("@<1,2>").bd(b).bd(c).h("mS<1,2,3,4>"))}, +a9(a,b){return J.u6(this.a,b)}, +i(a,b){return this.$ti.h("4?").a(J.ah(this.a,b))}, +n(a,b,c){var s=this.$ti +J.eI(this.a,s.c.a(b),s.y[1].a(c))}, +bj(a,b,c){var s=this.$ti +return s.y[3].a(J.DO(this.a,s.c.a(b),new A.W8(this,c)))}, +A(a,b){return this.$ti.h("4?").a(J.kL(this.a,b))}, +V(a,b){J.mF(this.a,new A.W7(this,b))}, +gbp(a){var s=this.$ti +return A.eL(J.akT(this.a),s.c,s.y[2])}, +gaF(a){var s=this.$ti +return A.eL(J.ayv(this.a),s.y[1],s.y[3])}, +gq(a){return J.cc(this.a)}, +gM(a){return J.eJ(this.a)}, +gb9(a){return J.jk(this.a)}, +gh6(a){var s=J.akR(this.a) +return s.fA(s,new A.W6(this),this.$ti.h("bo<3,4>"))}} +A.W8.prototype={ +$0(){return this.a.$ti.y[1].a(this.b.$0())}, +$S(){return this.a.$ti.h("2()")}} +A.W7.prototype={ +$2(a,b){var s=this.a.$ti +this.b.$2(s.y[2].a(a),s.y[3].a(b))}, +$S(){return this.a.$ti.h("~(1,2)")}} +A.W6.prototype={ +$1(a){var s=this.a.$ti +return new A.bo(s.y[2].a(a.a),s.y[3].a(a.b),s.h("bo<3,4>"))}, +$S(){return this.a.$ti.h("bo<3,4>(bo<1,2>)")}} +A.jr.prototype={ +df(a,b){return new A.jr(this.a,this.$ti.h("@<1>").bd(b).h("jr<1,2>"))}, +$iW:1, +geu(){return this.a}} +A.h8.prototype={ +j(a){return"LateInitializationError: "+this.a}} +A.js.prototype={ +gq(a){return this.a.length}, +i(a,b){return this.a.charCodeAt(b)}} +A.ako.prototype={ +$0(){return A.ce(null,t.P)}, +$S:82} +A.a9m.prototype={} +A.W.prototype={} +A.aI.prototype={ +gX(a){var s=this +return new A.bS(s,s.gq(s),A.o(s).h("bS"))}, +V(a,b){var s,r=this,q=r.gq(r) +for(s=0;s1)throw A.c(A.li()) +return s.aM(0,0)}, +p(a,b){var s,r=this,q=r.gq(r) +for(s=0;s").bd(c).h("ay<1,2>"))}, +fM(a,b){return A.hq(this,b,null,A.o(this).h("aI.E"))}, +dm(a,b){return A.a8(this,b,A.o(this).h("aI.E"))}, +dl(a){return this.dm(0,!0)}, +hn(a){var s,r=this,q=A.jM(A.o(r).h("aI.E")) +for(s=0;ss)throw A.c(A.bY(r,0,s,"start",null))}}, +ga_t(){var s=J.cc(this.a),r=this.c +if(r==null||r>s)return s +return r}, +ga6a(){var s=J.cc(this.a),r=this.b +if(r>s)return s +return r}, +gq(a){var s,r=J.cc(this.a),q=this.b +if(q>=r)return 0 +s=this.c +if(s==null||s>=r)return r-q +return s-q}, +aM(a,b){var s=this,r=s.ga6a()+b +if(b<0||r>=s.ga_t())throw A.c(A.cC(b,s.gq(0),s,null,"index")) +return J.ph(s.a,r)}, +fM(a,b){var s,r,q=this +A.dw(b,"count") +s=q.b+b +r=q.c +if(r!=null&&s>=r)return new A.fv(q.$ti.h("fv<1>")) +return A.hq(q.a,s,r,q.$ti.c)}, +dm(a,b){var s,r,q,p=this,o=p.b,n=p.a,m=J.ax(n),l=m.gq(n),k=p.c +if(k!=null&&k=o){r.d=null +return!1}r.d=p.aM(q,s);++r.c +return!0}} +A.dZ.prototype={ +gX(a){return new A.br(J.ak(this.a),this.b,A.o(this).h("br<1,2>"))}, +gq(a){return J.cc(this.a)}, +gM(a){return J.eJ(this.a)}, +gH(a){return this.b.$1(J.il(this.a))}, +gP(a){return this.b.$1(J.DM(this.a))}, +gan(a){return this.b.$1(J.DN(this.a))}, +aM(a,b){return this.b.$1(J.ph(this.a,b))}} +A.hN.prototype={$iW:1} +A.br.prototype={ +t(){var s=this,r=s.b +if(r.t()){s.a=s.c.$1(r.gG(r)) +return!0}s.a=null +return!1}, +gG(a){var s=this.a +return s==null?this.$ti.y[1].a(s):s}} +A.ay.prototype={ +gq(a){return J.cc(this.a)}, +aM(a,b){return this.b.$1(J.ph(this.a,b))}} +A.aF.prototype={ +gX(a){return new A.ki(J.ak(this.a),this.b)}, +fA(a,b,c){return new A.dZ(this,b,this.$ti.h("@<1>").bd(c).h("dZ<1,2>"))}} +A.ki.prototype={ +t(){var s,r +for(s=this.a,r=this.b;s.t();)if(r.$1(s.gG(s)))return!0 +return!1}, +gG(a){var s=this.a +return s.gG(s)}} +A.hO.prototype={ +gX(a){return new A.G1(J.ak(this.a),this.b,B.kb,this.$ti.h("G1<1,2>"))}} +A.G1.prototype={ +gG(a){var s=this.d +return s==null?this.$ti.y[1].a(s):s}, +t(){var s,r,q=this,p=q.c +if(p==null)return!1 +for(s=q.a,r=q.b;!p.t();){q.d=null +if(s.t()){q.c=null +p=J.ak(r.$1(s.gG(s))) +q.c=p}else return!1}p=q.c +q.d=p.gG(p) +return!0}} +A.oy.prototype={ +gX(a){return new A.KH(J.ak(this.a),this.b,A.o(this).h("KH<1>"))}} +A.vy.prototype={ +gq(a){var s=J.cc(this.a),r=this.b +if(s>r)return r +return s}, +$iW:1} +A.KH.prototype={ +t(){if(--this.b>=0)return this.a.t() +this.b=-1 +return!1}, +gG(a){var s +if(this.b<0){this.$ti.c.a(null) +return null}s=this.a +return s.gG(s)}} +A.k9.prototype={ +fM(a,b){A.hB(b,"count") +A.dw(b,"count") +return new A.k9(this.a,this.b+b,A.o(this).h("k9<1>"))}, +gX(a){return new A.Kh(J.ak(this.a),this.b)}} +A.pR.prototype={ +gq(a){var s=J.cc(this.a)-this.b +if(s>=0)return s +return 0}, +fM(a,b){A.hB(b,"count") +A.dw(b,"count") +return new A.pR(this.a,this.b+b,this.$ti)}, +$iW:1} +A.Kh.prototype={ +t(){var s,r +for(s=this.a,r=0;r"))}, +fM(a,b){A.dw(b,"count") +return this}, +dm(a,b){var s=this.$ti.c +return b?J.nw(0,s):J.GR(0,s)}, +dl(a){return this.dm(0,!0)}, +hn(a){return A.jM(this.$ti.c)}} +A.FP.prototype={ +t(){return!1}, +gG(a){throw A.c(A.bu())}} +A.jA.prototype={ +gX(a){return new A.Gf(J.ak(this.a),this.b)}, +gq(a){return J.cc(this.a)+J.cc(this.b)}, +gM(a){return J.eJ(this.a)&&J.eJ(this.b)}, +gb9(a){return J.jk(this.a)||J.jk(this.b)}, +p(a,b){return J.pg(this.a,b)||J.pg(this.b,b)}, +gH(a){var s=J.ak(this.a) +if(s.t())return s.gG(s) +return J.il(this.b)}, +gP(a){var s,r=J.ak(this.b) +if(r.t()){s=r.gG(r) +for(;r.t();)s=r.gG(r) +return s}return J.DM(this.a)}} +A.vx.prototype={ +aM(a,b){var s=this.a,r=J.ax(s),q=r.gq(s) +if(b"))}} +A.rH.prototype={ +t(){var s,r +for(s=this.a,r=this.$ti.c;s.t();)if(r.b(s.gG(s)))return!0 +return!1}, +gG(a){var s=this.a +return this.$ti.c.a(s.gG(s))}} +A.nu.prototype={ +gq(a){return J.cc(this.a)}, +gM(a){return J.eJ(this.a)}, +gb9(a){return J.jk(this.a)}, +gH(a){return new A.av(this.b,J.il(this.a))}, +gan(a){return new A.av(this.b,J.DN(this.a))}, +aM(a,b){return new A.av(b+this.b,J.ph(this.a,b))}, +p(a,b){var s,r,q,p=null,o=null,n=!1 +if(t.mi.b(b)){s=b.a +if(A.p6(s)){A.cj(s) +r=b.b +n=s>=this.b +o=r +p=s}}if(n){n=J.pi(this.a,p-this.b) +q=n.gX(n) +return q.t()&&J.e(q.gG(q),o)}return!1}, +fM(a,b){A.hB(b,"count") +A.dw(b,"count") +return new A.nu(J.pi(this.a,b),b+this.b,A.o(this).h("nu<1>"))}, +gX(a){return new A.wo(J.ak(this.a),this.b)}} +A.pQ.prototype={ +gP(a){var s,r=this.a,q=J.ax(r),p=q.gq(r) +if(p<=0)throw A.c(A.bu()) +s=q.gP(r) +if(p!==q.gq(r))throw A.c(A.bL(this)) +return new A.av(p-1+this.b,s)}, +p(a,b){var s,r,q,p,o=null,n=null,m=!1 +if(t.mi.b(b)){s=b.a +if(A.p6(s)){A.cj(s) +r=b.b +m=s>=this.b +n=r +o=s}}if(m){q=o-this.b +m=this.a +p=J.ax(m) +return q=0&&this.a.t())return!0 +this.c=-2 +return!1}, +gG(a){var s,r=this.c +if(r>=0){s=this.a +s=new A.av(this.b+r,s.gG(s)) +r=s}else r=A.aa(A.bu()) +return r}} +A.vU.prototype={ +sq(a,b){throw A.c(A.a_("Cannot change the length of a fixed-length list"))}, +D(a,b){throw A.c(A.a_("Cannot add to a fixed-length list"))}, +A(a,b){throw A.c(A.a_("Cannot remove from a fixed-length list"))}, +f4(a){throw A.c(A.a_("Cannot remove from a fixed-length list"))}} +A.Lb.prototype={ +n(a,b,c){throw A.c(A.a_("Cannot modify an unmodifiable list"))}, +sq(a,b){throw A.c(A.a_("Cannot change the length of an unmodifiable list"))}, +D(a,b){throw A.c(A.a_("Cannot add to an unmodifiable list"))}, +A(a,b){throw A.c(A.a_("Cannot remove from an unmodifiable list"))}, +f4(a){throw A.c(A.a_("Cannot remove from an unmodifiable list"))}, +bx(a,b,c,d,e){throw A.c(A.a_("Cannot modify an unmodifiable list"))}, +dW(a,b,c,d){return this.bx(0,b,c,d,0)}} +A.rz.prototype={} +A.cm.prototype={ +gq(a){return J.cc(this.a)}, +aM(a,b){var s=this.a,r=J.ax(s) +return r.aM(s,r.gq(s)-1-b)}} +A.e0.prototype={ +gu(a){var s=this._hashCode +if(s!=null)return s +s=664597*B.d.gu(this.a)&536870911 +this._hashCode=s +return s}, +j(a){return'Symbol("'+this.a+'")'}, +k(a,b){if(b==null)return!1 +return b instanceof A.e0&&this.a===b.a}, +$izq:1} +A.CY.prototype={} +A.av.prototype={$r:"+(1,2)",$s:1} +A.Bv.prototype={$r:"+audioBitrate,videoBitrate(1,2)",$s:2} +A.Q7.prototype={$r:"+boundaryEnd,boundaryStart(1,2)",$s:3} +A.Bw.prototype={$r:"+distance,fragment(1,2)",$s:5} +A.Q8.prototype={$r:"+key,value(1,2)",$s:6} +A.Q9.prototype={$r:"+localPosition,paragraph(1,2)",$s:7} +A.Qa.prototype={$r:"+representation,targetSize(1,2)",$s:8} +A.oU.prototype={$r:"+(1,2,3)",$s:9} +A.Qb.prototype={$r:"+breaks,graphemes,words(1,2,3)",$s:10} +A.Bx.prototype={$r:"+completer,recorder,scene(1,2,3)",$s:11} +A.By.prototype={$r:"+data,event,timeStamp(1,2,3)",$s:12} +A.Qc.prototype={$r:"+domSize,representation,targetSize(1,2,3)",$s:13} +A.Qd.prototype={$r:"+large,medium,small(1,2,3)",$s:14} +A.Qe.prototype={$r:"+queue,target,timer(1,2,3)",$s:15} +A.Bz.prototype={$r:"+x,y,z(1,2,3)",$s:16} +A.BA.prototype={$r:"+domBlurListener,domFocusListener,element,semanticsNodeId(1,2,3,4)",$s:17} +A.mV.prototype={} +A.pJ.prototype={ +lG(a,b,c){var s=A.o(this) +return A.aqM(this,s.c,s.y[1],b,c)}, +gM(a){return this.gq(this)===0}, +gb9(a){return this.gq(this)!==0}, +j(a){return A.am2(this)}, +n(a,b,c){A.ale()}, +bj(a,b,c){A.ale()}, +A(a,b){A.ale()}, +gh6(a){return new A.jc(this.a9U(0),A.o(this).h("jc>"))}, +a9U(a){var s=this +return function(){var r=a +var q=0,p=1,o,n,m,l +return function $async$gh6(b,c,d){if(c===1){o=d +q=p}while(true)switch(q){case 0:n=s.gbp(s),n=n.gX(n),m=A.o(s).h("bo<1,2>") +case 2:if(!n.t()){q=3 +break}l=n.gG(n) +q=4 +return b.b=new A.bo(l,s.i(0,l),m),1 +case 4:q=2 +break +case 3:return 0 +case 1:return b.c=o,3}}}}, +rE(a,b,c,d){var s=A.E(c,d) +this.V(0,new A.WQ(this,b,s)) +return s}, +$iaD:1} +A.WQ.prototype={ +$2(a,b){var s=this.b.$2(a,b) +this.c.n(0,s.a,s.b)}, +$S(){return A.o(this.a).h("~(1,2)")}} +A.bt.prototype={ +gq(a){return this.b.length}, +gKy(){var s=this.$keys +if(s==null){s=Object.keys(this.a) +this.$keys=s}return s}, +a9(a,b){if(typeof b!="string")return!1 +if("__proto__"===b)return!1 +return this.a.hasOwnProperty(b)}, +i(a,b){if(!this.a9(0,b))return null +return this.b[this.a[b]]}, +V(a,b){var s,r,q=this.gKy(),p=this.b +for(s=q.length,r=0;r"))}, +gaF(a){return new A.oR(this.b,this.$ti.h("oR<2>"))}} +A.oR.prototype={ +gq(a){return this.a.length}, +gM(a){return 0===this.a.length}, +gb9(a){return 0!==this.a.length}, +gX(a){var s=this.a +return new A.md(s,s.length,this.$ti.h("md<1>"))}} +A.md.prototype={ +gG(a){var s=this.d +return s==null?this.$ti.c.a(s):s}, +t(){var s=this,r=s.c +if(r>=s.b){s.d=null +return!1}s.d=s.a[r] +s.c=r+1 +return!0}} +A.d3.prototype={ +k6(){var s=this,r=s.$map +if(r==null){r=new A.nz(s.$ti.h("nz<1,2>")) +A.auR(s.a,r) +s.$map=r}return r}, +a9(a,b){return this.k6().a9(0,b)}, +i(a,b){return this.k6().i(0,b)}, +V(a,b){this.k6().V(0,b)}, +gbp(a){var s=this.k6() +return new A.aZ(s,A.o(s).h("aZ<1>"))}, +gaF(a){return this.k6().gaF(0)}, +gq(a){return this.k6().a}} +A.uW.prototype={ +I(a){A.F0()}, +D(a,b){A.F0()}, +L(a,b){A.F0()}, +A(a,b){A.F0()}, +xN(a){A.F0()}} +A.dV.prototype={ +gq(a){return this.b}, +gM(a){return this.b===0}, +gb9(a){return this.b!==0}, +gX(a){var s,r=this,q=r.$keys +if(q==null){q=Object.keys(r.a) +r.$keys=q}s=q +return new A.md(s,s.length,r.$ti.h("md<1>"))}, +p(a,b){if(typeof b!="string")return!1 +if("__proto__"===b)return!1 +return this.a.hasOwnProperty(b)}, +hn(a){return A.er(this,this.$ti.c)}} +A.dt.prototype={ +gq(a){return this.a.length}, +gM(a){return this.a.length===0}, +gb9(a){return this.a.length!==0}, +gX(a){var s=this.a +return new A.md(s,s.length,this.$ti.h("md<1>"))}, +k6(){var s,r,q,p,o=this,n=o.$map +if(n==null){n=new A.nz(o.$ti.h("nz<1,1>")) +for(s=o.a,r=s.length,q=0;q")}} +A.ww.prototype={ +ga6v(){return[A.bU(this.$ti.c)]}, +$0(){return this.a.$1$0(this.$ti.y[0])}, +$1(a){return this.a.$1$1(a,this.$ti.y[0])}, +$2(a,b){return this.a.$1$2(a,b,this.$ti.y[0])}, +$3(a,b,c){return this.a.$1$3(a,b,c,this.$ti.y[0])}, +$S(){return A.av_(A.TT(this.a),this.$ti)}} +A.a0M.prototype={ +gacZ(){var s=this.a +if(s instanceof A.e0)return s +return this.a=new A.e0(s)}, +gady(){var s,r,q,p,o,n=this +if(n.c===1)return B.lM +s=n.d +r=J.ax(s) +q=r.gq(s)-J.cc(n.e)-n.f +if(q===0)return B.lM +p=[] +for(o=0;o>>0}, +j(a){return"Closure '"+this.$_name+"' of "+("Instance of '"+A.a6v(this.a)+"'")}} +A.MN.prototype={ +j(a){return"Reading static variable '"+this.a+"' during its initialization"}} +A.JC.prototype={ +j(a){return"RuntimeError: "+this.a}} +A.fz.prototype={ +gq(a){return this.a}, +gM(a){return this.a===0}, +gb9(a){return this.a!==0}, +gbp(a){return new A.aZ(this,A.o(this).h("aZ<1>"))}, +gaF(a){var s=A.o(this) +return A.Hj(new A.aZ(this,s.h("aZ<1>")),new A.a0U(this),s.c,s.y[1])}, +a9(a,b){var s,r +if(typeof b=="string"){s=this.b +if(s==null)return!1 +return s[b]!=null}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=this.c +if(r==null)return!1 +return r[b]!=null}else return this.ac0(b)}, +ac0(a){var s=this.d +if(s==null)return!1 +return this.rp(s[this.ro(a)],a)>=0}, +a8F(a,b){return new A.aZ(this,A.o(this).h("aZ<1>")).jd(0,new A.a0T(this,b))}, +L(a,b){J.mF(b,new A.a0S(this))}, +i(a,b){var s,r,q,p,o=null +if(typeof b=="string"){s=this.b +if(s==null)return o +r=s[b] +q=r==null?o:r.b +return q}else if(typeof b=="number"&&(b&0x3fffffff)===b){p=this.c +if(p==null)return o +r=p[b] +q=r==null?o:r.b +return q}else return this.ac1(b)}, +ac1(a){var s,r,q=this.d +if(q==null)return null +s=q[this.ro(a)] +r=this.rp(s,a) +if(r<0)return null +return s[r].b}, +n(a,b,c){var s,r,q=this +if(typeof b=="string"){s=q.b +q.HB(s==null?q.b=q.AZ():s,b,c)}else if(typeof b=="number"&&(b&0x3fffffff)===b){r=q.c +q.HB(r==null?q.c=q.AZ():r,b,c)}else q.ac3(b,c)}, +ac3(a,b){var s,r,q,p=this,o=p.d +if(o==null)o=p.d=p.AZ() +s=p.ro(a) +r=o[s] +if(r==null)o[s]=[p.B_(a,b)] +else{q=p.rp(r,a) +if(q>=0)r[q].b=b +else r.push(p.B_(a,b))}}, +bj(a,b,c){var s,r,q=this +if(q.a9(0,b)){s=q.i(0,b) +return s==null?A.o(q).y[1].a(s):s}r=c.$0() +q.n(0,b,r) +return r}, +A(a,b){var s=this +if(typeof b=="string")return s.Ln(s.b,b) +else if(typeof b=="number"&&(b&0x3fffffff)===b)return s.Ln(s.c,b) +else return s.ac2(b)}, +ac2(a){var s,r,q,p,o=this,n=o.d +if(n==null)return null +s=o.ro(a) +r=n[s] +q=o.rp(r,a) +if(q<0)return null +p=r.splice(q,1)[0] +o.MJ(p) +if(r.length===0)delete n[s] +return p.b}, +I(a){var s=this +if(s.a>0){s.b=s.c=s.d=s.e=s.f=null +s.a=0 +s.AY()}}, +V(a,b){var s=this,r=s.e,q=s.r +for(;r!=null;){b.$2(r.a,r.b) +if(q!==s.r)throw A.c(A.bL(s)) +r=r.c}}, +HB(a,b,c){var s=a[b] +if(s==null)a[b]=this.B_(b,c) +else s.b=c}, +Ln(a,b){var s +if(a==null)return null +s=a[b] +if(s==null)return null +this.MJ(s) +delete a[b] +return s.b}, +AY(){this.r=this.r+1&1073741823}, +B_(a,b){var s,r=this,q=new A.a1r(a,b) +if(r.e==null)r.e=r.f=q +else{s=r.f +s.toString +q.d=s +r.f=s.c=q}++r.a +r.AY() +return q}, +MJ(a){var s=this,r=a.d,q=a.c +if(r==null)s.e=q +else r.c=q +if(q==null)s.f=r +else q.d=r;--s.a +s.AY()}, +ro(a){return J.u(a)&1073741823}, +rp(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r"]=s +delete s[""] +return s}} +A.a0U.prototype={ +$1(a){var s=this.a,r=s.i(0,a) +return r==null?A.o(s).y[1].a(r):r}, +$S(){return A.o(this.a).h("2(1)")}} +A.a0T.prototype={ +$1(a){return J.e(this.a.i(0,a),this.b)}, +$S(){return A.o(this.a).h("O(1)")}} +A.a0S.prototype={ +$2(a,b){this.a.n(0,a,b)}, +$S(){return A.o(this.a).h("~(1,2)")}} +A.a1r.prototype={} +A.aZ.prototype={ +gq(a){return this.a.a}, +gM(a){return this.a.a===0}, +gX(a){var s=this.a,r=new A.wJ(s,s.r) +r.c=s.e +return r}, +p(a,b){return this.a.a9(0,b)}, +V(a,b){var s=this.a,r=s.e,q=s.r +for(;r!=null;){b.$1(r.a) +if(q!==s.r)throw A.c(A.bL(s)) +r=r.c}}} +A.wJ.prototype={ +gG(a){return this.d}, +t(){var s,r=this,q=r.a +if(r.b!==q.r)throw A.c(A.bL(q)) +s=r.c +if(s==null){r.d=null +return!1}else{r.d=s.a +r.c=s.c +return!0}}} +A.nz.prototype={ +ro(a){return A.aIl(a)&1073741823}, +rp(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r0;){--q;--s +j[q]=r[s]}}return A.Ha(j,k)}} +A.Q4.prototype={ +ut(){return[this.a,this.b]}, +k(a,b){if(b==null)return!1 +return b instanceof A.Q4&&this.$s===b.$s&&J.e(this.a,b.a)&&J.e(this.b,b.b)}, +gu(a){return A.P(this.$s,this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Q5.prototype={ +ut(){return[this.a,this.b,this.c]}, +k(a,b){var s=this +if(b==null)return!1 +return b instanceof A.Q5&&s.$s===b.$s&&J.e(s.a,b.a)&&J.e(s.b,b.b)&&J.e(s.c,b.c)}, +gu(a){var s=this +return A.P(s.$s,s.a,s.b,s.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Q6.prototype={ +ut(){return this.a}, +k(a,b){if(b==null)return!1 +return b instanceof A.Q6&&this.$s===b.$s&&A.aFt(this.a,b.a)}, +gu(a){return A.P(this.$s,A.bN(this.a),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.GS.prototype={ +j(a){return"RegExp/"+this.a+"/"+this.b.flags}, +ga3t(){var s=this,r=s.c +if(r!=null)return r +r=s.b +return s.c=A.aqw(s.a,r.multiline,!r.ignoreCase,r.unicode,r.dotAll,!0)}, +di(a){var s=this.b.exec(a) +if(s==null)return null +return new A.B_(s)}, +U5(a){var s=this.di(a) +if(s!=null)return s.b[0] +return null}, +Cf(a,b,c){var s=b.length +if(c>s)throw A.c(A.bY(c,0,s,null,null)) +return new A.LC(this,b,c)}, +Ce(a,b){return this.Cf(0,b,0)}, +a_y(a,b){var s,r=this.ga3t() +r.lastIndex=b +s=r.exec(a) +if(s==null)return null +return new A.B_(s)}} +A.B_.prototype={ +gnO(a){var s=this.b +return s.index+s[0].length}, +i(a,b){return this.b[b]}, +$iwT:1, +$iJ1:1} +A.LC.prototype={ +gX(a){return new A.LD(this.a,this.b,this.c)}} +A.LD.prototype={ +gG(a){var s=this.d +return s==null?t.Qz.a(s):s}, +t(){var s,r,q,p,o,n,m=this,l=m.b +if(l==null)return!1 +s=m.c +r=l.length +if(s<=r){q=m.a +p=q.a_y(l,s) +if(p!=null){m.d=p +o=p.gnO(0) +if(p.b.index===o){s=!1 +if(q.b.unicode){q=m.c +n=q+1 +if(n=55296&&r<=56319){s=l.charCodeAt(n) +s=s>=56320&&s<=57343}}}o=(s?o+1:o)+1}m.c=o +return!0}}m.b=m.d=null +return!1}} +A.zn.prototype={ +i(a,b){if(b!==0)A.aa(A.a6z(b,null)) +return this.c}, +$iwT:1} +A.RB.prototype={ +gX(a){return new A.ahT(this.a,this.b,this.c)}, +gH(a){var s=this.b,r=this.a.indexOf(s,this.c) +if(r>=0)return new A.zn(r,s) +throw A.c(A.bu())}} +A.ahT.prototype={ +t(){var s,r,q=this,p=q.c,o=q.b,n=o.length,m=q.a,l=m.length +if(p+n>l){q.d=null +return!1}s=m.indexOf(o,p) +if(s<0){q.c=l+1 +q.d=null +return!1}r=s+n +q.d=new A.zn(s,o) +q.c=r===q.c?r+1:r +return!0}, +gG(a){var s=this.d +s.toString +return s}} +A.adt.prototype={ +aP(){var s=this.b +if(s===this)throw A.c(new A.h8("Local '"+this.a+"' has not been initialized.")) +return s}, +aX(){var s=this.b +if(s===this)throw A.c(A.aqB(this.a)) +return s}, +sco(a){var s=this +if(s.b!==s)throw A.c(new A.h8("Local '"+s.a+"' has already been initialized.")) +s.b=a}} +A.afi.prototype={ +pQ(){var s,r=this,q=r.b +if(q===r){s=r.c.$0() +if(r.b!==r)throw A.c(new A.h8("Local '"+r.a+u.N)) +r.b=s +q=s}return q}} +A.nQ.prototype={ +gcF(a){return B.Qo}, +NR(a,b,c){throw A.c(A.a_("Int64List not supported by dart2js."))}, +$ibZ:1, +$inQ:1, +$iEr:1} +A.xd.prototype={ +gPi(a){return a.BYTES_PER_ELEMENT}, +a2R(a,b,c,d){var s=A.bY(b,0,c,d,null) +throw A.c(s)}, +Ia(a,b,c,d){if(b>>>0!==b||b>c)this.a2R(a,b,c,d)}} +A.xa.prototype={ +gcF(a){return B.Qp}, +gPi(a){return 1}, +FS(a,b,c){throw A.c(A.a_("Int64 accessor not supported by dart2js."))}, +Gi(a,b,c,d){throw A.c(A.a_("Int64 accessor not supported by dart2js."))}, +$ibZ:1, +$icr:1} +A.qu.prototype={ +gq(a){return a.length}, +M1(a,b,c,d,e){var s,r,q=a.length +this.Ia(a,b,q,"start") +this.Ia(a,c,q,"end") +if(b>c)throw A.c(A.bY(b,0,c,null,null)) +s=c-b +if(e<0)throw A.c(A.cx(e,null)) +r=d.length +if(r-e").b(b))s.I3(b) +else s.pj(b)}}, +lJ(a,b){var s=this.a +if(this.b)s.i4(a,b) +else s.n_(a,b)}} +A.aiT.prototype={ +$1(a){return this.a.$2(0,a)}, +$S:21} +A.aiU.prototype={ +$2(a,b){this.a.$2(1,new A.vI(a,b))}, +$S:490} +A.ajH.prototype={ +$2(a,b){this.a(a,b)}, +$S:468} +A.ku.prototype={ +gG(a){return this.b}, +a58(a,b){var s,r,q +a=a +b=b +s=this.a +for(;!0;)try{r=s(this,a,b) +return r}catch(q){b=q +a=1}}, +t(){var s,r,q,p,o=this,n=null,m=0 +for(;!0;){s=o.d +if(s!=null)try{if(s.t()){o.b=J.ayr(s) +return!0}else o.d=null}catch(r){n=r +m=1 +o.d=null}q=o.a58(m,n) +if(1===q)return!0 +if(0===q){o.b=null +p=o.e +if(p==null||p.length===0){o.a=A.atb +return!1}o.a=p.pop() +m=0 +n=null +continue}if(2===q){m=0 +n=null +continue}if(3===q){n=o.c +o.c=null +p=o.e +if(p==null||p.length===0){o.b=null +o.a=A.atb +throw n +return!1}o.a=p.pop() +m=1 +continue}throw A.c(A.R("sync*"))}return!1}, +afA(a){var s,r,q=this +if(a instanceof A.jc){s=a.a() +r=q.e +if(r==null)r=q.e=[] +r.push(q.a) +q.a=s +return 2}else{q.d=J.ak(a) +return 2}}} +A.jc.prototype={ +gX(a){return new A.ku(this.a())}} +A.E4.prototype={ +j(a){return A.h(this.a)}, +$ibB:1, +gtT(){return this.b}} +A.c0.prototype={ +gix(){return!0}} +A.oK.prototype={ +k9(){}, +ka(){}} +A.ht.prototype={ +sEV(a,b){throw A.c(A.a_(u.t))}, +sEY(a,b){throw A.c(A.a_(u.t))}, +gtW(a){return new A.c0(this,A.o(this).h("c0<1>"))}, +glt(){return this.c<4}, +po(){var s=this.r +return s==null?this.r=new A.a9($.ad,t.U):s}, +Lo(a){var s=a.CW,r=a.ch +if(s==null)this.d=r +else s.ch=r +if(r==null)this.e=s +else r.CW=s +a.CW=a +a.ch=a}, +Bu(a,b,c,d){var s,r,q,p,o,n,m,l,k=this +if((k.c&4)!==0)return A.asP(c,A.o(k).c) +s=$.ad +r=d?1:0 +q=b!=null?32:0 +p=A.acP(s,a) +o=A.amS(s,b) +n=c==null?A.anr():c +m=new A.oK(k,p,o,n,s,r|q,A.o(k).h("oK<1>")) +m.CW=m +m.ch=m +m.ay=k.c&1 +l=k.e +k.e=m +m.ch=null +m.CW=l +if(l==null)k.d=m +else l.ch=m +if(k.d===m)A.TR(k.a) +return m}, +Lb(a){var s,r=this +A.o(r).h("oK<1>").a(a) +if(a.ch===a)return null +s=a.ay +if((s&2)!==0)a.ay=s|4 +else{r.Lo(a) +if((r.c&2)===0&&r.d==null)r.pg()}return null}, +Ld(a){}, +Le(a){}, +lj(){if((this.c&4)!==0)return new A.hn("Cannot add new events after calling close") +return new A.hn("Cannot add new events while doing an addStream")}, +D(a,b){if(!this.glt())throw A.c(this.lj()) +this.j9(b)}, +jc(a,b){A.eE(a,"error",t.K) +if(!this.glt())throw A.c(this.lj()) +if(b==null)b=A.pq(a) +this.ja(a,b)}, +q5(a){return this.jc(a,null)}, +aJ(a){var s,r,q=this +if((q.c&4)!==0){s=q.r +s.toString +return s}if(!q.glt())throw A.c(q.lj()) +q.c|=4 +r=q.po() +q.kd() +return r}, +ga9F(){return this.po()}, +Ai(a){var s,r,q,p=this,o=p.c +if((o&2)!==0)throw A.c(A.R(u.c)) +s=p.d +if(s==null)return +r=o&1 +p.c=o^3 +for(;s!=null;){o=s.ay +if((o&1)===r){s.ay=o|2 +a.$1(s) +o=s.ay^=1 +q=s.ch +if((o&4)!==0)p.Lo(s) +s.ay&=4294967293 +s=q}else s=s.ch}p.c&=4294967293 +if(p.d==null)p.pg()}, +pg(){if((this.c&4)!==0){var s=this.r +if((s.a&30)===0)s.k_(null)}A.TR(this.b)}, +$ifw:1, +sEP(a){return this.a=a}, +sEF(a,b){return this.b=b}} +A.jb.prototype={ +glt(){return A.ht.prototype.glt.call(this)&&(this.c&2)===0}, +lj(){if((this.c&2)!==0)return new A.hn(u.c) +return this.Wf()}, +j9(a){var s=this,r=s.d +if(r==null)return +if(r===s.e){s.c|=2 +r.i1(0,a) +s.c&=4294967293 +if(s.d==null)s.pg() +return}s.Ai(new A.ahX(s,a))}, +ja(a,b){if(this.d==null)return +this.Ai(new A.ahZ(this,a,b))}, +kd(){var s=this +if(s.d!=null)s.Ai(new A.ahY(s)) +else s.r.k_(null)}} +A.ahX.prototype={ +$1(a){a.i1(0,this.b)}, +$S(){return A.o(this.a).h("~(hu<1>)")}} +A.ahZ.prototype={ +$1(a){a.j4(this.b,this.c)}, +$S(){return A.o(this.a).h("~(hu<1>)")}} +A.ahY.prototype={ +$1(a){a.zx()}, +$S(){return A.o(this.a).h("~(hu<1>)")}} +A.A4.prototype={ +j9(a){var s +for(s=this.d;s!=null;s=s.ch)s.j5(new A.m7(a))}, +ja(a,b){var s +for(s=this.d;s!=null;s=s.ch)s.j5(new A.oN(a,b))}, +kd(){var s=this.d +if(s!=null)for(;s!=null;s=s.ch)s.j5(B.d0) +else this.r.k_(null)}} +A.rN.prototype={ +zd(a){var s=this.ax;(s==null?this.ax=new A.tm():s).D(0,a)}, +D(a,b){var s=this,r=s.c +if((r&4)===0&&(r&2)!==0){s.zd(new A.m7(b)) +return}s.Wh(0,b) +s.Jg()}, +jc(a,b){var s,r=this +A.eE(a,"error",t.K) +if(b==null)b=A.pq(a) +s=r.c +if((s&4)===0&&(s&2)!==0){r.zd(new A.oN(a,b)) +return}if(!(A.ht.prototype.glt.call(r)&&(r.c&2)===0))throw A.c(r.lj()) +r.ja(a,b) +r.Jg()}, +q5(a){return this.jc(a,null)}, +Jg(){var s,r,q=this.ax +if(q!=null)for(;q.c!=null;){s=q.b +r=s.gkO(s) +q.b=r +if(r==null)q.c=null +s.xw(this)}}, +aJ(a){var s=this,r=s.c +if((r&4)===0&&(r&2)!==0){s.zd(B.d0) +s.c|=4 +return A.ht.prototype.ga9F.call(s)}return s.Wi(0)}, +pg(){var s=this.ax +if(s!=null){if(s.a===1)s.a=3 +this.ax=s.b=s.c=null}this.Wg()}} +A.ZT.prototype={ +$0(){var s,r,q,p=null +try{p=this.a.$0()}catch(q){s=A.a6(q) +r=A.aK(q) +A.aj0(this.b,s,r) +return}this.b.lm(p)}, +$S:0} +A.ZS.prototype={ +$0(){var s,r,q,p=null +try{p=this.a.$0()}catch(q){s=A.a6(q) +r=A.aK(q) +A.aj0(this.b,s,r) +return}this.b.lm(p)}, +$S:0} +A.ZR.prototype={ +$0(){var s,r,q,p,o=this,n=o.a +if(n==null){o.c.a(null) +o.b.lm(null)}else{s=null +try{s=n.$0()}catch(p){r=A.a6(p) +q=A.aK(p) +A.aj0(o.b,r,q) +return}o.b.lm(s)}}, +$S:0} +A.ZV.prototype={ +$2(a,b){var s=this,r=s.a,q=--r.b +if(r.a!=null){r.a=null +r.d=a +r.c=b +if(q===0||s.c)s.d.i4(a,b)}else if(q===0&&!s.c){q=r.d +q.toString +r=r.c +r.toString +s.d.i4(q,r)}}, +$S:81} +A.ZU.prototype={ +$1(a){var s,r,q,p,o,n,m=this,l=m.a,k=--l.b,j=l.a +if(j!=null){J.eI(j,m.b,a) +if(J.e(k,0)){l=m.d +s=A.b([],l.h("v<0>")) +for(q=j,p=q.length,o=0;o")) +r=c==null?1:3 +this.mZ(new A.hx(s,r,b,c,this.$ti.h("@<1>").bd(d).h("hx<1,2>"))) +return s}, +aT(a,b,c){return this.ej(0,b,null,c)}, +Mz(a,b,c){var s=new A.a9($.ad,c.h("a9<0>")) +this.mZ(new A.hx(s,19,a,b,this.$ti.h("@<1>").bd(c).h("hx<1,2>"))) +return s}, +ny(a,b){var s=this.$ti,r=$.ad,q=new A.a9(r,s) +if(r!==B.ad)a=A.auh(a,r) +this.mZ(new A.hx(q,2,b,a,s.h("hx<1,1>"))) +return q}, +ko(a){return this.ny(a,null)}, +fI(a){var s=this.$ti,r=new A.a9($.ad,s) +this.mZ(new A.hx(r,8,a,null,s.h("hx<1,1>"))) +return r}, +a5L(a){this.a=this.a&1|16 +this.c=a}, +ug(a){this.a=a.a&30|this.a&1 +this.c=a.c}, +mZ(a){var s=this,r=s.a +if(r<=3){a.a=s.c +s.c=a}else{if((r&4)!==0){r=s.c +if((r.a&24)===0){r.mZ(a) +return}s.ug(r)}A.tP(null,null,s.b,new A.aeA(s,a))}}, +Bb(a){var s,r,q,p,o,n=this,m={} +m.a=a +if(a==null)return +s=n.a +if(s<=3){r=n.c +n.c=a +if(r!=null){q=a.a +for(p=a;q!=null;p=q,q=o)o=q.a +p.a=r}}else{if((s&4)!==0){s=n.c +if((s.a&24)===0){s.Bb(a) +return}n.ug(s)}m.a=n.v8(a) +A.tP(null,null,n.b,new A.aeH(m,n))}}, +v3(){var s=this.c +this.c=null +return this.v8(s)}, +v8(a){var s,r,q +for(s=a,r=null;s!=null;r=s,s=q){q=s.a +s.a=r}return r}, +zp(a){var s,r,q,p=this +p.a^=2 +try{a.ej(0,new A.aeE(p),new A.aeF(p),t.P)}catch(q){s=A.a6(q) +r=A.aK(q) +A.e3(new A.aeG(p,s,r))}}, +lm(a){var s,r=this,q=r.$ti +if(q.h("a7<1>").b(a))if(q.b(a))A.amT(a,r) +else r.zp(a) +else{s=r.v3() +r.a=8 +r.c=a +A.t2(r,s)}}, +pj(a){var s=this,r=s.v3() +s.a=8 +s.c=a +A.t2(s,r)}, +i4(a,b){var s=this.v3() +this.a5L(A.UU(a,b)) +A.t2(this,s)}, +k_(a){if(this.$ti.h("a7<1>").b(a)){this.I3(a) +return}this.Yy(a)}, +Yy(a){this.a^=2 +A.tP(null,null,this.b,new A.aeC(this,a))}, +I3(a){if(this.$ti.b(a)){A.aFa(a,this) +return}this.zp(a)}, +n_(a,b){this.a^=2 +A.tP(null,null,this.b,new A.aeB(this,a,b))}, +$ia7:1} +A.aeA.prototype={ +$0(){A.t2(this.a,this.b)}, +$S:0} +A.aeH.prototype={ +$0(){A.t2(this.b,this.a.a)}, +$S:0} +A.aeE.prototype={ +$1(a){var s,r,q,p=this.a +p.a^=2 +try{p.pj(p.$ti.c.a(a))}catch(q){s=A.a6(q) +r=A.aK(q) +p.i4(s,r)}}, +$S:28} +A.aeF.prototype={ +$2(a,b){this.a.i4(a,b)}, +$S:38} +A.aeG.prototype={ +$0(){this.a.i4(this.b,this.c)}, +$S:0} +A.aeD.prototype={ +$0(){A.amT(this.a.a,this.b)}, +$S:0} +A.aeC.prototype={ +$0(){this.a.pj(this.b)}, +$S:0} +A.aeB.prototype={ +$0(){this.a.i4(this.b,this.c)}, +$S:0} +A.aeK.prototype={ +$0(){var s,r,q,p,o,n,m=this,l=null +try{q=m.a.a +l=q.b.b.eI(q.d)}catch(p){s=A.a6(p) +r=A.aK(p) +q=m.c&&m.b.a.c.a===s +o=m.a +if(q)o.c=m.b.a.c +else o.c=A.UU(s,r) +o.b=!0 +return}if(l instanceof A.a9&&(l.a&24)!==0){if((l.a&16)!==0){q=m.a +q.c=l.c +q.b=!0}return}if(t.L0.b(l)){n=m.b.a +q=m.a +q.c=J.akW(l,new A.aeL(n),t.z) +q.b=!1}}, +$S:0} +A.aeL.prototype={ +$1(a){return this.a}, +$S:451} +A.aeJ.prototype={ +$0(){var s,r,q,p,o +try{q=this.a +p=q.a +q.c=p.b.b.t7(p.d,this.b)}catch(o){s=A.a6(o) +r=A.aK(o) +q=this.a +q.c=A.UU(s,r) +q.b=!0}}, +$S:0} +A.aeI.prototype={ +$0(){var s,r,q,p,o,n,m=this +try{s=m.a.a.c +p=m.b +if(p.a.acU(s)&&p.a.e!=null){p.c=p.a.aax(s) +p.b=!1}}catch(o){r=A.a6(o) +q=A.aK(o) +p=m.a.a.c +n=m.b +if(p.a===r)n.c=p +else n.c=A.UU(r,q) +n.b=!0}}, +$S:0} +A.LS.prototype={} +A.c5.prototype={ +gix(){return!1}, +gq(a){var s={},r=new A.a9($.ad,t.wJ) +s.a=0 +this.hU(new A.aac(s,this),!0,new A.aad(s,r),r.gIn()) +return r}, +gH(a){var s=new A.a9($.ad,A.o(this).h("a9")),r=this.hU(null,!0,new A.aaa(s),s.gIn()) +r.xj(new A.aab(this,r,s)) +return s}} +A.aa8.prototype={ +$1(a){var s=this.a +s.i1(0,a) +s.zz()}, +$S(){return this.b.h("aY(0)")}} +A.aa9.prototype={ +$2(a,b){var s=this.a +s.j4(a,b) +s.zz()}, +$S:430} +A.aac.prototype={ +$1(a){++this.a.a}, +$S(){return A.o(this.b).h("~(c5.T)")}} +A.aad.prototype={ +$0(){this.b.lm(this.a.a)}, +$S:0} +A.aaa.prototype={ +$0(){var s,r,q,p +try{q=A.bu() +throw A.c(q)}catch(p){s=A.a6(p) +r=A.aK(p) +A.aj0(this.a,s,r)}}, +$S:0} +A.aab.prototype={ +$1(a){A.aGp(this.b,this.c,a)}, +$S(){return A.o(this.a).h("~(c5.T)")}} +A.oZ.prototype={ +gtW(a){return new A.j3(this,A.o(this).h("j3<1>"))}, +ga4g(){if((this.b&8)===0)return this.a +return this.a.gBZ()}, +A1(){var s,r=this +if((r.b&8)===0){s=r.a +return s==null?r.a=new A.tm():s}s=r.a.gBZ() +return s}, +gnk(){var s=this.a +return(this.b&8)!==0?s.gBZ():s}, +zl(){if((this.b&4)!==0)return new A.hn("Cannot add event after closing") +return new A.hn("Cannot add event while adding a stream")}, +po(){var s=this.c +if(s==null)s=this.c=(this.b&2)!==0?$.pe():new A.a9($.ad,t.U) +return s}, +D(a,b){if(this.b>=4)throw A.c(this.zl()) +this.i1(0,b)}, +jc(a,b){A.eE(a,"error",t.K) +if(this.b>=4)throw A.c(this.zl()) +if(b==null)b=A.pq(a) +this.j4(a,b)}, +q5(a){return this.jc(a,null)}, +aJ(a){var s=this,r=s.b +if((r&4)!==0)return s.po() +if(r>=4)throw A.c(s.zl()) +s.zz() +return s.po()}, +zz(){var s=this.b|=4 +if((s&1)!==0)this.kd() +else if((s&3)===0)this.A1().D(0,B.d0)}, +i1(a,b){var s=this.b +if((s&1)!==0)this.j9(b) +else if((s&3)===0)this.A1().D(0,new A.m7(b))}, +j4(a,b){var s=this.b +if((s&1)!==0)this.ja(a,b) +else if((s&3)===0)this.A1().D(0,new A.oN(a,b))}, +Bu(a,b,c,d){var s,r,q,p,o=this +if((o.b&3)!==0)throw A.c(A.R("Stream has already been listened to.")) +s=A.aF2(o,a,b,c,d,A.o(o).c) +r=o.ga4g() +q=o.b|=1 +if((q&8)!==0){p=o.a +p.sBZ(s) +p.iO(0)}else o.a=s +s.a5M(r) +s.As(new A.ahR(o)) +return s}, +Lb(a){var s,r,q,p,o,n,m,l=this,k=null +if((l.b&8)!==0)k=l.a.aA(0) +l.a=null +l.b=l.b&4294967286|2 +s=l.r +if(s!=null)if(k==null)try{r=s.$0() +if(t.uz.b(r))k=r}catch(o){q=A.a6(o) +p=A.aK(o) +n=new A.a9($.ad,t.U) +n.n_(q,p) +k=n}else k=k.fI(s) +m=new A.ahQ(l) +if(k!=null)k=k.fI(m) +else m.$0() +return k}, +Ld(a){if((this.b&8)!==0)this.a.kV(0) +A.TR(this.e)}, +Le(a){if((this.b&8)!==0)this.a.iO(0) +A.TR(this.f)}, +$ifw:1, +sEP(a){return this.d=a}, +sEV(a,b){return this.e=b}, +sEY(a,b){return this.f=b}, +sEF(a,b){return this.r=b}} +A.ahR.prototype={ +$0(){A.TR(this.a.d)}, +$S:0} +A.ahQ.prototype={ +$0(){var s=this.a.c +if(s!=null&&(s.a&30)===0)s.k_(null)}, +$S:0} +A.RH.prototype={ +j9(a){this.gnk().i1(0,a)}, +ja(a,b){this.gnk().j4(a,b)}, +kd(){this.gnk().zx()}} +A.LT.prototype={ +j9(a){this.gnk().j5(new A.m7(a))}, +ja(a,b){this.gnk().j5(new A.oN(a,b))}, +kd(){this.gnk().j5(B.d0)}} +A.rO.prototype={} +A.mp.prototype={} +A.j3.prototype={ +gu(a){return(A.fL(this.a)^892482866)>>>0}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.j3&&b.a===this.a}} +A.m6.prototype={ +pL(){return this.w.Lb(this)}, +k9(){this.w.Ld(this)}, +ka(){this.w.Le(this)}} +A.hu.prototype={ +a5M(a){var s=this +if(a==null)return +s.r=a +if(a.c!=null){s.e=(s.e|128)>>>0 +a.tI(s)}}, +xj(a){this.a=A.acP(this.d,a)}, +iI(a,b){var s,r,q=this,p=q.e +if((p&8)!==0)return +s=(p+256|4)>>>0 +q.e=s +if(p<256){r=q.r +if(r!=null)if(r.a===1)r.a=3}if((p&4)===0&&(s&64)===0)q.As(q.guX())}, +kV(a){return this.iI(0,null)}, +iO(a){var s=this,r=s.e +if((r&8)!==0)return +if(r>=256){r=s.e=r-256 +if(r<256)if((r&128)!==0&&s.r.c!=null)s.r.tI(s) +else{r=(r&4294967291)>>>0 +s.e=r +if((r&64)===0)s.As(s.guZ())}}}, +aA(a){var s=this,r=(s.e&4294967279)>>>0 +s.e=r +if((r&8)===0)s.zm() +r=s.f +return r==null?$.pe():r}, +zm(){var s,r=this,q=r.e=(r.e|8)>>>0 +if((q&128)!==0){s=r.r +if(s.a===1)s.a=3}if((q&64)===0)r.r=null +r.f=r.pL()}, +i1(a,b){var s=this.e +if((s&8)!==0)return +if(s<64)this.j9(b) +else this.j5(new A.m7(b))}, +j4(a,b){var s=this.e +if((s&8)!==0)return +if(s<64)this.ja(a,b) +else this.j5(new A.oN(a,b))}, +zx(){var s=this,r=s.e +if((r&8)!==0)return +r=(r|2)>>>0 +s.e=r +if(r<64)s.kd() +else s.j5(B.d0)}, +k9(){}, +ka(){}, +pL(){return null}, +j5(a){var s,r=this,q=r.r +if(q==null)q=r.r=new A.tm() +q.D(0,a) +s=r.e +if((s&128)===0){s=(s|128)>>>0 +r.e=s +if(s<256)q.tI(r)}}, +j9(a){var s=this,r=s.e +s.e=(r|64)>>>0 +s.d.t8(s.a,a) +s.e=(s.e&4294967231)>>>0 +s.zt((r&4)!==0)}, +ja(a,b){var s,r=this,q=r.e,p=new A.acR(r,a,b) +if((q&1)!==0){r.e=(q|16)>>>0 +r.zm() +s=r.f +if(s!=null&&s!==$.pe())s.fI(p) +else p.$0()}else{p.$0() +r.zt((q&4)!==0)}}, +kd(){var s,r=this,q=new A.acQ(r) +r.zm() +r.e=(r.e|16)>>>0 +s=r.f +if(s!=null&&s!==$.pe())s.fI(q) +else q.$0()}, +As(a){var s=this,r=s.e +s.e=(r|64)>>>0 +a.$0() +s.e=(s.e&4294967231)>>>0 +s.zt((r&4)!==0)}, +zt(a){var s,r,q=this,p=q.e +if((p&128)!==0&&q.r.c==null){p=q.e=(p&4294967167)>>>0 +s=!1 +if((p&4)!==0)if(p<256){s=q.r +s=s==null?null:s.c==null +s=s!==!1}if(s){p=(p&4294967291)>>>0 +q.e=p}}for(;!0;a=r){if((p&8)!==0){q.r=null +return}r=(p&4)!==0 +if(a===r)break +q.e=(p^64)>>>0 +if(r)q.k9() +else q.ka() +p=(q.e&4294967231)>>>0 +q.e=p}if((p&128)!==0&&p<256)q.r.tI(q)}, +$ii6:1} +A.acR.prototype={ +$0(){var s,r,q=this.a,p=q.e +if((p&8)!==0&&(p&16)===0)return +q.e=(p|64)>>>0 +s=q.b +p=this.b +r=q.d +if(t.hK.b(s))r.aes(s,p,this.c) +else r.t8(s,p) +q.e=(q.e&4294967231)>>>0}, +$S:0} +A.acQ.prototype={ +$0(){var s=this.a,r=s.e +if((r&16)===0)return +s.e=(r|74)>>>0 +s.d.t6(s.c) +s.e=(s.e&4294967231)>>>0}, +$S:0} +A.tz.prototype={ +hU(a,b,c,d){return this.a.Bu(a,d,c,b===!0)}, +hT(a){return this.hU(a,null,null,null)}, +mb(a,b,c){return this.hU(a,null,b,c)}} +A.MY.prototype={ +gkO(a){return this.a}, +skO(a,b){return this.a=b}} +A.m7.prototype={ +xw(a){a.j9(this.b)}} +A.oN.prototype={ +xw(a){a.ja(this.b,this.c)}} +A.ae1.prototype={ +xw(a){a.kd()}, +gkO(a){return null}, +skO(a,b){throw A.c(A.R("No events after a done."))}} +A.tm.prototype={ +tI(a){var s=this,r=s.a +if(r===1)return +if(r>=1){s.a=1 +return}A.e3(new A.agn(s,a)) +s.a=1}, +D(a,b){var s=this,r=s.c +if(r==null)s.b=s.c=b +else{r.skO(0,b) +s.c=b}}, +aaT(a){var s=this.b,r=s.gkO(s) +this.b=r +if(r==null)this.c=null +s.xw(a)}} +A.agn.prototype={ +$0(){var s=this.a,r=s.a +s.a=0 +if(r===3)return +s.aaT(this.b)}, +$S:0} +A.rW.prototype={ +xj(a){}, +iI(a,b){var s=this.a +if(s>=0)this.a=s+2}, +kV(a){return this.iI(0,null)}, +iO(a){var s=this,r=s.a-2 +if(r<0)return +if(r===0){s.a=1 +A.e3(s.gKP())}else s.a=r}, +aA(a){this.a=-1 +this.c=null +return $.pe()}, +a3M(){var s,r=this,q=r.a-1 +if(q===0){r.a=-1 +s=r.c +if(s!=null){r.c=null +r.b.t6(s)}}else r.a=q}, +$ii6:1} +A.rM.prototype={ +gix(){return!0}, +hU(a,b,c,d){var s,r,q=this,p=q.e +if(p==null||(p.c&4)!==0)return A.asP(c,q.$ti.c) +if(q.f==null){s=p.ghy(p) +r=p.gvu() +q.f=q.a.mb(s,p.gqs(p),r)}return p.Bu(a,d,c,b===!0)}, +mb(a,b,c){return this.hU(a,null,b,c)}, +pL(){var s,r=this,q=r.e,p=q==null||(q.c&4)!==0,o=r.c +if(o!=null)r.d.t7(o,new A.oL(r,r.$ti.h("oL<1>"))) +if(p){s=r.f +if(s!=null){s.aA(0) +r.f=null}}}, +a3L(){var s=this,r=s.b +if(r!=null)s.d.t7(r,new A.oL(s,s.$ti.h("oL<1>")))}} +A.oL.prototype={ +xj(a){throw A.c(A.a_("Cannot change handlers of asBroadcastStream source subscription."))}, +iI(a,b){var s=this.a.f +if(s!=null)s.iI(0,b)}, +kV(a){return this.iI(0,null)}, +iO(a){var s=this.a.f +if(s!=null)s.iO(0)}, +aA(a){var s=this.a,r=s.f +if(r!=null){s.e=s.f=null +r.aA(0)}return $.pe()}, +$ii6:1} +A.Rz.prototype={} +A.aiW.prototype={ +$0(){return this.a.lm(this.b)}, +$S:0} +A.hw.prototype={ +gix(){return this.a.gix()}, +hU(a,b,c,d){var s=$.ad,r=b===!0?1:0,q=d!=null?32:0,p=A.acP(s,a),o=A.amS(s,d),n=c==null?A.anr():c +q=new A.t0(this,p,o,n,s,r|q,A.o(this).h("t0")) +q.x=this.a.mb(q.ga0X(),q.ga13(),q.ga1d()) +return q}, +hT(a){return this.hU(a,null,null,null)}, +mb(a,b,c){return this.hU(a,null,b,c)}} +A.t0.prototype={ +i1(a,b){if((this.e&2)!==0)return +this.Wj(0,b)}, +j4(a,b){if((this.e&2)!==0)return +this.Wk(a,b)}, +k9(){var s=this.x +if(s!=null)s.kV(0)}, +ka(){var s=this.x +if(s!=null)s.iO(0)}, +pL(){var s=this.x +if(s!=null){this.x=null +return s.aA(0)}return null}, +a0Y(a){this.w.JQ(a,this)}, +a1e(a,b){this.j4(a,b)}, +a14(){this.zx()}} +A.p2.prototype={ +JQ(a,b){var s,r,q,p=null +try{p=this.b.$1(a)}catch(q){s=A.a6(q) +r=A.aK(q) +A.atG(b,s,r) +return}if(p)b.i1(0,a)}} +A.AZ.prototype={ +JQ(a,b){var s,r,q,p=null +try{p=this.b.$1(a)}catch(q){s=A.a6(q) +r=A.aK(q) +A.atG(b,s,r) +return}b.i1(0,p)}} +A.aiK.prototype={} +A.ajE.prototype={ +$0(){A.aAP(this.a,this.b)}, +$S:0} +A.aha.prototype={ +t6(a){var s,r,q +try{if(B.ad===$.ad){a.$0() +return}A.aui(null,null,this,a)}catch(q){s=A.a6(q) +r=A.aK(q) +A.tO(s,r)}}, +aev(a,b){var s,r,q +try{if(B.ad===$.ad){a.$1(b) +return}A.auk(null,null,this,a,b)}catch(q){s=A.a6(q) +r=A.aK(q) +A.tO(s,r)}}, +t8(a,b){return this.aev(a,b,t.z)}, +aer(a,b,c){var s,r,q +try{if(B.ad===$.ad){a.$2(b,c) +return}A.auj(null,null,this,a,b,c)}catch(q){s=A.a6(q) +r=A.aK(q) +A.tO(s,r)}}, +aes(a,b,c){var s=t.z +return this.aer(a,b,c,s,s)}, +a7O(a,b,c,d){return new A.ahb(this,a,c,d,b)}, +Cq(a){return new A.ahc(this,a)}, +a7P(a,b){return new A.ahd(this,a,b)}, +i(a,b){return null}, +aeo(a){if($.ad===B.ad)return a.$0() +return A.aui(null,null,this,a)}, +eI(a){return this.aeo(a,t.z)}, +aeu(a,b){if($.ad===B.ad)return a.$1(b) +return A.auk(null,null,this,a,b)}, +t7(a,b){var s=t.z +return this.aeu(a,b,s,s)}, +aeq(a,b,c){if($.ad===B.ad)return a.$2(b,c) +return A.auj(null,null,this,a,b,c)}, +S2(a,b,c){var s=t.z +return this.aeq(a,b,c,s,s,s)}, +ae_(a){return a}, +xJ(a){var s=t.z +return this.ae_(a,s,s,s)}} +A.ahb.prototype={ +$2(a,b){return this.a.S2(this.b,a,b)}, +$S(){return this.e.h("@<0>").bd(this.c).bd(this.d).h("1(2,3)")}} +A.ahc.prototype={ +$0(){return this.a.t6(this.b)}, +$S:0} +A.ahd.prototype={ +$1(a){return this.a.t8(this.b,a)}, +$S(){return this.c.h("~(0)")}} +A.kp.prototype={ +gq(a){return this.a}, +gM(a){return this.a===0}, +gb9(a){return this.a!==0}, +gbp(a){return new A.oP(this,A.o(this).h("oP<1>"))}, +gaF(a){var s=A.o(this) +return A.Hj(new A.oP(this,s.h("oP<1>")),new A.aeQ(this),s.c,s.y[1])}, +a9(a,b){var s,r +if(typeof b=="string"&&b!=="__proto__"){s=this.b +return s==null?!1:s[b]!=null}else if(typeof b=="number"&&(b&1073741823)===b){r=this.c +return r==null?!1:r[b]!=null}else return this.n2(b)}, +n2(a){var s=this.d +if(s==null)return!1 +return this.eP(this.Jn(s,a),a)>=0}, +i(a,b){var s,r,q +if(typeof b=="string"&&b!=="__proto__"){s=this.b +r=s==null?null:A.amU(s,b) +return r}else if(typeof b=="number"&&(b&1073741823)===b){q=this.c +r=q==null?null:A.amU(q,b) +return r}else return this.Jm(0,b)}, +Jm(a,b){var s,r,q=this.d +if(q==null)return null +s=this.Jn(q,b) +r=this.eP(s,b) +return r<0?null:s[r+1]}, +n(a,b,c){var s,r,q=this +if(typeof b=="string"&&b!=="__proto__"){s=q.b +q.Il(s==null?q.b=A.amV():s,b,c)}else if(typeof b=="number"&&(b&1073741823)===b){r=q.c +q.Il(r==null?q.c=A.amV():r,b,c)}else q.LT(b,c)}, +LT(a,b){var s,r,q,p=this,o=p.d +if(o==null)o=p.d=A.amV() +s=p.fd(a) +r=o[s] +if(r==null){A.amW(o,s,[a,b]);++p.a +p.e=null}else{q=p.eP(r,a) +if(q>=0)r[q+1]=b +else{r.push(a,b);++p.a +p.e=null}}}, +bj(a,b,c){var s,r,q=this +if(q.a9(0,b)){s=q.i(0,b) +return s==null?A.o(q).y[1].a(s):s}r=c.$0() +q.n(0,b,r) +return r}, +A(a,b){var s=this +if(typeof b=="string"&&b!=="__proto__")return s.k0(s.b,b) +else if(typeof b=="number"&&(b&1073741823)===b)return s.k0(s.c,b) +else return s.i7(0,b)}, +i7(a,b){var s,r,q,p,o=this,n=o.d +if(n==null)return null +s=o.fd(b) +r=n[s] +q=o.eP(r,b) +if(q<0)return null;--o.a +o.e=null +p=r.splice(q,2)[1] +if(0===r.length)delete n[s] +return p}, +V(a,b){var s,r,q,p,o,n=this,m=n.zH() +for(s=m.length,r=A.o(n).y[1],q=0;q"))}, +p(a,b){return this.a.a9(0,b)}} +A.t5.prototype={ +gG(a){var s=this.d +return s==null?this.$ti.c.a(s):s}, +t(){var s=this,r=s.b,q=s.c,p=s.a +if(r!==p.e)throw A.c(A.bL(p)) +else if(q>=r.length){s.d=null +return!1}else{s.d=r[q] +s.c=q+1 +return!0}}} +A.j4.prototype={ +nb(){return new A.j4(A.o(this).h("j4<1>"))}, +pK(a){return new A.j4(a.h("j4<0>"))}, +B1(){return this.pK(t.z)}, +gX(a){return new A.ff(this,this.n1(),A.o(this).h("ff<1>"))}, +gq(a){return this.a}, +gM(a){return this.a===0}, +gb9(a){return this.a!==0}, +p(a,b){var s,r +if(typeof b=="string"&&b!=="__proto__"){s=this.b +return s==null?!1:s[b]!=null}else if(typeof b=="number"&&(b&1073741823)===b){r=this.c +return r==null?!1:r[b]!=null}else return this.zM(b)}, +zM(a){var s=this.d +if(s==null)return!1 +return this.eP(s[this.fd(a)],a)>=0}, +D(a,b){var s,r,q=this +if(typeof b=="string"&&b!=="__proto__"){s=q.b +return q.pi(s==null?q.b=A.amX():s,b)}else if(typeof b=="number"&&(b&1073741823)===b){r=q.c +return q.pi(r==null?q.c=A.amX():r,b)}else return q.dJ(0,b)}, +dJ(a,b){var s,r,q=this,p=q.d +if(p==null)p=q.d=A.amX() +s=q.fd(b) +r=p[s] +if(r==null)p[s]=[b] +else{if(q.eP(r,b)>=0)return!1 +r.push(b)}++q.a +q.e=null +return!0}, +L(a,b){var s +for(s=J.ak(b);s.t();)this.D(0,s.gG(s))}, +A(a,b){var s=this +if(typeof b=="string"&&b!=="__proto__")return s.k0(s.b,b) +else if(typeof b=="number"&&(b&1073741823)===b)return s.k0(s.c,b) +else return s.i7(0,b)}, +i7(a,b){var s,r,q,p=this,o=p.d +if(o==null)return!1 +s=p.fd(b) +r=o[s] +q=p.eP(r,b) +if(q<0)return!1;--p.a +p.e=null +r.splice(q,1) +if(0===r.length)delete o[s] +return!0}, +I(a){var s=this +if(s.a>0){s.b=s.c=s.d=s.e=null +s.a=0}}, +n1(){var s,r,q,p,o,n,m,l,k,j,i=this,h=i.e +if(h!=null)return h +h=A.b8(i.a,null,!1,t.z) +s=i.b +r=0 +if(s!=null){q=Object.getOwnPropertyNames(s) +p=q.length +for(o=0;o=r.length){s.d=null +return!1}else{s.d=r[q] +s.c=q+1 +return!0}}} +A.fg.prototype={ +nb(){return new A.fg(A.o(this).h("fg<1>"))}, +pK(a){return new A.fg(a.h("fg<0>"))}, +B1(){return this.pK(t.z)}, +gX(a){var s=this,r=new A.me(s,s.r,A.o(s).h("me<1>")) +r.c=s.e +return r}, +gq(a){return this.a}, +gM(a){return this.a===0}, +gb9(a){return this.a!==0}, +p(a,b){var s,r +if(typeof b=="string"&&b!=="__proto__"){s=this.b +if(s==null)return!1 +return s[b]!=null}else if(typeof b=="number"&&(b&1073741823)===b){r=this.c +if(r==null)return!1 +return r[b]!=null}else return this.zM(b)}, +zM(a){var s=this.d +if(s==null)return!1 +return this.eP(s[this.fd(a)],a)>=0}, +V(a,b){var s=this,r=s.e,q=s.r +for(;r!=null;){b.$1(r.a) +if(q!==s.r)throw A.c(A.bL(s)) +r=r.b}}, +gH(a){var s=this.e +if(s==null)throw A.c(A.R("No elements")) +return s.a}, +gP(a){var s=this.f +if(s==null)throw A.c(A.R("No elements")) +return s.a}, +D(a,b){var s,r,q=this +if(typeof b=="string"&&b!=="__proto__"){s=q.b +return q.pi(s==null?q.b=A.amY():s,b)}else if(typeof b=="number"&&(b&1073741823)===b){r=q.c +return q.pi(r==null?q.c=A.amY():r,b)}else return q.dJ(0,b)}, +dJ(a,b){var s,r,q=this,p=q.d +if(p==null)p=q.d=A.amY() +s=q.fd(b) +r=p[s] +if(r==null)p[s]=[q.zB(b)] +else{if(q.eP(r,b)>=0)return!1 +r.push(q.zB(b))}return!0}, +A(a,b){var s=this +if(typeof b=="string"&&b!=="__proto__")return s.k0(s.b,b) +else if(typeof b=="number"&&(b&1073741823)===b)return s.k0(s.c,b) +else return s.i7(0,b)}, +i7(a,b){var s,r,q,p,o=this,n=o.d +if(n==null)return!1 +s=o.fd(b) +r=n[s] +q=o.eP(r,b) +if(q<0)return!1 +p=r.splice(q,1)[0] +if(0===r.length)delete n[s] +o.Im(p) +return!0}, +A5(a,b){var s,r,q,p,o=this,n=o.e +for(;n!=null;n=r){s=n.a +r=n.b +q=o.r +p=a.$1(s) +if(q!==o.r)throw A.c(A.bL(o)) +if(!0===p)o.A(0,s)}}, +I(a){var s=this +if(s.a>0){s.b=s.c=s.d=s.e=s.f=null +s.a=0 +s.zA()}}, +pi(a,b){if(a[b]!=null)return!1 +a[b]=this.zB(b) +return!0}, +k0(a,b){var s +if(a==null)return!1 +s=a[b] +if(s==null)return!1 +this.Im(s) +delete a[b] +return!0}, +zA(){this.r=this.r+1&1073741823}, +zB(a){var s,r=this,q=new A.afD(a) +if(r.e==null)r.e=r.f=q +else{s=r.f +s.toString +q.c=s +r.f=s.b=q}++r.a +r.zA() +return q}, +Im(a){var s=this,r=a.c,q=a.b +if(r==null)s.e=q +else r.b=q +if(q==null)s.f=r +else q.c=r;--s.a +s.zA()}, +fd(a){return J.u(a)&1073741823}, +eP(a,b){var s,r +if(a==null)return-1 +s=a.length +for(r=0;r"))}, +gq(a){return this.b}, +gH(a){var s +if(this.b===0)throw A.c(A.R("No such element")) +s=this.c +s.toString +return s}, +gP(a){var s +if(this.b===0)throw A.c(A.R("No such element")) +s=this.c.hb$ +s.toString +return s}, +gan(a){var s=this.b +if(s===0)throw A.c(A.R("No such element")) +if(s>1)throw A.c(A.R("Too many elements")) +s=this.c +s.toString +return s}, +gM(a){return this.b===0}, +AM(a,b,c){var s,r,q=this +if(b.h9$!=null)throw A.c(A.R("LinkedListEntry is already in a LinkedList"));++q.a +b.h9$=q +s=q.b +if(s===0){b.ha$=b +q.c=b.hb$=b +q.b=s+1 +return}r=a.hb$ +r.toString +b.hb$=r +b.ha$=a +a.hb$=r.ha$=b +if(c&&a==q.c)q.c=b +q.b=s+1}, +MI(a){var s,r,q=this;++q.a +s=a.ha$ +s.hb$=a.hb$ +a.hb$.ha$=s +r=--q.b +a.h9$=a.ha$=a.hb$=null +if(r===0)q.c=null +else if(a===q.c)q.c=s}} +A.tb.prototype={ +gG(a){var s=this.c +return s==null?this.$ti.c.a(s):s}, +t(){var s=this,r=s.a +if(s.b!==r.a)throw A.c(A.bL(s)) +if(r.b!==0)r=s.e&&s.d===r.gH(0) +else r=!0 +if(r){s.c=null +return!1}s.e=!0 +r=s.d +s.c=r +s.d=r.ha$ +return!0}} +A.fB.prototype={ +gkO(a){var s=this.h9$ +if(s==null||s.gH(0)===this.ha$)return null +return this.ha$}, +gRc(){var s=this.h9$ +if(s==null||this===s.gH(0))return null +return this.hb$}} +A.X.prototype={ +gX(a){return new A.bS(a,this.gq(a),A.bm(a).h("bS"))}, +aM(a,b){return this.i(a,b)}, +V(a,b){var s,r=this.gq(a) +for(s=0;s1)throw A.c(A.li()) +return this.i(a,0)}, +p(a,b){var s,r=this.gq(a) +for(s=0;s"))}, +fA(a,b,c){return new A.ay(a,b,A.bm(a).h("@").bd(c).h("ay<1,2>"))}, +fM(a,b){return A.hq(a,b,null,A.bm(a).h("X.E"))}, +Fp(a,b){return A.hq(a,0,A.eE(b,"count",t.S),A.bm(a).h("X.E"))}, +dm(a,b){var s,r,q,p,o=this +if(o.gM(a)){s=A.bm(a).h("X.E") +return b?J.nw(0,s):J.GR(0,s)}r=o.i(a,0) +q=A.b8(o.gq(a),r,b,A.bm(a).h("X.E")) +for(p=1;p").bd(b).h("bK<1,2>"))}, +f4(a){var s,r=this +if(r.gq(a)===0)throw A.c(A.bu()) +s=r.i(a,r.gq(a)-1) +r.sq(a,r.gq(a)-1) +return s}, +a6(a,b){var s=A.a8(a,!0,A.bm(a).h("X.E")) +B.b.L(s,b) +return s}, +bZ(a,b,c){var s=this.gq(a) +if(c==null)c=s +A.di(b,c,s,null,null) +return A.hV(this.tD(a,b,c),!0,A.bm(a).h("X.E"))}, +fO(a,b){return this.bZ(a,b,null)}, +tD(a,b,c){A.di(b,c,this.gq(a),null,null) +return A.hq(a,b,c,A.bm(a).h("X.E"))}, +aa9(a,b,c,d){var s +A.di(b,c,this.gq(a),null,null) +for(s=b;s").b(d)){r=e +q=d}else{q=J.pi(d,e).dm(0,!1) +r=0}p=J.ax(q) +if(r+s>p.gq(q))throw A.c(A.aqo()) +if(r=0;--o)this.n(a,b+o,p.i(q,r+o)) +else for(o=0;o"))}, +rE(a,b,c,d){var s,r,q,p,o,n=A.E(c,d) +for(s=J.ak(this.gbp(a)),r=A.bm(a).h("aC.V");s.t();){q=s.gG(s) +p=this.i(a,q) +o=b.$2(q,p==null?r.a(p):p) +n.n(0,o.a,o.b)}return n}, +Nw(a,b){var s,r +for(s=b.gX(b);s.t();){r=s.gG(s) +this.n(a,r.a,r.b)}}, +Fl(a,b){var s,r,q,p,o=A.bm(a),n=A.b([],o.h("v")) +for(s=J.ak(this.gbp(a)),o=o.h("aC.V");s.t();){r=s.gG(s) +q=this.i(a,r) +if(b.$2(r,q==null?o.a(q):q))n.push(r)}for(o=n.length,p=0;p"))}, +j(a){return A.am2(a)}, +$iaD:1} +A.a1A.prototype={ +$1(a){var s=this.a,r=J.ah(s,a) +if(r==null)r=A.bm(s).h("aC.V").a(r) +return new A.bo(a,r,A.bm(s).h("bo"))}, +$S(){return A.bm(this.a).h("bo(aC.K)")}} +A.a1B.prototype={ +$2(a,b){var s,r=this.a +if(!r.a)this.b.a+=", " +r.a=!1 +r=this.b +s=A.h(a) +s=r.a+=s +r.a=s+": " +s=A.h(b) +r.a+=s}, +$S:54} +A.AY.prototype={ +gq(a){return J.cc(this.a)}, +gM(a){return J.eJ(this.a)}, +gb9(a){return J.jk(this.a)}, +gH(a){var s=this.a,r=J.dB(s) +s=r.i(s,J.il(r.gbp(s))) +return s==null?this.$ti.y[1].a(s):s}, +gan(a){var s=this.a,r=J.dB(s) +s=r.i(s,J.DN(r.gbp(s))) +return s==null?this.$ti.y[1].a(s):s}, +gP(a){var s=this.a,r=J.dB(s) +s=r.i(s,J.DM(r.gbp(s))) +return s==null?this.$ti.y[1].a(s):s}, +gX(a){var s=this.a +return new A.Ou(J.ak(J.akT(s)),s,this.$ti.h("Ou<1,2>"))}} +A.Ou.prototype={ +t(){var s=this,r=s.a +if(r.t()){s.c=J.ah(s.b,r.gG(r)) +return!0}s.c=null +return!1}, +gG(a){var s=this.c +return s==null?this.$ti.y[1].a(s):s}} +A.Sw.prototype={ +n(a,b,c){throw A.c(A.a_("Cannot modify unmodifiable map"))}, +A(a,b){throw A.c(A.a_("Cannot modify unmodifiable map"))}, +bj(a,b,c){throw A.c(A.a_("Cannot modify unmodifiable map"))}} +A.wR.prototype={ +lG(a,b,c){var s=this.a +return s.lG(s,b,c)}, +i(a,b){return this.a.i(0,b)}, +n(a,b,c){this.a.n(0,b,c)}, +bj(a,b,c){return this.a.bj(0,b,c)}, +a9(a,b){return this.a.a9(0,b)}, +V(a,b){this.a.V(0,b)}, +gM(a){var s=this.a +return s.gM(s)}, +gb9(a){var s=this.a +return s.gb9(s)}, +gq(a){var s=this.a +return s.gq(s)}, +gbp(a){var s=this.a +return s.gbp(s)}, +A(a,b){return this.a.A(0,b)}, +j(a){var s=this.a +return s.j(s)}, +gaF(a){var s=this.a +return s.gaF(s)}, +gh6(a){var s=this.a +return s.gh6(s)}, +rE(a,b,c,d){var s=this.a +return s.rE(s,b,c,d)}, +$iaD:1} +A.oH.prototype={ +lG(a,b,c){var s=this.a +return new A.oH(s.lG(s,b,c),b.h("@<0>").bd(c).h("oH<1,2>"))}} +A.As.prototype={ +a3_(a,b){var s=this +s.b=b +s.a=a +if(a!=null)a.b=s +if(b!=null)b.a=s}, +a6w(){var s,r=this,q=r.a +if(q!=null)q.b=r.b +s=r.b +if(s!=null)s.a=q +r.a=r.b=null}} +A.Ar.prototype={ +Li(a){var s,r,q=this +q.c=null +s=q.a +if(s!=null)s.b=q.b +r=q.b +if(r!=null)r.a=s +q.a=q.b=null +return q.d}, +hY(a){var s=this,r=s.c +if(r!=null)--r.b +s.c=null +s.a6w() +return s.d}, +ud(){return this}, +$iapU:1, +gqV(){return this.d}} +A.At.prototype={ +ud(){return null}, +Li(a){throw A.c(A.bu())}, +gqV(){throw A.c(A.bu())}} +A.vp.prototype={ +df(a,b){return new A.jr(this,this.$ti.h("@<1>").bd(b).h("jr<1,2>"))}, +gq(a){return this.b}, +vv(a){var s=this.a +new A.Ar(this,a,s.$ti.h("Ar<1>")).a3_(s,s.b);++this.b}, +f4(a){var s=this.a.a.Li(0);--this.b +return s}, +gH(a){return this.a.b.gqV()}, +gP(a){return this.a.a.gqV()}, +gan(a){var s=this.a,r=s.b +if(r==s.a)return r.gqV() +throw A.c(A.li())}, +gM(a){var s=this.a +return s.b===s}, +gX(a){return new A.Nc(this,this.a.b,this.$ti.h("Nc<1>"))}, +j(a){return A.lj(this,"{","}")}, +$iW:1} +A.Nc.prototype={ +t(){var s=this,r=s.b,q=r==null?null:r.ud() +if(q==null){s.a=s.b=s.c=null +return!1}r=s.a +if(r!=q.c)throw A.c(A.bL(r)) +s.c=q.d +s.b=q.b +return!0}, +gG(a){var s=this.c +return s==null?this.$ti.c.a(s):s}} +A.wK.prototype={ +df(a,b){return new A.jr(this,this.$ti.h("@<1>").bd(b).h("jr<1,2>"))}, +gX(a){var s=this +return new A.Or(s,s.c,s.d,s.b,s.$ti.h("Or<1>"))}, +gM(a){return this.b===this.c}, +gq(a){return(this.c-this.b&this.a.length-1)>>>0}, +gH(a){var s=this,r=s.b +if(r===s.c)throw A.c(A.bu()) +r=s.a[r] +return r==null?s.$ti.c.a(r):r}, +gP(a){var s=this,r=s.b,q=s.c +if(r===q)throw A.c(A.bu()) +r=s.a +r=r[(q-1&r.length-1)>>>0] +return r==null?s.$ti.c.a(r):r}, +gan(a){var s,r=this +if(r.b===r.c)throw A.c(A.bu()) +if(r.gq(0)>1)throw A.c(A.li()) +s=r.a[r.b] +return s==null?r.$ti.c.a(s):s}, +aM(a,b){var s,r=this +A.aql(b,r.gq(0),r,null) +s=r.a +s=s[(r.b+b&s.length-1)>>>0] +return s==null?r.$ti.c.a(s):s}, +dm(a,b){var s,r,q,p,o,n,m=this,l=m.a.length-1,k=(m.c-m.b&l)>>>0 +if(k===0){s=m.$ti.c +return b?J.nw(0,s):J.GR(0,s)}s=m.$ti.c +r=A.b8(k,m.gH(0),b,s) +for(q=m.a,p=m.b,o=0;o>>0] +r[o]=n==null?s.a(n):n}return r}, +dl(a){return this.dm(0,!0)}, +L(a,b){var s,r,q,p,o,n,m,l,k=this,j=k.$ti +if(j.h("N<1>").b(b)){s=b.length +r=k.gq(0) +q=r+s +p=k.a +o=p.length +if(q>=o){n=A.b8(A.aqE(q+(q>>>1)),null,!1,j.h("1?")) +k.c=k.a7i(n) +k.a=n +k.b=0 +B.b.bx(n,r,q,b,0) +k.c+=s}else{j=k.c +m=o-j +if(s>>0)s[p]=null +q.b=q.c=0;++q.d}}, +j(a){return A.lj(this,"{","}")}, +vv(a){var s=this,r=s.b,q=s.a +r=s.b=(r-1&q.length-1)>>>0 +q[r]=a +if(r===s.c)s.JL();++s.d}, +ot(){var s,r,q=this,p=q.b +if(p===q.c)throw A.c(A.bu());++q.d +s=q.a +r=s[p] +if(r==null)r=q.$ti.c.a(r) +s[p]=null +q.b=(p+1&s.length-1)>>>0 +return r}, +f4(a){var s,r=this,q=r.b,p=r.c +if(q===p)throw A.c(A.bu());++r.d +q=r.a +p=r.c=(p-1&q.length-1)>>>0 +s=q[p] +if(s==null)s=r.$ti.c.a(s) +q[p]=null +return s}, +dJ(a,b){var s=this,r=s.a,q=s.c +r[q]=b +r=(q+1&r.length-1)>>>0 +s.c=r +if(s.b===r)s.JL();++s.d}, +JL(){var s=this,r=A.b8(s.a.length*2,null,!1,s.$ti.h("1?")),q=s.a,p=s.b,o=q.length-p +B.b.bx(r,0,o,q,p) +B.b.bx(r,o,o+s.b,s.a,0) +s.b=0 +s.c=s.a.length +s.a=r}, +a7i(a){var s,r,q=this,p=q.b,o=q.c,n=q.a +if(p<=o){s=o-p +B.b.bx(a,0,s,n,p) +return s}else{r=n.length-p +B.b.bx(a,0,r,n,p) +B.b.bx(a,r,r+q.c,q.a,0) +return q.c+r}}} +A.Or.prototype={ +gG(a){var s=this.e +return s==null?this.$ti.c.a(s):s}, +t(){var s,r=this,q=r.a +if(r.c!==q.d)A.aa(A.bL(q)) +s=r.d +if(s===r.b){r.e=null +return!1}q=q.a +r.e=q[s] +r.d=(s+1&q.length-1)>>>0 +return!0}} +A.hm.prototype={ +gM(a){return this.gq(this)===0}, +gb9(a){return this.gq(this)!==0}, +df(a,b){return A.a9p(this,null,A.o(this).c,b)}, +I(a){this.xN(this.dl(0))}, +L(a,b){var s +for(s=J.ak(b);s.t();)this.D(0,s.gG(s))}, +xN(a){var s,r +for(s=a.length,r=0;r").bd(c).h("hN<1,2>"))}, +gan(a){var s,r=this +if(r.gq(r)>1)throw A.c(A.li()) +s=r.gX(r) +if(!s.t())throw A.c(A.bu()) +return s.gG(s)}, +j(a){return A.lj(this,"{","}")}, +jd(a,b){var s +for(s=this.gX(this);s.t();)if(b.$1(s.gG(s)))return!0 +return!1}, +fM(a,b){return A.as4(this,b,A.o(this).c)}, +gH(a){var s=this.gX(this) +if(!s.t())throw A.c(A.bu()) +return s.gG(s)}, +gP(a){var s,r=this.gX(this) +if(!r.t())throw A.c(A.bu()) +do s=r.gG(r) +while(r.t()) +return s}, +aM(a,b){var s,r +A.dw(b,"index") +s=this.gX(this) +for(r=b;s.t();){if(r===0)return s.gG(s);--r}throw A.c(A.cC(b,b-r,this,null,"index"))}, +$iW:1, +$ij:1, +$ibd:1} +A.tw.prototype={ +df(a,b){return A.a9p(this,this.gB0(),A.o(this).c,b)}, +hF(a){var s,r,q=this.nb() +for(s=this.gX(this);s.t();){r=s.gG(s) +if(!a.p(0,r))q.D(0,r)}return q}, +jv(a,b){var s,r,q=this.nb() +for(s=this.gX(this);s.t();){r=s.gG(s) +if(b.p(0,r))q.D(0,r)}return q}, +hn(a){var s=this.nb() +s.L(0,this) +return s}} +A.Rw.prototype={} +A.eC.prototype={} +A.eB.prototype={ +a4Y(a){var s=this,r=new A.eB(a,s.a,s.$ti) +r.b=s.b +r.c=s.c +return r}} +A.Rv.prototype={ +hx(a){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=null,f=h.gcL() +if(f==null){h.zE(a,a) +return-1}s=h.gzD() +for(r=g,q=f,p=r,o=p,n=o,m=n;!0;){r=s.$2(q.a,a) +if(r>0){l=q.b +if(l==null)break +r=s.$2(l.a,a) +if(r>0){q.b=l.c +l.c=q +k=l.b +if(k==null){q=l +break}q=l +l=k}if(m==null)n=q +else m.b=q +m=q +q=l}else{if(r<0){j=q.c +if(j==null)break +r=s.$2(j.a,a) +if(r<0){q.c=j.b +j.b=q +i=j.c +if(i==null){q=j +break}q=j +j=i}if(o==null)p=q +else o.c=q}else break +o=q +q=j}}if(o!=null){o.c=q.b +q.b=p}if(m!=null){m.b=q.c +q.c=n}if(h.gcL()!==q){h.scL(q);++h.c}return r}, +a67(a){var s,r,q=a.b +for(s=a;q!=null;s=q,q=r){s.b=q.c +q.c=s +r=q.b}return s}, +Mb(a){var s,r,q=a.c +for(s=a;q!=null;s=q,q=r){s.c=q.b +q.b=s +r=q.c}return s}, +i7(a,b){var s,r,q,p,o=this +if(o.gcL()==null)return null +if(o.hx(b)!==0)return null +s=o.gcL() +r=s.b;--o.a +q=s.c +if(r==null)o.scL(q) +else{p=o.Mb(r) +p.c=q +o.scL(p)}++o.b +return s}, +zc(a,b){var s,r=this;++r.a;++r.b +s=r.gcL() +if(s==null){r.scL(a) +return}if(b<0){a.b=s +a.c=s.c +s.c=null}else{a.c=s +a.b=s.b +s.b=null}r.scL(a)}, +gJa(){var s=this,r=s.gcL() +if(r==null)return null +s.scL(s.a67(r)) +return s.gcL()}, +gKz(){var s=this,r=s.gcL() +if(r==null)return null +s.scL(s.Mb(r)) +return s.gcL()}, +Za(a){this.scL(null) +this.a=0;++this.b}, +n2(a){return this.BW(a)&&this.hx(a)===0}, +zE(a,b){return this.gzD().$2(a,b)}, +BW(a){return this.gafz().$1(a)}} +A.zf.prototype={ +i(a,b){var s=this +if(!s.f.$1(b))return null +if(s.d!=null)if(s.hx(b)===0)return s.d.d +return null}, +A(a,b){var s +if(!this.f.$1(b))return null +s=this.i7(0,b) +if(s!=null)return s.d +return null}, +n(a,b,c){var s=this,r=s.hx(b) +if(r===0){s.d=s.d.a4Y(c);++s.c +return}s.zc(new A.eB(c,b,s.$ti.h("eB<1,2>")),r)}, +bj(a,b,c){var s,r,q,p=this,o=p.hx(b) +if(o===0)return p.d.d +s=p.b +r=p.c +q=c.$0() +if(s!==p.b)throw A.c(A.bL(p)) +if(r!==p.c)o=p.hx(b) +p.zc(new A.eB(q,b,p.$ti.h("eB<1,2>")),o) +return q}, +gM(a){return this.d==null}, +gb9(a){return this.d!=null}, +V(a,b){var s,r=this.$ti,q=new A.oX(this,A.b([],r.h("v>")),this.c,r.h("oX<1,2>")) +for(;q.t();){s=q.gG(0) +b.$2(s.a,s.b)}}, +gq(a){return this.a}, +a9(a,b){return this.n2(b)}, +gbp(a){return new A.ks(this,this.$ti.h("ks<1,eB<1,2>>"))}, +gaF(a){return new A.oY(this,this.$ti.h("oY<1,2>"))}, +gh6(a){return new A.Cf(this,this.$ti.h("Cf<1,2>"))}, +aaf(){if(this.d==null)return null +return this.gJa().a}, +QB(){if(this.d==null)return null +return this.gKz().a}, +act(a){var s,r,q,p=this +if(p.d==null)return null +if(p.hx(a)<0)return p.d.a +s=p.d.b +if(s==null)return null +r=s.c +for(;r!=null;s=r,r=q)q=r.c +return s.a}, +aag(a){var s,r,q,p=this +if(p.d==null)return null +if(p.hx(a)>0)return p.d.a +s=p.d.c +if(s==null)return null +r=s.b +for(;r!=null;s=r,r=q)q=r.b +return s.a}, +$iaD:1, +zE(a,b){return this.e.$2(a,b)}, +BW(a){return this.f.$1(a)}, +gcL(){return this.d}, +gzD(){return this.e}, +scL(a){return this.d=a}} +A.a9U.prototype={ +$1(a){return this.a.b(a)}, +$S:96} +A.ja.prototype={ +gG(a){var s=this.b +if(s.length===0){A.o(this).h("ja.T").a(null) +return null}return this.Ap(B.b.gP(s))}, +a4J(a){var s,r,q=this.b +B.b.I(q) +s=this.a +s.hx(a) +r=s.gcL() +r.toString +q.push(r) +this.d=s.c}, +t(){var s,r,q=this,p=q.c,o=q.a,n=o.b +if(p!==n){if(p==null){q.c=n +s=o.gcL() +for(p=q.b;s!=null;){p.push(s) +s=s.b}return p.length!==0}throw A.c(A.bL(o))}p=q.b +if(p.length===0)return!1 +if(q.d!==o.c)q.a4J(B.b.gP(p).a) +s=B.b.gP(p) +r=s.c +if(r!=null){for(;r!=null;){p.push(r) +r=r.b}return!0}p.pop() +while(!0){if(!(p.length!==0&&B.b.gP(p).c===s))break +s=p.pop()}return p.length!==0}} +A.ks.prototype={ +gq(a){return this.a.a}, +gM(a){return this.a.a===0}, +gX(a){var s=this.a,r=this.$ti +return new A.kt(s,A.b([],r.h("v<2>")),s.c,r.h("kt<1,2>"))}, +p(a,b){return this.a.n2(b)}, +hn(a){var s=this.a,r=this.$ti,q=A.a9V(s.e,s.f,r.c) +q.a=s.a +q.d=q.IE(s.d,r.y[1]) +return q}} +A.oY.prototype={ +gq(a){return this.a.a}, +gM(a){return this.a.a===0}, +gX(a){var s=this.a,r=this.$ti +return new A.Cj(s,A.b([],r.h("v>")),s.c,r.h("Cj<1,2>"))}} +A.Cf.prototype={ +gq(a){return this.a.a}, +gM(a){return this.a.a===0}, +gX(a){var s=this.a,r=this.$ti +return new A.oX(s,A.b([],r.h("v>")),s.c,r.h("oX<1,2>"))}} +A.kt.prototype={ +Ap(a){return a.a}} +A.Cj.prototype={ +Ap(a){return a.d}} +A.oX.prototype={ +Ap(a){return new A.bo(a.a,a.d,this.$ti.h("bo<1,2>"))}} +A.rd.prototype={ +KL(a){return A.a9V(new A.a9X(this,a),this.f,a)}, +nb(){return this.KL(t.z)}, +df(a,b){return A.a9p(this,this.ga3x(),this.$ti.c,b)}, +gX(a){var s=this.$ti +return new A.kt(this,A.b([],s.h("v>")),this.c,s.h("kt<1,eC<1>>"))}, +gq(a){return this.a}, +gM(a){return this.d==null}, +gb9(a){return this.d!=null}, +gH(a){if(this.a===0)throw A.c(A.bu()) +return this.gJa().a}, +gP(a){if(this.a===0)throw A.c(A.bu()) +return this.gKz().a}, +gan(a){var s=this.a +if(s===0)throw A.c(A.bu()) +if(s>1)throw A.c(A.li()) +return this.d.a}, +p(a,b){return this.f.$1(b)&&this.hx(this.$ti.c.a(b))===0}, +D(a,b){return this.dJ(0,b)}, +dJ(a,b){var s=this.hx(b) +if(s===0)return!1 +this.zc(new A.eC(b,this.$ti.h("eC<1>")),s) +return!0}, +A(a,b){if(!this.f.$1(b))return!1 +return this.i7(0,this.$ti.c.a(b))!=null}, +L(a,b){var s,r +for(s=J.ak(b.geu()),r=A.o(b).y[1];s.t();)this.dJ(0,r.a(s.gG(s)))}, +xN(a){var s,r,q,p +for(s=a.length,r=this.$ti.c,q=0;q>")),r.c,q.h("kt<1,eC<1>>"));q.t();){s=q.gG(0) +if(b.p(0,s))p.dJ(0,s)}return p}, +IE(a,b){var s +if(a==null)return null +s=new A.eC(a.a,this.$ti.h("eC<1>")) +new A.a9W(this,b).$2(a,s) +return s}, +I(a){this.Za(0)}, +hn(a){var s=this,r=s.$ti,q=A.a9V(s.e,s.f,r.c) +q.a=s.a +q.d=s.IE(s.d,r.h("eC<1>")) +return q}, +j(a){return A.lj(this,"{","}")}, +$iW:1, +$ibd:1, +zE(a,b){return this.e.$2(a,b)}, +BW(a){return this.f.$1(a)}, +gcL(){return this.d}, +gzD(){return this.e}, +scL(a){return this.d=a}} +A.a9X.prototype={ +$2(a,b){var s=this.a,r=s.$ti.c +r.a(a) +r.a(b) +return s.e.$2(a,b)}, +$S(){return this.b.h("p(0,0)")}} +A.a9W.prototype={ +$2(a,b){var s,r,q,p,o,n=this.a.$ti.h("eC<1>") +do{s=a.b +r=a.c +if(s!=null){q=new A.eC(s.a,n) +b.b=q +this.$2(s,q)}p=r!=null +if(p){o=new A.eC(r.a,n) +b.c=o +b=o +a=r}}while(p)}, +$S(){return this.a.$ti.bd(this.b).h("~(1,eC<2>)")}} +A.Cg.prototype={} +A.Ch.prototype={} +A.Ci.prototype={} +A.CG.prototype={} +A.Of.prototype={ +i(a,b){var s,r=this.b +if(r==null)return this.c.i(0,b) +else if(typeof b!="string")return null +else{s=r[b] +return typeof s=="undefined"?this.a4D(b):s}}, +gq(a){return this.b==null?this.c.a:this.n3().length}, +gM(a){return this.gq(0)===0}, +gb9(a){return this.gq(0)>0}, +gbp(a){var s +if(this.b==null){s=this.c +return new A.aZ(s,A.o(s).h("aZ<1>"))}return new A.Og(this)}, +gaF(a){var s=this +if(s.b==null)return s.c.gaF(0) +return A.Hj(s.n3(),new A.afw(s),t.N,t.z)}, +n(a,b,c){var s,r,q=this +if(q.b==null)q.c.n(0,b,c) +else if(q.a9(0,b)){s=q.b +s[b]=c +r=q.a +if(r==null?s!=null:r!==s)r[b]=null}else q.Nj().n(0,b,c)}, +a9(a,b){if(this.b==null)return this.c.a9(0,b) +if(typeof b!="string")return!1 +return Object.prototype.hasOwnProperty.call(this.a,b)}, +bj(a,b,c){var s +if(this.a9(0,b))return this.i(0,b) +s=c.$0() +this.n(0,b,s) +return s}, +A(a,b){if(this.b!=null&&!this.a9(0,b))return null +return this.Nj().A(0,b)}, +V(a,b){var s,r,q,p,o=this +if(o.b==null)return o.c.V(0,b) +s=o.n3() +for(r=0;r"))}return s}, +p(a,b){return this.a.a9(0,b)}} +A.AU.prototype={ +aJ(a){var s,r,q=this +q.X9(0) +s=q.a +r=s.a +s.a="" +s=q.c +s.D(0,A.auf(r.charCodeAt(0)==0?r:r,q.b)) +s.aJ(0)}} +A.aiw.prototype={ +$0(){var s,r +try{s=new TextDecoder("utf-8",{fatal:true}) +return s}catch(r){}return null}, +$S:97} +A.aiv.prototype={ +$0(){var s,r +try{s=new TextDecoder("utf-8",{fatal:false}) +return s}catch(r){}return null}, +$S:97} +A.V0.prototype={ +ad8(a,a0,a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=null,b="Invalid base64 encoding length " +a2=A.di(a1,a2,a0.length,c,c) +s=$.aok() +for(r=a1,q=r,p=c,o=-1,n=-1,m=0;r=0){i=u.U.charCodeAt(h) +if(i===k)continue +k=i}else{if(h===-1){if(o<0){g=p==null?c:p.a.length +if(g==null)g=0 +o=g+(r-q) +n=r}++m +if(k===61)continue}k=i}if(h!==-2){if(p==null){p=new A.ca("") +g=p}else g=p +g.a+=B.d.W(a0,q,r) +f=A.dN(k) +g.a+=f +q=l +continue}}throw A.c(A.bE("Invalid base64 data",a0,r))}if(p!=null){g=B.d.W(a0,q,a2) +g=p.a+=g +f=g.length +if(o>=0)A.aoQ(a0,n,a2,o,m,f) +else{e=B.f.bo(f-1,4)+1 +if(e===1)throw A.c(A.bE(b,a0,a2)) +for(;e<4;){g+="=" +p.a=g;++e}}g=p.a +return B.d.ow(a0,a1,a2,g.charCodeAt(0)==0?g:g)}d=a2-a1 +if(o>=0)A.aoQ(a0,n,a2,o,m,d) +else{e=B.f.bo(d,4) +if(e===1)throw A.c(A.bE(b,a0,a2)) +if(e>1)a0=B.d.ow(a0,a2,a2,e===2?"==":"=")}return a0}} +A.V2.prototype={ +j2(a){return new A.aiu(new A.Sy(new A.CK(!1),a,a.a),new A.acE(u.U))}} +A.acE.prototype={ +a95(a,b){return new Uint8Array(b)}, +a9L(a,b,c,d){var s,r=this,q=(r.a&3)+(c-b),p=B.f.c7(q,3),o=p*4 +if(d&&q-p*3>0)o+=4 +s=r.a95(0,o) +r.a=A.aF1(r.b,a,b,c,d,s,0,r.a) +if(o>0)return s +return null}} +A.acF.prototype={ +D(a,b){this.IA(0,b,0,b.length,!1)}, +aJ(a){this.IA(0,B.lK,0,0,!0)}} +A.aiu.prototype={ +IA(a,b,c,d,e){var s=this.b.a9L(b,c,d,e) +if(s!=null)this.a.lD(s,0,s.length,e)}} +A.V1.prototype={ +Oo(a,b){var s,r,q=A.di(b,null,a.length,null,null) +if(b===q)return new Uint8Array(0) +s=new A.LX() +r=s.CY(0,a,b,q) +r.toString +s.CA(0,a,q) +return r}, +dv(a){return this.Oo(a,0)}, +j2(a){return new A.acD(a,new A.LX())}} +A.LX.prototype={ +CY(a,b,c,d){var s,r=this,q=r.a +if(q<0){r.a=A.asN(b,c,d,q) +return null}if(c===d)return new Uint8Array(0) +s=A.aEZ(b,c,d,q) +r.a=A.aF0(b,c,d,s,0,r.a) +return s}, +CA(a,b,c){var s=this.a +if(s<-1)throw A.c(A.bE("Missing padding character",b,c)) +if(s>0)throw A.c(A.bE("Invalid length, must be multiple of four",b,c)) +this.a=-1}} +A.acD.prototype={ +D(a,b){var s,r=b.length +if(r===0)return +s=this.b.CY(0,b,0,r) +if(s!=null)this.a.a.a+=s}, +aJ(a){this.b.CA(0,null,null) +this.a.aJ(0)}, +lD(a,b,c,d){var s,r +A.di(b,c,a.length,null,null) +if(b===c)return +s=this.b +r=s.CY(0,a,b,c) +if(r!=null)this.a.a.a+=r +if(d){s.CA(0,a,c) +this.a.aJ(0)}}} +A.Vs.prototype={} +A.adn.prototype={ +D(a,b){this.a.a.a+=b}, +aJ(a){this.a.aJ(0)}} +A.EE.prototype={} +A.Rf.prototype={ +D(a,b){this.b.push(b)}, +aJ(a){this.a.$1(this.b)}} +A.EW.prototype={} +A.uY.prototype={ +aaq(a){return new A.NM(this,a)}, +j2(a){throw A.c(A.a_("This converter does not support chunked conversions: "+this.j(0)))}} +A.NM.prototype={ +j2(a){return this.a.j2(new A.AU(this.b.a,a,new A.ca("")))}} +A.Yn.prototype={} +A.wB.prototype={ +j(a){var s=A.n1(this.a) +return(this.b!=null?"Converting object to an encodable object failed:":"Converting object did not return an encodable object:")+" "+s}} +A.GU.prototype={ +j(a){return"Cyclic error in JSON stringify"}} +A.a0W.prototype={ +OL(a,b,c){var s=A.auf(b,this.ga9i().a) +return s}, +e6(a,b){return this.OL(0,b,null)}, +wh(a,b){var s=this.ga9M() +s=A.aFd(a,s.b,s.a) +return s}, +wg(a){return this.wh(a,null)}, +ga9M(){return B.D0}, +ga9i(){return B.lw}} +A.a0Y.prototype={ +j2(a){return new A.afv(this.a,this.b,a)}} +A.afv.prototype={ +D(a,b){var s,r=this +if(r.d)throw A.c(A.R("Only one call to add allowed")) +r.d=!0 +s=r.c.NT() +A.asZ(b,s,r.b,r.a) +s.aJ(0)}, +aJ(a){}} +A.a0X.prototype={ +j2(a){return new A.AU(this.a,a,new A.ca(""))}} +A.afA.prototype={ +FK(a){var s,r,q,p,o,n=this,m=a.length +for(s=0,r=0;r92){if(q>=55296){p=q&64512 +if(p===55296){o=r+1 +o=!(o=0&&(a.charCodeAt(p)&64512)===55296)}else p=!1 +else p=!0 +if(p){if(r>s)n.y9(a,s,r) +s=r+1 +n.cG(92) +n.cG(117) +n.cG(100) +p=q>>>8&15 +n.cG(p<10?48+p:87+p) +p=q>>>4&15 +n.cG(p<10?48+p:87+p) +p=q&15 +n.cG(p<10?48+p:87+p)}}continue}if(q<32){if(r>s)n.y9(a,s,r) +s=r+1 +n.cG(92) +switch(q){case 8:n.cG(98) +break +case 9:n.cG(116) +break +case 10:n.cG(110) +break +case 12:n.cG(102) +break +case 13:n.cG(114) +break +default:n.cG(117) +n.cG(48) +n.cG(48) +p=q>>>4&15 +n.cG(p<10?48+p:87+p) +p=q&15 +n.cG(p<10?48+p:87+p) +break}}else if(q===34||q===92){if(r>s)n.y9(a,s,r) +s=r+1 +n.cG(92) +n.cG(q)}}if(s===0)n.cl(a) +else if(s16)this.zO()}, +oM(a,b){if(this.a.a.length!==0)this.zO() +this.b.D(0,b)}, +zO(){var s=this.a,r=s.a +s.a="" +this.b.D(0,r.charCodeAt(0)==0?r:r)}} +A.Cp.prototype={ +aJ(a){}, +lD(a,b,c,d){var s,r,q +if(b!==0||c!==a.length)for(s=this.a,r=b;r>>18|240 +q=o.b=p+1 +r[p]=s>>>12&63|128 +p=o.b=q+1 +r[q]=s>>>6&63|128 +o.b=p+1 +r[p]=s&63|128 +return!0}else{o.vq() +return!1}}, +J5(a,b,c){var s,r,q,p,o,n,m,l=this +if(b!==c&&(a.charCodeAt(c-1)&64512)===55296)--c +for(s=l.c,r=s.length,q=b;q=r)break +l.b=o+1 +s[o]=p}else{o=p&64512 +if(o===55296){if(l.b+4>r)break +n=q+1 +if(l.Nt(p,a.charCodeAt(n)))q=n}else if(o===56320){if(l.b+3>r)break +l.vq()}else if(p<=2047){o=l.b +m=o+1 +if(m>=r)break +l.b=m +s[o]=p>>>6|192 +l.b=m+1 +s[m]=p&63|128}else{o=l.b +if(o+2>=r)break +m=l.b=o+1 +s[o]=p>>>12|224 +o=l.b=m+1 +s[m]=p>>>6&63|128 +l.b=o+1 +s[o]=p&63|128}}}return q}} +A.aix.prototype={ +aJ(a){if(this.a!==0){this.lD("",0,0,!0) +return}this.d.a.aJ(0)}, +lD(a,b,c,d){var s,r,q,p,o,n=this +n.b=0 +s=b===c +if(s&&!d)return +r=n.a +if(r!==0){if(n.Nt(r,!s?a.charCodeAt(b):0))++b +n.a=0}s=n.d +r=n.c +q=c-1 +p=r.length-3 +do{b=n.J5(a,b,c) +o=d&&b===c +if(b===q&&(a.charCodeAt(b)&64512)===55296){if(d&&n.b=15){p=m.a +o=A.aG6(p,r,b,l) +if(o!=null){if(!p)return o +if(o.indexOf("\ufffd")<0)return o}}o=m.zU(r,b,l,d) +p=m.b +if((p&1)!==0){n=A.atB(p) +m.b=0 +throw A.c(A.bE(n,a,q+m.c))}return o}, +zU(a,b,c,d){var s,r,q=this +if(c-b>1000){s=B.f.c7(b+c,2) +r=q.zU(a,b,s,!1) +if((q.b&1)!==0)return r +return r+q.zU(a,s,c,d)}return q.a9h(a,b,c,d)}, +aaj(a,b){var s,r=this.b +this.b=0 +if(r<=32)return +if(this.a){s=A.dN(65533) +b.a+=s}else throw A.c(A.bE(A.atB(77),null,null))}, +a9h(a,b,c,d){var s,r,q,p,o,n,m,l=this,k=65533,j=l.b,i=l.c,h=new A.ca(""),g=b+1,f=a[b] +$label0$0:for(s=l.a;!0;){for(;!0;g=p){r="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHJEEBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBKCCCCCCCCCCCCDCLONNNMEEEEEEEEEEE".charCodeAt(f)&31 +i=j<=32?f&61694>>>r:(f&63|i<<6)>>>0 +j=" \x000:XECCCCCN:lDb \x000:XECCCCCNvlDb \x000:XECCCCCN:lDb AAAAA\x00\x00\x00\x00\x00AAAAA00000AAAAA:::::AAAAAGG000AAAAA00KKKAAAAAG::::AAAAA:IIIIAAAAA000\x800AAAAA\x00\x00\x00\x00 AAAAA".charCodeAt(j+r) +if(j===0){q=A.dN(i) +h.a+=q +if(g===c)break $label0$0 +break}else if((j&1)!==0){if(s)switch(j){case 69:case 67:q=A.dN(k) +h.a+=q +break +case 65:q=A.dN(k) +h.a+=q;--g +break +default:q=A.dN(k) +q=h.a+=q +h.a=q+A.dN(k) +break}else{l.b=j +l.c=g-1 +return""}j=0}if(g===c)break $label0$0 +p=g+1 +f=a[g]}p=g+1 +f=a[g] +if(f<128){while(!0){if(!(p=128){o=n-1 +p=n +break}p=n}if(o-g<20)for(m=g;m32)if(s){s=A.dN(k) +h.a+=s}else{l.b=77 +l.c=c +return""}l.b=j +l.c=i +s=h.a +return s.charCodeAt(0)==0?s:s}} +A.SV.prototype={} +A.TF.prototype={} +A.p1.prototype={} +A.a5l.prototype={ +$2(a,b){var s=this.b,r=this.a,q=s.a+=r.a +q+=a.a +s.a=q +s.a=q+": " +q=A.n1(b) +s.a+=q +r.a=", "}, +$S:391} +A.ais.prototype={ +$2(a,b){var s,r +if(typeof b=="string")this.a.set(a,b) +else if(b==null)this.a.set(a,"") +else for(s=J.ak(b),r=this.a;s.t();){b=s.gG(s) +if(typeof b=="string")r.append(a,b) +else if(b==null)r.append(a,"") +else A.cL(b)}}, +$S:16} +A.dJ.prototype={ +zb(a){var s=1000,r=B.f.bo(a,s),q=B.f.c7(a-r,s),p=this.b+r,o=B.f.bo(p,s),n=this.c +return new A.dJ(A.X9(this.a+B.f.c7(p-o,s)+q,o,n),o,n)}, +hF(a){return A.cP(this.b-a.b,this.a-a.a)}, +k(a,b){if(b==null)return!1 +return b instanceof A.dJ&&this.a===b.a&&this.b===b.b&&this.c===b.c}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +Qo(a){var s=this.a,r=a.a +if(s>=r)s=s===r&&this.br)s=": Not in inclusive range "+A.h(r)+".."+A.h(q) +else s=qe.length +else s=!1 +if(s)f=null +if(f==null){if(e.length>78)e=B.d.W(e,0,75)+"..." +return g+"\n"+e}for(r=1,q=0,p=!1,o=0;o1?g+(" (at line "+r+", character "+(f-q+1)+")\n"):g+(" (at character "+(f+1)+")\n") +m=e.length +for(o=f;o78){k="..." +if(f-q<75){j=q+75 +i=q}else{if(m-f<75){i=m-75 +j=m +k=""}else{i=f-36 +j=f+36}l="..."}}else{j=m +i=q +k=""}return g+l+B.d.W(e,i,j)+k+"\n"+B.d.ad(" ",f-i+l.length)+"^\n"}else return f!=null?g+(" (at offset "+A.h(f)+")"):g}, +$ibR:1} +A.j.prototype={ +df(a,b){return A.eL(this,A.bm(this).h("j.E"),b)}, +DB(a,b){var s=this,r=A.bm(s) +if(r.h("W").b(s))return A.aq8(s,b,r.h("j.E")) +return new A.jA(s,b,r.h("jA"))}, +fA(a,b,c){return A.Hj(this,b,A.bm(this).h("j.E"),c)}, +jM(a,b){return new A.aF(this,b,A.bm(this).h("aF"))}, +p(a,b){var s +for(s=this.gX(this);s.t();)if(J.e(s.gG(s),b))return!0 +return!1}, +V(a,b){var s +for(s=this.gX(this);s.t();)b.$1(s.gG(s))}, +bw(a,b){var s,r,q=this.gX(this) +if(!q.t())return"" +s=J.el(q.gG(q)) +if(!q.t())return s +if(b.length===0){r=s +do r+=J.el(q.gG(q)) +while(q.t())}else{r=s +do r=r+b+J.el(q.gG(q)) +while(q.t())}return r.charCodeAt(0)==0?r:r}, +El(a){return this.bw(0,"")}, +jd(a,b){var s +for(s=this.gX(this);s.t();)if(b.$1(s.gG(s)))return!0 +return!1}, +dm(a,b){return A.a8(this,b,A.bm(this).h("j.E"))}, +dl(a){return this.dm(0,!0)}, +hn(a){return A.er(this,A.bm(this).h("j.E"))}, +gq(a){var s,r=this.gX(this) +for(s=0;r.t();)++s +return s}, +gM(a){return!this.gX(this).t()}, +gb9(a){return!this.gM(this)}, +Fp(a,b){return A.aEh(this,b,A.bm(this).h("j.E"))}, +fM(a,b){return A.as4(this,b,A.bm(this).h("j.E"))}, +gH(a){var s=this.gX(this) +if(!s.t())throw A.c(A.bu()) +return s.gG(s)}, +gP(a){var s,r=this.gX(this) +if(!r.t())throw A.c(A.bu()) +do s=r.gG(r) +while(r.t()) +return s}, +gan(a){var s,r=this.gX(this) +if(!r.t())throw A.c(A.bu()) +s=r.gG(r) +if(r.t())throw A.c(A.li()) +return s}, +QC(a,b){var s,r,q=this.gX(this) +do{if(!q.t())throw A.c(A.bu()) +s=q.gG(q)}while(!b.$1(s)) +for(;q.t();){r=q.gG(q) +if(b.$1(r))s=r}return s}, +aM(a,b){var s,r +A.dw(b,"index") +s=this.gX(this) +for(r=b;s.t();){if(r===0)return s.gG(s);--r}throw A.c(A.cC(b,b-r,this,null,"index"))}, +j(a){return A.aqr(this,"(",")")}} +A.AJ.prototype={ +aM(a,b){A.aql(b,this.a,this,null) +return this.b.$1(b)}, +gq(a){return this.a}} +A.bo.prototype={ +j(a){return"MapEntry("+A.h(this.a)+": "+A.h(this.b)+")"}} +A.aY.prototype={ +gu(a){return A.J.prototype.gu.call(this,0)}, +j(a){return"null"}} +A.J.prototype={$iJ:1, +k(a,b){return this===b}, +gu(a){return A.fL(this)}, +j(a){return"Instance of '"+A.a6v(this)+"'"}, +gcF(a){return A.r(this)}, +toString(){return this.j(this)}} +A.RE.prototype={ +j(a){return""}, +$icg:1} +A.zl.prototype={ +gPg(){var s=this.gPh() +if($.DG()===1e6)return s +return s*1000}, +gDo(){var s=this.gPh() +if($.DG()===1000)return s +return B.f.c7(s,1000)}, +le(a){var s=this,r=s.b +if(r!=null){s.a=s.a+($.IQ.$0()-r) +s.b=null}}, +eG(a){var s=this.b +this.a=s==null?$.IQ.$0():s}, +gPh(){var s=this.b +if(s==null)s=$.IQ.$0() +return s-this.a}} +A.a86.prototype={ +gG(a){return this.d}, +t(){var s,r,q,p=this,o=p.b=p.c,n=p.a,m=n.length +if(o===m){p.d=-1 +return!1}s=n.charCodeAt(o) +r=o+1 +if((s&64512)===55296&&r4)this.a.$2("an IPv6 part can only contain a maximum of 4 hex digits",a) +s=A.fl(B.d.W(this.b,a,b),16) +if(s<0||s>65535)this.a.$2("each part must be in the range of `0x0..0xFFFF`",a) +return s}, +$S:375} +A.CH.prototype={ +gnl(){var s,r,q,p,o=this,n=o.w +if(n===$){s=o.a +r=s.length!==0?""+s+":":"" +q=o.c +p=q==null +if(!p||s==="file"){s=r+"//" +r=o.b +if(r.length!==0)s=s+r+"@" +if(!p)s+=q +r=o.d +if(r!=null)s=s+":"+A.h(r)}else s=r +s+=o.e +r=o.f +if(r!=null)s=s+"?"+r +r=o.r +if(r!=null)s=s+"#"+r +n!==$&&A.a1() +n=o.w=s.charCodeAt(0)==0?s:s}return n}, +grU(){var s,r,q=this,p=q.x +if(p===$){s=q.e +if(s.length!==0&&s.charCodeAt(0)===47)s=B.d.cZ(s,1) +r=s.length===0?B.lJ:A.Ha(new A.ay(A.b(s.split("/"),t.s),A.aIp(),t.Gf),t.N) +q.x!==$&&A.a1() +p=q.x=r}return p}, +gu(a){var s,r=this,q=r.y +if(q===$){s=B.d.gu(r.gnl()) +r.y!==$&&A.a1() +r.y=s +q=s}return q}, +gmk(){var s,r,q=this,p=q.Q +if(p===$){s=q.f +r=A.aG_(s==null?"":s) +q.Q!==$&&A.a1() +q.Q=r +p=r}return p}, +gSm(){return this.b}, +gwK(a){var s=this.c +if(s==null)return"" +if(B.d.c6(s,"["))return B.d.W(s,1,s.length-1) +return s}, +gF6(a){var s=this.d +return s==null?A.atk(this.a):s}, +gFd(a){var s=this.f +return s==null?"":s}, +gkG(){var s=this.r +return s==null?"":s}, +Qv(a){var s=this.a +if(a.length!==s.length)return!1 +return A.atL(a,s,0)>=0}, +gQ2(){return this.a.length!==0}, +gDY(){return this.c!=null}, +gE1(){return this.f!=null}, +gE_(){return this.r!=null}, +aeD(){var s,r=this,q=r.a +if(q!==""&&q!=="file")throw A.c(A.a_("Cannot extract a file path from a "+q+" URI")) +q=r.f +if((q==null?"":q)!=="")throw A.c(A.a_("Cannot extract a file path from a URI with a query component")) +q=r.r +if((q==null?"":q)!=="")throw A.c(A.a_("Cannot extract a file path from a URI with a fragment component")) +if(r.c!=null&&r.gwK(0)!=="")A.aa(A.a_("Cannot extract a non-Windows file path from a file URI with an authority")) +s=r.grU() +A.aFY(s,!1) +q=A.aae(B.d.c6(r.e,"/")?""+"/":"",s,"/") +q=q.charCodeAt(0)==0?q:q +return q}, +j(a){return this.gnl()}, +k(a,b){var s,r,q,p=this +if(b==null)return!1 +if(p===b)return!0 +s=!1 +if(t.Xu.b(b))if(p.a===b.gl9())if(p.c!=null===b.gDY())if(p.b===b.gSm())if(p.gwK(0)===b.gwK(b))if(p.gF6(0)===b.gF6(b))if(p.e===b.ghi(b)){r=p.f +q=r==null +if(!q===b.gE1()){if(q)r="" +if(r===b.gFd(b)){r=p.r +q=r==null +if(!q===b.gE_()){s=q?"":r +s=s===b.gkG()}}}}return s}, +$iLd:1, +gl9(){return this.a}, +ghi(a){return this.e}} +A.air.prototype={ +$2(a,b){var s=this.b,r=this.a +s.a+=r.a +r.a="&" +r=A.tG(B.eS,a,B.W,!0) +r=s.a+=r +if(b!=null&&b.length!==0){s.a=r+"=" +r=A.tG(B.eS,b,B.W,!0) +s.a+=r}}, +$S:360} +A.aiq.prototype={ +$2(a,b){var s,r +if(b==null||typeof b=="string")this.a.$2(a,b) +else for(s=J.ak(b),r=this.a;s.t();)r.$2(a,s.gG(s))}, +$S:16} +A.ait.prototype={ +$3(a,b,c){var s,r,q,p +if(a===c)return +s=this.a +r=this.b +if(b<0){q=A.tF(s,a,c,r,!0) +p=""}else{q=A.tF(s,a,b,r,!0) +p=A.tF(s,b+1,c,r,!0)}J.ek(this.c.bj(0,q,A.aIq()),p)}, +$S:357} +A.abI.prototype={ +goJ(){var s,r,q,p,o=this,n=null,m=o.c +if(m==null){m=o.a +s=o.b[0]+1 +r=B.d.kK(m,"?",s) +q=m.length +if(r>=0){p=A.CJ(m,r+1,q,B.eP,!1,!1) +q=r}else p=n +m=o.c=new A.MP("data","",n,n,A.CJ(m,s,q,B.lF,!1,!1),p,n)}return m}, +a8G(){var s,r,q,p,o,n,m,l,k=this.a,j=this.b,i=B.b.gP(j)+1 +if((j.length&1)===1)return B.h5.Oo(k,i) +j=k.length +s=j-i +for(r=i;r=0){n=p+1 +q[p]=l +r=m +p=n +continue}}throw A.c(A.bE("Invalid percent escape",k,r))}p=n}return q}, +j(a){var s=this.a +return this.b[0]===-1?"data:"+s:s}} +A.aj7.prototype={ +$2(a,b){var s=this.a[a] +B.R.aa9(s,0,96,b) +return s}, +$S:346} +A.aj8.prototype={ +$3(a,b,c){var s,r +for(s=b.length,r=0;r>>0]=c}, +$S:99} +A.Rg.prototype={ +gQ2(){return this.b>0}, +gDY(){return this.c>0}, +gabn(){return this.c>0&&this.d+1=0}, +gl9(){var s=this.w +return s==null?this.w=this.Zt():s}, +Zt(){var s,r=this,q=r.b +if(q<=0)return"" +s=q===4 +if(s&&B.d.c6(r.a,"http"))return"http" +if(q===5&&B.d.c6(r.a,"https"))return"https" +if(s&&B.d.c6(r.a,"file"))return"file" +if(q===7&&B.d.c6(r.a,"package"))return"package" +return B.d.W(r.a,0,q)}, +gSm(){var s=this.c,r=this.b+3 +return s>r?B.d.W(this.a,r,s-1):""}, +gwK(a){var s=this.c +return s>0?B.d.W(this.a,s,this.d):""}, +gF6(a){var s,r=this +if(r.gabn())return A.fl(B.d.W(r.a,r.d+1,r.e),null) +s=r.b +if(s===4&&B.d.c6(r.a,"http"))return 80 +if(s===5&&B.d.c6(r.a,"https"))return 443 +return 0}, +ghi(a){return B.d.W(this.a,this.e,this.f)}, +gFd(a){var s=this.f,r=this.r +return s=this.r)return B.qK +var s=A.atz(this.gFd(0)) +s.Se(s,A.auH()) +return A.ald(s,t.N,t.yp)}, +gu(a){var s=this.x +return s==null?this.x=B.d.gu(this.a):s}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +return t.Xu.b(b)&&this.a===b.j(0)}, +j(a){return this.a}, +$iLd:1} +A.MP.prototype={} +A.vN.prototype={ +i(a,b){if(A.mw(b)||typeof b=="number"||typeof b=="string"||b instanceof A.j6)A.pW(b) +return this.a.get(b)}, +n(a,b,c){this.a.set(b,c)}, +j(a){return"Expando:null"}} +A.lS.prototype={} +A.au.prototype={} +A.DS.prototype={ +gq(a){return a.length}} +A.DW.prototype={ +j(a){var s=String(a) +s.toString +return s}} +A.E1.prototype={ +j(a){var s=String(a) +s.toString +return s}} +A.up.prototype={} +A.ir.prototype={ +gq(a){return a.length}} +A.F5.prototype={ +gq(a){return a.length}} +A.bQ.prototype={$ibQ:1} +A.pL.prototype={ +gq(a){var s=a.length +s.toString +return s}} +A.WW.prototype={} +A.ep.prototype={} +A.hG.prototype={} +A.F6.prototype={ +gq(a){return a.length}} +A.F7.prototype={ +gq(a){return a.length}} +A.Fc.prototype={ +gq(a){return a.length}, +i(a,b){var s=a[b] +s.toString +return s}} +A.FD.prototype={ +j(a){var s=String(a) +s.toString +return s}} +A.vn.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.vo.prototype={ +j(a){var s,r=a.left +r.toString +s=a.top +s.toString +return"Rectangle ("+A.h(r)+", "+A.h(s)+") "+A.h(this.gbH(a))+" x "+A.h(this.gb3(a))}, +k(a,b){var s,r,q +if(b==null)return!1 +s=!1 +if(t.Bb.b(b)){r=a.left +r.toString +q=J.dB(b) +if(r===q.gdU(b)){s=a.top +s.toString +s=s===q.gFx(b)&&this.gbH(a)===q.gbH(b)&&this.gb3(a)===q.gb3(b)}}return s}, +gu(a){var s,r=a.left +r.toString +s=a.top +s.toString +return A.P(r,s,this.gbH(a),this.gb3(a),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +gKa(a){return a.height}, +gb3(a){var s=this.gKa(a) +s.toString +return s}, +gdU(a){var s=a.left +s.toString +return s}, +gFx(a){var s=a.top +s.toString +return s}, +gNr(a){return a.width}, +gbH(a){var s=this.gNr(a) +s.toString +return s}, +$ihi:1} +A.FI.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.FK.prototype={ +gq(a){var s=a.length +s.toString +return s}} +A.ar.prototype={ +j(a){var s=a.localName +s.toString +return s}} +A.Y.prototype={} +A.eT.prototype={$ieT:1} +A.G4.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.G5.prototype={ +gq(a){return a.length}} +A.Gh.prototype={ +gq(a){return a.length}} +A.eV.prototype={$ieV:1} +A.Gx.prototype={ +gq(a){var s=a.length +s.toString +return s}} +A.np.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.Hf.prototype={ +j(a){var s=String(a) +s.toString +return s}} +A.Hr.prototype={ +gq(a){return a.length}} +A.Hv.prototype={ +a9(a,b){return A.hy(a.get(b))!=null}, +i(a,b){return A.hy(a.get(b))}, +V(a,b){var s,r,q=a.entries() +for(;!0;){s=q.next() +r=s.done +r.toString +if(r)return +r=s.value[0] +r.toString +b.$2(r,A.hy(s.value[1]))}}, +gbp(a){var s=A.b([],t.s) +this.V(a,new A.a4w(s)) +return s}, +gaF(a){var s=A.b([],t.n4) +this.V(a,new A.a4x(s)) +return s}, +gq(a){var s=a.size +s.toString +return s}, +gM(a){var s=a.size +s.toString +return s===0}, +gb9(a){var s=a.size +s.toString +return s!==0}, +n(a,b,c){throw A.c(A.a_("Not supported"))}, +bj(a,b,c){throw A.c(A.a_("Not supported"))}, +A(a,b){throw A.c(A.a_("Not supported"))}, +$iaD:1} +A.a4w.prototype={ +$2(a,b){return this.a.push(a)}, +$S:16} +A.a4x.prototype={ +$2(a,b){return this.a.push(b)}, +$S:16} +A.Hw.prototype={ +a9(a,b){return A.hy(a.get(b))!=null}, +i(a,b){return A.hy(a.get(b))}, +V(a,b){var s,r,q=a.entries() +for(;!0;){s=q.next() +r=s.done +r.toString +if(r)return +r=s.value[0] +r.toString +b.$2(r,A.hy(s.value[1]))}}, +gbp(a){var s=A.b([],t.s) +this.V(a,new A.a4y(s)) +return s}, +gaF(a){var s=A.b([],t.n4) +this.V(a,new A.a4z(s)) +return s}, +gq(a){var s=a.size +s.toString +return s}, +gM(a){var s=a.size +s.toString +return s===0}, +gb9(a){var s=a.size +s.toString +return s!==0}, +n(a,b,c){throw A.c(A.a_("Not supported"))}, +bj(a,b,c){throw A.c(A.a_("Not supported"))}, +A(a,b){throw A.c(A.a_("Not supported"))}, +$iaD:1} +A.a4y.prototype={ +$2(a,b){return this.a.push(a)}, +$S:16} +A.a4z.prototype={ +$2(a,b){return this.a.push(b)}, +$S:16} +A.f2.prototype={$if2:1} +A.Hx.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.b5.prototype={ +j(a){var s=a.nodeValue +return s==null?this.UL(a):s}, +$ib5:1} +A.xk.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.f3.prototype={ +gq(a){return a.length}, +$if3:1} +A.IG.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.JA.prototype={ +a9(a,b){return A.hy(a.get(b))!=null}, +i(a,b){return A.hy(a.get(b))}, +V(a,b){var s,r,q=a.entries() +for(;!0;){s=q.next() +r=s.done +r.toString +if(r)return +r=s.value[0] +r.toString +b.$2(r,A.hy(s.value[1]))}}, +gbp(a){var s=A.b([],t.s) +this.V(a,new A.a84(s)) +return s}, +gaF(a){var s=A.b([],t.n4) +this.V(a,new A.a85(s)) +return s}, +gq(a){var s=a.size +s.toString +return s}, +gM(a){var s=a.size +s.toString +return s===0}, +gb9(a){var s=a.size +s.toString +return s!==0}, +n(a,b,c){throw A.c(A.a_("Not supported"))}, +bj(a,b,c){throw A.c(A.a_("Not supported"))}, +A(a,b){throw A.c(A.a_("Not supported"))}, +$iaD:1} +A.a84.prototype={ +$2(a,b){return this.a.push(a)}, +$S:16} +A.a85.prototype={ +$2(a,b){return this.a.push(b)}, +$S:16} +A.K_.prototype={ +gq(a){return a.length}} +A.f5.prototype={$if5:1} +A.Ku.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.f6.prototype={$if6:1} +A.Kw.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.f7.prototype={ +gq(a){return a.length}, +$if7:1} +A.Kz.prototype={ +a9(a,b){return a.getItem(A.bw(b))!=null}, +i(a,b){return a.getItem(A.bw(b))}, +n(a,b,c){a.setItem(b,c)}, +bj(a,b,c){var s +if(a.getItem(b)==null)a.setItem(b,c.$0()) +s=a.getItem(b) +return s==null?A.bw(s):s}, +A(a,b){var s +A.bw(b) +s=a.getItem(b) +a.removeItem(b) +return s}, +V(a,b){var s,r,q +for(s=0;!0;++s){r=a.key(s) +if(r==null)return +q=a.getItem(r) +q.toString +b.$2(r,q)}}, +gbp(a){var s=A.b([],t.s) +this.V(a,new A.aa6(s)) +return s}, +gaF(a){var s=A.b([],t.s) +this.V(a,new A.aa7(s)) +return s}, +gq(a){var s=a.length +s.toString +return s}, +gM(a){return a.key(0)==null}, +gb9(a){return a.key(0)!=null}, +$iaD:1} +A.aa6.prototype={ +$2(a,b){return this.a.push(a)}, +$S:100} +A.aa7.prototype={ +$2(a,b){return this.a.push(b)}, +$S:100} +A.ec.prototype={$iec:1} +A.f9.prototype={$if9:1} +A.ef.prototype={$ief:1} +A.KR.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.KS.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.KY.prototype={ +gq(a){var s=a.length +s.toString +return s}} +A.fa.prototype={$ifa:1} +A.L_.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.L0.prototype={ +gq(a){return a.length}} +A.Le.prototype={ +j(a){var s=String(a) +s.toString +return s}} +A.Lh.prototype={ +gq(a){return a.length}} +A.MD.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.Ap.prototype={ +j(a){var s,r,q,p=a.left +p.toString +s=a.top +s.toString +r=a.width +r.toString +q=a.height +q.toString +return"Rectangle ("+A.h(p)+", "+A.h(s)+") "+A.h(r)+" x "+A.h(q)}, +k(a,b){var s,r,q +if(b==null)return!1 +s=!1 +if(t.Bb.b(b)){r=a.left +r.toString +q=J.dB(b) +if(r===q.gdU(b)){r=a.top +r.toString +if(r===q.gFx(b)){r=a.width +r.toString +if(r===q.gbH(b)){s=a.height +s.toString +q=s===q.gb3(b) +s=q}}}}return s}, +gu(a){var s,r,q,p=a.left +p.toString +s=a.top +s.toString +r=a.width +r.toString +q=a.height +q.toString +return A.P(p,s,r,q,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +gKa(a){return a.height}, +gb3(a){var s=a.height +s.toString +return s}, +gNr(a){return a.width}, +gbH(a){var s=a.width +s.toString +return s}} +A.NN.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +return a[b]}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){if(a.length>0)return a[0] +throw A.c(A.R("No elements"))}, +gP(a){var s=a.length +if(s>0)return a[s-1] +throw A.c(A.R("No elements"))}, +gan(a){var s=a.length +if(s===1)return a[0] +if(s===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.B9.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.Ru.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.RF.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length,r=b>>>0!==b||b>=s +r.toString +if(r)throw A.c(A.cC(b,s,a,null,null)) +s=a[b] +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s +if(a.length>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s,r=a.length +if(r>0){s=a[r-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s,r=a.length +if(r===1){s=a[0] +s.toString +return s}if(r===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return a[b]}, +$iW:1, +$ibc:1, +$ij:1, +$iN:1} +A.aH.prototype={ +gX(a){return new A.G8(a,this.gq(a),A.bm(a).h("G8"))}, +D(a,b){throw A.c(A.a_("Cannot add to immutable List."))}, +f4(a){throw A.c(A.a_("Cannot remove from immutable List."))}, +A(a,b){throw A.c(A.a_("Cannot remove from immutable List."))}, +bx(a,b,c,d,e){throw A.c(A.a_("Cannot setRange on immutable List."))}, +dW(a,b,c,d){return this.bx(a,b,c,d,0)}} +A.G8.prototype={ +t(){var s=this,r=s.c+1,q=s.b +if(r>>0!==b||b>=s +s.toString +if(s)throw A.c(A.cC(b,this.gq(a),a,null,null)) +s=a.getItem(b) +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s=a.length +s.toString +if(s>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s=a.length +s.toString +if(s>0){s=a[s-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s=a.length +s.toString +if(s===1){s=a[0] +s.toString +return s}if(s===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return this.i(a,b)}, +$iW:1, +$ij:1, +$iN:1} +A.fH.prototype={$ifH:1} +A.HS.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length +s.toString +s=b>>>0!==b||b>=s +s.toString +if(s)throw A.c(A.cC(b,this.gq(a),a,null,null)) +s=a.getItem(b) +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s=a.length +s.toString +if(s>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s=a.length +s.toString +if(s>0){s=a[s-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s=a.length +s.toString +if(s===1){s=a[0] +s.toString +return s}if(s===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return this.i(a,b)}, +$iW:1, +$ij:1, +$iN:1} +A.IH.prototype={ +gq(a){return a.length}} +A.KB.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length +s.toString +s=b>>>0!==b||b>=s +s.toString +if(s)throw A.c(A.cC(b,this.gq(a),a,null,null)) +s=a.getItem(b) +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s=a.length +s.toString +if(s>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s=a.length +s.toString +if(s>0){s=a[s-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s=a.length +s.toString +if(s===1){s=a[0] +s.toString +return s}if(s===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return this.i(a,b)}, +$iW:1, +$ij:1, +$iN:1} +A.fQ.prototype={$ifQ:1} +A.L3.prototype={ +gq(a){var s=a.length +s.toString +return s}, +i(a,b){var s=a.length +s.toString +s=b>>>0!==b||b>=s +s.toString +if(s)throw A.c(A.cC(b,this.gq(a),a,null,null)) +s=a.getItem(b) +s.toString +return s}, +n(a,b,c){throw A.c(A.a_("Cannot assign element of immutable List."))}, +sq(a,b){throw A.c(A.a_("Cannot resize immutable List."))}, +gH(a){var s=a.length +s.toString +if(s>0){s=a[0] +s.toString +return s}throw A.c(A.R("No elements"))}, +gP(a){var s=a.length +s.toString +if(s>0){s=a[s-1] +s.toString +return s}throw A.c(A.R("No elements"))}, +gan(a){var s=a.length +s.toString +if(s===1){s=a[0] +s.toString +return s}if(s===0)throw A.c(A.R("No elements")) +throw A.c(A.R("More than one element"))}, +aM(a,b){return this.i(a,b)}, +$iW:1, +$ij:1, +$iN:1} +A.Oo.prototype={} +A.Op.prototype={} +A.P2.prototype={} +A.P3.prototype={} +A.RC.prototype={} +A.RD.prototype={} +A.S9.prototype={} +A.Sa.prototype={} +A.FS.prototype={} +A.EN.prototype={ +F(){return"ClipOp."+this.b}} +A.It.prototype={ +F(){return"PathFillType."+this.b}} +A.adu.prototype={ +hf(a,b){A.aJg(this.a,this.b,a,b)}} +A.Cm.prototype={ +eB(a){A.kG(this.b,this.c,a)}} +A.kl.prototype={ +gq(a){return this.a.gq(0)}, +mi(a){var s,r,q=this +if(!q.d&&q.e!=null){q.e.hf(a.a,a.gQk()) +return!1}s=q.c +if(s<=0)return!0 +r=q.IZ(s-1) +q.a.dJ(0,a) +return r}, +IZ(a){var s,r,q +for(s=this.a,r=!1;(s.c-s.b&s.a.length-1)>>>0>a;r=!0){q=s.ot() +A.kG(q.b,q.c,null)}return r}, +a_m(){var s=this,r=s.a +if(!r.gM(0)&&s.e!=null){r=r.ot() +s.e.hf(r.a,r.gQk()) +A.e3(s.gIW())}else s.d=!1}} +A.Wa.prototype={ +adD(a,b,c){this.a.bj(0,a,new A.Wb()).mi(new A.Cm(b,c,$.ad))}, +TB(a,b){var s=this.a.bj(0,a,new A.Wc()),r=s.e +s.e=new A.adu(b,$.ad) +if(r==null&&!s.d){s.d=!0 +A.e3(s.gIW())}}, +aaL(a){var s,r,q,p,o,n,m,l="Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (arguments must be a two-element list, channel name and new capacity)",k="Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (arguments must be a two-element list, channel name and flag state)",j=A.dh(a.buffer,a.byteOffset,a.byteLength) +if(j[0]===7){s=j[1] +if(s>=254)throw A.c(A.c8("Unrecognized message sent to dev.flutter/channel-buffers (method name too long)")) +r=2+s +q=B.W.e6(0,B.R.bZ(j,2,r)) +switch(q){case"resize":if(j[r]!==12)throw A.c(A.c8(l)) +p=r+1 +if(j[p]<2)throw A.c(A.c8(l));++p +if(j[p]!==7)throw A.c(A.c8("Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (first argument must be a string)"));++p +o=j[p] +if(o>=254)throw A.c(A.c8("Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (channel name must be less than 254 characters long)"));++p +r=p+o +n=B.W.e6(0,B.R.bZ(j,p,r)) +if(j[r]!==3)throw A.c(A.c8("Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (second argument must be an integer in the range 0 to 2147483647)")) +this.RQ(0,n,a.getUint32(r+1,B.aa===$.db())) +break +case"overflow":if(j[r]!==12)throw A.c(A.c8(k)) +p=r+1 +if(j[p]<2)throw A.c(A.c8(k));++p +if(j[p]!==7)throw A.c(A.c8("Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (first argument must be a string)"));++p +o=j[p] +if(o>=254)throw A.c(A.c8("Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (channel name must be less than 254 characters long)"));++p +r=p+o +B.W.e6(0,B.R.bZ(j,p,r)) +r=j[r] +if(r!==1&&r!==2)throw A.c(A.c8("Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (second argument must be a boolean)")) +break +default:throw A.c(A.c8("Unrecognized method '"+q+"' sent to dev.flutter/channel-buffers"))}}else{m=A.b(B.W.e6(0,j).split("\r"),t.s) +if(m.length===3&&J.e(m[0],"resize"))this.RQ(0,m[1],A.fl(m[2],null)) +else throw A.c(A.c8("Unrecognized message "+A.h(m)+" sent to dev.flutter/channel-buffers."))}}, +RQ(a,b,c){var s=this.a,r=s.i(0,b) +if(r==null)s.n(0,b,new A.kl(A.lr(c,t.S8),c)) +else{r.c=c +r.IZ(c)}}} +A.Wb.prototype={ +$0(){return new A.kl(A.lr(1,t.S8),1)}, +$S:104} +A.Wc.prototype={ +$0(){return new A.kl(A.lr(1,t.S8),1)}, +$S:104} +A.HV.prototype={ +k(a,b){if(b==null)return!1 +return b instanceof A.HV&&b.a===this.a&&b.b===this.b}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"OffsetBase("+B.c.R(this.a,1)+", "+B.c.R(this.b,1)+")"}} +A.n.prototype={ +gd7(){var s=this.a,r=this.b +return Math.sqrt(s*s+r*r)}, +gDh(){var s=this.a,r=this.b +return s*s+r*r}, +ac(a,b){return new A.n(this.a-b.a,this.b-b.b)}, +a6(a,b){return new A.n(this.a+b.a,this.b+b.b)}, +ad(a,b){return new A.n(this.a*b,this.b*b)}, +dr(a,b){return new A.n(this.a/b,this.b/b)}, +k(a,b){if(b==null)return!1 +return b instanceof A.n&&b.a===this.a&&b.b===this.b}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"Offset("+B.c.R(this.a,1)+", "+B.c.R(this.b,1)+")"}} +A.K.prototype={ +gM(a){return this.a<=0||this.b<=0}, +ac(a,b){var s=this +if(b instanceof A.K)return new A.n(s.a-b.a,s.b-b.b) +if(b instanceof A.n)return new A.K(s.a-b.a,s.b-b.b) +throw A.c(A.cx(b,null))}, +a6(a,b){return new A.K(this.a+b.a,this.b+b.b)}, +ad(a,b){return new A.K(this.a*b,this.b*b)}, +dr(a,b){return new A.K(this.a/b,this.b/b)}, +ih(a){return new A.n(a.a+this.a/2,a.b+this.b/2)}, +O_(a,b){return new A.n(b.a+this.a,b.b+this.b)}, +p(a,b){var s=b.a,r=!1 +if(s>=0)if(s=0&&s=s.c||s.b>=s.d}, +cX(a){var s=this,r=a.a,q=a.b +return new A.x(s.a+r,s.b+q,s.c+r,s.d+q)}, +aq(a,b,c){var s=this +return new A.x(s.a+b,s.b+c,s.c+b,s.d+c)}, +ec(a){var s=this +return new A.x(s.a-a,s.b-a,s.c+a,s.d+a)}, +cW(a){var s=this +return new A.x(Math.max(s.a,a.a),Math.max(s.b,a.b),Math.min(s.c,a.c),Math.min(s.d,a.d))}, +kx(a){var s=this +return new A.x(Math.min(s.a,a.a),Math.min(s.b,a.b),Math.max(s.c,a.c),Math.max(s.d,a.d))}, +xs(a){var s=this +if(s.c<=a.a||a.c<=s.a)return!1 +if(s.d<=a.b||a.d<=s.b)return!1 +return!0}, +gfL(){var s=this +return Math.min(Math.abs(s.c-s.a),Math.abs(s.d-s.b))}, +gaQ(){var s=this,r=s.a,q=s.b +return new A.n(r+(s.c-r)/2,q+(s.d-q)/2)}, +p(a,b){var s=this,r=b.a,q=!1 +if(r>=s.a)if(r=s.b&&rd&&s!==0)return Math.min(a,d/s) +return a}, +tH(){var s=this,r=s.c,q=s.a,p=Math.abs(r-q),o=s.d,n=s.b,m=Math.abs(o-n),l=s.Q,k=s.f,j=s.e,i=s.r,h=s.w,g=s.y,f=s.x,e=s.z,d=s.uv(s.uv(s.uv(s.uv(1,l,k,m),j,i,p),h,g,m),f,e,p) +if(d<1)return new A.i0(q,n,r,o,j*d,k*d,i*d,h*d,f*d,g*d,e*d,l*d,!1) +return new A.i0(q,n,r,o,j,k,i,h,f,g,e,l,!1)}, +p(a,b){var s,r,q,p,o,n=this,m=b.a,l=n.a,k=!0 +if(!(m=n.c)){k=b.b +k=k=n.d}if(k)return!1 +s=n.tH() +r=s.e +if(mk-r&&b.bk-r&&b.b>n.d-s.y){q=m-k+r +p=s.y +o=b.b-n.d+p}else{r=s.z +if(mn.d-s.Q){q=m-l-r +p=s.Q +o=b.b-n.d+p}else return!0}}}q/=r +o/=p +if(q*q+o*o>1)return!1 +return!0}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(A.r(s)!==J.T(b))return!1 +return b instanceof A.i0&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d&&b.e===s.e&&b.f===s.f&&b.r===s.r&&b.w===s.w&&b.z===s.z&&b.Q===s.Q&&b.x===s.x&&b.y===s.y}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.z,s.Q,s.x,s.y,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s,r,q=this,p=B.c.R(q.a,1)+", "+B.c.R(q.b,1)+", "+B.c.R(q.c,1)+", "+B.c.R(q.d,1),o=q.e,n=q.f,m=q.r,l=q.w +if(new A.aT(o,n).k(0,new A.aT(m,l))){s=q.x +r=q.y +s=new A.aT(m,l).k(0,new A.aT(s,r))&&new A.aT(s,r).k(0,new A.aT(q.z,q.Q))}else s=!1 +if(s){if(o===n)return"RRect.fromLTRBR("+p+", "+B.c.R(o,1)+")" +return"RRect.fromLTRBXY("+p+", "+B.c.R(o,1)+", "+B.c.R(n,1)+")"}return"RRect.fromLTRBAndCorners("+p+", topLeft: "+new A.aT(o,n).j(0)+", topRight: "+new A.aT(m,l).j(0)+", bottomRight: "+new A.aT(q.x,q.y).j(0)+", bottomLeft: "+new A.aT(q.z,q.Q).j(0)+")"}} +A.wD.prototype={ +F(){return"KeyEventType."+this.b}, +gEn(a){var s +switch(this.a){case 0:s="Key Down" +break +case 1:s="Key Up" +break +case 2:s="Key Repeat" +break +default:s=null}return s}} +A.a10.prototype={ +F(){return"KeyEventDeviceType."+this.b}} +A.f0.prototype={ +a35(){var s=this.e +return"0x"+B.f.iT(s,16)+new A.a0Z(B.c.d1(s/4294967296)).$0()}, +a_w(){var s=this.f +if(s==null)return"" +switch(s){case"\n":return'"\\n"' +case"\t":return'"\\t"' +case"\r":return'"\\r"' +case"\b":return'"\\b"' +case"\f":return'"\\f"' +default:return'"'+s+'"'}}, +a4G(){var s=this.f +if(s==null)return"" +return" (0x"+new A.ay(new A.js(s),new A.a1_(),t.Hz.h("ay")).bw(0," ")+")"}, +j(a){var s=this,r=s.b.gEn(0),q=B.f.iT(s.d,16),p=s.a35(),o=s.a_w(),n=s.a4G(),m=s.r?", synthesized":"" +return"KeyData("+r+", physical: 0x"+q+", logical: "+p+", character: "+o+n+m+")"}} +A.a0Z.prototype={ +$0(){switch(this.a){case 0:return" (Unicode)" +case 1:return" (Unprintable)" +case 2:return" (Flutter)" +case 17:return" (Android)" +case 18:return" (Fuchsia)" +case 19:return" (iOS)" +case 20:return" (macOS)" +case 21:return" (GTK)" +case 22:return" (Windows)" +case 23:return" (Web)" +case 24:return" (GLFW)"}return""}, +$S:45} +A.a1_.prototype={ +$1(a){return B.d.op(B.f.iT(a,16),2,"0")}, +$S:139} +A.w.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.w&&b.gm(b)===s.gm(s)}, +gu(a){return B.f.gu(this.gm(this))}, +j(a){return"Color(0x"+B.d.op(B.f.iT(this.gm(this),16),8,"0")+")"}, +gm(a){return this.a}} +A.KC.prototype={ +F(){return"StrokeCap."+this.b}} +A.aah.prototype={ +F(){return"StrokeJoin."+this.b}} +A.Ir.prototype={ +F(){return"PaintingStyle."+this.b}} +A.mL.prototype={ +F(){return"BlendMode."+this.b}} +A.pD.prototype={ +F(){return"Clip."+this.b}} +A.V8.prototype={ +F(){return"BlurStyle."+this.b}} +A.wS.prototype={ +k(a,b){if(b==null)return!1 +return b instanceof A.wS&&b.a===this.a&&b.b===this.b}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"MaskFilter.blur("+this.a.j(0)+", "+B.c.R(this.b,1)+")"}} +A.nb.prototype={ +F(){return"FilterQuality."+this.b}} +A.alS.prototype={} +A.q8.prototype={ +F(){return"ImageByteFormat."+this.b}} +A.lT.prototype={ +bc(a,b){return new A.lT(this.a,this.b.ad(0,b),this.c*b)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.lT&&b.a.k(0,s.a)&&b.b.k(0,s.b)&&b.c===s.c}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"TextShadow("+this.a.j(0)+", "+this.b.j(0)+", "+A.h(this.c)+")"}} +A.le.prototype={ +gq(a){return this.b}} +A.a61.prototype={} +A.la.prototype={ +j(a){var s,r=A.r(this).j(0),q=this.a,p=A.cP(q[2],0),o=q[1],n=A.cP(o,0),m=q[4],l=A.cP(m,0),k=A.cP(q[3],0) +o=A.cP(o,0) +s=q[0] +return r+"(buildDuration: "+(A.h((p.a-n.a)*0.001)+"ms")+", rasterDuration: "+(A.h((l.a-k.a)*0.001)+"ms")+", vsyncOverhead: "+(A.h((o.a-A.cP(s,0).a)*0.001)+"ms")+", totalSpan: "+(A.h((A.cP(m,0).a-A.cP(s,0).a)*0.001)+"ms")+", layerCacheCount: "+q[6]+", layerCacheBytes: "+q[7]+", pictureCacheCount: "+q[8]+", pictureCacheBytes: "+q[9]+", frameNumber: "+B.b.gP(q)+")"}} +A.hA.prototype={ +F(){return"AppLifecycleState."+this.b}} +A.uj.prototype={ +F(){return"AppExitResponse."+this.b}} +A.ls.prototype={ +goe(a){var s=this.a,r=B.b_.i(0,s) +return r==null?s:r}, +gvY(){var s=this.c,r=B.bf.i(0,s) +return r==null?s:r}, +k(a,b){var s +if(b==null)return!1 +if(this===b)return!0 +s=!1 +if(b instanceof A.ls)if(b.goe(0)===this.goe(0))s=b.gvY()==this.gvY() +return s}, +gu(a){return A.P(this.goe(0),null,this.gvY(),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return this.a4H("_")}, +a4H(a){var s=this.goe(0) +if(this.c!=null)s+=a+A.h(this.gvY()) +return s.charCodeAt(0)==0?s:s}} +A.X8.prototype={ +F(){return"DartPerformanceMode."+this.b}} +A.r2.prototype={ +j(a){return"SemanticsActionEvent("+this.a.j(0)+", view: "+this.b+", node: "+this.c+")"}} +A.ac0.prototype={ +F(){return"ViewFocusState."+this.b}} +A.Lj.prototype={ +F(){return"ViewFocusDirection."+this.b}} +A.jY.prototype={ +F(){return"PointerChange."+this.b}} +A.iN.prototype={ +F(){return"PointerDeviceKind."+this.b}} +A.qD.prototype={ +F(){return"PointerSignalKind."+this.b}} +A.hh.prototype={ +l_(a){var s=this.p4 +if(s!=null)s.$1$allowPlatformDefault(a)}, +j(a){return"PointerData(viewId: "+this.a+", x: "+A.h(this.x)+", y: "+A.h(this.y)+")"}} +A.lB.prototype={} +A.co.prototype={ +j(a){return"SemanticsAction."+this.b}} +A.c3.prototype={ +j(a){return"SemanticsFlag."+this.b}} +A.a9k.prototype={} +A.lA.prototype={ +F(){return"PlaceholderAlignment."+this.b}} +A.h5.prototype={ +j(a){var s=B.Gi.i(0,this.a) +s.toString +return s}} +A.iz.prototype={ +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.iz&&b.a===this.a&&b.b===this.b}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"FontVariation('"+this.a+"', "+A.h(this.b)+")"}} +A.iA.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.iA&&s.a.k(0,b.a)&&s.b.k(0,b.b)&&s.c===b.c}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"Glyph("+this.a.j(0)+", textRange: "+this.b.j(0)+", direction: "+this.c.j(0)+")"}} +A.kb.prototype={ +F(){return"TextAlign."+this.b}} +A.lX.prototype={ +F(){return"TextBaseline."+this.b}} +A.zx.prototype={ +k(a,b){if(b==null)return!1 +return b instanceof A.zx&&b.a===this.a}, +gu(a){return B.f.gu(this.a)}, +j(a){var s,r=this.a +if(r===0)return"TextDecoration.none" +s=A.b([],t.s) +if((r&1)!==0)s.push("underline") +if((r&2)!==0)s.push("overline") +if((r&4)!==0)s.push("lineThrough") +if(s.length===1)return"TextDecoration."+s[0] +return"TextDecoration.combine(["+B.b.bw(s,", ")+"])"}} +A.aaI.prototype={ +F(){return"TextDecorationStyle."+this.b}} +A.KP.prototype={ +F(){return"TextLeadingDistribution."+this.b}} +A.KM.prototype={ +k(a,b){var s +if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +s=!1 +if(b instanceof A.KM)s=b.c===this.c +return s}, +gu(a){return A.P(!0,!0,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"TextHeightBehavior(applyHeightToFirstAscent: true, applyHeightToLastDescent: true, leadingDistribution: "+this.c.j(0)+")"}} +A.iX.prototype={ +F(){return"TextDirection."+this.b}} +A.ee.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.ee&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d&&b.e===s.e}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s=this +return"TextBox.fromLTRBD("+B.c.R(s.a,1)+", "+B.c.R(s.b,1)+", "+B.c.R(s.c,1)+", "+B.c.R(s.d,1)+", "+s.e.j(0)+")"}} +A.zu.prototype={ +F(){return"TextAffinity."+this.b}} +A.ao.prototype={ +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.ao&&b.a===this.a&&b.b===this.b}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return A.r(this).j(0)+"(offset: "+this.a+", affinity: "+this.b.j(0)+")"}} +A.ch.prototype={ +gma(){return this.a>=0&&this.b>=0}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.ch&&b.a===this.a&&b.b===this.b}, +gu(a){return A.P(B.f.gu(this.a),B.f.gu(this.b),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"TextRange(start: "+this.a+", end: "+this.b+")"}} +A.ly.prototype={ +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.ly&&b.a===this.a}, +gu(a){return B.c.gu(this.a)}, +j(a){return A.r(this).j(0)+"(width: "+A.h(this.a)+")"}} +A.Ek.prototype={ +F(){return"BoxHeightStyle."+this.b}} +A.Vd.prototype={ +F(){return"BoxWidthStyle."+this.b}} +A.KX.prototype={ +F(){return"TileMode."+this.b}} +A.XC.prototype={} +A.Eo.prototype={ +F(){return"Brightness."+this.b}} +A.Vx.prototype={ +k(a,b){if(b==null)return!1 +return this===b}, +gu(a){return A.J.prototype.gu.call(this,0)}} +A.Gp.prototype={ +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.Gp}, +gu(a){return A.P(null,null,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"GestureSettings(physicalTouchSlop: null, physicalDoubleTapSlop: null)"}} +A.UR.prototype={ +tu(a){var s,r,q +if(A.j0(a,0,null).gQ2())return A.tG(B.ie,a,B.W,!1) +s=this.b +if(s==null){s=self.window.document.querySelector("meta[name=assetBase]") +r=s==null?null:s.content +s=r==null +if(!s)self.window.console.warn("The `assetBase` meta tag is now deprecated.\nUse engineInitializer.initializeEngine(config) instead.\nSee: https://docs.flutter.dev/development/platform-integration/web/initialization") +q=this.b=s?"":r +s=q}return A.tG(B.ie,s+"assets/"+a,B.W,!1)}} +A.uw.prototype={ +F(){return"BrowserEngine."+this.b}} +A.jR.prototype={ +F(){return"OperatingSystem."+this.b}} +A.Vh.prototype={ +gq2(){var s=this.b +if(s===$){s=self.window.navigator.userAgent +this.b!==$&&A.a1() +this.b=s}return s}, +gby(){var s,r,q,p=this,o=p.d +if(o===$){s=self.window.navigator.vendor +r=p.gq2() +q=p.qJ(s,r.toLowerCase()) +p.d!==$&&A.a1() +p.d=q +o=q}s=o +return s}, +qJ(a,b){if(a==="Google Inc.")return B.bH +else if(a==="Apple Computer, Inc.")return B.K +else if(B.d.p(b,"Edg/"))return B.bH +else if(a===""&&B.d.p(b,"firefox"))return B.b8 +A.mC("WARNING: failed to detect current browser engine. Assuming this is a Chromium-compatible browser.") +return B.bH}, +gbX(){var s,r,q=this,p=q.f +if(p===$){s=q.a9o() +q.f!==$&&A.a1() +q.f=s +p=s}r=p +return r}, +a9o(){var s,r,q=null,p=self.window +p=p.navigator.platform +if(p==null)p=q +p.toString +s=p +if(B.d.c6(s,"Mac")){p=self.window +p=p.navigator.maxTouchPoints +if(p==null)p=q +p=p==null?q:B.c.Y(p) +r=p +if((r==null?0:r)>2)return B.ak +return B.b0}else if(B.d.p(s.toLowerCase(),"iphone")||B.d.p(s.toLowerCase(),"ipad")||B.d.p(s.toLowerCase(),"ipod"))return B.ak +else{p=this.gq2() +if(B.d.p(p,"Android"))return B.f5 +else if(B.d.c6(s,"Linux"))return B.iG +else if(B.d.c6(s,"Win"))return B.r3 +else return B.He}}, +gacf(){return B.j7.p(0,this.gbX())}} +A.ajK.prototype={ +$1(a){return this.SB(a)}, +$0(){return this.$1(null)}, +SB(a){var s=0,r=A.C(t.H) +var $async$$1=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:s=2 +return A.y(A.akc(a),$async$$1) +case 2:return A.A(null,r)}}) +return A.B($async$$1,r)}, +$S:310} +A.ajL.prototype={ +$0(){var s=0,r=A.C(t.H),q=this +var $async$$0=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:q.a.$0() +s=2 +return A.y(A.anJ(),$async$$0) +case 2:q.b.$0() +return A.A(null,r)}}) +return A.B($async$$0,r)}, +$S:12} +A.Vl.prototype={ +FZ(a){return $.aug.bj(0,a,new A.Vm(a))}} +A.Vm.prototype={ +$0(){return A.b6(this.a)}, +$S:74} +A.a_n.prototype={ +Ca(a){var s=new A.a_q(a) +A.bV(self.window,"popstate",B.k2.FZ(s),null) +return new A.a_p(this,s)}, +T1(){var s=self.window.location.hash +if(s.length===0||s==="#")return"/" +return B.d.cZ(s,1)}, +G1(a){return A.apH(self.window.history)}, +Ra(a){var s,r=a.length===0||a==="/"?"":"#"+a,q=self.window.location.pathname +if(q==null)q=null +q.toString +s=self.window.location.search +if(s==null)s=null +s.toString +return q+s+r}, +Rn(a,b,c,d){var s=this.Ra(d),r=self.window.history,q=A.a4(b) +if(q==null)q=t.K.a(q) +r.pushState(q,c,s)}, +mn(a,b,c,d){var s,r=this.Ra(d),q=self.window.history +if(b==null)s=null +else{s=A.a4(b) +if(s==null)s=t.K.a(s)}q.replaceState(s,c,r)}, +tG(a,b){var s=self.window.history +s.go(b) +return this.a79()}, +a79(){var s=new A.a9($.ad,t.U),r=A.bj("unsubscribe") +r.b=this.Ca(new A.a_o(r,new A.b1(s,t.h))) +return s}} +A.a_q.prototype={ +$1(a){var s=t.e.a(a).state +if(s==null)s=null +else{s=A.any(s) +s.toString}this.a.$1(s)}, +$S:307} +A.a_p.prototype={ +$0(){var s=this.b +A.cz(self.window,"popstate",B.k2.FZ(s),null) +$.aug.A(0,s) +return null}, +$S:0} +A.a_o.prototype={ +$1(a){this.a.aP().$0() +this.b.eS(0)}, +$S:9} +A.a68.prototype={} +A.E5.prototype={ +gq(a){return a.length}} +A.E6.prototype={ +a9(a,b){return A.hy(a.get(b))!=null}, +i(a,b){return A.hy(a.get(b))}, +V(a,b){var s,r,q=a.entries() +for(;!0;){s=q.next() +r=s.done +r.toString +if(r)return +r=s.value[0] +r.toString +b.$2(r,A.hy(s.value[1]))}}, +gbp(a){var s=A.b([],t.s) +this.V(a,new A.UV(s)) +return s}, +gaF(a){var s=A.b([],t.n4) +this.V(a,new A.UW(s)) +return s}, +gq(a){var s=a.size +s.toString +return s}, +gM(a){var s=a.size +s.toString +return s===0}, +gb9(a){var s=a.size +s.toString +return s!==0}, +n(a,b,c){throw A.c(A.a_("Not supported"))}, +bj(a,b,c){throw A.c(A.a_("Not supported"))}, +A(a,b){throw A.c(A.a_("Not supported"))}, +$iaD:1} +A.UV.prototype={ +$2(a,b){return this.a.push(a)}, +$S:16} +A.UW.prototype={ +$2(a,b){return this.a.push(b)}, +$S:16} +A.E7.prototype={ +gq(a){return a.length}} +A.kP.prototype={} +A.HU.prototype={ +gq(a){return a.length}} +A.LU.prototype={} +A.uD.prototype={ +gCl(a){var s=this.x +return s.a/s.b}, +CK(a,b,c,d,e,f,g,h,i){var s=this,r=g==null?s.a:g,q=i==null?s.x:i,p=h==null?s.b:h,o=c==null?s.z:c,n=e==null?s.Q:e,m=d==null?s.as:d,l=f==null?s.at:f,k=b==null?s.ax:b,j=a==null?s.CW:a +return A.azh(j,k,null,o,m,s.y,n,l,r,!1,!1,!1,!1,p,s.ay,s.r,q,s.ch)}, +CH(a){var s=null +return this.CK(s,s,s,s,s,s,s,a,s)}, +a92(a,b,c,d,e,f,g){return this.CK(a,null,b,c,d,e,f,null,g)}, +a8M(a){var s=null +return this.CK(s,a,s,s,s,s,s,s,s)}, +j(a){var s=this +return"CameraValue(isRecordingVideo: false, isInitialized: "+s.a+", errorDescription: "+A.h(s.w)+", previewSize: "+A.h(s.x)+", isStreamingImages: false, flashMode: "+s.y.j(0)+", exposureMode: "+s.z.j(0)+", focusMode: "+s.Q.j(0)+", exposurePointSupported: "+s.as+", focusPointSupported: "+s.at+", deviceOrientation: "+s.ax.j(0)+", lockedCaptureOrientation: "+A.h(s.ay)+", recordingOrientation: "+A.h(s.ch)+", isPreviewPaused: false, previewPausedOrientation: "+A.h(s.r)+", description: "+s.CW.j(0)+")"}} +A.Eu.prototype={ +i6(a){return this.a2K(a)}, +a2K(a2){var s=0,r=A.C(t.H),q=1,p,o=[],n=this,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1 +var $async$i6=A.D(function(a3,a4){if(a3===1){p=a4 +s=q}while(true)switch(s){case 0:if(n.z)throw A.c(A.fq("Disposed CameraController","initialize was called on a disposed CameraController")) +j=$.ad +m=new A.b1(new A.a9(j,t.U),t.h) +n.as=m.a +q=3 +l=new A.b1(new A.a9(j,t.x_),t.gM) +if(n.at==null)n.at=$.mE().QX().hT(new A.VA(n)) +s=6 +return A.y($.mE().lM(a2,n.w),$async$i6) +case 6:j=a4 +n.y=j +$.mE().QW(j).gH(0).aT(0,new A.VB(l),t.H) +j=$.mE() +i=n.y +s=7 +return A.y(j.o7(i,B.CG),$async$i6) +case 7:j=n.a +s=8 +return A.y(l.a.aT(0,new A.VC(),t.tW),$async$i6) +case 8:i=a4 +s=9 +return A.y(l.a.aT(0,new A.VD(),t.Xx),$async$i6) +case 9:h=a4 +s=10 +return A.y(l.a.aT(0,new A.VE(),t.b3),$async$i6) +case 10:g=a4 +f=t.X7 +c=j +b=a2 +a=h +s=11 +return A.y(l.a.aT(0,new A.VF(),f),$async$i6) +case 11:a0=a4 +a1=g +s=12 +return A.y(l.a.aT(0,new A.VG(),f),$async$i6) +case 12:n.sm(0,c.a92(b,a,a0,a1,a4,!0,i)) +o.push(5) +s=4 +break +case 3:q=2 +d=p +j=A.a6(d) +if(j instanceof A.fI){k=j +j=A.fq(k.a,k.b) +throw A.c(j)}else throw d +o.push(5) +s=4 +break +case 2:o=[1] +case 4:q=1 +J.aoF(m) +s=o.pop() +break +case 5:return A.A(null,r) +case 1:return A.z(p,r)}}) +return A.B($async$i6,r)}, +jI(){var s=0,r=A.C(t.rx),q,p=2,o,n=this,m,l,k,j,i +var $async$jI=A.D(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:n.MA("takePicture") +k=n.a +if(k.b)throw A.c(A.fq("Previous capture has not returned yet.","takePicture was called before the previous capture returned.")) +p=4 +n.sm(0,k.CH(!0)) +s=7 +return A.y($.mE().ta(n.y),$async$jI) +case 7:m=b +n.sm(0,n.a.CH(!1)) +q=m +s=1 +break +p=2 +s=6 +break +case 4:p=3 +i=o +k=A.a6(i) +if(k instanceof A.fI){l=k +n.sm(0,n.a.CH(!1)) +throw A.c(A.fq(l.a,l.b))}else throw i +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$jI,r)}, +a7U(){var s,r,q +this.MA("buildPreview") +try{r=$.mE().O2(this.y) +return r}catch(q){r=A.a6(q) +if(r instanceof A.fI){s=r +throw A.c(A.fq(s.a,s.b))}else throw q}}, +l(){var s=0,r=A.C(t.H),q,p=this,o +var $async$l=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:if(p.z){s=1 +break}o=p.at +if(o!=null)o.aA(0) +p.z=!0 +p.dI() +o=p.as +s=o!=null?3:4 +break +case 3:s=5 +return A.y(o,$async$l) +case 5:s=6 +return A.y($.mE().h5(p.y),$async$l) +case 6:case 4:case 1:return A.A(q,r)}}) +return A.B($async$l,r)}, +MA(a){if(!this.a.a)throw A.c(A.fq("Uninitialized CameraController",a+"() was called on an uninitialized CameraController.")) +if(this.z)throw A.c(A.fq("Disposed CameraController",a+"() was called on a disposed CameraController."))}, +J(a,b){if(!this.z)this.Uj(0,b)}} +A.VA.prototype={ +$1(a){var s=this.a +s.sm(0,s.a.a8M(a.a))}, +$S:304} +A.VB.prototype={ +$1(a){this.a.cv(0,a)}, +$S:105} +A.VC.prototype={ +$1(a){return new A.K(a.b,a.c)}, +$S:303} +A.VD.prototype={ +$1(a){return a.d}, +$S:302} +A.VE.prototype={ +$1(a){return a.e}, +$S:300} +A.VF.prototype={ +$1(a){return a.f}, +$S:106} +A.VG.prototype={ +$1(a){return a.r}, +$S:106} +A.Ew.prototype={ +K(a){var s=null,r=this.c +return r.a.a?new A.kg(r,new A.VS(this),s,s,t.BU):A.ck(s,s,s,s,s,s,s,s,s)}, +a7h(a){return a}, +a_Z(){var s=this.c.a +s=s.ax +return s}} +A.VS.prototype={ +$3(a,b,c){var s=null,r=this.a,q=B.b.p(A.b([B.hF,B.hG],t.UW),r.a_Z()),p=r.c,o=p.a +q=q?J.aoG(o):1/J.aoG(o) +p=r.a7h(p.a7U()) +return new A.pp(q,A.re(B.bo,A.b([p,c==null?A.ck(s,s,s,s,s,s,s,s,s):c],t.E),B.KQ),s)}, +$S:298} +A.dH.prototype={ +k(a,b){var s +if(b==null)return!1 +if(this!==b)s=b instanceof A.dH&&A.r(this)===A.r(b)&&this.a===b.a +else s=!0 +return s}, +gu(a){return B.f.gu(this.a)}} +A.dq.prototype={ +eJ(){var s=this +return A.as(["cameraId",s.a,"previewWidth",s.b,"previewHeight",s.c,"exposureMode",A.aJH(s.d),"exposurePointSupported",s.f,"focusMode",A.aJI(s.e),"focusPointSupported",s.r],t.N,t.K)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r!==b)s=r.oY(0,b)&&b instanceof A.dq&&A.r(r)===A.r(b)&&r.b===b.b&&r.c===b.c&&r.d===b.d&&r.f===b.f&&r.e===b.e&&r.r===b.r +else s=!0 +return s}, +gu(a){var s=this +return A.P(A.dH.prototype.gu.call(s,0),s.b,s.c,s.d,s.f,s.e,s.r,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.uC.prototype={ +eJ(){return A.as(["cameraId",this.a,"captureWidth",this.b,"captureHeight",this.c],t.N,t.K)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r!==b)s=b instanceof A.uC&&r.oY(0,b)&&A.r(r)===A.r(b)&&r.b===b.b&&r.c===b.c +else s=!0 +return s}, +gu(a){return A.P(A.dH.prototype.gu.call(this,0),this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.px.prototype={ +eJ(){return A.as(["cameraId",this.a],t.N,t.K)}, +k(a,b){var s +if(b==null)return!1 +if(this!==b)s=this.oY(0,b)&&b instanceof A.px&&A.r(this)===A.r(b) +else s=!0 +return s}, +gu(a){return A.dH.prototype.gu.call(this,0)}} +A.kU.prototype={ +eJ(){return A.as(["cameraId",this.a,"description",this.b],t.N,t.K)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r!==b)s=r.oY(0,b)&&b instanceof A.kU&&A.r(r)===A.r(b)&&r.b===b.b +else s=!0 +return s}, +gu(a){return A.P(A.dH.prototype.gu.call(this,0),this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.rD.prototype={ +eJ(){var s,r=this.b.c +r===$&&A.a() +s=this.c +s=s==null?null:B.f.c7(s.a,1000) +return A.as(["cameraId",this.a,"path",r,"maxVideoDuration",s],t.N,t.X)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r!==b)s=r.oY(0,b)&&b instanceof A.rD&&A.r(r)===A.r(b)&&J.e(r.c,b.c) +else s=!0 +return s}, +gu(a){return A.P(A.dH.prototype.gu.call(this,0),this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.vd.prototype={} +A.h1.prototype={ +eJ(){return A.as(["orientation",A.aJG(this.a)],t.N,t.K)}, +k(a,b){var s +if(b==null)return!1 +if(this!==b)s=b instanceof A.h1&&A.r(this)===A.r(b)&&this.a===b.a +else s=!0 +return s}, +gu(a){return A.fL(this.a)}} +A.a4g.prototype={ +XR(){B.GF.iY(new A.a4j(this))}, +I2(a){var s=this.b,r=A.o(s).h("c0<1>") +return new A.p2(new A.a4h(a),new A.c0(s,r),r.h("p2"))}, +ie(){var s=0,r=A.C(t.RI),q,p=2,o,n,m,l,k,j +var $async$ie=A.D(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:p=4 +s=7 +return A.y(B.dF.wP("availableCameras",t.f),$async$ie) +case 7:n=b +if(n==null){l=A.b([],t.X5) +q=l +s=1 +break}l=J.kK(n,new A.a4i(),t.F6) +l=A.a8(l,!0,l.$ti.h("aI.E")) +q=l +s=1 +break +p=2 +s=6 +break +case 4:p=3 +j=o +l=A.a6(j) +if(l instanceof A.fI){m=l +throw A.c(A.fq(m.a,m.b))}else throw j +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$ie,r)}, +lM(a,b){return this.a98(a,b)}, +a98(a,b){var s=0,r=A.C(t.S),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e +var $async$lM=A.D(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:p=4 +j=b.a +m=j +i=m!=null?n.a5H(j):null +h=t.N +g=t.z +s=7 +return A.y(B.dF.o9("create",A.as(["cameraName",a.a,"resolutionPreset",i,"fps",b.b,"videoBitrate",b.c,"audioBitrate",b.d,"enableAudio",!1],h,g),h,g),$async$lM) +case 7:l=d +g=l +g.toString +g=J.ah(g,"cameraId") +g.toString +A.cj(g) +q=g +s=1 +break +p=2 +s=6 +break +case 4:p=3 +e=o +i=A.a6(e) +if(i instanceof A.fI){k=i +throw A.c(A.fq(k.a,k.b))}else throw e +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$lM,r)}, +o7(a,b){var s,r,q,p +this.a.bj(0,a,new A.a4l(this,a)) +s=new A.a9($.ad,t.U) +r=new A.b1(s,t.h) +A.ac3(this.I2(a),t.OY,t.AX).gH(0).aT(0,new A.a4m(r),t.P) +q=t.N +p=t.z +B.dF.o9("initialize",A.as(["cameraId",a,"imageFormatGroup",A.aBu(b)],q,p),q,p).ko(new A.a4n(r)) +return s}, +h5(a){return this.a9C(a)}, +a9C(a){var s=0,r=A.C(t.H),q=this,p,o +var $async$h5=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=q.a +if(o.a9(0,a)){p=o.i(0,a) +if(p!=null)p.iY(null) +o.A(0,a)}s=2 +return A.y(B.dF.cJ("dispose",A.as(["cameraId",a],t.N,t.z),!1,t.H),$async$h5) +case 2:return A.A(null,r)}}) +return A.B($async$h5,r)}, +QW(a){return A.ac3(this.I2(a),t.OY,t.AX)}, +QX(){var s=this.c +return A.ac3(new A.c0(s,A.o(s).h("c0<1>")),t.BS,t.x1)}, +ta(a){return this.aex(a)}, +aex(a){var s=0,r=A.C(t.rx),q,p,o +var $async$ta=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:p=t.N +s=3 +return A.y(B.dF.cJ("takePicture",A.as(["cameraId",a],p,t.z),!1,p),$async$ta) +case 3:o=c +if(o==null)throw A.c(A.fq("INVALID_PATH",'The platform "'+A.eF().j(0)+'" did not return a path while reporting success. The platform should always return a valid path or report an error.')) +q=A.zZ(o,null,null,null,null) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$ta,r)}, +O2(a){return new A.KT(a,null)}, +a5H(a){switch(a.a){case 5:return"max" +case 4:return"ultraHigh" +case 3:return"veryHigh" +case 2:return"high" +case 1:return"medium" +case 0:return"low"}}, +DH(a){return this.aaw(a)}, +aaw(a){var s=0,r=A.C(t.z),q=this,p +var $async$DH=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:switch(a.a){case"orientation_changed":p=J.kJ(t.d.a(a.b),t.N,t.X).i(0,"orientation") +p.toString +q.c.D(0,new A.h1(A.aIH(A.bw(p)))) +break +default:throw A.c(A.a4A(null))}return A.A(null,r)}}) +return A.B($async$DH,r)}, +DG(a,b){return this.aau(a,b)}, +aau(a,b){var s=0,r=A.C(t.z),q=this,p,o,n,m,l,k,j +var $async$DG=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:switch(a.a){case"initialized":p=J.kJ(t.d.a(a.b),t.N,t.X) +o=p.i(0,"previewWidth") +o.toString +A.bA(o) +n=p.i(0,"previewHeight") +n.toString +A.bA(n) +m=p.i(0,"exposureMode") +m.toString +m=A.aII(A.bw(m)) +l=p.i(0,"exposurePointSupported") +l.toString +A.ky(l) +k=p.i(0,"focusMode") +k.toString +k=A.aIJ(A.bw(k)) +j=p.i(0,"focusPointSupported") +j.toString +q.b.D(0,new A.dq(o,n,m,k,l,A.ky(j),b)) +break +case"resolution_changed":p=J.kJ(t.d.a(a.b),t.N,t.X) +o=p.i(0,"captureWidth") +o.toString +A.bA(o) +n=p.i(0,"captureHeight") +n.toString +q.b.D(0,new A.uC(o,A.bA(n),b)) +break +case"camera_closing":q.b.D(0,new A.px(b)) +break +case"video_recorded":p=J.kJ(t.d.a(a.b),t.N,t.X) +o=p.i(0,"path") +o.toString +o=A.zZ(A.bw(o),null,null,null,null) +if(p.i(0,"maxVideoDuration")!=null){n=p.i(0,"maxVideoDuration") +n.toString +n=A.cP(0,A.cj(n))}else n=null +q.b.D(0,new A.rD(o,n,b)) +break +case"error":o=J.kJ(t.d.a(a.b),t.N,t.X).i(0,"description") +o.toString +q.b.D(0,new A.kU(A.bw(o),b)) +break +default:throw A.c(A.a4A(null))}return A.A(null,r)}}) +return A.B($async$DG,r)}} +A.a4j.prototype={ +$1(a){return this.a.DH(a)}, +$S:43} +A.a4h.prototype={ +$1(a){return a.a===this.a}, +$S:107} +A.a4i.prototype={ +$1(a){var s,r=J.ax(a),q=r.i(a,"name") +q.toString +A.bw(q) +s=r.i(a,"lensFacing") +s.toString +s=A.aJz(A.bw(s)) +r=r.i(a,"sensorOrientation") +r.toString +return new A.iq(q,s,A.cj(r))}, +$S:294} +A.a4l.prototype={ +$0(){var s=this.b,r=new A.du("flutter.io/cameraPlugin/camera"+s,B.ah) +r.iY(new A.a4k(this.a,s)) +return r}, +$S:292} +A.a4k.prototype={ +$1(a){return this.a.DG(a,this.b)}, +$S:43} +A.a4m.prototype={ +$1(a){this.a.eS(0)}, +$S:105} +A.a4n.prototype={ +$2(a,b){if(!(a instanceof A.fI))throw A.c(a) +this.a.lJ(new A.mO(a.a,a.b),b)}, +$S:38} +A.VI.prototype={} +A.uA.prototype={ +F(){return"CameraLensDirection."+this.b}} +A.iq.prototype={ +k(a,b){var s,r=this +if(b==null)return!1 +if(r!==b)s=b instanceof A.iq&&A.r(r)===A.r(b)&&r.a===b.a&&r.b===b.b +else s=!0 +return s}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"CameraDescription("+this.a+", "+this.b.j(0)+", "+this.c+")"}} +A.mO.prototype={ +j(a){return"CameraException("+this.a+", "+A.h(this.b)+")"}, +$ibR:1} +A.n2.prototype={ +F(){return"ExposureMode."+this.b}} +A.Z6.prototype={ +F(){return"FlashMode."+this.b}} +A.ne.prototype={ +F(){return"FocusMode."+this.b}} +A.a07.prototype={ +F(){return"ImageFormatGroup."+this.b}} +A.Hs.prototype={ +k(a,b){var s +if(b==null)return!1 +if(b===this)return!0 +if(J.T(b)!==A.r(this))return!1 +if(b instanceof A.Hs)s=this.a===b.a +else s=!1 +return s}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,!1,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s=this +return"MediaSettings{resolutionPreset: "+s.a.j(0)+", fps: "+A.h(s.b)+", videoBitrate: "+A.h(s.c)+", audioBitrate: "+A.h(s.d)+", enableAudio: false}"}} +A.a7N.prototype={ +F(){return"ResolutionPreset."+this.b}} +A.Et.prototype={ +hd(a){var s=0,r=A.C(t.H),q=this,p,o,n,m,l,k +var $async$hd=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:k=q.a +s=2 +return A.y(q.as.mv(q.b,k),$async$hd) +case 2:q.f=c +p=self +o=p.document.createElement("video") +q.d!==$&&A.bx() +q.d=o +n=p.document.createElement("div") +n.style.setProperty("object-fit","cover") +n.style.setProperty("height","100%") +n.style.setProperty("width","100%") +n.append(o) +q.e!==$&&A.bx() +q.e=n +$.aoE() +$.DF().xK("plugins.flutter.io/camera_"+k,new A.VW(q),!0) +o.autoplay=!1 +o.muted=!0 +o.srcObject=q.f +o.setAttribute("playsinline","") +q.FT() +k=o.style +k.transformOrigin="center" +k.pointerEvents="none" +k.width="100%" +k.height="100%" +k.objectFit="cover" +m=q.f.getVideoTracks() +m=t.Lc.b(m)?m:new A.bK(m,A.Z(m).h("bK<1,U>")) +k=J.ax(m) +if(k.gb9(m)){l=k.gH(m) +q.w=A.oO(l,"ended",new A.VX(q,l),!1,t.m)}return A.A(null,r)}}) +return A.B($async$hd,r)}, +rX(a){var s=0,r=A.C(t.H),q=this,p,o +var $async$rX=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=q.d +o===$&&A.a() +s=o.srcObject==null?2:3 +break +case 2:s=4 +return A.y(q.as.mv(q.b,q.a),$async$rX) +case 4:p=c +q.f=p +o.srcObject=p +case 3:s=5 +return A.y(A.cN(o.play(),t.X),$async$rX) +case 5:return A.A(null,r)}}) +return A.B($async$rX,r)}, +eo(a){var s,r,q=this,p=q.f.getVideoTracks(),o=t.Lc +p=o.b(p)?p:new A.bK(p,A.Z(p).h("bK<1,U>")) +s=J.ax(p) +if(s.gb9(p))q.r.D(0,s.gH(p)) +s=q.f +if(s==null)r=null +else{s=s.getTracks() +r=o.b(s)?s:new A.bK(s,A.Z(s).h("bK<1,U>"))}if(r!=null)for(o=J.ak(r);o.t();)o.gG(o).stop() +o=q.d +o===$&&A.a() +o.srcObject=null +q.f=null}, +jI(){var s=0,r=A.C(t.rx),q,p=this,o,n,m,l,k,j,i +var $async$jI=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:i=p.d +i===$&&A.a() +o=i.videoWidth +n=i.videoHeight +m=self +l=m.document.createElement("canvas") +l.width=o +l.height=n +p.FT() +k=l.getContext("2d") +if(k==null)k=t.m.a(k) +A.b7(k,"drawImage",[i,0,0,o,n]) +i=new A.a9($.ad,t.XC) +l.toBlob(A.b6(new A.VZ(new A.b1(i,t.m_))),"image/jpeg") +s=3 +return A.y(i,$async$jI) +case 3:j=b +q=A.zZ(m.URL.createObjectURL(j),null,null,null,null) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$jI,r)}, +Tc(){var s,r,q=this.d +q===$&&A.a() +q=q.srcObject +if(q==null)s=null +else{q=q.getVideoTracks() +q=t.Lc.b(q)?q:new A.bK(q,A.Z(q).h("bK<1,U>")) +s=q}if(s==null)s=A.b([],t.E5) +q=J.ax(s) +if(q.gM(s))return B.O +r=q.gH(s).getSettings() +return new A.K(r.width,r.height)}, +FT(){var s,r,q=this.d +q===$&&A.a() +q=q.srcObject +if(q==null)s=null +else{q=q.getVideoTracks() +q=t.Lc.b(q)?q:new A.bK(q,A.Z(q).h("bK<1,U>")) +s=q}if(s==null)s=A.b([],t.E5) +q=J.ax(s) +if(q.gM(s))return null +r=q.gH(s).getSettings().facingMode +if(r!=null&&r.length!==0)return this.as.QJ(r) +else return null}, +l(){var s=0,r=A.C(t.H),q=this,p,o +var $async$l=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:q.eo(0) +s=2 +return A.y(q.dx.aJ(0),$async$l) +case 2:p=q.d +p===$&&A.a() +p.srcObject=null +p.load() +p=q.w +p=p==null?null:p.aA(0) +o=t.H +s=3 +return A.y(t.uz.b(p)?p:A.fe(p,o),$async$l) +case 3:q.w=null +s=4 +return A.y(q.r.aJ(0),$async$l) +case 4:p=A.fe(null,o) +s=5 +return A.y(p,$async$l) +case 5:q.z=null +s=6 +return A.y(q.y.aJ(0),$async$l) +case 6:return A.A(null,r)}}) +return A.B($async$l,r)}} +A.VY.prototype={ +$1(a){return self.MediaRecorder.isTypeSupported(a)}, +$S:25} +A.VV.prototype={ +$2(a,b){return new self.Blob(a,{type:b})}, +$S:289} +A.VW.prototype={ +$1(a){var s=this.a.e +s===$&&A.a() +return s}, +$S:281} +A.VX.prototype={ +$1(a){this.a.r.D(0,this.b)}, +$S:14} +A.VZ.prototype={ +$1(a){this.a.cv(0,a)}, +$S:42} +A.VT.prototype={ +mv(a,b){return this.ST(a,b)}, +FW(a){return this.mv(a,0)}, +ST(a,b){var s=0,r=A.C(t.m),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e +var $async$mv=A.D(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:f=n.a.navigator.mediaDevices +p=4 +l=a.b +k=t.N +j=t.K +i=A.E(k,j) +h=l.b +if(h!=null)i.n(0,"width",h.eJ()) +h=l.c +if(h!=null)i.n(0,"height",h.eJ()) +h=l.a +if(h!=null)i.n(0,"facingMode",h.eJ()) +l=l.d +if(l!=null)i.n(0,"deviceId",A.as(["exact",l],k,j)) +l=A.a4(i) +l.toString +s=7 +return A.y(A.cN(f.getUserMedia({video:l,audio:a.a.a}),t.m),$async$mv) +case 7:l=d +q=l +s=1 +break +p=2 +s=6 +break +case 4:p=3 +e=o +l=A.a6(e) +if(t.m.b(l)){m=l +switch(m.name){case"NotFoundError":case"DevicesNotFoundError":throw A.c(A.kV(b,B.zE,"No camera found for the given camera options.")) +case"NotReadableError":case"TrackStartError":throw A.c(A.kV(b,B.zF,"The camera is not readable due to a hardware error that prevented access to the device.")) +case"OverconstrainedError":case"ConstraintNotSatisfiedError":throw A.c(A.kV(b,B.zG,"The camera options are impossible to satisfy.")) +case"NotAllowedError":case"PermissionDeniedError":throw A.c(A.kV(b,B.zD,"The camera cannot be used or the permission to access the camera is not granted.")) +case"TypeError":throw A.c(A.kV(b,B.zI,"The camera options are incorrect or attempted to access the media input from an insecure context.")) +case"AbortError":throw A.c(A.kV(b,B.kx,"Some problem occurred that prevented the camera from being used.")) +case"SecurityError":throw A.c(A.kV(b,B.zH,"The user media support is disabled in the current browser.")) +default:throw A.c(A.kV(b,B.ky,u.O))}}else{l=A.kV(b,B.ky,u.O) +throw A.c(l)}s=6 +break +case 3:s=2 +break +case 6:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$mv,r)}, +SN(a){var s,r,q +if(!this.a.navigator.mediaDevices.getSupportedConstraints().facingMode)return null +s=a.getSettings().facingMode +if(s==null||s.length===0){if(!("getCapabilities" in a))return null +r=a.getCapabilities().facingMode +r=t.yp.b(r)?r:new A.bK(r,A.Z(r).h("bK<1,q>")) +r=J.kK(r,new A.VU(),t.N) +q=A.a8(r,!0,r.$ti.h("aI.E")) +if(q.length!==0)return B.b.gH(q) +else return null}return s}, +QJ(a){switch(a){case"user":return B.kz +case"environment":return B.kA +case"left":case"right":default:return B.hm}}, +acQ(a){switch(a){case"user":return B.kB +case"environment":return B.zQ +case"left":case"right":default:return B.kB}}, +acS(a){switch(a.a){case 5:case 4:return B.Kx +case 3:return B.Kw +case 2:return B.Kv +case 1:return B.Kz +case 0:return B.wP}return B.wP}, +acR(a){switch(a){case"portrait-primary":return B.eu +case"landscape-primary":return B.hF +case"portrait-secondary":return B.l5 +case"landscape-secondary":return B.hG +default:return B.eu}}} +A.VU.prototype={ +$1(a){return a}, +$S:68} +A.VJ.prototype={ +YU(a){var s=this.e,r=A.o(s).h("c0<1>") +return new A.p2(new A.VK(a),new A.c0(s,r),r.h("p2"))}, +ie(){var s=0,r=A.C(t.RI),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2 +var $async$ie=A.D(function(b3,b4){if(b3===1){o=b4 +s=p}while(true)switch(s){case 0:p=4 +m=n.as.navigator.mediaDevices +l=A.b([],t.X5) +a3=n.a +s=7 +return A.y(a3.FW(B.zO),$async$ie) +case 7:k=b4 +a4=k.getVideoTracks() +a5=t.Lc +a4=a5.b(a4)?a4:new A.bK(a4,A.Z(a4).h("bK<1,U>")) +J.mF(a4,new A.VL()) +s=8 +return A.y(A.cN(m.enumerateDevices(),t.ef),$async$ie) +case 8:a6=b4 +j=a5.b(a6)?a6:new A.bK(a6,A.Z(a6).h("bK<1,U>")) +a4=J.akY(j,new A.VM()) +i=new A.aF(a4,new A.VN(),a4.$ti.h("aF")) +a4=i,a7=J.ak(a4.a),a4=new A.ki(a7,a4.b),a8=n.d +case 9:if(!a4.t()){s=10 +break}h=a7.gG(a7) +a9=h.deviceId +s=11 +return A.y(a3.FW(new A.py(B.h1,new A.rB(null,null,null,a9))),$async$ie) +case 11:g=b4 +b0=g.getVideoTracks() +f=a5.b(b0)?b0:new A.bK(b0,A.Z(b0).h("bK<1,U>")) +if(J.jk(f)){e=a3.SN(J.il(f)) +d=e!=null?a3.QJ(e):B.hm +c=new A.iq(h.label,d,0) +b=new A.uB(h.deviceId,e) +J.ek(l,c) +a8.n(0,c,b) +for(a9=J.ak(f);a9.t();){a=a9.gG(a9) +a.stop()}}else{s=9 +break}s=9 +break +case 10:q=l +s=1 +break +p=2 +s=6 +break +case 4:p=3 +b2=o +a3=A.a6(b2) +if(t.m.b(a3)){a0=a3 +throw A.c(A.fq(A.I(a0,"name"),A.I(a0,"message")))}else if(a3 instanceof A.fI){a1=a3 +throw A.c(A.fq(a1.a,a1.b))}else if(a3 instanceof A.mQ){a2=a3 +n.z7(a2) +throw A.c(A.fq(a2.b.a,a2.c))}else throw b2 +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$ie,r)}, +lM(a,b){return this.a97(a,b)}, +a97(a,b){var s=0,r=A.C(t.S),q,p=this,o,n,m,l,k,j,i,h,g,f +var $async$lM=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:try{i=p.d +if(!i.a9(0,a)){i=A.jX("cameraMissingMetadata",null,"Missing camera metadata. Make sure to call `availableCameras` before creating a camera.",null) +throw A.c(i)}o=p.c++ +i=i.i(0,a) +i.toString +n=i +if(n.b!=null){i=n.b +i.toString +h=p.a.acQ(i)}else h=null +m=h +i=p.a +g=b.a +l=i.acS(g) +g=m!=null?new A.G2(m):null +g=A.azf(new A.un(!1),new A.rB(g,new A.zT(B.c.Y(l.a)),new A.zT(B.c.Y(l.b)),n.a)) +k=A.azd(i,g,new A.Bv(b.d,b.c),o) +p.b.n(0,o,k) +q=o +s=1 +break}catch(e){i=A.a6(e) +if(i instanceof A.fI){j=i +throw A.c(A.fq(j.a,j.b))}else throw e}case 1:return A.A(q,r)}}) +return A.B($async$lM,r)}, +o7(a,b){return this.abN(a,b)}, +abN(a,b){var s=0,r=A.C(t.H),q=1,p,o=this,n,m,l,k,j,i,h,g +var $async$o7=A.D(function(c,d){if(c===1){p=d +s=q}while(true)switch(s){case 0:q=3 +n=o.ty(a) +s=6 +return A.y(J.akV(n),$async$o7) +case 6:j=n.d +j===$&&A.a() +i=t.Ds.c +o.r.n(0,a,A.oO(j,"error",new A.VO(o,n,a),!1,i)) +j=n.d +j===$&&A.a() +o.x.n(0,a,A.oO(j,"error",new A.VP(o,a),!1,i)) +s=7 +return A.y(J.ayB(n),$async$o7) +case 7:i=n.r +o.y.n(0,a,new A.c0(i,A.o(i).h("c0<1>")).hT(new A.VQ(o,a))) +m=n.Tc() +o.e.D(0,new A.dq(m.a,m.b,B.hM,B.hQ,!1,!1,a)) +q=1 +s=5 +break +case 3:q=2 +g=p +j=A.a6(g) +if(t.m.b(j)){l=j +throw A.c(A.jX(A.I(l,"name"),null,A.I(l,"message"),null))}else if(j instanceof A.mQ){k=j +o.z7(k) +throw A.c(A.jX(k.b.a,null,k.c,null))}else throw g +s=5 +break +case 2:s=1 +break +case 5:return A.A(null,r) +case 1:return A.z(p,r)}}) +return A.B($async$o7,r)}, +QW(a){return A.ac3(this.YU(a),t.OY,t.AX)}, +QX(){var s=this.as.screen.orientation,r=t.m,q=A.ce(new self.Event("change"),r),p=A.aE6(q,q.$ti.c) +q=p.$ti +p=new A.rM(p,null,null,$.ad,q.h("rM")) +p.e=new A.rN(p.ga3K(),p.ga3A(),q.h("rN")) +r=A.azM(p,new A.m9(s,"change",!1,t.Sc),r) +return new A.AZ(new A.VR(this,s),r,A.o(r).h("AZ"))}, +ta(a){var s,r,q,p,o=null +try{q=this.ty(a).jI() +return q}catch(p){q=A.a6(p) +if(t.m.b(q)){s=q +throw A.c(A.jX(A.I(s,"name"),o,A.I(s,"message"),o))}else if(q instanceof A.mQ){r=q +this.z7(r) +throw A.c(A.jX(r.b.a,o,r.c,o))}else throw p}}, +O2(a){return new A.Gz("plugins.flutter.io/camera_"+this.ty(a).a,null)}, +h5(a){return this.a9B(a)}, +a9B(a){var s=0,r=A.C(t.H),q=1,p,o=this,n,m,l,k,j,i,h,g,f +var $async$h5=A.D(function(b,c){if(b===1){p=c +s=q}while(true)switch(s){case 0:q=3 +s=6 +return A.y(o.ty(a).l(),$async$h5) +case 6:m=o.r +l=m.i(0,a) +l=l==null?null:l.aA(0) +k=t.H +j=t.uz +s=7 +return A.y(j.b(l)?l:A.fe(l,k),$async$h5) +case 7:l=o.x +i=l.i(0,a) +i=i==null?null:i.aA(0) +s=8 +return A.y(j.b(i)?i:A.fe(i,k),$async$h5) +case 8:i=o.y +h=i.i(0,a) +h=h==null?null:h.aA(0) +s=9 +return A.y(j.b(h)?h:A.fe(h,k),$async$h5) +case 9:o.z.i(0,a) +k=A.fe(null,k) +s=10 +return A.y(k,$async$h5) +case 10:o.b.A(0,a) +m.A(0,a) +l.A(0,a) +i.A(0,a) +q=1 +s=5 +break +case 3:q=2 +f=p +m=A.a6(f) +if(t.m.b(m)){n=m +throw A.c(A.jX(A.I(n,"name"),null,A.I(n,"message"),null))}else throw f +s=5 +break +case 2:s=1 +break +case 5:return A.A(null,r) +case 1:return A.z(p,r)}}) +return A.B($async$h5,r)}, +ty(a){var s=this.b.i(0,a) +if(s==null)throw A.c(A.jX("cameraNotFound",null,"No camera found for the given camera id "+a+".",null)) +return s}, +z7(a){this.e.D(0,new A.kU("Error code: "+a.b.j(0)+", error message: "+a.c,a.a))}} +A.VK.prototype={ +$1(a){return a.a===this.a}, +$S:107} +A.VL.prototype={ +$1(a){return a.stop()}, +$S:14} +A.VM.prototype={ +$1(a){return J.e(a.kind,"videoinput")}, +$S:108} +A.VN.prototype={ +$1(a){return J.cc(a.deviceId)!==0}, +$S:108} +A.VO.prototype={ +$1(a){var s,r,q,p=this.b.d +p===$&&A.a() +p=p.error +p.toString +s=p +r=A.aze(s) +q=!J.e(s.message,"")?s.message:"No further diagnostic information can be determined or provided." +this.a.e.D(0,new A.kU("Error code: "+A.h(r)+", error message: "+A.h(q),this.c))}, +$S:14} +A.VP.prototype={ +$1(a){this.a.e.D(0,new A.kU("Error code: "+B.kx.j(0)+", error message: The video element's source has not fully loaded.",this.b))}, +$S:14} +A.VQ.prototype={ +$1(a){this.a.e.D(0,new A.px(this.b))}, +$S:14} +A.VR.prototype={ +$1(a){return new A.h1(this.a.a.acR(this.b.type))}, +$S:277} +A.a0V.prototype={} +A.eo.prototype={ +j(a){return this.a}} +A.uB.prototype={ +k(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.uB&&b.a===this.a&&b.b==this.b}, +gu(a){return A.P(B.d.gu(this.a),J.u(this.b),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.py.prototype={ +k(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.py&&b.a.k(0,this.a)&&b.b.k(0,this.b)}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.un.prototype={ +k(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.un&&b.a===this.a}, +gu(a){return this.a?519018:218159}} +A.rB.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.rB&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&b.d==s.d}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Ex.prototype={ +F(){return"CameraType."+this.b}, +j(a){return this.c}} +A.G2.prototype={ +eJ(){var s=A.E(t.N,t.K) +s.n(0,"ideal",this.a.c) +return s}, +k(a,b){var s +if(b==null)return!1 +if(this===b)return!0 +if(b instanceof A.G2)s=b.a===this.a +else s=!1 +return s}, +gu(a){return A.P(this.a,null,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.zT.prototype={ +eJ(){var s=A.E(t.N,t.z) +s.n(0,"ideal",this.b) +return s}, +k(a,b){var s +if(b==null)return!1 +if(this===b)return!0 +s=!1 +if(b instanceof A.zT)s=b.b===this.b +return s}, +gu(a){return A.P(null,this.b,null,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.mQ.prototype={ +j(a){return"CameraWebException("+this.a+", "+this.b.j(0)+", "+this.c+")"}, +$ibR:1} +A.aaf.prototype={ +gG(a){var s=this,r=s.d +return r==null?s.d=B.d.W(s.a,s.b,s.c):r}, +t(){return this.Yj(1,this.c)}, +Yj(a,b){var s,r,q,p,o,n,m,l,k,j=this +if(a>0){s=j.c +for(r=j.a,q=r.length,p=176;ss;){p=k.c=q-1 +o=r.charCodeAt(p) +if((o&64512)!==56320){p=k.d=j.charCodeAt(k.d&240|A.Dn(o)) +if(((p>=208?k.d=A.anN(r,s,k.c,p):p)&1)===0)return q +continue}n=2 +if(p>=s){m=r.charCodeAt(p-1) +if((m&64512)===55296){n=A.mA(m,o) +p=--k.c}}l=k.d=j.charCodeAt(k.d&240|n) +if(((l>=208?k.d=A.anN(r,s,p,l):l)&1)===0)return q}p=k.d=j.charCodeAt(k.d&240|15) +if(((p>=208?k.d=A.anN(r,s,q,p):p)&1)===0)return k.c +return-1}} +A.Fk.prototype={} +A.mq.prototype={ +kw(a,b){var s,r,q,p,o +if(a===b)return!0 +s=this.a +r=A.fx(s.ga9V(),s.gabr(s),s.gacm(),A.o(this).h("mq.E"),t.S) +for(s=J.ak(a),q=0;s.t();){p=s.gG(s) +o=r.i(0,p) +r.n(0,p,(o==null?0:o)+1);++q}for(s=J.ak(b);s.t();){p=s.gG(s) +o=r.i(0,p) +if(o==null||o===0)return!1 +r.n(0,p,o-1);--q}return q===0}, +hO(a,b){var s,r,q +for(s=J.ak(b),r=this.a,q=0;s.t();)q=q+r.hO(0,s.gG(s))&2147483647 +q=q+(q<<3>>>0)&2147483647 +q^=q>>>11 +return q+(q<<15>>>0)&2147483647}} +A.rA.prototype={} +A.r4.prototype={} +A.td.prototype={ +gu(a){var s=this.a +return 3*s.a.hO(0,this.b)+7*s.b.hO(0,this.c)&2147483647}, +k(a,b){var s +if(b==null)return!1 +if(b instanceof A.td){s=this.a +s=s.a.kw(this.b,b.b)&&s.b.kw(this.c,b.c)}else s=!1 +return s}} +A.wQ.prototype={ +kw(a,b){var s,r,q,p,o,n,m +if(a===b)return!0 +s=J.ax(a) +r=J.ax(b) +if(s.gq(a)!==r.gq(b))return!1 +q=A.fx(null,null,null,t.PJ,t.S) +for(p=J.ak(s.gbp(a));p.t();){o=p.gG(p) +n=new A.td(this,o,s.i(a,o)) +m=q.i(0,n) +q.n(0,n,(m==null?0:m)+1)}for(s=J.ak(r.gbp(b));s.t();){o=s.gG(s) +n=new A.td(this,o,r.i(b,o)) +m=q.i(0,n) +if(m==null||m===0)return!1 +q.n(0,n,m-1)}return!0}, +hO(a,b){var s,r,q,p,o,n,m,l,k +for(s=J.dB(b),r=J.ak(s.gbp(b)),q=this.a,p=this.b,o=this.$ti.y[1],n=0;r.t();){m=r.gG(r) +l=q.hO(0,m) +k=s.i(b,m) +n=n+3*l+7*p.hO(0,k==null?o.a(k):k)&2147483647}n=n+(n<<3>>>0)&2147483647 +n^=n>>>11 +return n+(n<<15>>>0)&2147483647}} +A.Fi.prototype={ +kw(a,b){var s,r=this,q=t.Ro +if(q.b(a))return q.b(b)&&new A.r4(r,t.n5).kw(a,b) +q=t.f +if(q.b(a))return q.b(b)&&new A.wQ(r,r,t.Dx).kw(a,b) +q=t.JY +if(q.b(a)){s=t.j +if(s.b(a)!==s.b(b))return!1 +return q.b(b)&&new A.rA(r,t.N2).kw(a,b)}return J.e(a,b)}, +hO(a,b){var s=this +if(t.Ro.b(b))return new A.r4(s,t.n5).hO(0,b) +if(t.f.b(b))return new A.wQ(s,s,t.Dx).hO(0,b) +if(t.JY.b(b))return new A.rA(s,t.N2).hO(0,b) +return J.u(b)}, +acn(a){return!0}} +A.Gv.prototype={ +ul(a){var s=this.b[a] +this.$ti.c.a(null) +s=null +return s}, +gq(a){return this.c}, +j(a){var s=this.b +return A.aqr(A.hq(s,0,A.eE(this.c,"count",t.S),A.Z(s).c),"(",")")}, +YE(a,b){var s,r,q,p,o,n,m,l,k,j,i=this,h=b*2+2 +for(s=i.b,r=i.a,q=i.$ti.c;p=i.c,h0){s[b]=j +b=o}}s[b]=a}} +A.Lu.prototype={ +iy(a){throw A.c(A.cp(".length() has not been implemented."))}} +A.fd.prototype={ +gue(){var s=0,r=A.C(t.m),q,p=this,o,n,m,l,k +var $async$gue=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:k=p.f +if(k!=null){q=k +s=1 +break}k=self +o=!1 +if(J.e(k.window.navigator.vendor,"Apple Computer, Inc.")){n=p.d +if(n!=null)o=n>=4294967296}if(o)throw A.c(A.c8("Safari cannot handle XFiles larger than 4GB.")) +o=new A.a9($.ad,t.XC) +m=new A.b1(o,t.m_) +l=A.bj("request") +k=new k.XMLHttpRequest() +n=p.c +n===$&&A.a() +k.open("get",n,!0) +k.responseType="blob" +n=t.m +A.oO(k,"load",new A.acb(m,l),!1,n) +A.oO(k,"error",new A.acc(m),!1,n) +k.send() +l.b=k +q=o +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$gue,r)}, +Fi(){var s=0,r=A.C(t.H3),q,p=this +var $async$Fi=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:q=p.gue().aT(0,p.gYB(),t.H3) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$Fi,r)}, +iy(a){var s=0,r=A.C(t.S),q,p=this,o +var $async$iy=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=p.d +s=o==null?3:5 +break +case 3:s=6 +return A.y(p.gue(),$async$iy) +case 6:c=c.size +s=4 +break +case 5:c=o +case 4:q=c +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$iy,r)}, +uf(a){return this.YC(a)}, +YC(a){var s=0,r=A.C(t.H3),q,p,o,n +var $async$uf=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:n=new self.FileReader() +n.readAsArrayBuffer(a) +s=3 +return A.y(new A.m9(n,"loadend",!1,t.Sc).gH(0),$async$uf) +case 3:p=t.W8.a(n.result) +o=p==null?null:A.dh(p,0,null) +if(o==null)throw A.c(A.c8("Cannot read bytes from Blob. Is it still available?")) +q=o +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$uf,r)}} +A.acb.prototype={ +$1(a){var s=this.b.aP().response +s.toString +this.a.cv(0,t.m.a(s))}, +$S:14} +A.acc.prototype={ +$1(a){if(J.e(a.type,"error"))this.a.jh(new A.Az("Could not load Blob from its URL. Has it been revoked?"))}, +$S:14} +A.fX.prototype={ +F(){return"AnimationStatus."+this.b}, +gfz(){var s,r=this +$label0$0:{if(B.cg===r||B.bp===r){s=!0 +break $label0$0}if(B.T===r||B.F===r){s=!1 +break $label0$0}s=null}return s}, +grq(){var s,r=this +$label0$0:{if(B.cg===r||B.T===r){s=!0 +break $label0$0}if(B.bp===r||B.F===r){s=!1 +break $label0$0}s=null}return s}} +A.cq.prototype={ +gfz(){return this.gaI(this).gfz()}, +j(a){return"#"+A.b9(this)+"("+this.xZ()+")"}, +xZ(){switch(this.gaI(this).a){case 1:var s="\u25b6" +break +case 2:s="\u25c0" +break +case 3:s="\u23ed" +break +case 0:s="\u23ee" +break +default:s=null}return s}} +A.rK.prototype={ +F(){return"_AnimationDirection."+this.b}} +A.DY.prototype={ +F(){return"AnimationBehavior."+this.b}} +A.pn.prototype={ +gm(a){var s=this.x +s===$&&A.a() +return s}, +sm(a,b){var s=this +s.eo(0) +s.AO(b) +s.ap() +s.ph()}, +geK(){var s=this.r +if(!(s!=null&&s.a!=null))return 0 +s=this.w +s.toString +return s.e8(0,this.y.a/1e6)}, +AO(a){var s=this,r=s.a,q=s.b,p=s.x=A.M(a,r,q) +if(p===r)s.Q=B.F +else if(p===q)s.Q=B.T +else{switch(s.z.a){case 0:r=B.cg +break +case 1:r=B.bp +break +default:r=null}s.Q=r}}, +gfz(){var s=this.r +return s!=null&&s.a!=null}, +gaI(a){var s=this.Q +s===$&&A.a() +return s}, +m4(a,b){var s=this +s.z=B.an +if(b!=null)s.sm(0,b) +return s.HO(s.b)}, +cp(a){return this.m4(0,null)}, +RZ(a,b){this.z=B.fI +return this.HO(this.a)}, +ei(a){return this.RZ(0,null)}, +jZ(a,b,c){var s,r,q,p,o,n,m,l,k,j=this,i=j.d +$label0$0:{s=B.fX===i +if(s){r=$.K3.wn$ +r===$&&A.a() +q=(r.a&4)!==0 +r=q}else r=!1 +if(r){r=0.05 +break $label0$0}if(s||B.fY===i){r=1 +break $label0$0}r=null}if(c==null){p=j.b-j.a +if(isFinite(p)){o=j.x +o===$&&A.a() +n=Math.abs(a-o)/p}else n=1 +if(j.z===B.fI&&j.f!=null){o=j.f +o.toString +m=o}else{o=j.e +o.toString +m=o}l=new A.aQ(B.c.a7(m.a*n))}else{o=j.x +o===$&&A.a() +l=a===o?B.r:c}j.eo(0) +o=l.a +if(o===B.r.a){r=j.x +r===$&&A.a() +if(r!==a){j.x=A.M(a,j.a,j.b) +j.ap()}j.Q=j.z===B.an?B.T:B.F +j.ph() +return A.amJ()}k=j.x +k===$&&A.a() +return j.vd(new A.afs(o*r/1e6,k,a,b,B.bk))}, +HO(a){return this.jZ(a,B.a2,null)}, +RL(a){var s,r,q=this,p=q.a,o=q.b,n=q.e +q.eo(0) +s=q.x +s===$&&A.a() +r=n.a/1e6 +s=o===p?0:(A.M(s,p,o)-p)/(o-p)*r +return q.vd(new A.ah2(p,o,!1,q.ga_6(),r,s,B.bk))}, +a_7(a){this.z=a +this.Q=a===B.an?B.cg:B.bp +this.ph()}, +PB(a){var s,r,q,p,o,n,m=this,l=$.axv(),k=a<0 +m.z=k?B.fI:B.an +s=k?m.a-0.01:m.b+0.01 +r=m.d +$label0$0:{q=B.fX===r +if(q){k=$.K3.wn$ +k===$&&A.a() +p=(k.a&4)!==0 +k=p}else k=!1 +if(k){k=200 +break $label0$0}if(q||B.fY===r){k=1 +break $label0$0}k=null}o=m.x +o===$&&A.a() +n=new A.zg(s,A.ty(l,o-s,a*k),B.bk) +n.a=B.Qi +m.eo(0) +return m.vd(n)}, +vd(a){var s,r=this +r.w=a +r.y=B.r +r.x=A.M(a.dq(0,0),r.a,r.b) +s=r.r.le(0) +r.Q=r.z===B.an?B.cg:B.bp +r.ph() +return s}, +oX(a,b){this.y=this.w=null +this.r.oX(0,b)}, +eo(a){return this.oX(0,!0)}, +l(){var s=this +s.r.l() +s.r=null +s.bJ$.I(0) +s.c9$.I(0) +s.yN()}, +ph(){var s=this,r=s.Q +r===$&&A.a() +if(s.as!==r){s.as=r +s.rN(r)}}, +Yn(a){var s,r=this +r.y=a +s=a.a/1e6 +r.x=A.M(r.w.dq(0,s),r.a,r.b) +if(r.w.kM(s)){r.Q=r.z===B.an?B.T:B.F +r.oX(0,!1)}r.ap() +r.ph()}, +xZ(){var s,r=this.r,q=r==null,p=!q&&r.a!=null?"":"; paused" +if(q)s="; DISPOSED" +else s=r.b?"; silenced":"" +r=this.yM() +q=this.x +q===$&&A.a() +return r+" "+B.c.R(q,3)+p+s}} +A.afs.prototype={ +dq(a,b){var s,r=this,q=A.M(b/r.b,0,1) +$label0$0:{if(0===q){s=r.c +break $label0$0}if(1===q){s=r.d +break $label0$0}s=r.c +s+=(r.d-s)*r.e.a8(0,q) +break $label0$0}return s}, +e8(a,b){return(this.dq(0,b+0.001)-this.dq(0,b-0.001))/0.002}, +kM(a){return a>this.b}} +A.ah2.prototype={ +dq(a,b){var s=this,r=b+s.r,q=s.f,p=B.c.bo(r/q,1) +B.c.fQ(r,q) +s.e.$1(B.an) +q=A.V(s.b,s.c,p) +q.toString +return q}, +e8(a,b){return(this.c-this.b)/this.f}, +kM(a){return!1}} +A.LJ.prototype={} +A.LK.prototype={} +A.LL.prototype={} +A.DZ.prototype={ +k(a,b){var s,r,q=this +if(b==null)return!1 +if(q===b)return!0 +if(J.T(b)!==A.r(q))return!1 +s=!1 +if(b instanceof A.DZ){r=b.b +if(r.a===q.b.a){r=b.d +s=r.a===q.d.a}}return s}, +gu(a){return A.P(null,this.b,null,this.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.LM.prototype={} +A.LE.prototype={ +a0(a,b){}, +J(a,b){}, +e4(a){}, +c4(a){}, +gaI(a){return B.T}, +gm(a){return 1}, +j(a){return"kAlwaysCompleteAnimation"}} +A.LF.prototype={ +a0(a,b){}, +J(a,b){}, +e4(a){}, +c4(a){}, +gaI(a){return B.F}, +gm(a){return 0}, +j(a){return"kAlwaysDismissedAnimation"}} +A.kN.prototype={ +a0(a,b){return this.gcr(this).a0(0,b)}, +J(a,b){return this.gcr(this).J(0,b)}, +e4(a){return this.gcr(this).e4(a)}, +c4(a){return this.gcr(this).c4(a)}, +gaI(a){var s=this.gcr(this) +return s.gaI(s)}} +A.o7.prototype={ +scr(a,b){var s,r=this,q=r.c +if(b==q)return +if(q!=null){r.a=q.gaI(q) +q=r.c +r.b=q.gm(q) +if(r.ky$>0)r.w9()}r.c=b +if(b!=null){if(r.ky$>0)r.w8() +q=r.b +s=r.c +s=s.gm(s) +if(q==null?s!=null:q!==s)r.ap() +q=r.a +s=r.c +if(q!==s.gaI(s)){q=r.c +r.rN(q.gaI(q))}r.b=r.a=null}}, +w8(){var s=this,r=s.c +if(r!=null){r.a0(0,s.geE()) +s.c.e4(s.gQV())}}, +w9(){var s=this,r=s.c +if(r!=null){r.J(0,s.geE()) +s.c.c4(s.gQV())}}, +gaI(a){var s=this.c +if(s!=null)s=s.gaI(s) +else{s=this.a +s.toString}return s}, +gm(a){var s=this.c +if(s!=null)s=s.gm(s) +else{s=this.b +s.toString}return s}, +j(a){var s=this.c +if(s==null)return"ProxyAnimation(null; "+this.yM()+" "+B.c.R(this.gm(0),3)+")" +return s.j(0)+"\u27a9ProxyAnimation"}} +A.fM.prototype={ +a0(a,b){this.bl() +this.a.a0(0,b)}, +J(a,b){this.a.J(0,b) +this.lV()}, +w8(){this.a.e4(this.gni())}, +w9(){this.a.c4(this.gni())}, +ve(a){this.rN(this.LB(a))}, +gaI(a){var s=this.a +return this.LB(s.gaI(s))}, +gm(a){var s=this.a +return 1-s.gm(s)}, +LB(a){var s +switch(a.a){case 1:s=B.bp +break +case 2:s=B.cg +break +case 3:s=B.F +break +case 0:s=B.T +break +default:s=null}return s}, +j(a){return this.a.j(0)+"\u27aaReverseAnimation"}} +A.mY.prototype={ +MV(a){var s +if(a.gfz()){s=this.d +if(s==null)s=a}else s=null +this.d=s}, +gNk(){if(this.c!=null){var s=this.d +if(s==null){s=this.a +s=s.gaI(s)}s=s!==B.bp}else s=!0 +return s}, +l(){this.a.c4(this.gnn())}, +gm(a){var s=this,r=s.gNk()?s.b:s.c,q=s.a,p=q.gm(q) +if(r==null)return p +if(p===0||p===1)return p +return r.a8(0,p)}, +j(a){var s=this,r=s.c +if(r==null)return s.a.j(0)+"\u27a9"+s.b.j(0) +if(s.gNk())return s.a.j(0)+"\u27a9"+s.b.j(0)+"\u2092\u2099/"+r.j(0) +return s.a.j(0)+"\u27a9"+s.b.j(0)+"/"+r.j(0)+"\u2092\u2099"}, +gcr(a){return this.a}} +A.S8.prototype={ +F(){return"_TrainHoppingMode."+this.b}} +A.oF.prototype={ +ve(a){if(a!==this.e){this.ap() +this.e=a}}, +gaI(a){var s=this.a +return s.gaI(s)}, +a76(){var s,r,q,p=this,o=p.b +if(o!=null){switch(p.c.a){case 0:o=o.gm(o) +s=p.a +s=o<=s.gm(s) +o=s +break +case 1:o=o.gm(o) +s=p.a +s=o>=s.gm(s) +o=s +break +default:o=null}if(o){s=p.a +r=p.gni() +s.c4(r) +s.J(0,p.gBX()) +s=p.b +p.a=s +p.b=null +s.e4(r) +r=p.a +p.ve(r.gaI(r))}q=o}else q=!1 +o=p.a +o=o.gm(o) +if(o!==p.f){p.ap() +p.f=o}if(q&&p.d!=null)p.d.$0()}, +gm(a){var s=this.a +return s.gm(s)}, +l(){var s,r,q=this +q.a.c4(q.gni()) +s=q.gBX() +q.a.J(0,s) +q.a=null +r=q.b +if(r!=null)r.J(0,s) +q.b=null +q.c9$.I(0) +q.bJ$.I(0) +q.yN()}, +j(a){var s=this +if(s.b!=null)return A.h(s.a)+"\u27a9TrainHoppingAnimation(next: "+A.h(s.b)+")" +return A.h(s.a)+"\u27a9TrainHoppingAnimation(no next)"}} +A.pI.prototype={ +w8(){var s,r=this,q=r.a,p=r.gKH() +q.a0(0,p) +s=r.gKI() +q.e4(s) +q=r.b +q.a0(0,p) +q.e4(s)}, +w9(){var s,r=this,q=r.a,p=r.gKH() +q.J(0,p) +s=r.gKI() +q.c4(s) +q=r.b +q.J(0,p) +q.c4(s)}, +gaI(a){var s=this.b +if(s.gaI(s).gfz())s=s.gaI(s) +else{s=this.a +s=s.gaI(s)}return s}, +j(a){return"CompoundAnimation("+this.a.j(0)+", "+this.b.j(0)+")"}, +a3j(a){var s=this +if(s.gaI(0)!==s.c){s.c=s.gaI(0) +s.rN(s.gaI(0))}}, +a3i(){var s=this +if(!J.e(s.gm(s),s.d)){s.d=s.gm(s) +s.ap()}}} +A.uf.prototype={ +gm(a){var s,r=this.a +r=r.gm(r) +s=this.b +s=s.gm(s) +return Math.min(A.fV(r),A.fV(s))}} +A.Ae.prototype={} +A.Af.prototype={} +A.Ag.prototype={} +A.MM.prototype={} +A.PW.prototype={} +A.PX.prototype={} +A.PY.prototype={} +A.QI.prototype={} +A.QJ.prototype={} +A.S5.prototype={} +A.S6.prototype={} +A.S7.prototype={} +A.xy.prototype={ +a8(a,b){return this.jK(b)}, +jK(a){throw A.c(A.cp(null))}, +j(a){return"ParametricCurve"}} +A.eq.prototype={ +a8(a,b){if(b===0||b===1)return b +return this.V4(0,b)}} +A.AW.prototype={ +jK(a){return a}} +A.yA.prototype={ +jK(a){a*=this.a +return a-(a<0?Math.ceil(a):Math.floor(a))}, +j(a){return"SawTooth("+this.a+")"}} +A.dg.prototype={ +jK(a){var s=this.a +a=A.M((a-s)/(this.b-s),0,1) +if(a===0||a===1)return a +return this.c.a8(0,a)}, +j(a){var s=this,r=s.c +if(!(r instanceof A.AW))return"Interval("+A.h(s.a)+"\u22ef"+A.h(s.b)+")\u27a9"+r.j(0) +return"Interval("+A.h(s.a)+"\u22ef"+A.h(s.b)+")"}} +A.zG.prototype={ +jK(a){return a"))}} +A.b0.prototype={ +gm(a){var s=this.a +return this.b.a8(0,s.gm(s))}, +j(a){var s=this.a,r=this.b +return s.j(0)+"\u27a9"+r.j(0)+"\u27a9"+A.h(r.a8(0,s.gm(s)))}, +xZ(){return this.yM()+" "+this.b.j(0)}, +gcr(a){return this.a}} +A.ib.prototype={ +a8(a,b){return this.b.a8(0,this.a.a8(0,b))}, +j(a){return this.a.j(0)+"\u27a9"+this.b.j(0)}} +A.aW.prototype={ +ee(a){var s=this.a +return A.o(this).h("aW.T").a(J.ayf(s,J.ayg(J.ayh(this.b,s),a)))}, +a8(a,b){var s,r=this +if(b===0){s=r.a +return s==null?A.o(r).h("aW.T").a(s):s}if(b===1){s=r.b +return s==null?A.o(r).h("aW.T").a(s):s}return r.ee(b)}, +j(a){return"Animatable("+A.h(this.a)+" \u2192 "+A.h(this.b)+")"}, +sCp(a){return this.a=a}, +snO(a,b){return this.b=b}} +A.yv.prototype={ +ee(a){return this.c.ee(1-a)}} +A.is.prototype={ +ee(a){return A.t(this.a,this.b,a)}} +A.y1.prototype={ +ee(a){return A.ary(this.a,this.b,a)}} +A.lg.prototype={ +ee(a){var s,r=this.a +r.toString +s=this.b +s.toString +return B.c.a7(r+(s-r)*a)}} +A.h0.prototype={ +a8(a,b){if(b===0||b===1)return b +return this.a.a8(0,b)}, +j(a){return"CurveTween(curve: "+this.a.j(0)+")"}} +A.CW.prototype={} +A.zQ.prototype={ +Y_(a,b){var s,r,q,p,o,n,m,l=this.a +B.b.L(l,a) +for(s=l.length,r=0,q=0;q=n&&b"}} +A.eP.prototype={ +gm(a){return this.b.a}, +gpC(){var s=this +return!s.e.k(0,s.f)||!s.x.k(0,s.y)||!s.r.k(0,s.w)||!s.z.k(0,s.Q)}, +gpA(){var s=this +return!s.e.k(0,s.r)||!s.f.k(0,s.w)||!s.x.k(0,s.z)||!s.y.k(0,s.Q)}, +gpB(){var s=this +return!s.e.k(0,s.x)||!s.f.k(0,s.y)||!s.r.k(0,s.z)||!s.w.k(0,s.Q)}, +iN(a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=this,a2=null +if(a1.gpC()){s=a3.aa(t.ri) +r=s==null?a2:s.w.c.glE() +if(r==null){r=A.dL(a3,B.xA) +r=r==null?a2:r.e}q=r==null?B.a6:r}else q=B.a6 +if(a1.gpB())a3.aa(t.H5) +if(a1.gpA()){r=A.dL(a3,B.xw) +r=r==null?a2:r.as +p=r===!0}else p=!1 +$label0$0:{o=B.a6===q +n=o +m=q +l=a2 +k=a2 +j=a2 +i=a2 +r=!1 +if(n){l=!0 +k=B.aF +h=!0 +if(h){j=!p +r=j +i=p}g=h}else{g=!1 +h=!1}if(r){r=a1.e +break $label0$0}f=a2 +r=!1 +if(o){if(n){e=l +d=n}else{l=!0 +d=!0 +k=B.aF +n=!0 +e=!0}if(e){if(h)r=i +else{r=p +i=r +h=!0}f=!0===r +r=f}}else{d=n +e=!1}if(r){r=a1.r +break $label0$0}c=a2 +r=!1 +if(o){if(n)b=k +else{k=B.aF +n=!0 +b=B.aF}c=B.hE===b +b=c +if(b)if(g)r=j +else{if(h)r=i +else{r=p +i=r +h=!0}j=!1===r +r=j +g=!0}}if(r){r=a1.x +break $label0$0}r=!1 +if(o)if(c)if(e)r=f +else{if(h)r=i +else{r=p +i=r +h=!0}f=!0===r +r=f +e=!0}if(r){r=a1.z +break $label0$0}a=B.a5===m +r=a +b=!1 +if(r){if(d)r=l +else{if(n)r=k +else{k=B.aF +n=!0 +r=B.aF}l=B.aF===r +r=l +d=!0}if(r)if(g)r=j +else{if(h)r=i +else{r=p +i=r +h=!0}j=!1===r +r=j +g=!0}else r=b}else r=b +if(r){r=a1.f +break $label0$0}r=!1 +if(a){if(d)b=l +else{if(n)b=k +else{k=B.aF +n=!0 +b=B.aF}l=B.aF===b +b=l}if(b)if(e)r=f +else{if(h)r=i +else{r=p +i=r +h=!0}f=!0===r +r=f +e=!0}}if(r){r=a1.w +break $label0$0}r=!1 +if(a){if(o){b=c +a0=o}else{if(n)b=k +else{k=B.aF +n=!0 +b=B.aF}c=B.hE===b +b=c +a0=!0}if(b)if(g)r=j +else{if(h)r=i +else{r=p +i=r +h=!0}j=!1===r +r=j}}else a0=o +if(r){r=a1.y +break $label0$0}r=!1 +if(a){if(a0)b=c +else{c=B.hE===(n?k:B.aF) +b=c}if(b)if(e)r=f +else{f=!0===(h?i:p) +r=f}}if(r){r=a1.Q +break $label0$0}r=a2}return new A.eP(r,a1.c,a2,a1.e,a1.f,a1.r,a1.w,a1.x,a1.y,a1.z,a1.Q,0)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.eP&&b.b.a===s.b.a&&b.e.k(0,s.e)&&b.f.k(0,s.f)&&b.r.k(0,s.r)&&b.w.k(0,s.w)&&b.x.k(0,s.x)&&b.y.k(0,s.y)&&b.z.k(0,s.z)&&b.Q.k(0,s.Q)}, +gu(a){var s=this +return A.P(s.b.a,s.e,s.f,s.r,s.x,s.y,s.w,s.Q,s.z,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s=this,r=new A.WY(s),q=A.b([r.$2("color",s.e)],t.s) +if(s.gpC())q.push(r.$2("darkColor",s.f)) +if(s.gpA())q.push(r.$2("highContrastColor",s.r)) +if(s.gpC()&&s.gpA())q.push(r.$2("darkHighContrastColor",s.w)) +if(s.gpB())q.push(r.$2("elevatedColor",s.x)) +if(s.gpC()&&s.gpB())q.push(r.$2("darkElevatedColor",s.y)) +if(s.gpA()&&s.gpB())q.push(r.$2("highContrastElevatedColor",s.z)) +if(s.gpC()&&s.gpA()&&s.gpB())q.push(r.$2("darkHighContrastElevatedColor",s.Q)) +r=s.c +if(r==null)r="CupertinoDynamicColor" +q=B.b.bw(q,", ") +return r+"("+q+", resolved by: UNRESOLVED)"}} +A.WY.prototype={ +$2(a,b){var s=b.k(0,this.a.b)?"*":"" +return s+a+" = "+b.j(0)+s}, +$S:231} +A.MF.prototype={} +A.F8.prototype={ +a1(a,b){var s=this.f,r=s instanceof A.eP?s.iN(b):s +return J.e(r,s)?this:this.fp(r)}, +qB(a,b,c,d,e,f,g,h,i){var s=this,r=h==null?s.a:h,q=c==null?s.b:c,p=i==null?s.c:i,o=d==null?s.d:d,n=f==null?s.e:f,m=b==null?s.f:b,l=e==null?s.gdk(0):e,k=g==null?s.w:g +return A.ape(a==null?s.x:a,m,q,o,l,n,k,r,p)}, +fp(a){var s=null +return this.qB(s,a,s,s,s,s,s,s,s)}} +A.MG.prototype={} +A.Fa.prototype={ +F(){return"CupertinoUserInterfaceLevelData."+this.b}} +A.MH.prototype={ +Ej(a){return a.goe(0)==="en"}, +iz(a,b){return new A.cv(B.yr,t.u4)}, +yE(a){return!1}, +j(a){return"DefaultCupertinoLocalizations.delegate(en_US)"}} +A.Fj.prototype={$iWZ:1} +A.X0.prototype={ +$0(){return this.a.gjw()}, +$S:40} +A.X_.prototype={ +$0(){return this.a.gQn()}, +$S:40} +A.X1.prototype={ +$0(){var s=this.a +s=A.fD.prototype.gadw.call(s) +return s}, +$S:40} +A.X2.prototype={ +$0(){return A.azP(this.a)}, +$S(){return this.b.h("Ak<0>()")}} +A.v_.prototype={ +ag(){return new A.MI()}} +A.MI.prototype={ +ao(){this.aL() +this.M3()}, +aH(a){var s,r=this +r.b4(a) +s=r.a +if(a.d!==s.d||a.e!==s.e||a.f!==s.f){r.IT() +r.M3()}}, +l(){this.IT() +this.aC()}, +IT(){var s=this,r=s.r +if(r!=null)r.l() +r=s.w +if(r!=null)r.l() +r=s.x +if(r!=null)r.l() +s.x=s.w=s.r=null}, +M3(){var s,r,q=this,p=q.a +if(!p.f){q.r=A.dI(B.ks,p.d,new A.pY(B.ks)) +q.w=A.dI(B.kZ,q.a.e,B.AU) +q.x=A.dI(B.kZ,q.a.d,null)}p=q.r +if(p==null)p=q.a.d +s=$.axL() +r=t.q +q.d=new A.b0(r.a(p),s,s.$ti.h("b0")) +s=q.w +p=s==null?q.a.e:s +s=$.axE() +q.e=new A.b0(r.a(p),s,s.$ti.h("b0")) +s=q.x +p=s==null?q.a.d:s +s=$.awX() +q.f=new A.b0(r.a(p),s,A.o(s).h("b0"))}, +K(a){var s,r,q,p=this,o=a.aa(t.I) +o.toString +s=o.w +o=p.e +o===$&&A.a() +r=p.d +r===$&&A.a() +q=p.f +q===$&&A.a() +return A.amu(A.amu(new A.Ff(q,p.a.c,q,null),r,s,!0),o,s,!1)}} +A.rT.prototype={ +ag(){return new A.rU(this.$ti.h("rU<1>"))}, +a9K(){return this.d.$0()}, +adi(){return this.e.$0()}} +A.rU.prototype={ +ao(){var s,r=this +r.aL() +s=A.alQ(r,null) +s.ch=r.ga5d() +s.CW=r.ga5f() +s.cx=r.ga5b() +s.cy=r.ga15() +r.e=s}, +l(){var s=this,r=s.e +r===$&&A.a() +r.p2.I(0) +r.p0() +if(s.d!=null)$.am.p2$.push(new A.adE(s)) +s.aC()}, +a5e(a){this.d=this.a.adi()}, +a5g(a){var s,r,q=this.d +q.toString +s=a.c +s.toString +s=this.IC(s/this.c.gv(0).a) +q=q.a +r=q.x +r===$&&A.a() +q.sm(0,r-s)}, +a5c(a){var s=this,r=s.d +r.toString +r.P9(s.IC(a.a.a.a/s.c.gv(0).a)) +s.d=null}, +a16(){var s=this.d +if(s!=null)s.P9(0) +this.d=null}, +a5i(a){var s +if(this.a.a9K()){s=this.e +s===$&&A.a() +s.C9(a)}}, +IC(a){var s=this.c.aa(t.I) +s.toString +switch(s.w.a){case 0:s=-a +break +case 1:s=a +break +default:s=null}return s}, +K(a){var s=null,r=a.aa(t.I) +r.toString +switch(r.w.a){case 0:r=A.bM(a,B.bF,t.w).w.r.c +break +case 1:r=A.bM(a,B.bF,t.w).w.r.a +break +default:r=s}return A.re(B.bo,A.b([this.a.c,new A.IK(0,0,0,Math.max(r,20),A.wM(B.dd,s,s,this.ga5h(),s,s,s),s)],t.E),B.KR)}} +A.adE.prototype={ +$1(a){var s=this.a,r=s.d,q=r==null,p=q?null:r.b.c!=null +if(p===!0)if(!q)r.b.qO() +s.d=null}, +$S:6} +A.Ak.prototype={ +P9(a){var s,r,q,p,o=this,n=o.d.$0() +if(!n)s=o.c.$0() +else if(Math.abs(a)>=1)s=a<=0 +else{r=o.a.x +r===$&&A.a() +s=r>0.5}if(s){r=o.a +q=r.x +q===$&&A.a() +q=A.V(800,0,q) +q.toString +q=A.cP(0,Math.min(B.c.d1(q),300)) +r.z=B.an +r.jZ(1,B.l0,q)}else{if(n)o.b.fG() +r=o.a +q=r.r +if(q!=null&&q.a!=null){q=r.x +q===$&&A.a() +q=A.V(0,800,q) +q.toString +q=A.cP(0,B.c.d1(q)) +r.z=B.fI +r.jZ(0,B.l0,q)}}q=r.r +if(q!=null&&q.a!=null){p=A.bj("animationStatusCallback") +p.b=new A.adD(o,p) +q=p.aP() +r.bl() +r=r.bJ$ +r.b=!0 +r.a.push(q)}else o.b.qO()}} +A.adD.prototype={ +$1(a){var s=this.a +s.b.qO() +s.a.c4(this.b.aP())}, +$S:7} +A.ic.prototype={ +cD(a,b){var s +if(a instanceof A.ic){s=A.adF(a,this,b) +s.toString +return s}s=A.adF(null,this,b) +s.toString +return s}, +cE(a,b){var s +if(a instanceof A.ic){s=A.adF(this,a,b) +s.toString +return s}s=A.adF(this,null,b) +s.toString +return s}, +vZ(a){return new A.adI(this,a)}, +k(a,b){var s,r +if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +if(b instanceof A.ic){s=b.a +r=this.a +r=s==null?r==null:s===r +s=r}else s=!1 +return s}, +gu(a){return J.u(this.a)}} +A.adG.prototype={ +$1(a){var s=A.t(null,a,this.a) +s.toString +return s}, +$S:110} +A.adH.prototype={ +$1(a){var s=A.t(null,a,1-this.a) +s.toString +return s}, +$S:110} +A.adI.prototype={ +rS(a,b,c){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this.b.a +if(f==null)return +s=c.e +r=s.a +q=0.05*r +p=s.b +o=q/(f.length-1) +switch(c.d.a){case 0:s=new A.av(1,b.a+r) +break +case 1:s=new A.av(-1,b.a) +break +default:s=null}n=s.a +m=null +l=s.b +m=l +k=n +for(s=b.b,r=s+p,j=0,i=0;ip){o=B.d.acr(r,s) +if(o===q-p&&o>2&&B.d.W(r,o-2,o)===": "){n=B.d.W(r,0,o-2) +m=B.d.hP(n," Failed assertion:") +if(m>=0)n=B.d.W(n,0,m)+"\n"+B.d.cZ(n,m+1) +l=B.d.y_(s)+"\n"+n}}}if(l==null)l=r}else if(!(typeof l=="string"))l=t.Lt.b(l)||t.VI.b(l)?J.el(l):" "+A.h(l) +l=B.d.y_(l) +return l.length===0?" ":l}, +gU7(){return A.apn(new A.Zi(this).$0(),!0)}, +cf(){return"Exception caught by "+this.c}, +j(a){A.aF8(null,B.Bd,this) +return""}} +A.Zi.prototype={ +$0(){return J.ayP(this.a.a9Z().split("\n")[0])}, +$S:45} +A.nc.prototype={ +gQQ(a){return this.j(0)}, +cf(){return"FlutterError"}, +j(a){var s,r,q=new A.d6(this.a,t.ow) +if(!q.gM(0)){s=q.gH(0) +r=J.dB(s) +s=A.it.prototype.gm.call(r,s) +s.toString +s=J.aoH(s)}else s="FlutterError" +return s}, +$imI:1} +A.Zj.prototype={ +$1(a){return A.bk(a)}, +$S:193} +A.Zk.prototype={ +$1(a){return a+1}, +$S:111} +A.Zl.prototype={ +$1(a){return a+1}, +$S:111} +A.ajT.prototype={ +$1(a){return B.d.p(a,"StackTrace.current")||B.d.p(a,"dart-sdk/lib/_internal")||B.d.p(a,"dart:sdk_internal")}, +$S:25} +A.Fr.prototype={} +A.Nz.prototype={} +A.NB.prototype={} +A.NA.prototype={} +A.Ee.prototype={ +eA(){}, +m7(){}, +acN(a){var s;++this.c +s=a.$0() +s.fI(new A.V5(this)) +return s}, +Fz(){}, +j(a){return""}} +A.V5.prototype={ +$0(){var s,r,q,p=this.a +if(--p.c<=0)try{p.Xd() +if(p.k1$.c!==0)p.J1()}catch(q){s=A.a6(q) +r=A.aK(q) +p=A.bk("while handling pending events") +A.df(new A.bD(s,r,"foundation",p,null,!1))}}, +$S:37} +A.ae.prototype={} +A.fr.prototype={ +a0(a,b){var s,r,q,p,o=this +if(o.gcI(o)===o.gc0().length){s=t.Nw +if(o.gcI(o)===0)o.sc0(A.b8(1,null,!1,s)) +else{r=A.b8(o.gc0().length*2,null,!1,s) +for(q=0;q0){r.gc0()[s]=null +r.skc(r.gkc()+1)}else r.Lj(s) +break}}, +l(){this.sc0($.aN()) +this.scI(0,0)}, +ap(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this +if(f.gcI(f)===0)return +f.sj8(f.gj8()+1) +p=f.gcI(f) +for(s=0;s0){l=f.gcI(f)-f.gkc() +if(l*2<=f.gc0().length){k=A.b8(l,null,!1,t.Nw) +for(j=0,s=0;s#"+A.b9(this)+"("+A.h(this.a)+")"}} +A.vf.prototype={ +F(){return"DiagnosticLevel."+this.b}} +A.ju.prototype={ +F(){return"DiagnosticsTreeStyle."+this.b}} +A.ag8.prototype={} +A.cW.prototype={ +te(a,b){return this.bC(0)}, +j(a){return this.te(0,B.aq)}} +A.it.prototype={ +gm(a){this.a3f() +return this.at}, +a3f(){return}} +A.vg.prototype={} +A.Fq.prototype={} +A.ac.prototype={ +cf(){return"#"+A.b9(this)}, +te(a,b){var s=this.cf() +return s}, +j(a){return this.te(0,B.aq)}} +A.Xm.prototype={ +cf(){return"#"+A.b9(this)}} +A.hI.prototype={ +j(a){return this.S6(B.hH).bC(0)}, +cf(){return"#"+A.b9(this)}, +aeB(a,b){return A.alj(a,b,this)}, +S6(a){return this.aeB(null,a)}} +A.vh.prototype={} +A.MZ.prototype={} +A.e7.prototype={} +A.He.prototype={} +A.ry.prototype={ +j(a){return"[#"+A.b9(this)+"]"}} +A.dS.prototype={ +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return A.o(this).h("dS").b(b)&&J.e(b.a,this.a)}, +gu(a){return A.P(A.r(this),this.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s=A.o(this),r=s.h("dS.T"),q=this.a,p=A.bU(r)===B.QO?"<'"+A.h(q)+"'>":"<"+A.h(q)+">" +if(A.r(this)===A.bU(s.h("dS")))return"["+p+"]" +return"["+A.bU(r).j(0)+" "+p+"]"}} +A.an5.prototype={} +A.hb.prototype={} +A.wI.prototype={} +A.bg.prototype={ +guW(){var s,r=this,q=r.c +if(q===$){s=A.cA(r.$ti.c) +r.c!==$&&A.a1() +r.c=s +q=s}return q}, +A(a,b){this.b=!0 +this.guW().I(0) +return B.b.A(this.a,b)}, +I(a){this.b=!1 +B.b.I(this.a) +this.guW().I(0)}, +p(a,b){var s=this,r=s.a +if(r.length<3)return B.b.p(r,b) +if(s.b){s.guW().L(0,r) +s.b=!1}return s.guW().p(0,b)}, +gX(a){var s=this.a +return new J.c2(s,s.length,A.Z(s).h("c2<1>"))}, +gM(a){return this.a.length===0}, +gb9(a){return this.a.length!==0}, +dm(a,b){var s=this.a,r=A.Z(s) +return b?A.b(s.slice(0),r):J.lk(s.slice(0),r.c)}, +dl(a){return this.dm(0,!0)}} +A.lb.prototype={ +A(a,b){var s=this.a,r=s.i(0,b) +if(r==null)return!1 +if(r===1)s.A(0,b) +else s.n(0,b,r-1) +return!0}, +p(a,b){return this.a.a9(0,b)}, +gX(a){var s=this.a +return A.hc(s,s.r)}, +gM(a){return this.a.a===0}, +gb9(a){return this.a.a!==0}} +A.xK.prototype={ +adG(a,b,c){var s=this.a,r=s==null?$.DI():s,q=r.iM(0,0,b,A.fL(b),c) +if(q===s)return this +return new A.xK(q)}, +i(a,b){var s=this.a +return s==null?null:s.jN(0,0,b,J.u(b))}} +A.aik.prototype={} +A.NK.prototype={ +iM(a,b,c,d,e){var s,r,q,p,o=B.f.nh(d,b)&31,n=this.a,m=n[o] +if(m==null)m=$.DI() +s=m.iM(0,b+5,c,d,e) +if(s===m)n=this +else{r=n.length +q=A.b8(r,null,!1,t.X) +for(p=0;p>>0,a1=c.a,a2=(a1&a0-1)>>>0,a3=a2-(a2>>>1&1431655765) +a3=(a3&858993459)+(a3>>>2&858993459) +a3=a3+(a3>>>4)&252645135 +a3+=a3>>>8 +s=a3+(a3>>>16)&63 +if((a1&a0)>>>0!==0){a=c.b +a2=2*s +r=a[a2] +q=a2+1 +p=a[q] +if(r==null){o=J.ayC(p,a5+5,a6,a7,a8) +if(o===p)return c +a2=a.length +n=A.b8(a2,b,!1,t.X) +for(m=0;m>>1&1431655765) +a3=(a3&858993459)+(a3>>>2&858993459) +a3=a3+(a3>>>4)&252645135 +a3+=a3>>>8 +i=a3+(a3>>>16)&63 +if(i>=16){a1=c.a2F(a5) +a1.a[a]=$.DI().iM(0,a5+5,a6,a7,a8) +return a1}else{h=2*s +g=2*i +f=A.b8(g+2,b,!1,t.X) +for(a=c.b,e=0;e>>0,f)}}}, +jN(a,b,c,d){var s,r,q,p,o=1<<(B.f.nh(d,b)&31)>>>0,n=this.a +if((n&o)>>>0===0)return null +n=(n&o-1)>>>0 +s=n-(n>>>1&1431655765) +s=(s&858993459)+(s>>>2&858993459) +s=s+(s>>>4)&252645135 +s+=s>>>8 +n=this.b +r=2*(s+(s>>>16)&63) +q=n[r] +p=n[r+1] +if(q==null)return p.jN(0,b+5,c,d) +if(c===q)return p +return null}, +a2F(a){var s,r,q,p,o,n,m,l=A.b8(32,null,!1,t.X) +for(s=this.a,r=a+5,q=this.b,p=0,o=0;o<32;++o)if((B.f.nh(s,o)&1)!==0){n=q[p] +m=p+1 +if(n==null)l[o]=q[m] +else l[o]=$.DI().iM(0,r,n,J.u(n),q[m]) +p+=2}return new A.NK(l)}} +A.AM.prototype={ +iM(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j=this,i=j.a +if(d===i){s=j.Kc(c) +if(s!==-1){i=j.b +r=s+1 +q=i[r] +if(q==null?e==null:q===e)i=j +else{q=i.length +p=A.b8(q,null,!1,t.X) +for(o=0;o>>0,k).iM(0,b,c,d,e)}, +jN(a,b,c,d){var s=this.Kc(c) +return s<0?null:this.b[s+1]}, +Kc(a){var s,r,q=this.b,p=q.length +for(s=J.jg(a),r=0;r=s.a.length)s.Bg(q) +B.R.dW(s.a,s.b,q,a) +s.b+=r}, +pc(a,b,c){var s=this,r=c==null?s.e.length:c,q=s.b+(r-b) +if(q>=s.a.length)s.Bg(q) +B.R.dW(s.a,s.b,q,a) +s.b=q}, +Y4(a){return this.pc(a,0,null)}, +Bg(a){var s=this.a,r=s.length,q=a==null?0:a,p=Math.max(q,r*2),o=new Uint8Array(p) +B.R.dW(o,0,r,s) +this.a=o}, +a52(){return this.Bg(null)}, +i2(a){var s=B.f.bo(this.b,a) +if(s!==0)this.pc($.awQ(),0,a-s)}, +ks(){var s,r=this +if(r.c)throw A.c(A.R("done() must not be called more than once on the same "+A.r(r).j(0)+".")) +s=A.es(r.a.buffer,0,r.b) +r.a=new Uint8Array(0) +r.c=!0 +return s}} +A.y0.prototype={ +mA(a){return this.a.getUint8(this.b++)}, +yf(a){var s=this.b,r=$.db() +B.f3.FS(this.a,s,r)}, +mB(a){var s=this.a,r=A.dh(s.buffer,s.byteOffset+this.b,a) +this.b+=a +return r}, +yg(a){var s +this.i2(8) +s=this.a +B.qY.NR(s.buffer,s.byteOffset+this.b,a)}, +i2(a){var s=this.b,r=B.f.bo(s,a) +if(r!==0)this.b=s+(a-r)}} +A.i5.prototype={ +gu(a){var s=this +return A.P(s.b,s.d,s.f,s.r,s.w,s.x,s.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.i5&&b.b===s.b&&b.d===s.d&&b.f===s.f&&b.r===s.r&&b.w===s.w&&b.x===s.x&&b.a===s.a}, +j(a){var s=this +return"StackFrame(#"+s.b+", "+s.c+":"+s.d+"/"+s.e+":"+s.f+":"+s.r+", className: "+s.w+", method: "+s.x+")"}} +A.a9Z.prototype={ +$1(a){return a.length!==0}, +$S:25} +A.cv.prototype={ +ny(a,b){return new A.a9($.ad,this.$ti.h("a9<1>"))}, +ko(a){return this.ny(a,null)}, +ej(a,b,c,d){var s=b.$1(this.a) +if(d.h("a7<0>").b(s))return s +return new A.cv(s,d.h("cv<0>"))}, +aT(a,b,c){return this.ej(0,b,null,c)}, +fI(a){var s,r,q,p,o,n=this +try{s=a.$0() +if(t.L0.b(s)){p=J.akW(s,new A.aar(n),n.$ti.c) +return p}return n}catch(o){r=A.a6(o) +q=A.aK(o) +p=A.nh(r,q,n.$ti.c) +return p}}, +$ia7:1} +A.aar.prototype={ +$1(a){return this.a.a}, +$S(){return this.a.$ti.h("1(@)")}} +A.Go.prototype={ +F(){return"GestureDisposition."+this.b}} +A.cF.prototype={} +A.q5.prototype={ +a1(a,b){this.a.ly(this.b,this.c,b)}} +A.t3.prototype={ +j(a){var s=this,r=s.a +r=r.length===0?""+"":""+new A.ay(r,new A.aeM(s),A.Z(r).h("ay<1,q>")).bw(0,", ") +if(s.b)r+=" [open]" +if(s.c)r+=" [held]" +if(s.d)r+=" [hasPendingSweep]" +return r.charCodeAt(0)==0?r:r}} +A.aeM.prototype={ +$1(a){if(a===this.a.e)return a.j(0)+" (eager winner)" +return a.j(0)}, +$S:185} +A.ZX.prototype={ +nr(a,b,c){this.a.bj(0,b,new A.ZZ()).a.push(c) +return new A.q5(this,b,c)}, +a8l(a,b){var s=this.a.i(0,b) +if(s==null)return +s.b=!1 +this.MH(b,s)}, +Ht(a){var s,r=this.a,q=r.i(0,a) +if(q==null)return +if(q.c){q.d=!0 +return}r.A(0,a) +r=q.a +if(r.length!==0){B.b.gH(r).fj(a) +for(s=1;s")),p=n.r,q=q.y[1];r.t();){o=r.a;(o==null?q.a(o):o).afm(0,p)}s.I(0) +n.c=B.r +s=n.y +if(s!=null)s.aA(0)}} +A.w7.prototype={ +a1G(a){var s,r,q,p,o=this +try{o.b2$.L(0,A.aCF(a.a,o.ga_0())) +if(o.c<=0)o.Ab()}catch(q){s=A.a6(q) +r=A.aK(q) +p=A.bk("while handling a pointer data packet") +A.df(new A.bD(s,r,"gestures library",p,null,!1))}}, +a_1(a){var s +if($.az().gbY().b.i(0,a)==null)s=null +else{s=$.bq().d +if(s==null){s=self.window.devicePixelRatio +if(s===0)s=1}}return s}, +a84(a){var s=this.b2$ +if(s.b===s.c&&this.c<=0)A.e3(this.ga_R()) +s.vv(A.arh(0,0,0,0,0,B.dM,!1,0,a,B.h,1,1,0,0,0,0,0,0,B.r,0))}, +Ab(){for(var s=this.b2$;!s.gM(0);)this.DQ(s.ot())}, +DQ(a){this.gLs().eo(0) +this.K4(a)}, +K4(a){var s,r=this,q=!t.pY.b(a) +if(!q||t.ks.b(a)||t.XA.b(a)||t.w5.b(a)){s=A.alP() +r.wI(s,a.gbR(a),a.goK()) +if(!q||t.w5.b(a))r.Z$.n(0,a.gbi(),s)}else if(t.oN.b(a)||t.Ko.b(a)||t.WQ.b(a))s=r.Z$.A(0,a.gbi()) +else s=a.gwe()||t.DB.b(a)?r.Z$.i(0,a.gbi()):null +if(s!=null||t.ge.b(a)||t.PB.b(a)){q=r.CW$ +q.toString +q.aeY(a,t.n2.b(a)?null:s) +r.UD(0,a,s)}}, +wI(a,b,c){a.D(0,new A.iB(this,t.AL))}, +a9y(a,b,c){var s,r,q,p,o,n,m,l,k,j,i="gesture library" +if(c==null){try{this.bv$.S1(b)}catch(p){s=A.a6(p) +r=A.aK(p) +A.df(A.aB0(A.bk("while dispatching a non-hit-tested pointer event"),b,s,null,new A.a_1(b),i,r))}return}for(n=c.a,m=n.length,l=0;l#"+A.b9(this)+"("+this.a.j(0)+")"}} +A.tD.prototype={} +A.B4.prototype={ +cq(a,b){return this.a.rL(b)}} +A.ti.prototype={ +cq(a,b){var s,r,q,p,o=new Float64Array(16),n=new A.bi(o) +n.ba(b) +s=this.a +r=s.a +q=s.b +s=o[0] +p=o[3] +o[0]=s+r*p +o[1]=o[1]+q*p +o[2]=o[2]+0*p +o[3]=p +p=o[4] +s=o[7] +o[4]=p+r*s +o[5]=o[5]+q*s +o[6]=o[6]+0*s +o[7]=s +s=o[8] +p=o[11] +o[8]=s+r*p +o[9]=o[9]+q*p +o[10]=o[10]+0*p +o[11]=p +p=o[12] +s=o[15] +o[12]=p+r*s +o[13]=o[13]+q*s +o[14]=o[14]+0*s +o[15]=s +return n}} +A.jD.prototype={ +a0x(){var s,r,q,p,o=this.c +if(o.length===0)return +s=this.b +r=B.b.gP(s) +for(q=o.length,p=0;p":B.b.bw(s,", "))+")"}} +A.hW.prototype={ +eX(a){var s,r=this +switch(a.gdu(a)){case 1:s=!1 +if(r.p1==null)if(r.p2==null)s=r.R8==null +if(s)return!1 +break +case 2:return!1 +case 4:return!1 +default:return!1}return r.p_(a)}, +D7(){var s,r=this +r.a1(0,B.bN) +r.k2=!0 +s=r.CW +s.toString +r.H6(s) +r.Z2()}, +PX(a){var s,r=this +if(!a.gpa()){if(t.pY.b(a)){s=new A.i9(a.gck(a),A.b8(20,null,!1,t.av)) +r.E=s +s.vx(a.gjJ(a),a.gef())}if(t.n2.b(a)){s=r.E +s.toString +s.vx(a.gjJ(a),a.gef())}}if(t.oN.b(a)){if(r.k2)r.Z0(a) +else r.a1(0,B.aG) +r.AV()}else if(t.Ko.b(a)){r.I9() +r.AV()}else if(t.pY.b(a)){r.k3=new A.hY(a.gef(),a.gbR(a)) +r.k4=a.gdu(a) +r.Z_(a)}else if(t.n2.b(a))if(a.gdu(a)!==r.k4&&!r.k2){r.a1(0,B.aG) +s=r.CW +s.toString +r.fN(s)}else if(r.k2)r.Z1(a)}, +Z_(a){this.k3.toString +this.e.i(0,a.gbi()).toString +switch(this.k4){case 1:break +case 2:break +case 4:break}}, +I9(){var s,r=this +if(r.ch===B.eA)switch(r.k4){case 1:s=r.p1 +if(s!=null)r.dT("onLongPressCancel",s) +break +case 2:break +case 4:break}}, +Z2(){switch(this.k4){case 1:var s=this.p2 +if(s!=null)this.dT("onLongPress",s) +break +case 2:break +case 4:break}}, +Z1(a){a.gbR(a) +a.gef() +a.gbR(a).ac(0,this.k3.b) +a.gef().ac(0,this.k3.a) +switch(this.k4){case 1:break +case 2:break +case 4:break}}, +Z0(a){var s,r=this +r.E.tF() +a.gbR(a) +a.gef() +r.E=null +switch(r.k4){case 1:s=r.R8 +if(s!=null)r.dT("onLongPressUp",s) +break +case 2:break +case 4:break}}, +AV(){var s=this +s.k2=!1 +s.E=s.k4=s.k3=null}, +a1(a,b){var s=this +if(b===B.aG)if(s.k2)s.AV() +else s.I9() +s.H0(0,b)}, +fj(a){}} +A.kx.prototype={ +i(a,b){return this.c[b+this.a]}, +n(a,b,c){this.c[b+this.a]=c}, +ad(a,b){var s,r,q,p,o,n,m +for(s=this.b,r=this.c,q=this.a,p=b.c,o=b.a,n=0,m=0;m"),q=A.lj(A.a8(new A.ay(s,new A.a6o(),r),!0,r.h("aI.E")),"[","]") +r=this.b +r===$&&A.a() +return"PolynomialFit("+q+", confidence: "+B.c.R(r,3)+")"}} +A.a6o.prototype={ +$1(a){return B.c.aeG(a,3)}, +$S:174} +A.H5.prototype={ +Gu(a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=this.a,a5=a4.length +if(a6>a5)return null +s=a6+1 +r=new A.a6n(new Float64Array(s)) +q=s*a5 +p=new Float64Array(q) +for(o=this.c,n=0*a5,m=0;m=0;--c){p[c]=new A.kx(c*a5,a5,q).ad(0,d) +for(i=c*s,k=l;k>c;--k)p[c]=p[c]-n[i+k]*p[k] +p[c]=p[c]/n[i+c]}for(b=0,m=0;mr){r=p +s=q}}else{r.toString +if(p0:b.b>0,o=q?b.a:b.b,n=this.a0i(a,p) +if(n===c)return o +else{n.toString +s=this.An(a,n,p) +r=this.An(a,c,p) +if(p){q=r+o +if(q>s)return q-s +else return 0}else{q=r+o +if(q")),r=r.y[1],q=n;s.t();){p=s.a +if(p==null)p=r.a(p) +q=o?q+p.a:q+p.b}return q/m}, +kH(a){var s,r,q,p,o,n,m,l,k,j,i,h=this +if(!a.gpa())s=t.pY.b(a)||t.n2.b(a)||t.w5.b(a)||t.DB.b(a) +else s=!1 +if(s){$label0$0:{if(t.w5.b(a)){s=B.h +break $label0$0}if(t.DB.b(a)){s=a.gF3(a) +break $label0$0}s=a.gef() +break $label0$0}r=h.p2.i(0,a.gbi()) +r.toString +r.vx(a.gjJ(a),s)}s=t.n2.b(a) +if(s&&a.gdu(a)!==h.k3){h.Aq(a.gbi()) +return}if((s||t.DB.b(a))&&h.a5W(a.gbi())){q=s?a.gw5():t.DB.a(a).gR4() +p=s?a.gQE():t.DB.a(a).gQF() +if(s)o=a.gbR(a) +else{r=a.gbR(a) +t.DB.a(a) +o=r.a6(0,a.gF3(a))}n=s?a.gef():a.gef().a6(0,t.DB.a(a).gEq()) +h.k1=new A.hY(n,o) +m=h.a55(a.gbi(),p) +$label1$1:{l=h.fy +if(B.bn===l||B.xr===l){s=h.id +s===$&&A.a() +h.id=s.a6(0,new A.hY(p,q)) +h.k2=a.gjJ(a) +h.k4=a.gbD(a) +k=h.pu(p) +if(a.gbD(a)==null)j=null +else{s=a.gbD(a) +s.toString +j=A.Ho(s)}s=h.ok +s===$&&A.a() +r=A.a6g(j,null,k,n).gd7() +i=h.pw(k) +h.ok=s+r*J.dF(i==null?1:i) +s=a.gck(a) +r=h.b +if(h.AJ(s,r==null?null:r.a)){h.p1=!0 +if(B.b.p(h.RG,a.gbi()))h.I8(a.gbi()) +else h.a1(0,B.bN)}break $label1$1}if(B.e6===l){s=a.gjJ(a) +h.Ic(h.pu(m),o,n,h.pw(m),s)}}h.a4P(a.gbi(),p)}if(t.oN.b(a)||t.Ko.b(a)||t.WQ.b(a))h.Aq(a.gbi())}, +fj(a){var s=this +s.RG.push(a) +s.rx=a +if(!s.fr||s.p1)s.I8(a)}, +f2(a){this.Aq(a)}, +Db(a){var s,r=this +switch(r.fy.a){case 0:break +case 1:r.a1(0,B.aG) +s=r.cy +if(s!=null)r.dT("onCancel",s) +break +case 2:r.YZ(a) +break}r.p1=!1 +r.p2.I(0) +r.k3=null +r.fy=B.bn}, +Aq(a){var s,r,q,p=this +p.fN(a) +s=p.RG +if(!B.b.A(s,a)){r=p.f +q=r.i(0,a) +if(q!=null){r.A(0,a) +q.a1(0,B.aG)}}p.p3.A(0,a) +if(p.rx===a)p.rx=s.length!==0?B.b.gH(s):null}, +a3p(){var s,r=this +if(r.ay!=null){s=r.go +s===$&&A.a() +r.dT("onDown",new A.XU(r,new A.jw(s.b)))}}, +I8(a){var s,r,q,p,o,n,m,l,k=this +if(k.fy===B.e6)return +k.fy=B.e6 +s=k.id +s===$&&A.a() +r=k.k2 +q=k.k4 +switch(k.at.a){case 1:p=k.go +p===$&&A.a() +k.go=p.a6(0,s) +o=B.h +break +case 0:o=k.pu(s.a) +break +default:o=null}k.id=B.r0 +k.k4=k.k2=null +k.Z3(r,a) +if(!J.e(o,B.h)&&k.CW!=null){n=q!=null?A.Ho(q):null +s=k.go +s===$&&A.a() +m=A.a6g(n,null,o,s.a.a6(0,o)) +l=k.go.a6(0,new A.hY(o,m)) +k.Ic(o,l.b,l.a,k.pw(o),r)}k.a1(0,B.bN)}, +Z3(a,b){var s,r,q=this +if(q.ch!=null){s=q.go +s===$&&A.a() +r=q.e.i(0,b) +r.toString +q.dT("onStart",new A.XZ(q,new A.hL(a,s.b,r)))}}, +Ic(a,b,c,d,e){if(this.CW!=null)this.dT("onUpdate",new A.Y_(this,new A.hM(e,a,d,b)))}, +YZ(a){var s,r,q,p,o,n=this,m={} +if(n.cx==null)return +s=n.p2.i(0,a) +r=s.tF() +m.a=null +if(r==null){q=new A.XV() +p=null}else{o=m.a=n.zL(r,s.a) +q=o!=null?new A.XW(m,r):new A.XX(r) +p=o}if(p==null){p=n.k1 +p===$&&A.a() +m.a=new A.eR(B.cK,0,p.b)}n.ac6("onEnd",new A.XY(m,n),q)}, +l(){this.p2.I(0) +this.p0()}} +A.XU.prototype={ +$0(){return this.a.ay.$1(this.b)}, +$S:0} +A.XZ.prototype={ +$0(){return this.a.ch.$1(this.b)}, +$S:0} +A.Y_.prototype={ +$0(){return this.a.CW.$1(this.b)}, +$S:0} +A.XV.prototype={ +$0(){return"Could not estimate velocity."}, +$S:45} +A.XW.prototype={ +$0(){return this.b.j(0)+"; fling at "+this.a.a.a.j(0)+"."}, +$S:45} +A.XX.prototype={ +$0(){return this.a.j(0)+"; judged to not be a fling."}, +$S:45} +A.XY.prototype={ +$0(){var s,r=this.b.cx +r.toString +s=this.a.a +s.toString +return r.$1(s)}, +$S:0} +A.fT.prototype={ +zL(a,b){var s,r,q,p,o=this,n=o.dx +if(n==null)n=50 +s=o.db +if(s==null)s=A.TU(b,o.b) +r=a.a.b +if(!(Math.abs(r)>n&&Math.abs(a.d.b)>s))return null +q=o.dy +if(q==null)q=8000 +p=A.M(r,-q,q) +r=o.k1 +r===$&&A.a() +return new A.eR(new A.hs(new A.n(0,p)),p,r.b)}, +AJ(a,b){var s=this.ok +s===$&&A.a() +return Math.abs(s)>A.TU(a,this.b)}, +pu(a){return new A.n(0,a.b)}, +pw(a){return a.b}, +Am(){return B.cP}} +A.fy.prototype={ +zL(a,b){var s,r,q,p,o=this,n=o.dx +if(n==null)n=50 +s=o.db +if(s==null)s=A.TU(b,o.b) +r=a.a.a +if(!(Math.abs(r)>n&&Math.abs(a.d.a)>s))return null +q=o.dy +if(q==null)q=8000 +p=A.M(r,-q,q) +r=o.k1 +r===$&&A.a() +return new A.eR(new A.hs(new A.n(p,0)),p,r.b)}, +AJ(a,b){var s=this.ok +s===$&&A.a() +return Math.abs(s)>A.TU(a,this.b)}, +pu(a){return new A.n(a.a,0)}, +pw(a){return a.a}, +Am(){return B.cO}} +A.i_.prototype={ +zL(a,b){var s,r,q,p,o,n=this,m=n.dx +if(m==null)m=50 +s=n.db +if(s==null)s=A.TU(b,n.b) +r=a.a +if(!(r.gDh()>m*m&&a.d.gDh()>s*s))return null +q=n.dx +if(q==null)q=50 +p=n.dy +if(p==null)p=8000 +o=new A.hs(r).a8f(q,p) +p=n.k1 +p===$&&A.a() +return new A.eR(o,null,p.b)}, +AJ(a,b){var s=this.ok +s===$&&A.a() +return Math.abs(s)>A.aIh(a,this.b)}, +pu(a){return a}, +pw(a){return null}} +A.Nd.prototype={ +F(){return"_DragDirection."+this.b}} +A.MC.prototype={ +a3S(){this.a=!0}} +A.tB.prototype={ +fN(a){if(this.r){this.r=!1 +$.dY.bv$.RI(this.b,a)}}, +Qy(a,b){return a.gbR(a).ac(0,this.d).gd7()<=b}} +A.hK.prototype={ +eX(a){var s,r,q=this +if(q.y==null){s=q.r==null +if(s)return!1}r=q.p_(a) +if(!r)q.lu() +return r}, +hz(a){var s=this,r=s.y +if(r!=null)if(!r.Qy(a,100))return +else{r=s.y +if(!r.f.a||a.gdu(a)!==r.e){s.lu() +return s.MG(a)}}s.MG(a)}, +MG(a){var s,r,q,p,o,n,m=this +m.Mi() +s=$.dY.bm$.nr(0,a.gbi(),m) +r=a.gbi() +q=a.gbR(a) +p=a.gdu(a) +o=new A.MC() +A.cb(B.Bv,o.ga3R()) +n=new A.tB(r,s,q,p,o) +m.z.n(0,a.gbi(),n) +o=a.gbD(a) +if(!n.r){n.r=!0 +$.dY.bv$.NE(r,m.guV(),o)}}, +a3r(a){var s,r=this,q=r.z,p=q.i(0,a.gbi()) +p.toString +if(t.oN.b(a)){s=r.y +if(s==null){if(r.x==null)r.x=A.cb(B.bd,r.ga3s()) +s=p.b +$.dY.bm$.wJ(s) +p.fN(r.guV()) +q.A(0,s) +r.Ij() +r.y=p}else{s=s.c +s.a.ly(s.b,s.c,B.bN) +s=p.c +s.a.ly(s.b,s.c,B.bN) +p.fN(r.guV()) +q.A(0,p.b) +q=r.r +if(q!=null)r.dT("onDoubleTap",q) +r.lu()}}else if(t.n2.b(a)){if(!p.Qy(a,18))r.pS(p)}else if(t.Ko.b(a))r.pS(p)}, +fj(a){}, +f2(a){var s,r=this,q=r.z.i(0,a) +if(q==null){s=r.y +s=s!=null&&s.b===a}else s=!1 +if(s)q=r.y +if(q!=null)r.pS(q)}, +pS(a){var s,r=this,q=r.z +q.A(0,a.b) +s=a.c +s.a.ly(s.b,s.c,B.aG) +a.fN(r.guV()) +s=r.y +if(s!=null)if(a===s)r.lu() +else{r.I6() +if(q.a===0)r.lu()}}, +l(){this.lu() +this.GN()}, +lu(){var s,r=this +r.Mi() +if(r.y!=null){if(r.z.a!==0)r.I6() +s=r.y +s.toString +r.y=null +r.pS(s) +$.dY.bm$.ae2(0,s.b)}r.Ij()}, +Ij(){var s=this.z.gaF(0) +B.b.V(A.a8(s,!0,A.o(s).h("j.E")),this.ga4S())}, +Mi(){var s=this.x +if(s!=null){s.aA(0) +this.x=null}}, +I6(){}} +A.a6i.prototype={ +NE(a,b,c){J.eI(this.a.bj(0,a,new A.a6k()),b,c)}, +RI(a,b){var s,r=this.a,q=r.i(0,a) +q.toString +s=J.bP(q) +s.A(q,b) +if(s.gM(q))r.A(0,a)}, +a_9(a,b,c){var s,r,q,p,o +a=a +try{a=a.aO(c) +b.$1(a)}catch(p){s=A.a6(p) +r=A.aK(p) +q=null +o=A.bk("while routing a pointer event") +A.df(new A.bD(s,r,"gesture library",o,q,!1))}}, +S1(a){var s=this,r=s.a.i(0,a.gbi()),q=s.b,p=t.Ld,o=t.iD,n=A.lq(q,p,o) +if(r!=null)s.IQ(a,r,A.lq(r,p,o)) +s.IQ(a,q,n)}, +IQ(a,b,c){c.V(0,new A.a6j(this,b,a))}} +A.a6k.prototype={ +$0(){return A.E(t.Ld,t.iD)}, +$S:176} +A.a6j.prototype={ +$2(a,b){if(J.u6(this.b,a))this.a.a_9(this.c,a,b)}, +$S:177} +A.a6l.prototype={ +Rz(a,b,c){if(this.a!=null)return +this.b=b +this.a=c}, +a1(a,b){var s,r,q,p,o,n=this,m=n.a +if(m==null){b.l_(!0) +return}try{p=n.b +p.toString +m.$1(p)}catch(o){s=A.a6(o) +r=A.aK(o) +q=null +m=A.bk("while resolving a PointerSignalEvent") +A.df(new A.bD(s,r,"gesture library",m,q,!1))}n.b=n.a=null}} +A.FL.prototype={ +F(){return"DragStartBehavior."+this.b}} +A.HE.prototype={ +F(){return"MultitouchDragStrategy."+this.b}} +A.cG.prototype={ +C5(a){}, +C9(a){var s=this +s.e.n(0,a.gbi(),a.gck(a)) +if(s.eX(a))s.hz(a) +else s.o4(a)}, +hz(a){}, +o4(a){}, +eX(a){var s=this.c +return(s==null||s.p(0,a.gck(a)))&&this.d.$1(a.gdu(a))}, +Eh(a){var s=this.c +return s==null||s.p(0,a.gck(a))}, +l(){}, +Ql(a,b,c){var s,r,q,p,o,n=null +try{n=b.$0()}catch(p){s=A.a6(p) +r=A.aK(p) +q=null +o=A.bk("while handling a gesture") +A.df(new A.bD(s,r,"gesture",o,q,!1))}return n}, +dT(a,b){return this.Ql(a,b,null,t.z)}, +ac6(a,b,c){return this.Ql(a,b,c,t.z)}} +A.cf.prototype={ +hz(a){this.tU(a.gbi(),a.gbD(a))}, +o4(a){this.a1(0,B.aG)}, +fj(a){}, +f2(a){}, +a1(a,b){var s,r=this.f,q=A.a8(r.gaF(0),!0,t.Y) +r.I(0) +for(r=q.length,s=0;s")),r=r.c;q.t();){p=q.d +if(p==null)p=r.a(p) +o=$.dY.bv$ +n=k.grg() +o=o.a +m=o.i(0,p) +m.toString +l=J.bP(m) +l.A(m,n) +if(l.gM(m))o.A(0,p)}s.I(0) +k.GN()}, +tU(a,b){var s,r=this +$.dY.bv$.NE(a,r.grg(),b) +r.r.D(0,a) +s=r.w +s=s==null?null:s.nr(0,a,r) +if(s==null)s=$.dY.bm$.nr(0,a,r) +r.f.n(0,a,s)}, +fN(a){var s=this.r +if(s.p(0,a)){$.dY.bv$.RI(a,this.grg()) +s.A(0,a) +if(s.a===0)this.Db(a)}}, +Gw(a){if(t.oN.b(a)||t.Ko.b(a)||t.WQ.b(a))this.fN(a.gbi())}} +A.w8.prototype={ +F(){return"GestureRecognizerState."+this.b}} +A.qG.prototype={ +hz(a){var s=this +s.yX(a) +if(s.ch===B.bO){s.ch=B.eA +s.CW=a.gbi() +s.cx=new A.hY(a.gef(),a.gbR(a)) +s.db=A.cb(s.at,new A.a6t(s,a))}}, +o4(a){if(!this.cy)this.V_(a)}, +kH(a){var s,r,q,p=this +if(p.ch===B.eA&&a.gbi()===p.CW){if(!p.cy)s=p.Jq(a)>18 +else s=!1 +if(p.cy){r=p.ay +q=r!=null&&p.Jq(a)>r}else q=!1 +if(t.n2.b(a))r=s||q +else r=!1 +if(r){p.a1(0,B.aG) +r=p.CW +r.toString +p.fN(r)}else p.PX(a)}p.Gw(a)}, +D7(){}, +fj(a){if(a===this.CW){this.nj() +this.cy=!0}}, +f2(a){var s=this +if(a===s.CW&&s.ch===B.eA){s.nj() +s.ch=B.Ck}}, +Db(a){var s=this +s.nj() +s.ch=B.bO +s.cx=null +s.cy=!1}, +l(){this.nj() +this.p0()}, +nj(){var s=this.db +if(s!=null){s.aA(0) +this.db=null}}, +Jq(a){return a.gbR(a).ac(0,this.cx.b).gd7()}} +A.a6t.prototype={ +$0(){this.a.D7() +return null}, +$S:0} +A.hY.prototype={ +a6(a,b){return new A.hY(this.a.a6(0,b.a),this.b.a6(0,b.b))}, +ac(a,b){return new A.hY(this.a.ac(0,b.a),this.b.ac(0,b.b))}, +j(a){return"OffsetPair(local: "+this.a.j(0)+", global: "+this.b.j(0)+")"}} +A.NO.prototype={} +A.rl.prototype={} +A.rm.prototype={} +A.Ed.prototype={ +hz(a){var s=this +if(s.ch===B.bO){if(s.k4!=null&&s.ok!=null)s.pT() +s.k4=a}if(s.k4!=null)s.V8(a)}, +tU(a,b){this.V0(a,b)}, +PX(a){var s,r,q=this +if(t.oN.b(a)){q.ok=a +q.Ib()}else if(t.Ko.b(a)){q.a1(0,B.aG) +if(q.k2){s=q.k4 +s.toString +q.wF(a,s,"")}q.pT()}else{s=a.gdu(a) +r=q.k4 +if(s!==r.gdu(r)){q.a1(0,B.aG) +s=q.CW +s.toString +q.fN(s)}}}, +a1(a,b){var s,r=this +if(r.k3&&b===B.aG){s=r.k4 +s.toString +r.wF(null,s,"spontaneous") +r.pT()}r.H0(0,b)}, +D7(){this.I7()}, +fj(a){var s=this +s.H6(a) +if(a===s.CW){s.I7() +s.k3=!0 +s.Ib()}}, +f2(a){var s,r=this +r.V9(a) +if(a===r.CW){if(r.k2){s=r.k4 +s.toString +r.wF(null,s,"forced")}r.pT()}}, +I7(){var s,r=this +if(r.k2)return +s=r.k4 +s.toString +r.PZ(s) +r.k2=!0}, +Ib(){var s,r,q=this +if(!q.k3||q.ok==null)return +s=q.k4 +s.toString +r=q.ok +r.toString +q.Q_(s,r) +q.pT()}, +pT(){var s=this +s.k3=s.k2=!1 +s.k4=s.ok=null}} +A.f8.prototype={ +eX(a){var s=this +switch(a.gdu(a)){case 1:if(s.a4==null&&s.bv==null&&s.b2==null&&s.bm==null)return!1 +break +case 2:if(s.E==null&&s.Z==null&&s.a3==null&&s.aj==null)return!1 +break +case 4:return!1 +default:return!1}return s.p_(a)}, +PZ(a){var s,r=this,q=a.gbR(a),p=a.gef() +r.e.i(0,a.gbi()).toString +s=new A.rl(q,p) +switch(a.gdu(a)){case 1:if(r.a4!=null)r.dT("onTapDown",new A.aay(r,s)) +break +case 2:if(r.Z!=null)r.dT("onSecondaryTapDown",new A.aaz(r,s)) +break +case 4:break}}, +Q_(a,b){var s,r,q=this +b.gck(b) +b.gbR(b) +b.gef() +s=new A.rm() +switch(a.gdu(a)){case 1:if(q.b2!=null)q.dT("onTapUp",new A.aaA(q,s)) +r=q.bv +if(r!=null)q.dT("onTap",r) +break +case 2:if(q.a3!=null)q.dT("onSecondaryTapUp",new A.aaB(q,s)) +if(q.E!=null)q.dT("onSecondaryTap",new A.aaC(q)) +break +case 4:break}}, +wF(a,b,c){var s,r=this,q=c===""?c:c+" " +switch(b.gdu(b)){case 1:s=r.bm +if(s!=null)r.dT(q+"onTapCancel",s) +break +case 2:s=r.aj +if(s!=null)r.dT(q+"onSecondaryTapCancel",s) +break +case 4:break}}} +A.aay.prototype={ +$0(){return this.a.a4.$1(this.b)}, +$S:0} +A.aaz.prototype={ +$0(){return this.a.Z.$1(this.b)}, +$S:0} +A.aaA.prototype={ +$0(){return this.a.b2.$1(this.b)}, +$S:0} +A.aaB.prototype={ +$0(){return this.a.a3.$1(this.b)}, +$S:0} +A.aaC.prototype={ +$0(){return this.a.E.$0()}, +$S:0} +A.Mj.prototype={ +a1(a,b){this.a.a6i(this.b,b)}, +$iq5:1} +A.oM.prototype={ +fj(a){var s,r,q,p,o=this +o.Mr() +if(o.e==null){s=o.a.b +o.e=s==null?o.b[0]:s}for(s=o.b,r=s.length,q=0;qb*b)return new A.hs(s.dr(0,s.gd7()).ad(0,b)) +if(r40)return B.jy +s=t.n +r=A.b([],s) +q=A.b([],s) +p=A.b([],s) +o=A.b([],s) +n=this.d +s=this.c +m=s[n] +if(m==null)return null +l=m.a.a +k=m +j=k +i=0 +do{h=s[n] +if(h==null)break +g=h.a.a +f=(l-g)/1000 +if(f>100||Math.abs(g-j.a.a)/1000>40)break +e=h.b +r.push(e.a) +q.push(e.b) +p.push(1) +o.push(-f) +n=(n===0?20:n)-1;++i +if(i<20){k=h +j=k +continue}else{k=h +break}}while(!0) +if(i>=3){d=new A.H5(o,r,p).Gu(2) +if(d!=null){c=new A.H5(o,q,p).Gu(2) +if(c!=null){s=d.a[1] +g=c.a[1] +b=d.b +b===$&&A.a() +a=c.b +a===$&&A.a() +return new A.m2(new A.n(s*1000,g*1000),b*a,new A.aQ(l-k.a.a),m.b.ac(0,k.b))}}}return new A.m2(B.h,1,new A.aQ(l-k.a.a),m.b.ac(0,k.b))}} +A.nq.prototype={ +vx(a,b){var s,r=this +r.glA().le(0) +r.glA().eG(0) +s=(r.d+1)%20 +r.d=s +r.e[s]=new A.Br(a,b)}, +nc(a){var s,r,q=this.d+a,p=B.f.bo(q,20),o=B.f.bo(q-1,20) +q=this.e +s=q[p] +r=q[o] +if(s==null||r==null)return B.h +q=s.a.a-r.a.a +return q>0?s.b.ac(0,r.b).ad(0,1000).dr(0,q/1000):B.h}, +tF(){var s,r,q,p,o,n,m=this +if(m.glA().gDo()>40)return B.jy +s=m.nc(-2).ad(0,0.6).a6(0,m.nc(-1).ad(0,0.35)).a6(0,m.nc(0).ad(0,0.05)) +r=m.e +q=m.d +p=r[q] +for(o=null,n=1;n<=20;++n){o=r[B.f.bo(q+n,20)] +if(o!=null)break}if(o==null||p==null)return B.xj +else return new A.m2(s,1,new A.aQ(p.a.a-o.a.a),p.b.ac(0,o.b))}} +A.qo.prototype={ +tF(){var s,r,q,p,o,n,m=this +if(m.glA().gDo()>40)return B.jy +s=m.nc(-2).ad(0,0.15).a6(0,m.nc(-1).ad(0,0.65)).a6(0,m.nc(0).ad(0,0.2)) +r=m.e +q=m.d +p=r[q] +for(o=null,n=1;n<=20;++n){o=r[B.f.bo(q+n,20)] +if(o!=null)break}if(o==null||p==null)return B.xj +else return new A.m2(s,1,new A.aQ(p.a.a-o.a.a),p.b.ac(0,o.b))}} +A.Ly.prototype={ +K(a){var s=this +return A.a_X(s.e,s.c,null,new A.acd(s,a),s.f,s.Ao(a))}} +A.acd.prototype={ +$0(){this.a.B5(this.b)}, +$S:0} +A.rJ.prototype={ +K(a){var s,r,q,p,o=null +a.aa(t.vH) +s=A.an(a) +r=this.c.$1(s.p4) +if(r!=null)return r.$1(a) +q=this.d.$1(a) +p=o +switch(A.eF().a){case 0:s=A.nG(a,B.bD,t.c4) +s.toString +p=this.e.$1(s) +break +case 1:case 3:case 5:case 2:case 4:break}return new A.lc(q,o,o,p,o)}} +A.Eb.prototype={ +K(a){return new A.rJ(new A.UY(),new A.UZ(),new A.V_(),null)}} +A.UY.prototype={ +$1(a){return a==null?null:a.a}, +$S:77} +A.UZ.prototype={ +$1(a){return B.Co}, +$S:65} +A.V_.prototype={ +$1(a){return"Back"}, +$S:85} +A.Ea.prototype={ +B5(a){return A.ar1(a)}, +Ao(a){A.nG(a,B.bD,t.c4).toString +return"Back"}} +A.FN.prototype={ +K(a){return new A.rJ(new A.Y1(),new A.Y2(),new A.Y3(),null)}} +A.Y1.prototype={ +$1(a){return a==null?null:a.c}, +$S:77} +A.Y2.prototype={ +$1(a){return B.lq}, +$S:65} +A.Y3.prototype={ +$1(a){return"Open navigation menu"}, +$S:85} +A.FM.prototype={ +B5(a){var s,r,q=A.yG(a),p=q.e +if(p.gbu()!=null){s=q.x +r=s.y +s=r==null?A.o(s).h("bI.T").a(r):r}else s=!1 +if(s)p.gbu().aJ(0) +q=q.d.gbu() +if(q!=null)q.adk(0) +return null}, +Ao(a){A.nG(a,B.bD,t.c4).toString +return"Open navigation menu"}} +A.FR.prototype={ +K(a){return new A.rJ(new A.Yo(),new A.Yp(),new A.Yq(),null)}} +A.Yo.prototype={ +$1(a){return a==null?null:a.d}, +$S:77} +A.Yp.prototype={ +$1(a){return B.lq}, +$S:65} +A.Yq.prototype={ +$1(a){return"Open navigation menu"}, +$S:85} +A.FQ.prototype={ +B5(a){var s,r,q=A.yG(a),p=q.d +if(p.gbu()!=null){s=q.w +r=s.y +s=r==null?A.o(s).h("bI.T").a(r):r}else s=!1 +if(s)p.gbu().aJ(0) +q=q.e.gbu() +if(q!=null)q.adk(0) +return null}, +Ao(a){A.nG(a,B.bD,t.c4).toString +return"Open navigation menu"}} +A.pj.prototype={ +gu(a){var s=this +return A.bN([s.a,s.b,s.c,s.d])}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.pj}} +A.LA.prototype={} +A.abn.prototype={ +F(){return"ThemeMode."+this.b}} +A.wW.prototype={ +ag(){return new A.B0()}} +A.a1C.prototype={ +$2(a,b){return new A.qp(a,b)}, +$S:182} +A.a43.prototype={ +hr(a){return A.an(a).w}, +vH(a,b,c){switch(A.aX(c.a).a){case 0:return b +case 1:switch(A.an(a).w.a){case 3:case 4:case 5:return new A.JY(b,c.b,null) +case 0:case 1:case 2:return b}break}}, +vF(a,b,c){A.an(a) +switch(A.an(a).w.a){case 2:case 3:case 4:case 5:return b +case 0:switch(0){case 0:return new A.zm(c.a,c.d,b,null)}case 1:break}return A.aqa(c.a,b,A.an(a).ax.y)}} +A.B0.prototype={ +ao(){this.aL() +this.d=A.aBZ()}, +l(){var s=this.d +s===$&&A.a() +s.l() +this.aC()}, +ga34(){var s=A.b([],t.a9) +this.a.toString +s.push(B.zv) +s.push(B.zq) +return s}, +a3d(a,b){var s,r,q,p,o,n,m,l,k,j=this,i=null +j.a.toString +s=A.dL(a,B.xA) +r=s==null?i:s.e +if(r==null)r=B.a6 +q=r===B.a5 +s=A.dL(a,B.xw) +s=s==null?i:s.as +p=s===!0 +if(q)if(p)j.a.toString +if(q)j.a.toString +if(p)j.a.toString +o=j.a.db +s=o.ea +n=s.b +if(n==null){m=o.ax.b +n=A.a3(102,m.gm(m)>>>16&255,m.gm(m)>>>8&255,m.gm(m)&255)}l=s.a +if(l==null)l=o.ax.b +k=b==null?B.jm:b +j.a.toString +$.ao1() +k=new A.ub(o,k,B.a2,B.a7,i,i) +return new A.yE(A.Xe(k,l,i,i,n),i)}, +YQ(a){var s,r,q=this,p=null,o=q.a,n=o.db +n=n.fr +s=n +if(s==null)s=B.cr +n=o.e +o=o.cx +r=q.ga34() +q.a.toString +return new A.zW(p,p,p,new A.afI(),p,p,p,p,p,n,B.Gp,p,p,p,B.ED,q.ga3c(),o,p,B.OV,s,p,r,p,p,B.lE,!1,!1,p,p,p,new A.nl(q,t.bT))}, +K(a){var s,r=null,q=A.w_(!1,!1,this.YQ(a),r,r,r,r,!0,r,r,r,new A.afJ(),r,r) +this.a.toString +s=this.d +s===$&&A.a() +return A.aDC(B.yV,new A.no(s,q,r))}} +A.afI.prototype={ +$1$2(a,b,c){return A.wZ(b,a,c)}, +$2(a,b){return this.$1$2(a,b,t.z)}, +$S:184} +A.afJ.prototype={ +$2(a,b){if(!(b instanceof A.jK)&&!(b instanceof A.qk)||!b.b.k(0,B.ds))return B.dg +return A.aEA()?B.df:B.dg}, +$S:167} +A.aih.prototype={ +tz(a){return a.S3(this.b)}, +mz(a){return new A.K(a.b,this.b)}, +tC(a,b){return new A.n(0,a.b-b.b)}, +mI(a){return this.b!==a.b}} +A.PU.prototype={} +A.ui.prototype={ +a08(a){var s=this.cy +if(s==null)s=a.R8.y +return s==null?new A.UF(this,a).$0():s}, +ag(){return new A.A3()}, +$ixR:1, +kQ(a){return A.Dr().$1(a)}, +gmg(){return this.fx}} +A.UF.prototype={ +$0(){switch(this.b.w.a){case 0:case 1:case 3:case 5:return!1 +case 2:case 4:return!0}}, +$S:40} +A.A3.prototype={ +bh(){var s,r=this +r.d_() +s=r.d +if(s!=null)s.J(0,r.gzi()) +s=r.c.aa(t.yd) +s=s==null?null:s.f +r.d=s +if(s!=null){s=s.d +s.AM(s.c,new A.mf(r.gzi()),!1)}}, +l(){var s=this,r=s.d +if(r!=null){r.J(0,s.gzi()) +s.d=null}s.aC()}, +Yr(a){var s,r,q,p=this +if(a instanceof A.hl&&p.a.kQ(a)){s=p.e +r=a.a +switch(r.e.a){case 0:q=p.e=Math.max(r.gfB()-r.gcu(),0)>0 +break +case 2:q=p.e=Math.max(r.gcu()-r.gfC(),0)>0 +break +case 1:case 3:q=s +break +default:q=s}if(q!==s)p.al(new A.acp())}}, +Lu(a,b,c,d){var s=t._,r=A.kj(b,a,s) +s=r==null?A.kj(c,a,s):r +return s==null?A.kj(d,a,t.n8):s}, +K(b9){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1=this,b2=null,b3=A.an(b9),b4=A.aqh(b9),b5=A.an(b9).R8,b6=new A.aco(b9,b2,b2,0,3,b2,b2,b2,b2,b2,b2,16,64,b2,b2,b2),b7=b9.r8(t.Np),b8=A.HA(b9,t.X) +b9.aa(t.N8) +s=A.aA(t.EK) +r=b1.e +if(r)s.D(0,B.jz) +r=b7==null +if(r)q=b2 +else{b7.a.toString +q=!1}if(r)b7=b2 +else{b7.a.toString +b7=!1}r=b1.a +r.toString +p=b5.Q +if(p==null)p=56 +o=b5.a +n=b1.Lu(s,r.ax,o,b6.gbM(0)) +r=b1.a.ax +m=A.an(b9).ax +l=m.p4 +k=b1.Lu(s,r,o,l==null?m.k2:l) +j=s.p(0,B.jz)?k:n +b1.a.toString +i=b5.b +h=i==null?b6.gcU():i +b1.a.toString +g=b5.c +if(g==null){r=b6.c +r.toString +g=r}if(s.p(0,B.jz)){b1.a.toString +s=b5.d +if(s==null)s=b6.d +f=s==null?g:s}else f=g +s=b1.a.ch +e=s==null?b5.w:s +if(e==null)e=b6.go6().fp(h) +s=b1.a +s.toString +r=b5.x +s=r==null?s.ch:r +if(s==null)s=b5.w +if(s==null){s=b6.gnq().fp(i) +d=s}else d=s +if(d==null)d=e +b1.a.toString +c=b5.as +if(c==null){s=b6.gth() +c=s==null?b2:s.fp(h)}b1.a.toString +b=b5.at +if(b==null){s=b6.gtc() +b=s==null?b2:s.fp(h)}b1.a.toString +a=b2 +if(q===!0){s=e.a +a=new A.FM(B.Bk,b2,b2,A.wi(b2,b2,b2,b2,b2,b2,b2,b2,b2,s==null?24:s,b2,b2,b2,b2),b2)}else{if(b8==null)s=b2 +else s=b8.gDX()||b8.wo$>0 +if(s===!0)a=B.xS}if(a!=null){if(e.k(0,b6.go6()))a0=b4 +else{a1=A.wi(b2,b2,b2,b2,b2,b2,e.f,b2,b2,e.a,b2,b2,b2,b2) +s=b4.a +a0=new A.nr(s==null?b2:s.Oz(a1.c,a1.as,a1.d))}a=A.alR(a,a0) +b1.a.toString +a=new A.h_(A.em(b2,56),a,b2)}s=b1.a +a2=s.e +a3=new A.LP(a2,b2) +a4=b3.w +$label0$0:{r=b2 +if(B.au===a4||B.bh===a4||B.bi===a4||B.bj===a4){r=!0 +break $label0$0}if(B.av===a4||B.b5===a4)break $label0$0}a2=A.d0(b2,a3,!1,b2,!1,b2,b2,!0,b2,b2,b2,r,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2) +b.toString +a2=A.aC8(A.n_(a2,b2,B.aI,!1,b,b2,b2,B.aE),1.34) +s=s.f +if(s!=null)a5=A.hj(s,B.N,B.U,B.f0) +else if(b7===!0){b7=e.a +a5=new A.FQ(B.C1,b2,b2,A.wi(b2,b2,b2,b2,b2,b2,b2,b2,b2,b7==null?24:b7,b2,b2,b2,b2),b2)}else a5=b2 +if(a5!=null){if(d.k(0,b6.gnq()))a6=b4 +else{a7=A.wi(b2,b2,b2,b2,b2,b2,d.f,b2,b2,d.a,b2,b2,b2,b2) +b7=b4.a +a6=new A.nr(b7==null?b2:b7.Oz(a7.c,a7.as,a7.d))}a5=A.alR(A.wj(a5,d),a6)}b7=b1.a.a08(b3) +b1.a.toString +s=b5.z +if(s==null)s=16 +c.toString +a8=A.Ws(new A.l2(new A.aih(p),A.wj(A.n_(new A.HN(a,a2,a5,b7,s,b2),b2,B.c7,!0,c,b2,b2,B.aE),e),b2),B.Z,b2) +a8=A.aml(!1,a8,!0) +b7=A.KV(j) +a9=b7===B.a5?B.LB:B.LA +b0=new A.iW(b2,b2,b2,b2,B.M,a9.f,a9.r,a9.w) +b1.a.toString +b7=b5.e +if(b7==null)b7=b6.gbV(0) +b1.a.toString +s=b5.f +if(s==null){s=b3.ax +r=s.aV +s=r==null?s.b:r}r=b5.r +if(r==null)r=b6.r +return A.d0(b2,new A.ug(b0,A.wV(B.a7,A.d0(b2,new A.fm(B.xM,b2,b2,a8,b2),!1,b2,!0,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2),B.z,j,f,b2,b7,r,s,b2,B.cs),b2,t.ph),!0,b2,!1,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2)}} +A.acp.prototype={ +$0(){}, +$S:0} +A.LP.prototype={ +ar(a){var s=a.aa(t.I) +s.toString +s=new A.Qg(B.a3,s.w,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){var s=a.aa(t.I) +s.toString +b.sbS(s.w)}} +A.Qg.prototype={ +bP(a){var s=a.CI(1/0),r=this.C$ +return a.b0(r.az(B.y,s,r.gbE()))}, +d6(a,b){var s,r,q=this,p=a.CI(1/0),o=q.C$ +if(o==null)return null +s=o.f5(p,b) +if(s==null)return null +r=o.az(B.y,p,o.gbE()) +return s+q.gRS().hA(t.o.a(q.az(B.y,a,q.gbE()).ac(0,r))).b}, +bb(){var s=this,r=t.k,q=r.a(A.G.prototype.gN.call(s)).CI(1/0) +s.C$.bU(q,!0) +s.id=r.a(A.G.prototype.gN.call(s)).b0(s.C$.gv(0)) +s.Cd()}} +A.aco.prototype={ +gMy(){var s,r=this,q=r.ch +if(q===$){s=A.an(r.ay) +r.ch!==$&&A.a1() +r.ch=s +q=s}return q}, +gua(){var s,r=this,q=r.CW +if(q===$){s=r.gMy() +r.CW!==$&&A.a1() +q=r.CW=s.ax}return q}, +gMx(){var s,r=this,q=r.cx +if(q===$){s=r.gMy() +r.cx!==$&&A.a1() +q=r.cx=s.p2}return q}, +gbM(a){return this.gua().k2}, +gcU(){return this.gua().k3}, +gbV(a){return B.M}, +gcm(){return B.M}, +go6(){var s=null +return new A.cB(24,s,s,s,s,this.gua().k3,s,s,s)}, +gnq(){var s=null,r=this.gua(),q=r.rx +return new A.cB(24,s,s,s,s,q==null?r.k3:q,s,s,s)}, +gth(){return this.gMx().z}, +gtc(){return this.gMx().r}} +A.po.prototype={ +gu(a){var s=this +return A.P(s.gbM(s),s.gcU(),s.c,s.d,s.gbV(s),s.gcm(),s.r,s.go6(),s.gnq(),s.y,s.z,s.Q,s.gth(),s.gtc(),s.ax,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.po)if(J.e(b.gbM(b),r.gbM(r)))if(J.e(b.gcU(),r.gcU()))if(b.c==r.c)if(b.d==r.d)if(J.e(b.gbV(b),r.gbV(r)))if(J.e(b.gcm(),r.gcm()))if(J.e(b.r,r.r))if(J.e(b.go6(),r.go6()))if(J.e(b.gnq(),r.gnq()))if(b.z==r.z)if(b.Q==r.Q)if(J.e(b.gth(),r.gth()))s=J.e(b.gtc(),r.gtc()) +return s}, +gbM(a){return this.a}, +gcU(){return this.b}, +gbV(a){return this.e}, +gcm(){return this.f}, +go6(){return this.w}, +gnq(){return this.x}, +gth(){return this.as}, +gtc(){return this.at}} +A.LO.prototype={} +A.x_.prototype={ +j7(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=g.a +f.toString +s=g.b +s.toString +r=s.ac(0,f) +q=Math.abs(r.a) +p=Math.abs(r.b) +o=r.gd7() +n=s.a +m=f.b +l=new A.n(n,m) +k=new A.a41(g,o) +if(q>2&&p>2){j=o*o +i=f.a +h=s.b +if(q0){k=c2.e +if(k!=null){b2=c2.f +if(b2!=null)if(k!==s)if(b2.gm(b2)!==p.gm(p)){q=c2.f +q=(q.gm(q)>>>24&255)/255===1&&(p.gm(p)>>>24&255)/255<1&&s===0}}}if(q){q=c2.d +if(!J.e(q==null?c3:q.e,a)){q=c2.d +if(q!=null)q.l() +q=A.dd(c3,a,c3,c3,c2) +q.bl() +k=q.bJ$ +k.b=!0 +k.a.push(new A.ad9(c2)) +c2.d=q}p=c2.f +c2.d.sm(0,0) +c2.d.cp(0)}c2.e=s +c2.f=p +a1.toString +b3=new A.cJ(b1,new A.fm(a1,1,1,a5!=null?a5.$3(c7,c2.gcY().a,c2.a.as):c2.a.as,c3),c3) +if(a4!=null)b3=a4.$3(c7,c2.gcY().a,b3) +s.toString +q=r==null?c3:r.fp(o) +k=d.lK(e) +b2=p==null?B.dE:B.f2 +b4=c2.a +b5=b4.c +b6=b4.d +b7=b4.e +b8=b4.x +b4=b4.f +b9=d.lK(e) +c0=c2.gcY() +q=A.wV(a,A.nv(!1,c3,!0,A.wj(b3,new A.cB(f,c3,c3,c3,c3,g==null?o:g,c3,c3,c3)),b9,a0,c3,b8,B.M,c3,new A.OL(new A.ada(c5)),b4,c3,b7,b6,b5,new A.bF(new A.adb(c5),t.b),c3,a3,c0),a6,p,s,c3,n,k,m,q,b2) +switch(b.a){case 0:c1=new A.K(48+c4,48+a9) +break +case 1:c1=B.O +break +default:c1=c3}c2.a.toString +return A.d0(!0,new A.Oa(c1,new A.h_(a7,q,c3),c3),!0,!0,!1,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3,c3)}} +A.adm.prototype={ +$0(){}, +$S:0} +A.adj.prototype={ +$1$1(a,b){var s=a.$1(this.a),r=a.$1(this.b),q=a.$1(this.c),p=s==null?r:s +return p==null?q:p}, +$1(a){return this.$1$1(a,t.z)}, +$S:191} +A.adk.prototype={ +$1$1(a,b){return this.b.$1$1(new A.adl(this.a,a,b),b)}, +$1(a){return this.$1$1(a,t.z)}, +$S:192} +A.adl.prototype={ +$1(a){var s=this.b.$1(a) +return s==null?null:J.aoI(s,this.a.gcY().a)}, +$S(){return this.c.h("0?(bf?)")}} +A.acV.prototype={ +$1(a){var s=a.gcA(a) +return s}, +$S:163} +A.acW.prototype={ +$1(a){return a.a}, +$S:194} +A.acX.prototype={ +$1(a){var s=a.gbM(a) +return s}, +$S:41} +A.ad7.prototype={ +$1(a){var s=a.gcU() +return s}, +$S:41} +A.adc.prototype={ +$1(a){var s=a.gbV(a) +return s}, +$S:41} +A.add.prototype={ +$1(a){var s=a.gcm() +return s}, +$S:41} +A.ade.prototype={ +$1(a){var s=a.gce(a) +return s}, +$S:196} +A.adf.prototype={ +$1(a){var s=a.giD() +return s}, +$S:90} +A.adg.prototype={ +$1(a){return a.y}, +$S:90} +A.adh.prototype={ +$1(a){var s=a.giC() +return s}, +$S:90} +A.adi.prototype={ +$1(a){return a.Q}, +$S:41} +A.acY.prototype={ +$1(a){var s=a.geb() +return s}, +$S:163} +A.acZ.prototype={ +$1(a){var s=a.gi_() +return s}, +$S:198} +A.ad_.prototype={ +$1(a){var s=a.gbr(a) +return s}, +$S:199} +A.ada.prototype={ +$1(a){return this.a.$1$1(new A.acT(a),t.Pb)}, +$S:200} +A.acT.prototype={ +$1(a){var s=a.giE() +s=s==null?null:s.a1(0,this.a) +return s}, +$S:201} +A.adb.prototype={ +$1(a){return this.a.$1$1(new A.acS(a),t.n8)}, +$S:91} +A.acS.prototype={ +$1(a){var s=a.geh() +s=s==null?null:s.a1(0,this.a) +return s}, +$S:203} +A.ad0.prototype={ +$1(a){var s=a.giU() +return s}, +$S:204} +A.ad1.prototype={ +$1(a){var s=a.giP() +return s}, +$S:205} +A.ad2.prototype={ +$1(a){return a.cx}, +$S:206} +A.ad3.prototype={ +$1(a){return a.cy}, +$S:207} +A.ad4.prototype={ +$1(a){return a.db}, +$S:208} +A.ad5.prototype={ +$1(a){var s=a.gdZ() +return s}, +$S:209} +A.ad6.prototype={ +$1(a){return a.dy}, +$S:162} +A.ad8.prototype={ +$1(a){return a.fr}, +$S:162} +A.ad9.prototype={ +$1(a){if(a===B.T)this.a.al(new A.acU())}, +$S:7} +A.acU.prototype={ +$0(){}, +$S:0} +A.OL.prototype={ +a1(a,b){var s=this.a.$1(b) +s.toString +return s}, +glO(){return"ButtonStyleButton_MouseCursor"}} +A.Oa.prototype={ +ar(a){var s=new A.BF(this.e,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sEz(this.e)}} +A.BF.prototype={ +sEz(a){if(this.B.k(0,a))return +this.B=a +this.a5()}, +aS(a){var s=this.C$ +if(s!=null)return Math.max(s.az(B.ac,a,s.gbk()),this.B.a) +return 0}, +aR(a){var s=this.C$ +if(s!=null)return Math.max(s.az(B.ax,a,s.gbt()),this.B.b) +return 0}, +I1(a,b){var s,r,q=this.C$ +if(q!=null){s=b.$2(q,a) +q=s.a +r=this.B +return a.b0(new A.K(Math.max(q,r.a),Math.max(s.b,r.b)))}return B.O}, +bP(a){return this.I1(a,A.jh())}, +d6(a,b){var s,r,q=this.C$ +if(q==null)return null +s=q.f5(a,b) +if(s==null)return null +r=q.az(B.y,a,q.gbE()) +return s+B.a3.hA(t.o.a(this.az(B.y,a,this.gbE()).ac(0,r))).b}, +bb(){var s,r=this +r.id=r.I1(t.k.a(A.G.prototype.gN.call(r)),A.pb()) +s=r.C$ +if(s!=null){s=s.b +s.toString +t.G.a(s).a=B.a3.hA(t.o.a(r.gv(0).ac(0,r.C$.gv(0))))}}, +c3(a,b){var s +if(this.j3(a,b))return!0 +s=this.C$.gv(0).ih(B.h) +return a.Cc(new A.agW(this,s),s,A.aqQ(s))}} +A.agW.prototype={ +$2(a,b){return this.a.C$.c3(a,this.b)}, +$S:19} +A.CX.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.uz.prototype={ +F(){return"ButtonTextTheme."+this.b}} +A.Vr.prototype={ +F(){return"ButtonBarLayoutBehavior."+this.b}} +A.Eq.prototype={ +gce(a){var s=this.e +if(s==null)switch(this.c.a){case 0:s=B.db +break +case 1:s=B.db +break +case 2:s=B.le +break +default:s=null}return s}, +gbr(a){var s,r=this.f +if(r==null){s=this.c +$label0$0:{if(B.k1===s||B.yl===s){r=B.vT +break $label0$0}if(B.ym===s){r=B.iU +break $label0$0}r=null}}return r}, +FM(a){var s=this.at.a +return s}, +FR(a){var s,r=this +return a.y +if(A.r(a)===B.QC)return null +s=r.w +if(s!=null)return s +switch(r.c.a){case 0:case 1:s=r.at.b +return s +case 2:s=r.at.b +return s}}, +yl(a){var s,r=this +switch(r.c.a){case 0:return r.FM(a)===B.a5?B.i:B.D +case 1:return r.at.y +case 2:s=r.FR(a) +return(s!=null?A.KV(s)===B.a5:r.FM(a)===B.a5)?B.i:B.o}}, +T_(a){var s=this.e +if(s==null)switch(this.c.a){case 0:s=B.db +break +case 1:s=B.db +break +case 2:s=B.le +break +default:s=null}return s}, +k(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.Eq&&b.c===s.c&&b.a===s.a&&b.b===s.b&&b.gce(0).k(0,s.gce(0))&&b.gbr(0).k(0,s.gbr(0))&&J.e(b.w,s.w)&&J.e(b.y,s.y)&&J.e(b.z,s.z)&&J.e(b.at,s.at)&&b.ax==s.ax}, +gu(a){var s=this +return A.P(s.c,s.a,s.b,s.gce(0),s.gbr(0),!1,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.M8.prototype={} +A.uF.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.uF&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&b.e==s.e&&J.e(b.f,s.f)&&J.e(b.r,s.r)}} +A.Mb.prototype={} +A.uG.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.uG&&b.b==s.b&&b.c==s.c&&b.d==s.d&&b.e==s.e&&J.e(b.w,s.w)&&J.e(b.x,s.x)}} +A.Md.prototype={} +A.uH.prototype={ +gu(a){var s=this +return A.bN([s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,s.cy,s.db,s.dx,s.dy])}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.uH&&b.a==s.a&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&J.e(b.e,s.e)&&J.e(b.f,s.f)&&J.e(b.r,s.r)&&J.e(b.w,s.w)&&J.e(b.x,s.x)&&b.y==s.y&&J.e(b.z,s.z)&&J.e(b.Q,s.Q)&&J.e(b.as,s.as)&&J.e(b.at,s.at)&&J.e(b.ax,s.ax)&&J.e(b.ay,s.ay)&&J.e(b.ch,s.ch)&&b.CW==s.CW&&b.cx==s.cx&&b.cy==s.cy&&J.e(b.db,s.db)&&J.e(b.dx,s.dx)&&J.e(b.dy,s.dy)}} +A.Mf.prototype={} +A.Y4.prototype={ +F(){return"DynamicSchemeVariant."+this.b}} +A.pF.prototype={ +k(a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=this +if(a2==null)return!1 +if(a0===a2)return!0 +if(J.T(a2)!==A.r(a0))return!1 +s=!1 +if(a2 instanceof A.pF)if(a2.a===a0.a){r=a2.b +q=a0.b +if(r.k(0,q)){p=a2.c +o=a0.c +if(p.k(0,o)){n=a2.d +if(n==null)n=r +m=a0.d +if(n.k(0,m==null?q:m)){n=a2.e +if(n==null)n=p +m=a0.e +if(n.k(0,m==null?o:m)){n=a2.f +if(n==null)n=r +m=a0.f +if(n.k(0,m==null?q:m)){n=a2.r +if(n==null)n=r +m=a0.r +if(n.k(0,m==null?q:m)){n=a2.w +if(n==null)n=p +m=a0.w +if(n.k(0,m==null?o:m)){n=a2.x +if(n==null)n=p +m=a0.x +if(n.k(0,m==null?o:m)){n=a2.y +m=a0.y +if(n.k(0,m)){l=a2.z +k=a0.z +if(l.k(0,k)){j=a2.Q +if(j==null)j=n +i=a0.Q +if(j.k(0,i==null?m:i)){j=a2.as +if(j==null)j=l +i=a0.as +if(j.k(0,i==null?k:i)){j=a2.at +if(j==null)j=n +i=a0.at +if(j.k(0,i==null?m:i)){j=a2.ax +if(j==null)j=n +i=a0.ax +if(j.k(0,i==null?m:i)){j=a2.ay +if(j==null)j=l +i=a0.ay +if(j.k(0,i==null?k:i)){j=a2.ch +if(j==null)j=l +i=a0.ch +if(j.k(0,i==null?k:i)){j=a2.CW +i=j==null +h=i?n:j +g=a0.CW +f=g==null +if(h.k(0,f?m:g)){h=a2.cx +e=h==null +d=e?l:h +c=a0.cx +b=c==null +if(d.k(0,b?k:c)){d=a2.cy +if(d==null)d=i?n:j +a=a0.cy +if(a==null)a=f?m:g +if(d.k(0,a)){d=a2.db +if(d==null)d=e?l:h +a=a0.db +if(a==null)a=b?k:c +if(d.k(0,a)){d=a2.dx +if(d==null)d=i?n:j +a=a0.dx +if(a==null)a=f?m:g +if(d.k(0,a)){d=a2.dy +if(d==null)n=i?n:j +else n=d +j=a0.dy +if(j==null)m=f?m:g +else m=j +if(n.k(0,m)){n=a2.fr +if(n==null)n=e?l:h +m=a0.fr +if(m==null)m=b?k:c +if(n.k(0,m)){n=a2.fx +if(n==null)n=e?l:h +m=a0.fx +if(m==null)m=b?k:c +if(n.k(0,m)){n=a2.fy +m=a0.fy +if(n.k(0,m)){l=a2.go +k=a0.go +if(l.k(0,k)){j=a2.id +n=j==null?n:j +j=a0.id +if(n.k(0,j==null?m:j)){n=a2.k1 +if(n==null)n=l +m=a0.k1 +if(n.k(0,m==null?k:m)){n=a2.k2 +m=a0.k2 +if(n.k(0,m)){l=a2.k3 +k=a0.k3 +if(l.k(0,k)){j=a2.ok +if(j==null)j=n +i=a0.ok +if(j.k(0,i==null?m:i)){j=a2.p1 +if(j==null)j=n +i=a0.p1 +if(j.k(0,i==null?m:i)){j=a2.p2 +if(j==null)j=n +i=a0.p2 +if(j.k(0,i==null?m:i)){j=a2.p3 +if(j==null)j=n +i=a0.p3 +if(j.k(0,i==null?m:i)){j=a2.p4 +if(j==null)j=n +i=a0.p4 +if(j.k(0,i==null?m:i)){j=a2.R8 +if(j==null)j=n +i=a0.R8 +if(j.k(0,i==null?m:i)){j=a2.RG +if(j==null)j=n +i=a0.RG +if(j.k(0,i==null?m:i)){j=a2.rx +if(j==null)j=l +i=a0.rx +if(j.k(0,i==null?k:i)){j=a2.ry +if(j==null){j=a2.a4 +if(j==null)j=l}i=a0.ry +if(i==null){i=a0.a4 +if(i==null)i=k}if(j.k(0,i)){j=a2.to +if(j==null){j=a2.a4 +if(j==null)j=l}i=a0.to +if(i==null){i=a0.a4 +if(i==null)i=k}if(j.k(0,i)){j=a2.x1 +if(j==null)j=B.o +i=a0.x1 +if(j.k(0,i==null?B.o:i)){j=a2.x2 +if(j==null)j=B.o +i=a0.x2 +if(j.k(0,i==null?B.o:i)){j=a2.xr +if(j==null)j=l +i=a0.xr +if(j.k(0,i==null?k:i)){j=a2.y1 +if(j==null)j=n +i=a0.y1 +if(j.k(0,i==null?m:i)){j=a2.y2 +p=j==null?p:j +j=a0.y2 +if(p.k(0,j==null?o:j)){p=a2.aV +r=p==null?r:p +p=a0.aV +if(r.k(0,p==null?q:p)){r=a2.bz +if(r==null)r=n +q=a0.bz +if(r.k(0,q==null?m:q)){r=a2.a4 +if(r==null)r=l +q=a0.a4 +if(r.k(0,q==null?k:q)){s=a2.k4 +if(s==null)s=n +r=a0.k4 +s=s.k(0,r==null?m:r)}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}return s}, +gu(d1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7=this,c8=c7.b,c9=c7.c,d0=c7.d +if(d0==null)d0=c8 +s=c7.e +if(s==null)s=c9 +r=c7.y +q=c7.z +p=c7.Q +if(p==null)p=r +o=c7.as +if(o==null)o=q +n=c7.CW +m=n==null +l=m?r:n +k=c7.cx +j=k==null +i=j?q:k +h=c7.cy +if(h==null)h=m?r:n +g=c7.db +if(g==null)g=j?q:k +f=c7.fy +e=c7.go +d=c7.id +if(d==null)d=f +c=c7.k1 +if(c==null)c=e +b=c7.k2 +a=c7.k3 +a0=c7.ok +if(a0==null)a0=b +a1=c7.p1 +if(a1==null)a1=b +a2=c7.p2 +if(a2==null)a2=b +a3=c7.p3 +if(a3==null)a3=b +a4=c7.p4 +if(a4==null)a4=b +a5=c7.R8 +if(a5==null)a5=b +a6=c7.RG +if(a6==null)a6=b +a7=c7.rx +if(a7==null)a7=a +a8=c7.ry +if(a8==null){a8=c7.a4 +if(a8==null)a8=a}a9=c7.to +if(a9==null){a9=c7.a4 +if(a9==null)a9=a}b0=c7.x1 +if(b0==null)b0=B.o +b1=c7.x2 +if(b1==null)b1=B.o +b2=c7.xr +if(b2==null)b2=a +b3=c7.y1 +if(b3==null)b3=b +b4=c7.y2 +if(b4==null)b4=c9 +b5=c7.aV +if(b5==null)b5=c8 +b6=c7.f +if(b6==null)b6=c8 +b7=c7.r +if(b7==null)b7=c8 +b8=c7.w +if(b8==null)b8=c9 +b9=c7.x +if(b9==null)b9=c9 +c0=c7.at +if(c0==null)c0=r +c1=c7.ax +if(c1==null)c1=r +c2=c7.ay +if(c2==null)c2=q +c3=c7.ch +if(c3==null)c3=q +c4=c7.dx +if(c4==null)c4=m?r:n +c5=c7.dy +if(c5==null){if(m)n=r}else n=c5 +m=c7.fr +if(m==null)m=j?q:k +c5=c7.fx +if(c5==null){if(j)k=q}else k=c5 +j=c7.bz +if(j==null)j=b +c5=c7.a4 +if(c5==null)c5=a +c6=c7.k4 +return A.P(c7.a,c8,c9,d0,s,r,q,p,o,l,i,h,g,f,e,d,c,A.P(b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,A.P(b6,b7,b8,b9,c0,c1,c2,c3,c4,n,m,k,j,c5,c6==null?b:c6,B.a,B.a,B.a,B.a,B.a),B.a),B.a,B.a)}} +A.Mi.prototype={} +A.Hl.prototype={} +A.v7.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.v7)if(J.e(b.a,r.a))if(b.b==r.b)if(b.c==r.c)if(b.d==r.d)if(J.e(b.e,r.e))if(b.f==r.f)if(b.r==r.r)if(J.e(b.w,r.w))if(b.x==r.x)if(b.y==r.y)if(b.z==r.z)s=b.Q==r.Q +return s}} +A.MO.prototype={} +A.v8.prototype={ +gu(a){var s=this +return A.bN([s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,s.cy,s.db,s.dx,s.dy,s.fr,s.fx,s.fy,s.go,s.id,s.k1,s.k2,s.k3,s.k4,s.ok,s.p1,s.p2,s.p3,s.p4,s.R8])}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +s=!1 +if(b instanceof A.v8)if(J.e(b.a,r.a))if(b.b==r.b)if(J.e(b.c,r.c))if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.f,r.f))if(J.e(b.r,r.r))if(J.e(b.w,r.w))if(J.e(b.x,r.x))if(J.e(b.y,r.y))if(J.e(b.z,r.z))if(b.Q==r.Q)if(b.as==r.as)if(b.at==r.at)if(b.ax==r.ax)if(b.ay==r.ay)if(b.ch==r.ch)if(J.e(b.CW,r.CW))if(J.e(b.cx,r.cx))if(b.cy==r.cy)if(b.db==r.db)if(b.dx==r.dx)if(J.e(b.dy,r.dy))if(b.fr==r.fr)if(J.e(b.fx,r.fx))if(J.e(b.fy,r.fy))if(J.e(b.go,r.go))if(J.e(b.id,r.id))if(J.e(b.k1,r.k1))if(J.e(b.k2,r.k2))if(J.e(b.k3,r.k3))if(J.e(b.k4,r.k4))if(b.ok==r.ok)if(J.e(b.p1,r.p1))if(J.e(b.p3,r.p3))s=J.e(b.p4,r.p4) +return s}} +A.MQ.prototype={} +A.vi.prototype={ +gu(a){var s=this +return A.bN([s.a,s.b,s.c,s.d,s.e,s.f,s.y,s.r,s.w,s.x,s.z,s.Q,s.as])}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.vi)if(J.e(b.a,r.a))if(b.b==r.b)if(J.e(b.c,r.c))if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.f,r.f))if(J.e(b.y,r.y))if(J.e(b.r,r.r))if(J.e(b.w,r.w))if(J.e(b.x,r.x))if(J.e(b.z,r.z))s=J.e(b.Q,r.Q) +return s}} +A.N_.prototype={} +A.vk.prototype={ +gu(a){var s=this +return A.P(s.gae(s),s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.vk&&J.e(b.gae(b),s.gae(s))&&b.b==s.b&&b.c==s.c&&b.d==s.d&&b.e==s.e}, +gae(a){return this.a}} +A.N4.prototype={} +A.vr.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.vr)if(J.e(b.a,r.a))if(J.e(b.b,r.b))if(b.c==r.c)if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.f,r.f))if(J.e(b.r,r.r))s=b.w==r.w +return s}} +A.Ne.prototype={} +A.vs.prototype={ +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.vs)if(J.e(b.a,r.a))s=J.e(b.c,r.c) +return s}} +A.Nf.prototype={} +A.vz.prototype={ +gu(a){return J.u(this.a)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.vz&&J.e(b.a,this.a)}} +A.Nk.prototype={} +A.ko.prototype={} +A.vO.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.vO)if(J.e(b.a,r.a))if(J.e(b.b,r.b))if(J.e(b.c,r.c))if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.f,r.f))if(J.e(b.r,r.r))if(J.e(b.w,r.w))if(J.e(b.x,r.x))if(J.e(b.y,r.y))s=J.e(b.z,r.z) +return s}} +A.Np.prototype={} +A.vT.prototype={ +gu(a){return J.u(this.a)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.vT&&J.e(b.a,this.a)}} +A.Nt.prototype={} +A.vX.prototype={ +bT(a){var s=this,r=!0 +if(s.f===a.f)if(s.r===a.r)if(s.w===a.w)r=s.x!==a.x +return r}} +A.adS.prototype={ +j(a){return""}} +A.AE.prototype={ +F(){return"_FloatingActionButtonType."+this.b}} +A.Ga.prototype={ +K(a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=null,a1=A.an(a6),a2=a1.aj,a3=a.k1,a4=new A.aeb(a6,a3,!0,a0,a0,a0,a0,a0,6,6,8,a0,6,a0,!0,a0,B.yd,B.yc,B.yf,B.yg,8,a0,a0,a0),a5=a2.a +if(a5==null)a5=a4.gcU() +s=a.f +r=s==null?a2.b:s +if(r==null)r=a4.gbM(0) +q=a2.c +if(q==null)q=a4.gra() +p=a2.d +if(p==null)p=a4.grj() +o=a2.e +if(o==null)o=a4.goW() +n=a2.f +if(n==null){s=a4.f +s.toString +n=s}m=a2.r +if(m==null){s=a4.r +s.toString +m=s}l=a2.w +if(l==null){s=a4.w +s.toString +l=s}s=a2.x +k=s==null?a4.x:s +if(k==null)k=n +j=a2.y +if(j==null){s=a4.y +s.toString +j=s}i=a2.Q +if(i==null){s=a4.Q +s.toString +i=s}h=a2.as +if(h==null)h=a4.geb() +s=a2.cy +if(s==null){s=a4.gr0() +s.toString}g=s.fp(a5) +f=a2.z +if(f==null)f=a4.gbr(0) +s=a.c +e=A.wj(s,new A.cB(h,a0,a0,a0,a0,a0,a0,a0,a0)) +switch(a3.a){case 0:d=a2.at +if(d==null){a3=a4.at +a3.toString +d=a3}break +case 1:d=a2.ax +if(d==null){a3=a4.ax +a3.toString +d=a3}break +case 2:d=a2.ay +if(d==null){a3=a4.ay +a3.toString +d=a3}break +case 3:d=a2.ch +if(d==null){a3=a4.ch +a3.toString +d=a3}c=a2.cx +if(c==null)c=a4.gr_() +a3=A.b([],t.E) +a3.push(s) +e=new A.Me(new A.cJ(c,A.hj(a3,B.N,B.U,B.f0),a0),a0) +break +default:d=a0}b=A.arx(B.a7,!1,e,B.z,d,k,n,i,r,q,m,a0,a0,j,p,l,a1.f,new A.Ni(a0,a2.db),a0,a0,a.z,B.as,f,o,g,B.cM) +b=A.aqc(b,B.zs,!1) +return new A.x4(b,a0)}} +A.Ni.prototype={ +a1(a,b){var s=A.kj(this.a,b,t.WV) +if(s==null)s=null +return s==null?B.d1.a1(0,b):s}, +glO(){return"MaterialStateMouseCursor(FloatActionButton)"}} +A.Me.prototype={ +ar(a){var s=a.aa(t.I) +s.toString +s=new A.Qh(B.a3,s.w,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){var s=a.aa(t.I) +s.toString +b.sbS(s.w)}} +A.Qh.prototype={ +bP(a){var s=this.C$,r=a.a,q=a.b,p=a.c,o=a.d +if(s!=null){s=s.az(B.y,B.ea,s.gbE()) +return new A.K(Math.max(r,Math.min(q,s.a)),Math.max(p,Math.min(o,s.b)))}else return new A.K(A.M(1/0,r,q),A.M(1/0,p,o))}, +bb(){var s=this,r=t.k.a(A.G.prototype.gN.call(s)),q=s.C$,p=r.a,o=r.b,n=r.c,m=r.d +if(q!=null){q.bU(B.ea,!0) +s.id=new A.K(Math.max(p,Math.min(o,s.C$.gv(0).a)),Math.max(n,Math.min(m,s.C$.gv(0).b))) +s.Cd()}else s.id=new A.K(A.M(1/0,p,o),A.M(1/0,n,m))}} +A.aeb.prototype={ +gpt(){var s,r=this,q=r.fx +if(q===$){s=A.an(r.dx) +r.fx!==$&&A.a1() +q=r.fx=s.ax}return q}, +gcU(){var s=this.gpt(),r=s.e +return r==null?s.c:r}, +gbM(a){var s=this.gpt(),r=s.d +return r==null?s.b:r}, +goW(){var s=this.gpt(),r=s.e +s=r==null?s.c:r +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}, +gra(){var s=this.gpt(),r=s.e +s=r==null?s.c:r +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}, +grj(){var s=this.gpt(),r=s.e +s=r==null?s.c:r +return A.a3(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}, +gbr(a){var s +switch(this.dy.a){case 0:s=B.vU +break +case 1:s=B.Iw +break +case 2:s=B.Ix +break +case 3:s=B.vU +break +default:s=null}return s}, +geb(){var s=24 +switch(this.dy.a){case 0:break +case 1:break +case 2:s=36 +break +case 3:break +default:s=null}return s}, +gr_(){return new A.eS(this.fr&&this.dy===B.S5?16:20,0,20,0)}, +gr0(){var s,r=this,q=r.fy +if(q===$){s=A.an(r.dx) +r.fy!==$&&A.a1() +q=r.fy=s.p2}return q.as}} +A.Zb.prototype={ +j(a){return"FloatingActionButtonLocation"}} +A.aa_.prototype={ +ach(){return!1}, +FX(a){var s=this.ach()?4:0 +return new A.n(this.SX(a,s),this.SY(a,s))}} +A.YW.prototype={ +SY(a,b){var s=a.c,r=a.b.b,q=a.a.b,p=a.w.b,o=s-q-Math.max(16,a.f.d-(a.r.b-s)+16) +if(p>0)o=Math.min(o,s-p-q-16) +return(r>0?Math.min(o,s-r-q/2):o)+b}} +A.YV.prototype={ +SX(a,b){var s +switch(a.y.a){case 0:s=16+a.e.a-b +break +case 1:s=A.aE5(a,b) +break +default:s=null}return s}} +A.ae6.prototype={ +j(a){return"FloatingActionButtonLocation.endFloat"}} +A.Za.prototype={ +j(a){return"FloatingActionButtonAnimator"}} +A.ahu.prototype={ +SW(a,b,c){if(c<0.5)return a +else return b}} +A.A2.prototype={ +gm(a){var s=this,r=s.w.x +r===$&&A.a() +if(r>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}if(b.p(0,B.a_)){s=r.c +s=r.a +s=s==null?q:A.a3(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}if(b.p(0,B.a8)){s=r.b +s=r.a +s=s==null?q:A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}}if(b.p(0,B.V)){s=r.d +s=r.a +s=s==null?q:A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}if(b.p(0,B.a_)){s=r.c +s=r.a +s=s==null?q:A.a3(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}if(b.p(0,B.a8)){s=r.b +s=r.a +s=s==null?q:A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255) +return s}return q}, +j(a){return"{hovered: "+A.h(this.c)+", focused: "+A.h(this.b)+", pressed: "+A.h(this.d)+", otherwise: null}"}} +A.O_.prototype={ +a1(a,b){if(b.p(0,B.S))return this.b +return this.a}} +A.O1.prototype={ +gaD(){var s,r=this,q=r.go +if(q===$){s=A.an(r.fx) +r.go!==$&&A.a1() +q=r.go=s.ax}return q}, +gbM(a){return B.Rx}, +gcU(){return new A.bF(new A.af9(this),t.b)}, +geh(){return new A.bF(new A.afb(this),t.b)}, +gcA(a){return B.fz}, +gbV(a){return B.bE}, +gcm(){return B.bE}, +gce(a){return B.fE}, +giD(){return B.fD}, +giC(){return B.fC}, +geb(){return B.fA}, +gi_(){return null}, +gbr(a){return B.fB}, +giE(){return new A.bF(new A.afa(),t.B_)}, +giU(){return B.cM}, +giP(){return A.an(this.fx).f}, +gdZ(){return A.an(this.fx).y}} +A.af9.prototype={ +$1(a){var s,r +if(a.p(0,B.S)){s=this.a.gaD().k3.a +return A.a3(97,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a0))return this.a.gaD().b +s=this.a.gaD() +r=s.rx +return r==null?s.k3:r}, +$S:8} +A.afb.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.a0)){if(a.p(0,B.V)){s=q.a.gaD().b +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a_)){s=q.a.gaD().b +return A.a3(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a8)){s=q.a.gaD().b +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}}if(a.p(0,B.V)){s=q.a.gaD() +r=s.rx +s=r==null?s.k3:r +s=s.a +return A.a3(B.c.a7(25.5),s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a_)){s=q.a.gaD() +r=s.rx +s=(r==null?s.k3:r).a +return A.a3(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a8)){s=q.a.gaD() +r=s.rx +s=r==null?s.k3:r +s=s.a +return A.a3(B.c.a7(25.5),s>>>16&255,s>>>8&255,s&255)}return B.M}, +$S:8} +A.afa.prototype={ +$1(a){if(a.p(0,B.S))return B.c6 +return B.dY}, +$S:57} +A.Nu.prototype={ +gaD(){var s,r=this,q=r.go +if(q===$){s=A.an(r.fx) +r.go!==$&&A.a1() +q=r.go=s.ax}return q}, +gbM(a){return new A.bF(new A.aeg(this),t.b)}, +gcU(){return new A.bF(new A.aeh(this),t.b)}, +geh(){return new A.bF(new A.aej(this),t.b)}, +gcA(a){return B.fz}, +gbV(a){return B.bE}, +gcm(){return B.bE}, +gce(a){return B.fE}, +giD(){return B.fD}, +giC(){return B.fC}, +geb(){return B.fA}, +gi_(){return null}, +gbr(a){return B.fB}, +giE(){return new A.bF(new A.aei(),t.B_)}, +giU(){return B.cM}, +giP(){return A.an(this.fx).f}, +gdZ(){return A.an(this.fx).y}} +A.aeg.prototype={ +$1(a){var s,r +if(a.p(0,B.S)){s=this.a.gaD().k3.a +return A.a3(31,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a0))return this.a.gaD().b +s=this.a +if(s.fy){s=s.gaD() +r=s.RG +return r==null?s.k2:r}return s.gaD().b}, +$S:8} +A.aeh.prototype={ +$1(a){var s +if(a.p(0,B.S)){s=this.a.gaD().k3.a +return A.a3(97,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a0))return this.a.gaD().c +s=this.a +if(s.fy)return s.gaD().b +return s.gaD().c}, +$S:8} +A.aej.prototype={ +$1(a){var s,r=this +if(a.p(0,B.a0)){if(a.p(0,B.V)){s=r.a.gaD().c +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a_)){s=r.a.gaD().c +return A.a3(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a8)){s=r.a.gaD().c +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}}s=r.a +if(s.fy){if(a.p(0,B.V)){s=s.gaD().b +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a_)){s=s.gaD().b +return A.a3(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a8)){s=s.gaD().b +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}}if(a.p(0,B.V)){s=s.gaD().c +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a_)){s=s.gaD().c +return A.a3(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a8)){s=s.gaD().c +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}return B.M}, +$S:8} +A.aei.prototype={ +$1(a){if(a.p(0,B.S))return B.c6 +return B.dY}, +$S:57} +A.Nv.prototype={ +gaD(){var s,r=this,q=r.go +if(q===$){s=A.an(r.fx) +r.go!==$&&A.a1() +q=r.go=s.ax}return q}, +gbM(a){return new A.bF(new A.aek(this),t.b)}, +gcU(){return new A.bF(new A.ael(this),t.b)}, +geh(){return new A.bF(new A.aen(this),t.b)}, +gcA(a){return B.fz}, +gbV(a){return B.bE}, +gcm(){return B.bE}, +gce(a){return B.fE}, +giD(){return B.fD}, +giC(){return B.fC}, +geb(){return B.fA}, +gi_(){return null}, +gbr(a){return B.fB}, +giE(){return new A.bF(new A.aem(),t.B_)}, +giU(){return B.cM}, +giP(){return A.an(this.fx).f}, +gdZ(){return A.an(this.fx).y}} +A.aek.prototype={ +$1(a){var s,r +if(a.p(0,B.S)){s=this.a.gaD().k3.a +return A.a3(31,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a0)){s=this.a.gaD() +r=s.Q +return r==null?s.y:r}s=this.a +if(s.fy){s=s.gaD() +r=s.RG +return r==null?s.k2:r}s=s.gaD() +r=s.Q +return r==null?s.y:r}, +$S:8} +A.ael.prototype={ +$1(a){var s,r +if(a.p(0,B.S)){s=this.a.gaD().k3.a +return A.a3(97,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a0)){s=this.a.gaD() +r=s.as +return r==null?s.z:r}s=this.a +if(s.fy){s=s.gaD() +r=s.rx +return r==null?s.k3:r}s=s.gaD() +r=s.as +return r==null?s.z:r}, +$S:8} +A.aen.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.a0)){if(a.p(0,B.V)){s=q.a.gaD() +r=s.as +s=r==null?s.z:r +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a_)){s=q.a.gaD() +r=s.as +s=r==null?s.z:r +return A.a3(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a8)){s=q.a.gaD() +r=s.as +s=r==null?s.z:r +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}}s=q.a +if(s.fy){if(a.p(0,B.V)){s=s.gaD() +r=s.rx +s=r==null?s.k3:r +s=s.a +return A.a3(B.c.a7(25.5),s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a_)){s=s.gaD() +r=s.rx +s=(r==null?s.k3:r).a +return A.a3(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a8)){s=s.gaD() +r=s.rx +s=r==null?s.k3:r +s=s.a +return A.a3(B.c.a7(25.5),s>>>16&255,s>>>8&255,s&255)}}if(a.p(0,B.V)){s=s.gaD() +r=s.as +s=r==null?s.z:r +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a_)){s=s.gaD() +r=s.as +s=r==null?s.z:r +return A.a3(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a8)){s=s.gaD() +r=s.as +s=r==null?s.z:r +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}return B.M}, +$S:8} +A.aem.prototype={ +$1(a){if(a.p(0,B.S))return B.c6 +return B.dY}, +$S:57} +A.P6.prototype={ +gaD(){var s,r=this,q=r.go +if(q===$){s=A.an(r.fx) +r.go!==$&&A.a1() +q=r.go=s.ax}return q}, +gbM(a){return new A.bF(new A.aga(this),t.b)}, +gcU(){return new A.bF(new A.agb(this),t.b)}, +geh(){return new A.bF(new A.agd(this),t.b)}, +gcA(a){return B.fz}, +gbV(a){return B.bE}, +gcm(){return B.bE}, +gce(a){return B.fE}, +giD(){return B.fD}, +giC(){return B.fC}, +geb(){return B.fA}, +gi_(){return new A.bF(new A.age(this),t.bZ)}, +gbr(a){return B.fB}, +giE(){return new A.bF(new A.agc(),t.B_)}, +giU(){return B.cM}, +giP(){return A.an(this.fx).f}, +gdZ(){return A.an(this.fx).y}} +A.aga.prototype={ +$1(a){var s,r +if(a.p(0,B.S)){if(a.p(0,B.a0)){s=this.a.gaD().k3.a +return A.a3(31,s>>>16&255,s>>>8&255,s&255)}return B.M}if(a.p(0,B.a0)){s=this.a.gaD() +r=s.xr +return r==null?s.k3:r}return B.M}, +$S:8} +A.agb.prototype={ +$1(a){var s,r +if(a.p(0,B.S)){s=this.a.gaD().k3.a +return A.a3(97,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a0)){s=this.a.gaD() +r=s.y1 +return r==null?s.k2:r}s=this.a.gaD() +r=s.rx +return r==null?s.k3:r}, +$S:8} +A.agd.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.a0)){if(a.p(0,B.V)){s=q.a.gaD() +r=s.y1 +s=r==null?s.k2:r +s=s.a +return A.a3(B.c.a7(25.5),s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a_)){s=q.a.gaD() +r=s.y1 +s=(r==null?s.k2:r).a +return A.a3(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a8)){s=q.a.gaD() +r=s.y1 +s=(r==null?s.k2:r).a +return A.a3(20,s>>>16&255,s>>>8&255,s&255)}}if(a.p(0,B.V)){s=q.a.gaD().k3.a +return A.a3(B.c.a7(25.5),s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a_)){s=q.a.gaD() +r=s.rx +s=(r==null?s.k3:r).a +return A.a3(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a8)){s=q.a.gaD() +r=s.rx +s=(r==null?s.k3:r).a +return A.a3(20,s>>>16&255,s>>>8&255,s&255)}return B.M}, +$S:8} +A.age.prototype={ +$1(a){var s,r +if(a.p(0,B.a0))return null +else{if(a.p(0,B.S)){s=this.a.gaD().k3.a +return new A.cy(A.a3(31,s>>>16&255,s>>>8&255,s&255),1,B.a4,-1)}s=this.a.gaD() +r=s.ry +if(r==null){r=s.a4 +s=r==null?s.k3:r}else s=r +return new A.cy(s,1,B.a4,-1)}}, +$S:213} +A.agc.prototype={ +$1(a){if(a.p(0,B.S))return B.c6 +return B.dY}, +$S:57} +A.ST.prototype={} +A.nr.prototype={ +gu(a){return J.u(this.a)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.nr&&J.e(b.a,this.a)}} +A.wh.prototype={ +ms(a,b,c){return A.alR(c,this.w)}, +bT(a){return!this.w.k(0,a.w)}} +A.O3.prototype={} +A.lf.prototype={ +a0B(a){var s +if(a===B.F&&!this.CW){s=this.ch +s===$&&A.a() +s.l() +this.jX()}}, +l(){var s=this.ch +s===$&&A.a() +s.l() +this.jX()}, +KV(a,b,c){var s,r,q=this +a.c5(0) +s=q.f +if(s!=null)a.hC(0,s.hq(b,q.ax)) +switch(q.z.a){case 1:s=b.gaQ() +r=q.Q +a.ik(s,r==null?35:r,c) +break +case 0:s=q.as +if(!s.k(0,B.ag))a.dg(A.IU(b,s.c,s.d,s.a,s.b),c) +else a.cP(b,c) +break}a.bG(0)}, +F2(a,b){var s,r,q,p=this,o=$.ap().bg(),n=p.e,m=p.ay +m===$&&A.a() +s=m.a +o.sae(0,A.a3(m.b.a8(0,s.gm(s)),n.gm(n)>>>16&255,n.gm(n)>>>8&255,n.gm(n)&255)) +r=A.a4c(b) +n=p.at +if(n!=null)q=n.$0() +else{n=p.b.gv(0) +q=new A.x(0,0,0+n.a,0+n.b)}if(r==null){a.c5(0) +a.a8(0,b.a) +p.KV(a,q,o) +a.bG(0)}else p.KV(a,q.cX(r),o)}} +A.ajk.prototype={ +$0(){var s=this.a.gv(0) +return new A.x(0,0,0+s.a,0+s.b)}, +$S:158} +A.afq.prototype={ +OA(a,b,c,d,e,f,g,a0,a1,a2,a3,a4){var s,r,q,p,o,n,m,l,k,j,i,h=null +if(a1==null){if(a2!=null){s=a2.$0() +r=new A.K(s.c-s.a,s.d-s.b)}else r=a3.gv(0) +s=Math.max(r.O_(0,B.h).gd7(),new A.n(0+r.a,0).ac(0,new A.n(0,0+r.b)).gd7())/2}else s=a1 +q=new A.wt(a0,B.ag,s,A.aH5(a3,d,a2),a4,c,f,e,a3,g) +p=e.B +o=A.dd(h,B.hL,h,h,p) +n=e.geg() +o.bl() +m=o.c9$ +m.b=!0 +m.a.push(n) +o.cp(0) +q.cx=o +m=c.gm(c) +l=t.q +k=t.gD +q.CW=new A.b0(l.a(o),new A.lg(0,m>>>24&255),k.h("b0")) +m=A.dd(h,B.ev,h,h,p) +m.bl() +o=m.c9$ +o.b=!0 +o.a.push(n) +m.cp(0) +q.ch=m +o=t.H7 +j=$.avH() +i=o.h("ib") +q.ay=new A.b0(l.a(m),new A.ib(j,new A.aW(s*0.3,s+5,o),i),i.h("b0")) +p=A.dd(h,B.lb,h,h,p) +p.bl() +i=p.c9$ +i.b=!0 +i.a.push(n) +p.bl() +n=p.bJ$ +n.b=!0 +n.a.push(q.ga2L()) +q.db=p +n=c.gm(c) +i=$.avI() +k=k.h("ib") +q.cy=new A.b0(l.a(p),new A.ib(i,new A.lg(n>>>24&255,0),k),k.h("b0")) +e.C7(q) +return q}} +A.wt.prototype={ +qw(a){var s=this.ch +s===$&&A.a() +s.e=B.Bs +s.cp(0) +s=this.cx +s===$&&A.a() +s.cp(0) +s=this.db +s===$&&A.a() +s.z=B.an +s.jZ(1,B.a2,B.lb)}, +aA(a){var s,r=this,q=r.cx +q===$&&A.a() +q.eo(0) +q=r.cx.x +q===$&&A.a() +s=1-q +q=r.db +q===$&&A.a() +q.sm(0,s) +if(s<1){q=r.db +q.z=B.an +q.jZ(1,B.a2,B.hL)}}, +a2M(a){if(a===B.T)this.l()}, +l(){var s=this,r=s.ch +r===$&&A.a() +r.l() +r=s.cx +r===$&&A.a() +r.l() +r=s.db +r===$&&A.a() +r.l() +s.jX()}, +F2(a,b){var s,r,q,p,o,n,m=this,l=m.cx +l===$&&A.a() +l=l.r +if(l!=null&&l.a!=null){l=m.CW +l===$&&A.a() +s=l.a +r=l.b.a8(0,s.gm(s))}else{l=m.cy +l===$&&A.a() +s=l.a +r=l.b.a8(0,s.gm(s))}q=$.ap().bg() +l=m.e +q.sae(0,A.a3(r,l.gm(l)>>>16&255,l.gm(l)>>>8&255,l.gm(l)&255)) +l=m.at +if(l!=null)p=l.$0() +else p=null +s=p!=null?p.gaQ():m.b.gv(0).ih(B.h) +o=m.ch +o===$&&A.a() +o=o.x +o===$&&A.a() +o=A.xo(m.z,s,B.aA.a8(0,o)) +o.toString +s=m.ay +s===$&&A.a() +n=s.a +n=s.b.a8(0,n.gm(n)) +m.R2(m.Q,a,o,l,m.f,q,n,m.ax,b)}} +A.ajj.prototype={ +$0(){var s=this.a.gv(0) +return new A.x(0,0,0+s.a,0+s.b)}, +$S:158} +A.afr.prototype={ +OA(a,b,c,d,e,f,g,h,i,j,k,a0){var s,r,q=null,p=i==null?A.aH8(k,d,j,h):i,o=new A.wu(h,B.ag,p,A.aH4(k,d,j),!d,a0,c,f,e,k,g),n=e.B,m=A.dd(q,B.ev,q,q,n),l=e.geg() +m.bl() +s=m.c9$ +s.b=!0 +s.a.push(l) +m.cp(0) +o.CW=m +s=t.H7 +r=t.q +o.ch=new A.b0(r.a(m),new A.aW(0,p,s),s.h("b0")) +n=A.dd(q,B.a7,q,q,n) +n.bl() +s=n.c9$ +s.b=!0 +s.a.push(l) +n.bl() +l=n.bJ$ +l.b=!0 +l.a.push(o.ga2N()) +o.cy=n +l=c.gm(c) +o.cx=new A.b0(r.a(n),new A.lg(l>>>24&255,0),t.gD.h("b0")) +e.C7(o) +return o}} +A.wu.prototype={ +qw(a){var s=B.c.d1(this.as/1),r=this.CW +r===$&&A.a() +r.e=A.cP(0,s) +r.cp(0) +this.cy.cp(0)}, +aA(a){var s=this.cy +if(s!=null)s.cp(0)}, +a2O(a){if(a===B.T)this.l()}, +l(){var s=this,r=s.CW +r===$&&A.a() +r.l() +s.cy.l() +s.cy=null +s.jX()}, +F2(a,b){var s,r,q=this,p=$.ap().bg(),o=q.e,n=q.cx +n===$&&A.a() +s=n.a +p.sae(0,A.a3(n.b.a8(0,s.gm(s)),o.gm(o)>>>16&255,o.gm(o)>>>8&255,o.gm(o)&255)) +r=q.z +if(q.ax){o=q.b.gv(0).ih(B.h) +n=q.CW +n===$&&A.a() +n=n.x +n===$&&A.a() +r=A.xo(r,o,n)}r.toString +o=q.ch +o===$&&A.a() +n=o.a +n=o.b.a8(0,n.gm(n)) +q.R2(q.Q,a,r,q.at,q.f,p,n,q.ay,b)}} +A.lh.prototype={ +qw(a){}, +aA(a){}, +sae(a,b){if(b.k(0,this.e))return +this.e=b +this.a.am()}, +sCT(a){if(J.e(a,this.f))return +this.f=a +this.a.am()}, +R2(a,b,c,d,e,f,g,h,i){var s,r=A.a4c(i) +b.c5(0) +if(r==null)b.a8(0,i.a) +else b.aq(0,r.a,r.b) +if(d!=null){s=d.$0() +if(e!=null)b.hC(0,e.hq(s,h)) +else if(!a.k(0,B.ag))b.lI(A.IU(s,a.c,a.d,a.a,a.b)) +else b.kp(s)}b.ik(c,g,f) +b.bG(0)}} +A.qg.prototype={} +A.Bn.prototype={ +bT(a){return this.f!==a.f}} +A.ws.prototype={ +T5(a){return null}, +K(a){var s=this,r=a.aa(t.sZ),q=r==null?null:r.f +return new A.AS(s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.Q,s.z,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,s.cy,s.db,s.dx,s.dy,s.fr,s.fx,s.fy,s.go,s.id,!1,s.k2,!1,s.k4,s.ok,q,s.gT4(),s.p1,s.p2,null)}} +A.AS.prototype={ +ag(){return new A.AR(A.E(t.R9,t.Pr),new A.bg(A.b([],t.IR),t.yw),null)}} +A.ma.prototype={ +F(){return"_HighlightType."+this.b}} +A.AR.prototype={ +gabx(){var s=this.r.gaF(0) +return!new A.aF(s,new A.afo(),A.o(s).h("aF")).gM(0)}, +Et(a,b){var s,r=this.y,q=r.a,p=q.length +if(b){r.b=!0 +q.push(a)}else r.A(0,a) +s=q.length!==0 +if(s!==(p!==0)){r=this.a.p1 +if(r!=null)r.Et(this,s)}}, +a7l(a){var s=this,r=s.z +if(r!=null)r.aA(0) +s.z=null +r=s.c +r.toString +s.Mg(r) +r=s.e +if(r!=null)r.qw(0) +s.e=null +r=s.a +if(r.d!=null){if(r.id){r=s.c +r.toString +A.Z1(r)}r=s.a.d +if(r!=null)r.$0()}s.z=A.cb(B.aW,new A.afk(s))}, +Gr(a){var s=this.c +s.toString +this.Mg(s) +this.wE()}, +TS(){return this.Gr(null)}, +DS(){this.al(new A.afn())}, +gcY(){var s=this.a.p4 +if(s==null){s=this.x +s.toString}return s}, +rl(){var s,r,q=this +if(q.a.p4==null)q.x=A.asG(null) +s=q.gcY() +r=q.a +r.toString +s.el(0,B.S,!(q.ff(r)||q.fh(r))) +q.gcY().a0(0,q.gm5())}, +ao(){var s,r,q +this.Xu() +this.rl() +s=this.gPU() +r=$.am.ai$.d.a.f.a +q=r.i(0,s) +r.n(0,s,(q==null?0:q)+1)}, +aH(a){var s,r,q,p,o=this +o.b4(a) +s=a.p4 +if(o.a.p4!=s){if(s!=null)s.J(0,o.gm5()) +if(o.a.p4!=null){s=o.x +if(s!=null){s.O$=$.aN() +s.S$=0}o.x=null}o.rl()}s=o.a +if(s.cx==a.cx){s=s.CW +s=s!==a.CW}else s=!0 +if(s){s=o.r +r=s.i(0,B.cQ) +if(r!=null){q=r.ch +q===$&&A.a() +q.l() +r.jX() +o.FE(B.cQ,!1,o.f)}p=s.i(0,B.xu) +if(p!=null){s=p.ch +s===$&&A.a() +s.l() +p.jX()}}if(!J.e(o.a.db,a.db))o.a6I() +s=o.a +s.toString +s=o.ff(s)||o.fh(s) +if(s!==(o.ff(a)||o.fh(a))){s=o.gcY() +q=o.a +q.toString +s.el(0,B.S,!(o.ff(q)||o.fh(q))) +s=o.a +s.toString +if(!(o.ff(s)||o.fh(s))){o.gcY().el(0,B.V,!1) +r=o.r.i(0,B.cQ) +if(r!=null){s=r.ch +s===$&&A.a() +s.l() +r.jX()}}o.FE(B.cQ,!1,o.f)}o.FD()}, +l(){var s,r=this +$.am.ai$.d.a.f.A(0,r.gPU()) +r.gcY().J(0,r.gm5()) +s=r.x +if(s!=null){s.O$=$.aN() +s.S$=0}s=r.z +if(s!=null)s.aA(0) +r.z=null +r.aC()}, +goL(){if(!this.gabx()){var s=this.d +s=s!=null&&s.a!==0}else s=!0 +return s}, +SO(a){switch(a.a){case 0:return B.a7 +case 1:case 2:this.a.toString +return B.Bw}}, +FE(a,b,c){var s,r,q,p,o,n,m,l,k,j,i=this,h=null,g=i.r,f=g.i(0,a),e=a.a +switch(e){case 0:i.gcY().el(0,B.V,c) +break +case 1:if(b)i.gcY().el(0,B.a_,c) +break +case 2:break}if(a===B.cf){s=i.a.p1 +if(s!=null)s.Et(i,c)}s=f==null +if(c===(!s&&f.CW))return +if(c)if(s){s=i.a.fx +r=s==null?h:s.a1(0,i.gcY().a) +if(r==null){switch(e){case 0:s=i.a.fr +if(s==null){s=i.c +s.toString +s=A.an(s).cy}break +case 2:s=i.a.dx +if(s==null){s=i.c +s.toString +s=A.an(s).cx}break +case 1:s=i.a.dy +if(s==null){s=i.c +s.toString +s=A.an(s).dx}break +default:s=h}r=s}s=i.c.gU() +s.toString +t.x.a(s) +q=i.c +q.toString +q=A.am0(q,t.zd) +q.toString +p=i.a +p.toString +p=i.ff(p)||i.fh(p)?r:A.a3(0,r.gm(r)>>>16&255,r.gm(r)>>>8&255,r.gm(r)&255) +o=i.a +n=o.CW +m=o.cx +l=o.db +o=o.p2.$1(s) +k=i.c.aa(t.I) +k.toString +j=i.SO(a) +s=new A.lf(n,m,B.ag,o,k.w,p,l,q,s,new A.afp(i,a)) +j=A.dd(h,j,h,h,q.B) +j.bl() +p=j.c9$ +p.b=!0 +p.a.push(q.geg()) +j.bl() +p=j.bJ$ +p.b=!0 +p.a.push(s.ga0A()) +j.cp(0) +s.ch=j +p=s.e +p=p.gm(p) +s.ay=new A.b0(t.q.a(j),new A.lg(0,p>>>24&255),t.gD.h("b0")) +q.C7(s) +g.n(0,a,s) +i.oI()}else{f.CW=!0 +g=f.ch +g===$&&A.a() +g.cp(0)}else{f.CW=!1 +g=f.ch +g===$&&A.a() +g.ei(0)}switch(e){case 0:g=i.a.at +if(g!=null)g.$1(c) +break +case 1:if(b){g=i.a.ax +if(g!=null)g.$1(c)}break +case 2:break}}, +jL(a,b){return this.FE(a,!0,b)}, +a6I(){var s,r,q,p=this +for(s=p.r.gaF(0),r=A.o(s),s=new A.br(J.ak(s.a),s.b,r.h("br<1,2>")),r=r.y[1];s.t();){q=s.a +if(q==null)q=r.a(q) +if(q!=null)q.sCT(p.a.db)}s=p.e +if(s!=null)s.sCT(p.a.db) +s=p.d +if(s!=null&&s.a!==0)for(r=A.o(s),s=new A.ff(s,s.n1(),r.h("ff<1>")),r=r.c;s.t();){q=s.d +if(q==null)q=r.a(q) +q.sCT(p.a.db)}}, +ZR(a){var s,r,q,p,o,n,m,l,k,j,i=this,h={},g=i.c +g.toString +g=A.am0(g,t.zd) +g.toString +s=i.c.gU() +s.toString +t.x.a(s) +r=s.l8(a) +q=i.a.fx +q=q==null?null:q.a1(0,i.gcY().a) +p=q==null?i.a.fy:q +if(p==null){q=i.c +q.toString +p=A.an(q).k2}q=i.a +o=q.ch?q.p2.$1(s):null +q=i.a +n=q.cy +m=q.db +h.a=null +q=q.go +if(q==null){q=i.c +q.toString +q=A.an(q).y}l=i.a +k=l.ch +l=l.cx +j=i.c.aa(t.I) +j.toString +return h.a=q.OA(0,n,p,k,g,m,new A.afj(h,i),r,l,o,s,j.w)}, +aaz(a){if(this.c==null)return +this.al(new A.afm(this))}, +ga5V(){var s,r=this,q=r.c +q.toString +q=A.dL(q,B.xx) +s=q==null?null:q.ch +$label0$0:{if(B.iF===s||s==null){q=r.a +q.toString +q=(r.ff(q)||r.fh(q))&&r.Q +break $label0$0}if(B.qZ===s){q=r.Q +break $label0$0}q=null}return q}, +FD(){var s=$.am.ai$.d.a.b +switch((s==null?A.NS():s).a){case 0:s=!1 +break +case 1:s=this.ga5V() +break +default:s=null}this.jL(B.xu,s)}, +aaB(a){var s,r=this +r.Q=a +r.gcY().el(0,B.a8,a) +r.FD() +s=r.a.k2 +if(s!=null)s.$1(a)}, +PQ(a){if(this.y.a.length!==0)return +this.a6b(a)}, +abf(a){this.PQ(a) +this.a.toString}, +abh(a){this.a.toString}, +ab7(a){this.PQ(a) +this.a.toString}, +ab9(a){this.a.toString}, +Mh(a,b){var s,r,q,p,o=this +if(a!=null){s=a.gU() +s.toString +t.x.a(s) +r=s.gv(0) +r=new A.x(0,0,0+r.a,0+r.b).gaQ() +q=A.bH(s.aU(0,null),r)}else q=b.a +o.gcY().el(0,B.V,!0) +p=o.ZR(q) +s=o.d;(s==null?o.d=A.cA(t.nQ):s).D(0,p) +s=o.e +if(s!=null)s.aA(0) +o.e=p +o.oI() +o.jL(B.cf,!0)}, +a6b(a){return this.Mh(null,a)}, +Mg(a){return this.Mh(a,null)}, +wE(){var s=this,r=s.e +if(r!=null)r.qw(0) +s.e=null +s.jL(B.cf,!1) +r=s.a +if(r.d!=null){if(r.id){r=s.c +r.toString +A.Z1(r)}r=s.a.d +if(r!=null)r.$0()}}, +abd(){var s=this,r=s.e +if(r!=null)r.aA(0) +s.e=null +s.a.toString +s.jL(B.cf,!1)}, +ab3(){var s=this,r=s.e +if(r!=null)r.qw(0) +s.e=null +s.jL(B.cf,!1) +s.a.toString}, +ab5(){var s=this,r=s.e +if(r!=null)r.aA(0) +s.e=null +s.a.toString +s.jL(B.cf,!1)}, +cN(){var s,r,q,p,o,n,m,l=this,k=l.d +if(k!=null){l.d=null +for(s=A.o(k),k=new A.ff(k,k.n1(),s.h("ff<1>")),s=s.c;k.t();){r=k.d;(r==null?s.a(r):r).l()}l.e=null}for(k=l.r,s=A.hc(k,k.r);s.t();){r=s.d +q=k.i(0,r) +if(q!=null){p=q.ch +p===$&&A.a() +p.r.l() +p.r=null +o=p.bJ$ +o.b=!1 +B.b.I(o.a) +n=o.c +if(n===$){m=A.cA(o.$ti.c) +o.c!==$&&A.a1() +o.c=m +n=m}if(n.a>0){n.b=n.c=n.d=n.e=null +n.a=0}o=p.c9$ +o.b=!1 +B.b.I(o.a) +n=o.c +if(n===$){m=A.cA(o.$ti.c) +o.c!==$&&A.a1() +o.c=m +n=m}if(n.a>0){n.b=n.c=n.d=n.e=null +n.a=0}p.yN() +q.jX()}k.n(0,r,null)}k=l.a.p1 +if(k!=null)k.Et(l,!1) +l.Xt()}, +ff(a){return a.d!=null}, +fh(a){return!1}, +aaO(a){var s=this,r=s.f=!0,q=s.a +q.toString +if(!s.ff(q)?s.fh(q):r)s.jL(B.cQ,s.f)}, +aaQ(a){this.f=!1 +this.jL(B.cQ,!1)}, +gYW(){var s,r=this,q=r.c +q.toString +q=A.dL(q,B.xx) +s=q==null?null:q.ch +$label0$0:{if(B.iF===s||s==null){q=r.a +q.toString +q=(r.ff(q)||r.fh(q))&&r.a.ok +break $label0$0}if(B.qZ===s){q=!0 +break $label0$0}q=null}return q}, +K(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this,c=null +d.yO(a) +s=new A.afl(d,a) +for(r=d.r,q=A.hc(r,r.r);q.t();){p=q.d +o=r.i(0,p) +if(o!=null)o.sae(0,s.$1(p))}r=d.e +if(r!=null){q=d.a.fx +q=q==null?c:q.a1(0,d.gcY().a) +if(q==null)q=d.a.fy +r.sae(0,q==null?A.an(a).k2:q)}r=d.a.ay +if(r==null)r=B.d1 +n=A.kj(r,d.gcY().a,t.Pb) +m=d.w +if(m===$){r=d.ga7k() +q=t.ot +p=t.wS +l=A.as([B.Qm,new A.mN(r,new A.bg(A.b([],q),p),t.wY),B.Qn,new A.mN(r,new A.bg(A.b([],q),p),t.nz)],t.u,t.od) +d.w!==$&&A.a1() +d.w=l +m=l}r=d.a.k4 +q=d.gYW() +p=d.a +o=p.d +o=o==null?c:d.gTR() +p=d.ff(p)?d.gabe():c +k=d.a +k.toString +k=d.ff(k)?d.gabg():c +j=d.a +j.toString +j=d.ff(j)?d.gDT():c +i=d.a +i.toString +i=d.ff(i)?d.gabc():c +h=d.a +h.toString +h=d.fh(h)?d.gab6():c +g=d.a +g.toString +g=d.fh(g)?d.gab8():c +f=d.a +f.toString +f=d.fh(f)?d.gab2():c +e=d.a +e.toString +e=d.fh(e)?d.gab4():c +return new A.Bn(d,A.Uw(m,A.w_(!1,q,A.a4K(A.azZ(A.d0(c,A.Gn(B.ae,d.a.c,B.ar,!0,c,c,c,c,c,c,c,c,c,f,e,h,g,j,i,p,k,c,c,c),!1,c,!1,c,c,c,c,c,c,c,c,c,c,o,c,c,c,c,c,c,c,c),n),n,d.gaaN(),d.gaaP(),c),c,c,c,r,!0,c,d.gaaA(),c,c,c,c)),c)}, +$ian0:1} +A.afo.prototype={ +$1(a){return a!=null}, +$S:223} +A.afk.prototype={ +$0(){this.a.jL(B.cf,!1)}, +$S:0} +A.afn.prototype={ +$0(){}, +$S:0} +A.afp.prototype={ +$0(){var s=this.a +s.r.n(0,this.b,null) +s.oI()}, +$S:0} +A.afj.prototype={ +$0(){var s,r=this.b,q=r.d +if(q!=null){s=this.a +q.A(0,s.a) +if(r.e==s.a)r.e=null +r.oI()}}, +$S:0} +A.afm.prototype={ +$0(){this.a.FD()}, +$S:0} +A.afl.prototype={ +$1(a){var s,r,q=this,p=null,o=A.an(q.b) +switch(a.a){case 0:s=q.a +r=s.a.fx +r=r==null?p:r.a1(0,B.Ju) +s=r==null?s.a.fr:r +if(s==null)s=o.cy +break +case 2:s=q.a +r=s.a.fx +r=r==null?p:r.a1(0,B.Jv) +s=r==null?s.a.dx:r +if(s==null)s=o.cx +break +case 1:s=q.a +r=s.a.fx +r=r==null?p:r.a1(0,B.Js) +s=r==null?s.a.dy:r +if(s==null)s=o.dx +break +default:s=p}return s}, +$S:224} +A.GO.prototype={} +A.D3.prototype={ +ao(){this.aL() +if(this.goL())this.pp()}, +cN(){var s=this.ft$ +if(s!=null){s.ap() +s.dI() +this.ft$=null}this.p8()}} +A.Zc.prototype={ +F(){return"FloatingLabelBehavior."+this.b}} +A.Gb.prototype={ +gu(a){return B.f.gu(-1)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.Gb}, +j(a){return A.aAX(-1)}} +A.GP.prototype={ +gu(a){var s=null +return A.P(s,s,s,s,s,s,s,B.Cc,B.hh,!1,s,!1,s,s,s,s,s,s,!1,A.P(s,s,s,s,s,s,s,s,s,s,s,!1,s,s,B.a,B.a,B.a,B.a,B.a,B.a))}, +k(a,b){var s +if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +s=!1 +if(b instanceof A.GP){s=B.hh.k(0,B.hh) +s}return s}} +A.O9.prototype={} +A.wL.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,s.cy)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.wL)if(J.e(b.b,r.b))if(b.c==r.c)if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.r,r.r))if(J.e(b.w,r.w))if(J.e(b.x,r.x))if(J.e(b.f,r.f))if(J.e(b.y,r.y))if(J.e(b.z,r.z))if(J.e(b.Q,r.Q))if(b.as==r.as)if(b.at==r.at)if(b.ax==r.ax)s=b.ay==r.ay +return s}} +A.nD.prototype={ +gCU(a){return this.w}, +ms(a,b,c){var s=null,r=this.w,q=r.a,p=r.b,o=r.c,n=r.d,m=r.e,l=r.f,k=r.y,j=r.z,i=r.Q,h=r.ch,g=r.as,f=r.at +r=r.ax +return A.aqF(c,A.alZ(k,q,h,g,m,s,r,s,f,s,n,i,p,o,s,l,j,s,s,s),s)}, +bT(a){return!this.gCU(0).k(0,a.gCU(0))}} +A.a1t.prototype={ +$1(a){var s,r,q,p=this,o=a.aa(t.NJ),n=o==null?null:o.gCU(0) +if(n==null)n=A.an(a).S +s=p.d +if(s==null)s=n.c +r=p.w +if(r==null)r=n.r +q=p.z +if(q==null)q=n.y +return A.aqF(p.dx,A.alZ(q,n.a,n.ch,n.as,n.e,n.x,n.ax,n.ay,n.at,n.CW,n.d,n.Q,n.b,s,n.w,n.f,n.z,n.cy,r,n.cx),p.a)}, +$S:225} +A.Os.prototype={} +A.nJ.prototype={ +F(){return"MaterialType."+this.b}} +A.wU.prototype={ +ag(){return new A.Oz(new A.bz("ink renderer",t.C),null,null)}} +A.Oz.prototype={ +K(a){var s,r,q,p,o,n,m,l=this,k=null,j=A.an(a),i=l.a,h=i.f +if(h==null){s=i.d +$label0$0:{h=k +if(B.cs===s){r=j.as +break $label0$0}if(B.ix===s){r=j.at +break $label0$0}if(B.f2===s||B.qS===s||B.dE===s){r=h +break $label0$0}r=h}h=r}q=i.r +if(q==null){r=j.ax.x1 +if(r==null)r=B.o +q=r}p=i.c +r=i.x +if(r==null){i=A.an(a).p2.z +i.toString}else i=r +r=l.a +p=A.aoO(p,r.as,i) +i=r +r=i.d +o=r===B.dE +p=new A.cI(new A.afZ(l),new A.O8(h,l,!o,p,l.d),k,t.Tm) +n=i.y +if(r===B.cs&&n==null){h.toString +m=A.apX(h,i.w,i.e) +i=l.a +r=i.as +return new A.ua(p,i.Q,i.e,m,!1,q,B.aV,r,k,k)}if(n==null){$label1$1:{if(B.qS===r){r=B.zZ +break $label1$1}if(B.cs===r||B.dE===r){r=B.Iv +break $label1$1}if(B.ix===r||B.f2===r){r=B.vT +break $label1$1}r=k}n=r}if(o){i=A.dX(a) +return A.azy(new A.C9(p,n,!0,k),l.a.Q,new A.op(n,i,k))}h.toString +return new A.B1(p,n,!0,i.Q,i.e,h,q,i.w,B.aV,i.as,k,k)}} +A.afZ.prototype={ +$1(a){var s,r=$.am.ai$.x.i(0,this.a.d).gU() +r.toString +t.zd.a(r) +s=r.bK +s=s==null?null:s.length!==0 +if(s===!0)r.am() +return!1}, +$S:226} +A.BE.prototype={ +C7(a){var s=this.bK;(s==null?this.bK=A.b([],t.VB):s).push(a) +this.am()}, +iv(a){return this.ak}, +aE(a,b){var s,r,q,p,o,n=this.bK +if(n!=null&&n.length!==0){s=a.gbO(0) +s.c5(0) +s.aq(0,b.a,b.b) +r=this.gv(0) +s.kp(new A.x(0,0,0+r.a,0+r.b)) +for(r=n.length,q=0;q#"+A.b9(this)}} +A.oq.prototype={ +ee(a){return A.d1(this.a,this.b,a)}} +A.B1.prototype={ +ag(){return new A.Ow(null,null)}} +A.Ow.prototype={ +rd(a){var s,r,q=this +q.CW=t.ir.a(a.$3(q.CW,q.a.z,new A.afK())) +s=t.YJ +q.cy=s.a(a.$3(q.cy,q.a.as,new A.afL())) +r=q.a.at +q.cx=r!=null?s.a(a.$3(q.cx,r,new A.afM())):null +q.db=t.TZ.a(a.$3(q.db,q.a.w,new A.afN()))}, +K(a){var s,r,q,p,o,n=this,m=null,l=n.db +l.toString +l=l.a8(0,n.gfR().gm(0)) +l.toString +s=n.CW +s.toString +r=s.a8(0,n.gfR().gm(0)) +A.an(a) +s=n.a.Q +q=n.cx +p=A.apX(s,q==null?m:q.a8(0,n.gfR().gm(0)),r) +s=n.cy +s.toString +s=s.a8(0,n.gfR().gm(0)) +s.toString +q=A.dX(a) +o=n.a +return new A.Iz(new A.op(l,q,m),o.y,r,p,s,new A.C9(o.r,l,!0,m),m)}} +A.afK.prototype={ +$1(a){return new A.aW(A.bA(a),null,t.H7)}, +$S:93} +A.afL.prototype={ +$1(a){return new A.is(t.n8.a(a),null)}, +$S:55} +A.afM.prototype={ +$1(a){return new A.is(t.n8.a(a),null)}, +$S:55} +A.afN.prototype={ +$1(a){return new A.oq(t.RY.a(a),null)}, +$S:229} +A.C9.prototype={ +K(a){var s=A.dX(a) +return A.v6(this.c,new A.R8(this.d,s,null),null,null)}} +A.R8.prototype={ +aE(a,b){this.b.iG(a,new A.x(0,0,0+b.a,0+b.b),this.c)}, +hZ(a){return!a.b.k(0,this.b)}} +A.SW.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.wY.prototype={ +K(a){var s,r,q,p,o,n,m,l,k,j=this,i=null,h=A.an(a) +a.aa(t.Xj) +s=A.an(a) +r=s.x2 +if(r.at==null){q=r.at +if(q==null)q=s.ax +p=r.gce(0) +o=r.gbr(0) +r=A.ap3(!1,r.w,q,r.x,r.y,r.b,r.Q,r.z,r.d,r.ax,r.a,p,o,r.as,r.c)}q=r.FR(j) +p=h.p2.as +p.toString +p=p.fp(r.yl(j)) +o=r.y +if(o==null){o=r.yl(j) +o=A.a3(31,o.gm(o)>>>16&255,o.gm(o)>>>8&255,o.gm(o)&255)}n=r.z +if(n==null){n=r.yl(j) +n=A.a3(10,n.gm(n)>>>16&255,n.gm(n)>>>8&255,n.gm(n)&255)}m=r.T_(j) +l=new A.aq(r.a,1/0,r.b,1/0).Ox(j.k4,j.k3) +k=r.gbr(0) +return A.arx(B.a7,!1,j.dx,B.z,l,0,2,!0,q,o,4,i,h.cy,8,n,4,h.f,i,i,i,j.c,m,k,h.k2,p,h.Q)}} +A.Ox.prototype={ +Ej(a){return a.goe(0)==="en"}, +iz(a,b){return new A.cv(B.ys,t.az)}, +yE(a){return!1}, +j(a){return"DefaultMaterialLocalizations.delegate(en_US)"}} +A.Fl.prototype={$inH:1} +A.Hn.prototype={ +Si(a,b){return new A.a46(this,a,b)}, +Sh(a){return this.Si(a,null)}, +a7q(a){if(this.nW$.D(0,a))this.al(new A.a44())}, +xO(a){if(this.nW$.A(0,a))this.al(new A.a45())}} +A.a46.prototype={ +$1(a){var s=this.a,r=this.b +if(s.nW$.p(0,r)===a)return +if(a)s.a7q(r) +else s.xO(r)}, +$S:31} +A.a44.prototype={ +$0(){}, +$S:0} +A.a45.prototype={ +$0(){}, +$S:0} +A.Ht.prototype={} +A.x3.prototype={ +gu(a){return J.u(this.a)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.x3&&J.e(b.a,this.a)}} +A.OB.prototype={} +A.Hu.prototype={ +gu(a){var s=this +return A.bN([s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as])}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.Hu)if(b.a==r.a)if(b.b==r.b)if(b.c==r.c)if(b.d==r.d)if(b.e==r.e)if(b.f==r.f)if(b.r==r.r)if(b.w==r.w)if(b.x==r.x)if(b.y==r.y)s=J.e(b.as,r.as) +return s}} +A.OD.prototype={} +A.qq.prototype={ +gu(a){return J.u(this.a)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.qq&&J.e(b.a,this.a)}} +A.OE.prototype={} +A.xf.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.xf)if(b.a==r.a)if(J.e(b.b,r.b))if(b.c==r.c)if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.f,r.f))if(J.e(b.r,r.r))if(b.w==r.w)if(b.x==r.x)s=b.z==r.z +return s}} +A.OR.prototype={} +A.xg.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.xg&&b.a==s.a&&J.e(b.b,s.b)&&b.c==s.c&&J.e(b.d,s.d)&&J.e(b.e,s.e)&&J.e(b.f,s.f)&&J.e(b.r,s.r)&&J.e(b.w,s.w)&&b.x==s.x&&b.y==s.y}} +A.OS.prototype={} +A.xh.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.xh&&J.e(b.a,s.a)&&b.b==s.b&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&J.e(b.e,s.e)&&J.e(b.f,s.f)&&b.r==s.r&&J.e(b.y,s.y)&&J.e(b.z,s.z)&&b.Q==s.Q&&b.as==s.as}} +A.OT.prototype={} +A.xq.prototype={ +gu(a){return J.u(this.a)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.xq&&J.e(b.a,this.a)}} +A.P5.prototype={} +A.fC.prototype={ +glP(){return A.dR.prototype.glP.call(this)+"("+A.h(this.b.a)+")"}, +grD(){return!0}} +A.Hm.prototype={ +gFy(a){return B.bd}, +gNY(){return null}, +gNZ(){return null}, +Cu(a){return a instanceof A.fC}, +O1(a,b,c){var s=null +return A.d0(s,this.cT.$1(a),!1,s,!0,s,s,s,s,s,s,s,s,s,s,s,s,!0,s,s,s,s,s,s)}, +O5(a,b,c,d){A.an(a) +return new A.tk(B.qQ,this,b,c,d,null,this.$ti.h("tk<1>"))}} +A.B2.prototype={} +A.SH.prototype={ +K(a){var s=this +return new A.pO(s.c,new A.aiN(s),new A.aiO(s),new A.pO(new A.fM(s.d,new A.bg(A.b([],t.A),t.Q),0),new A.aiP(s),new A.aiQ(s),s.f,null),null)}} +A.aiN.prototype={ +$3(a,b,c){return new A.ms(b,c,this.a.e,!1,null)}, +$S:155} +A.aiO.prototype={ +$3(a,b,c){return new A.mt(b,this.a.e,!0,c,null)}, +$S:154} +A.aiP.prototype={ +$3(a,b,c){return new A.ms(b,c,this.a.e,!0,null)}, +$S:155} +A.aiQ.prototype={ +$3(a,b,c){return new A.mt(b,this.a.e,!1,c,null)}, +$S:154} +A.ms.prototype={ +ag(){return new A.SF(new A.zd($.aN()),$,$)}} +A.SF.prototype={ +gFI(){return!1}, +pN(){var s,r=this,q=r.a,p=q.f +if(p)s=B.cZ +else{s=$.axb() +s=new A.b0(q.c,s,s.$ti.h("b0"))}r.jm$=s +p=p?$.axc():$.axd() +q=q.c +r.kC$=new A.b0(q,p,p.$ti.h("b0")) +q.a0(0,r.gom()) +r.a.c.e4(r.gol())}, +ao(){var s,r,q,p,o=this +o.pN() +s=o.a +r=s.f +q=o.jm$ +q===$&&A.a() +p=o.kC$ +p===$&&A.a() +o.d=A.atE(s.c,q,r,p) +o.aL()}, +aH(a){var s,r,q,p=this,o=p.a +if(a.f!==o.f||a.c!==o.c){o=a.c +o.J(0,p.gom()) +o.c4(p.gol()) +p.pN() +o=p.d +o===$&&A.a() +o.l() +o=p.a +s=o.f +r=p.jm$ +r===$&&A.a() +q=p.kC$ +q===$&&A.a() +p.d=A.atE(o.c,r,s,q)}p.b4(a)}, +l(){var s,r=this +r.a.c.J(0,r.gom()) +r.a.c.c4(r.gol()) +s=r.d +s===$&&A.a() +s.l() +r.XE()}, +K(a){var s=this.d +s===$&&A.a() +return A.as6(!0,this.a.d,this.m2$,B.wS,s)}} +A.mt.prototype={ +ag(){return new A.SG(new A.zd($.aN()),$,$)}} +A.SG.prototype={ +gFI(){return!1}, +pN(){var s,r=this,q=r.a,p=q.e +if(p){s=$.axf() +s=new A.b0(q.c,s,s.$ti.h("b0"))}else s=B.cZ +r.jm$=s +p=p?$.axg():$.axh() +q=q.c +r.kC$=new A.b0(q,p,p.$ti.h("b0")) +q.a0(0,r.gom()) +r.a.c.e4(r.gol())}, +ao(){var s,r,q,p,o=this +o.pN() +s=o.a +r=s.e +q=o.jm$ +q===$&&A.a() +p=o.kC$ +p===$&&A.a() +o.d=A.atF(s.c,q,r,p) +o.aL()}, +aH(a){var s,r,q,p=this,o=p.a +if(a.e!==o.e||a.c!==o.c){o=a.c +o.J(0,p.gom()) +o.c4(p.gol()) +p.pN() +o=p.d +o===$&&A.a() +o.l() +o=p.a +s=o.e +r=p.jm$ +r===$&&A.a() +q=p.kC$ +q===$&&A.a() +p.d=A.atF(o.c,r,s,q)}p.b4(a)}, +l(){var s,r=this +r.a.c.J(0,r.gom()) +r.a.c.c4(r.gol()) +s=r.d +s===$&&A.a() +s.l() +r.XF()}, +K(a){var s=this.d +s===$&&A.a() +return A.as6(!0,this.a.f,this.m2$,B.wS,s)}} +A.jT.prototype={} +A.Lv.prototype={ +O4(a,b,c,d,e){return new A.SH(c,d,!0,e,!0,null)}} +A.F9.prototype={ +O4(a,b,c,d,e,f){return A.azQ(a,b,c,d,e,f)}} +A.I5.prototype={ +Yl(a){var s=t.Tr +return A.a8(new A.ay(B.EI,new A.a5F(a),s),!0,s.h("aI.E"))}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +if(b instanceof A.I5)return!0 +return!1}, +gu(a){return A.bN(this.Yl(B.qQ))}} +A.a5F.prototype={ +$1(a){return this.a.i(0,a)}, +$S:232} +A.tk.prototype={ +ag(){return new A.Bm(this.$ti.h("Bm<1>"))}} +A.Bm.prototype={ +K(a){var s,r,q=this,p=A.an(a).w,o=q.a +if(o.d.a.cx.a){s=q.d +if(s==null)q.d=p +else p=s}else q.d=null +r=o.c.i(0,p) +if(r==null){$label0$0:{if(B.av===p){o=B.h6 +break $label0$0}if(B.au===p||B.bh===p||B.bj===p||B.b5===p||B.bi===p){o=B.ku +break $label0$0}o=null}r=o}o=q.a +return r.O4(o.d,a,o.e,o.f,o.r,q.$ti.c)}} +A.tI.prototype={ +ada(){var s,r=this,q=r.kC$ +q===$&&A.a() +s=q.a +if(J.e(q.b.a8(0,s.gm(s)),1)){q=r.jm$ +q===$&&A.a() +if(!J.e(q.gm(q),0)){q=r.jm$ +q=J.e(q.gm(q),1)}else q=!0}else q=!1 +s=r.m2$ +if(q)s.sCg(!1) +else{r.gFI() +s.sCg(!1)}}, +ad9(a){if(a.gfz())this.gFI() +this.m2$.sCg(!1)}} +A.CU.prototype={ +B6(a){this.ap()}, +IY(a,b,c){var s,r,q,p,o +if(!this.r){s=this.w +s=s.gaI(s)!==B.T}else s=!1 +if(s){s=this.w +s=$.axe().a8(0,s.gm(s)) +s.toString +r=s}else r=0 +if(r>0){s=a.gbO(0) +q=b.a +p=b.b +o=$.ap().bg() +o.sae(0,A.a3(B.c.a7(255*r),0,0,0)) +s.cP(new A.x(q,p,q+c.a,p+c.b),o)}}, +rT(a,b,c,d){var s,r,q,p=this +if(!p.w.gfz())return d.$2(a,b) +p.IY(a,b,c) +s=p.z +r=p.x +q=r.a +A.auq(s,r.b.a8(0,q.gm(q)),c) +q=p.as +q.saN(0,a.xF(!0,b,s,new A.aiL(p,d),q.a))}, +R3(a,b,c,d,e,f){var s,r,q +this.IY(a,b,c) +s=this.x +r=s.a +q=this.y +A.atS(a,d,s.b.a8(0,r.gm(r)),q.gm(q),f)}, +l(){var s=this,r=s.w,q=s.geE() +r.J(0,q) +r.c4(s.gpM()) +s.x.a.J(0,q) +s.y.J(0,q) +s.Q.saN(0,null) +s.as.saN(0,null) +s.dI()}, +hZ(a){var s,r,q,p,o=this,n=!0 +if(a.r===o.r){s=a.w +r=o.w +if(J.e(s.gm(s),r.gm(r))){s=a.x +r=s.a +q=o.x +p=q.a +if(J.e(s.b.a8(0,r.gm(r)),q.b.a8(0,p.gm(p)))){n=a.y +s=o.y +s=!J.e(n.gm(n),s.gm(s)) +n=s}}}return n}} +A.aiL.prototype={ +$2(a,b){var s=this.a,r=s.Q +s=s.y +r.saN(0,a.Rm(b,B.c.a7(s.gm(s)*255),this.b,r.a))}, +$S:17} +A.CV.prototype={ +B6(a){this.ap()}, +R3(a,b,c,d,e,f){var s=this.w,r=s.a,q=this.x +A.atS(a,d,s.b.a8(0,r.gm(r)),q.gm(q),f)}, +rT(a,b,c,d){var s,r,q,p=this +if(!p.y.gfz())return d.$2(a,b) +s=p.z +r=p.w +q=r.a +A.auq(s,r.b.a8(0,q.gm(q)),c) +q=p.as +q.saN(0,a.xF(!0,b,s,new A.aiM(p,d),q.a))}, +hZ(a){var s,r,q,p=!0 +if(a.r===this.r){s=a.x +r=this.x +if(J.e(s.gm(s),r.gm(r))){p=a.w +s=p.a +r=this.w +q=r.a +q=!J.e(p.b.a8(0,s.gm(s)),r.b.a8(0,q.gm(q))) +p=q}}return p}, +l(){var s,r=this +r.Q.saN(0,null) +r.as.saN(0,null) +s=r.geE() +r.w.a.J(0,s) +r.x.J(0,s) +r.y.c4(r.gpM()) +r.dI()}} +A.aiM.prototype={ +$2(a,b){var s=this.a,r=s.Q +s=s.x +r.saN(0,a.Rm(b,B.c.a7(s.gm(s)*255),this.b,r.a))}, +$S:17} +A.Pb.prototype={} +A.D9.prototype={ +l(){var s=this.m2$ +s.O$=$.aN() +s.S$=0 +this.aC()}} +A.Da.prototype={ +l(){var s=this.m2$ +s.O$=$.aN() +s.S$=0 +this.aC()}} +A.xP.prototype={} +A.OC.prototype={ +ar(a){var s=new A.Qo(this.e,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.B=this.e}} +A.Qo.prototype={ +bP(a){var s=this.C$ +s=s==null?null:s.az(B.y,a,s.gbE()) +return s==null?B.O:s}, +d6(a,b){var s=this.C$ +return s==null?null:s.f5(a,b)}, +bb(){var s,r=this,q=r.C$ +if(q==null)r.id=B.O +else{s=t.k +q.bU(s.a(A.G.prototype.gN.call(r)),!0) +r.id=s.a(A.G.prototype.gN.call(r)).b0(r.C$.gv(0)) +s=r.C$.b +s.toString +t.G.a(s).a=B.h}q=r.gv(0) +r.B.$1(q)}} +A.lE.prototype={ +ag(){var s=this.$ti +return new A.qE(s.h("@<1>").bd(s).h("qE<1,2>"))}} +A.qE.prototype={ +wE(){var s,r=this.c +r.toString +s=this.a.d +A.jO(r,!1).F5(s) +this.a.toString}, +K(a){var s,r,q,p,o,n,m=null +A.an(a) +s=A.arj(a) +r=A.at5(a) +q=A.aA(t.EK) +this.a.toString +p=s.w +if(p==null)p=m +else{p=p.a1(0,q) +p.toString}if(p==null){q=r.grA().a1(0,q) +q.toString +o=q}else o=p +q=this.a +n=A.aoO(A.ck(B.xK,q.Q,m,new A.aq(0,1/0,48,1/0),m,m,m,B.BI,m),B.a7,o) +return new A.x4(A.d0(!0,A.nv(!1,m,!0,A.aBT(n,B.as,m,o),m,!0,m,m,m,m,new A.Nh(m,s.y),m,m,m,m,this.gDT(),m,m,m,m),!1,!0,!1,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m,m),m)}} +A.to.prototype={ +ag(){return new A.Bt(B.Et,this.$ti.h("Bt<1>"))}} +A.Bt.prototype={ +ao(){this.aL() +this.M0()}, +aH(a){var s,r +this.b4(a) +s=this.a +r=a.d.k2 +s=s.d.k2 +if(r!=s)this.M0()}, +M0(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this +for(s=g.d,r=s.length,q=0;q0){m.b=m.c=m.d=m.e=null +m.a=0}if(B.b.A(n.a,p.gnn()))o.lV()}k=A.b([],t.Ug) +g.a.toString +j=0 +while(!0){s=g.a +s.toString +if(!(j<3))break;++j +i=j*0.2222222222222222 +h=A.M(i+0.3333333333333333,0,1) +s=s.d.k2 +p=new A.mY(s,new A.dg(i,h,B.a2),null) +r=s.gaI(0) +if(!r.gfz())r=null +p.d=r +s.bl() +s=s.bJ$ +s.b=!0 +s.a.push(p.gnn()) +k.push(p)}g.d=k}, +l(){var s,r,q,p,o,n,m,l +for(s=this.d,r=s.length,q=0;q0){m.b=m.c=m.d=m.e=null +m.a=0}if(B.b.A(n.a,p.gnn()))o.lV()}this.aC()}, +K(a){var s,r,q,p,o,n,m,l,k=this,j=null +k.a.toString +s=A.b([],t.E) +A.an(a) +r=A.arj(a) +q=A.at5(a) +p=0 +while(!0){o=k.a +o.toString +if(!(p<3))break +n=k.d[p] +m=o.d.cC[p] +s.push(new A.OC(new A.agI(k,p),new A.n9(n,m,o.c[p]),j));++p}l=r.c +if(l==null)l=q.grJ() +o=A.d0(j,A.amr(new A.H8(s,j),j,B.ar,l,j,B.ap),!1,j,!0,j,j,j,j,o.e,j,!0,j,j,j,j,j,!0,j,j,j,j,j,j) +l=k.a.d.k2 +l.toString +return A.pl(l,new A.agJ(k,new A.h0(B.CW),r,q,new A.h0(new A.dg(0,0.2222222222222222,B.a2)),new A.h0(new A.dg(0,0.6666666666666666,B.a2))),new A.h_(B.yh,new A.GQ(56,o,j),j))}} +A.agI.prototype={ +$1(a){this.a.a.d.cT[this.b]=a}, +$S:234} +A.agJ.prototype={ +$2(a,b){var s,r,q,p,o,n,m=this,l=null,k=m.b,j=m.a,i=j.a.d.k2 +i.toString +s=m.c +r=s.b +if(r==null){r=m.d +r=r.gbr(r)}q=j.a +p=q.d.jq +q=q.r +o=s.d +if(o==null){o=m.d.d +o.toString}n=s.e +if(n==null){n=m.d +n=n.gbV(n)}j.a.toString +s=s.f +if(s==null)s=m.d.gcm() +return A.YY(A.wV(B.a7,new A.fm(B.xJ,m.e.a8(0,j.a.d.k2.gm(0)),m.f.a8(0,j.a.d.k2.gm(0)),b,l),q,p,o,l,n,r,s,l,B.ix),l,new A.b0(i,k,A.o(k).h("b0")))}, +$S:235} +A.agF.prototype={ +tz(a){return A.Vb(new A.K(A.M(1/0,a.a,a.b),A.M(1/0,a.c,a.d))).w4(B.lf.a6(0,this.f))}, +tC(a,b){var s,r,q,p,o,n,m=this,l=m.b,k=l.b,j=l.a,i=l.c +if(j>i)s=a.a-i-b.a +else if(ji-8-r)s=i-j-8-r}j=l.b +if(ki-8-l)k=i-j-8-l}return new A.n(s,k)}, +Zg(a,b){var s,r,q,p,o,n,m,l,k,j=B.b.gH(a) +for(s=a.length,r=b.a,q=b.b,p=0;p"))),null),a,!0,!0,!0,!0)}, +l(){var s=this.Dt +if(s!=null)s.l() +this.Wb()}, +gNZ(){return this.aa4}} +A.agH.prototype={ +$1(a){var s=this.a.b8,r=this.b,q=s[r] +if($.am.ai$.x.i(0,q)!=null){s=s[r] +s=$.am.ai$.x.i(0,s) +s.toString +A.arP(s,0,B.II,B.aA,B.r)}}, +$S:6} +A.agG.prototype={ +$1(a){var s,r,q=this,p=q.b,o=q.a.a,n=a.aa(t.I) +n.toString +s=q.c +r=A.aAc(s) +return new A.l2(new A.agF(p.bK,p.cT,o,n.w,s.r,A.er(r,r.$ti.h("j.E"))),new A.Ma(p.aa7.a,q.d,null),null)}, +$S:236} +A.Nh.prototype={ +a1(a,b){var s=A.kj(this.a,b,t.WV) +if(s==null)s=null +return s==null?B.d1.a1(0,b):s}, +glO(){return"MaterialStateMouseCursor(PopupMenuItemState)"}} +A.agD.prototype={ +gL7(){var s,r=this,q=r.ax +if(q===$){s=A.an(r.at) +r.ax!==$&&A.a1() +r.ax=s +q=s}return q}, +gv_(){var s,r=this,q=r.ay +if(q===$){s=r.gL7() +r.ay!==$&&A.a1() +q=r.ay=s.ax}return q}, +grA(){return new A.bF(new A.agE(this),t.Hw)}, +gae(a){var s=this.gv_(),r=s.p4 +return r==null?s.k2:r}, +gbV(a){var s=this.gv_().x1 +return s==null?B.o:s}, +gcm(){return B.M}, +gbr(a){return B.iU}, +grJ(){return B.BH}} +A.agE.prototype={ +$1(a){var s,r=this.a,q=r.ch +if(q===$){s=r.gL7() +r.ch!==$&&A.a1() +q=r.ch=s.p2}s=q.as +s.toString +if(a.p(0,B.S)){r=r.gv_().k3.a +return s.NL(A.a3(97,r>>>16&255,r>>>8&255,r&255))}return s.NL(r.gv_().k3)}, +$S:237} +A.qF.prototype={ +gu(a){var s=this +return A.P(s.gae(s),s.gbr(s),s.grJ(),s.d,s.gbV(s),s.gcm(),s.gFq(),s.grA(),s.x,s.y,s.z,s.Q,s.as,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.qF&&J.e(b.gae(b),s.gae(s))&&J.e(b.gbr(b),s.gbr(s))&&J.e(b.grJ(),s.grJ())&&b.d==s.d&&J.e(b.gbV(b),s.gbV(s))&&J.e(b.gcm(),s.gcm())&&J.e(b.gFq(),s.gFq())&&b.grA()==s.grA()&&J.e(b.Q,s.Q)&&b.as==s.as}, +gae(a){return this.a}, +gbr(a){return this.b}, +grJ(){return this.c}, +gbV(a){return this.e}, +gcm(){return this.f}, +gFq(){return this.r}, +grA(){return this.w}} +A.PT.prototype={} +A.acf.prototype={ +F(){return"_ActivityIndicatorType."+this.b}} +A.IS.prototype={} +A.Mg.prototype={ +aE(a,b){var s,r,q,p,o,n,m=this,l=$.ap(),k=l.bg() +k.sae(0,m.c) +s=m.x +k.sep(s) +k.scH(0,B.X) +r=s/2*-m.y +q=r*2 +p=b.a-q +q=b.b-q +o=m.b +if(o!=null){n=l.bg() +n.sae(0,o) +n.sep(s) +n.scH(0,B.X) +a.Dl(new A.x(r,r,r+p,r+q),0,6.282185307179586,!1,n)}k.syJ(B.wT) +a.Dl(new A.x(r,r,r+p,r+q),m.z,m.Q,!1,k)}, +hZ(a){var s=this,r=!0 +if(J.e(a.b,s.b))if(a.c.k(0,s.c))if(a.e===s.e)if(a.f===s.f)if(a.r===s.r)if(a.w===s.w)if(a.x===s.x)r=a.y!==s.y +return r}} +A.uI.prototype={ +ag(){return new A.Mh(null,null)}} +A.Mh.prototype={ +ao(){var s,r=this +r.aL() +s=A.dd(null,B.Bt,null,null,r) +r.d=s +r.a.toString +s.RL(0)}, +aH(a){var s,r +this.b4(a) +this.a.toString +s=this.d +s===$&&A.a() +r=s.r +r=!(r!=null&&r.a!=null) +if(r)s.RL(0)}, +l(){var s=this.d +s===$&&A.a() +s.l() +this.Xo()}, +YH(a,b,c,d,e){var s,r,q,p,o=null +A.an(a) +this.a.toString +s=A.aru(a) +this.a.toString +r=new A.adv(a,o,o,o,o,o).gae(0) +q=A.aru(a).a +r=q==null?r:q +this.a.toString +q=c*3/2*3.141592653589793 +p=Math.max(b*3/2*3.141592653589793-q,0.001) +s=A.ck(o,A.v6(o,o,o,new A.Mg(s.d,r,o,b,c,d,e,4,0,-1.5707963267948966+q+e*3.141592653589793*2+d*0.5*3.141592653589793,p,o,o)),o,B.ye,o,o,o,o,o) +return A.d0(o,s,!1,o,!1,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o)}, +YF(){var s=this.d +s===$&&A.a() +return A.pl(s,new A.adw(this),null)}, +K(a){this.a.toString +switch(0){case 0:return this.YF()}}} +A.adw.prototype={ +$2(a,b){var s=this.a,r=$.awU(),q=s.d +q===$&&A.a() +return s.YH(a,r.a8(0,q.gm(0)),$.awV().a8(0,s.d.gm(0)),$.awS().a8(0,s.d.gm(0)),$.awT().a8(0,s.d.gm(0)))}, +$S:83} +A.adv.prototype={ +gLa(){var s,r=this,q=r.r +if(q===$){s=A.an(r.f) +r.r!==$&&A.a1() +q=r.r=s.ax}return q}, +gae(a){return this.gLa().b}, +gvM(){var s=this.gLa(),r=s.Q +return r==null?s.y:r}} +A.CZ.prototype={ +l(){var s=this,r=s.dQ$ +if(r!=null)r.J(0,s.gno()) +s.dQ$=null +s.aC()}, +bL(){this.e0() +this.de() +this.np()}} +A.qI.prototype={ +gu(a){var s=this +return A.P(s.gae(s),s.b,s.c,s.gvM(),s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.qI&&J.e(b.gae(b),s.gae(s))&&J.e(b.b,s.b)&&b.c==s.c&&J.e(b.gvM(),s.gvM())&&J.e(b.e,s.e)}, +gae(a){return this.a}, +gvM(){return this.d}} +A.PV.prototype={} +A.xV.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.xV)if(b.b==r.b)if(b.c==r.c)s=b.d==r.d +return s}} +A.PZ.prototype={} +A.fh.prototype={ +F(){return"_ScaffoldSlot."+this.b}} +A.yE.prototype={ +ag(){var s=null +return new A.yF(A.jM(t.Np),A.lr(s,t.nY),A.lr(s,t.BL),s,s)}} +A.yF.prototype={ +bh(){var s,r,q=this,p=q.c +p.toString +s=A.bM(p,B.jI,t.w).w.z +p=q.y +r=!1 +if(p===!0)if(!s){p=q.x +p=p!=null&&p.b==null}else p=r +else p=r +if(p)q.E3(B.wR) +q.y=s +q.d_()}, +BP(){var s,r,q,p,o,n +for(s=this.d,r=A.dm(s,s.r,A.o(s).c),q=t.Np,p=r.$ti.c;r.t();){o=r.d +if(o==null)o=p.a(o) +n=o.c.r8(q) +if(n==null||!s.p(0,n)){o.Ng() +o.N2()}}}, +a2V(a){var s=a.c.r8(t.Np) +return s==null||!this.d.p(0,s)}, +ld(a){var s,r,q,p,o=this,n=o.w +if(n==null){n=A.dd("SnackBar",B.la,null,null,o) +n.bl() +r=n.bJ$ +r.b=!0 +r.a.push(o.ga29()) +o.w=n}r=o.r +if(r.b===r.c)n.cp(0) +s=A.bj("controller") +n=o.w +n.toString +r=new A.ry() +q=a.a +r=q==null?r:q +s.b=new A.yD(A.ov(a.Q,a.as,n,a.d,a.z,a.cy,a.ax,a.c,a.cx,a.ay,a.e,a.y,r,a.f,a.CW,a.r,a.x,a.at,a.w),new A.b1(new A.a9($.ad,t.dH),t.fO),new A.a8h(o),t.BL) +try{o.al(new A.a8i(o,s)) +o.BP()}catch(p){throw p}return s.aP()}, +a2a(a){var s=this +switch(a.a){case 0:s.al(new A.a8d(s)) +s.BP() +if(!s.r.gM(0))s.w.cp(0) +break +case 3:s.al(new A.a8e()) +s.BP() +break +case 1:case 2:break}}, +RD(a){var s,r=this,q=r.r +if(q.b===q.c)return +s=q.gH(0).b +if((s.a.a&30)===0)s.cv(0,a) +q=r.x +if(q!=null)q.aA(0) +r.x=null +r.w.sm(0,0)}, +E3(a){var s,r,q=this,p=q.r +if(p.b===p.c||q.w.gaI(0)===B.F)return +s=p.gH(0).b +p=q.y +p.toString +r=q.w +if(p){r.sm(0,0) +s.cv(0,a)}else r.ei(0).aT(0,new A.a8g(s,a),t.H) +p=q.x +if(p!=null)p.aA(0) +q.x=null}, +abw(){return this.E3(B.KJ)}, +K(a){var s,r,q,p=this +p.y=A.bM(a,B.jI,t.w).w.z +s=p.r +if(!s.gM(0)){r=A.HA(a,t.X) +if(r==null||r.gjw())if(p.w.gaI(0)===B.T&&p.x==null){q=s.gH(0).a +p.x=A.cb(q.ay,new A.a8f(p,q,a))}}return new A.BU(p,p.a.c,null)}, +l(){var s=this,r=s.w +if(r!=null)r.l() +r=s.x +if(r!=null)r.aA(0) +s.x=null +s.WZ()}} +A.a8h.prototype={ +$0(){this.a.abw()}, +$S:0} +A.a8i.prototype={ +$0(){this.a.r.dJ(0,this.b.aP())}, +$S:0} +A.a8d.prototype={ +$0(){this.a.r.ot()}, +$S:0} +A.a8e.prototype={ +$0(){}, +$S:0} +A.a8g.prototype={ +$1(a){var s=this.a +if((s.a.a&30)===0)s.cv(0,this.b)}, +$S:18} +A.a8f.prototype={ +$0(){this.a.E3(B.wR)}, +$S:0} +A.BU.prototype={ +bT(a){return this.f!==a.f}} +A.a8j.prototype={} +A.JF.prototype={ +a8U(a,b){var s=a==null?this.a:a +return new A.JF(s,b==null?this.b:b)}} +A.QR.prototype={ +Ni(a,b,c){var s=this +s.b=c==null?s.b:c +s.c=s.c.a8U(a,b) +s.ap()}, +Nh(a){return this.Ni(null,null,a)}, +a72(a,b){return this.Ni(a,b,null)}} +A.A6.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(!s.Uh(0,b))return!1 +return b instanceof A.A6&&b.r===s.r&&b.e===s.e&&b.f===s.f}, +gu(a){var s=this +return A.P(A.aq.prototype.gu.call(s,0),s.r,s.e,s.f,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.M_.prototype={ +K(a){return this.c}} +A.ahs.prototype={ +xx(a7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=this,a3=A.Vb(a7),a4=a7.a,a5=a3.aeA(a4),a6=a7.b +if(a2.b.i(0,B.fN)!=null){s=a2.d8(B.fN,a5).b +a2.eF(B.fN,B.h) +r=s}else{r=0 +s=0}if(a2.b.i(0,B.fS)!=null){q=0+a2.d8(B.fS,a5).b +p=Math.max(0,a6-q) +a2.eF(B.fS,new A.n(0,p))}else{q=0 +p=null}if(a2.b.i(0,B.jP)!=null){q+=a2.d8(B.jP,new A.aq(0,a5.b,0,Math.max(0,a6-q-r))).b +a2.eF(B.jP,new A.n(0,Math.max(0,a6-q)))}if(a2.b.i(0,B.fR)!=null){o=a2.d8(B.fR,a5) +a2.eF(B.fR,new A.n(0,s)) +if(!a2.ay)r+=o.b}else o=B.O +n=a2.f +m=Math.max(0,a6-Math.max(n.d,q)) +if(a2.b.i(0,B.fM)!=null){l=Math.max(0,m-r) +k=a2.d +if(k)l=A.M(l+q,0,a3.d-r) +k=k?q:0 +a2.d8(B.fM,new A.A6(k,s,o.b,0,a5.b,0,l)) +a2.eF(B.fM,new A.n(0,r))}if(a2.b.i(0,B.fP)!=null){a2.d8(B.fP,new A.aq(0,a5.b,0,m)) +a2.eF(B.fP,B.h)}j=a2.b.i(0,B.cR)!=null&&!a2.at?a2.d8(B.cR,a5):B.O +if(a2.b.i(0,B.fQ)!=null){i=a2.d8(B.fQ,new A.aq(0,a5.b,0,Math.max(0,m-r))) +a2.eF(B.fQ,new A.n((a4-i.a)/2,m-i.b))}else i=B.O +h=A.bj("floatingActionButtonRect") +if(a2.b.i(0,B.fT)!=null){g=a2.d8(B.fT,a3) +f=new A.a8j(g,i,m,s,n,a2.r,a7,j,a2.w) +e=a2.z.FX(f) +d=a2.as.SW(a2.y.FX(f),e,a2.Q) +a2.eF(B.fT,d) +k=d.a +c=d.b +h.b=new A.x(k,c,k+g.a,c+g.b)}if(a2.b.i(0,B.cR)!=null){k=a2.ax +b=k!=null&&k") +m=t.A +l=t.Q +k=t.i +j=A.asK(new A.fM(new A.b0(r,new A.h0(new A.pY(B.lt)),n),new A.bg(A.b([],m),l),0),new A.b0(r,new A.h0(B.lt),n),r,0.5,k) +r=f.a.d +i=$.ax3() +o.a(r) +h=$.ax4() +g=A.asK(new A.b0(r,i,i.$ti.h("b0")),new A.fM(new A.b0(r,h,A.o(h).h("b0")),new A.bg(A.b([],m),l),0),r,0.5,k) +f.a.toString +r=f.e +r.toString +f.w=A.aoP(j,r,k) +r=f.r +r.toString +f.y=A.aoP(j,r,k) +f.x=A.amL(new A.b0(d,new A.aW(1,1,s),s.h("b0")),g,e) +f.Q=A.amL(new A.b0(q,p,p.$ti.h("b0")),g,e) +d=f.y +f.z=new A.b0(o.a(d),new A.h0(B.CT),n) +n=f.ga3P() +d.bl() +d=d.c9$ +d.b=!0 +d.a.push(n) +d=f.w +d.bl() +d=d.c9$ +d.b=!0 +d.a.push(n)}, +a1V(a){this.al(new A.aeo(this,a))}, +K(a){var s,r,q=this,p=A.b([],t.E),o=q.d +o===$&&A.a() +if(o.gaI(0)!==B.F){o=q.w +s=q.as +o===$&&A.a() +r=q.x +r===$&&A.a() +p.push(A.arL(A.arI(s,r),o))}o=q.a +s=q.y +o=o.c +s===$&&A.a() +r=q.Q +r===$&&A.a() +p.push(A.arL(A.arI(o,r),s)) +return A.re(B.jV,p,B.cI)}, +a3Q(){var s,r=this.w +r===$&&A.a() +r=r.gm(r) +s=this.y +s===$&&A.a() +s=s.gm(s) +s=Math.max(A.fV(r),A.fV(s)) +this.a.f.Nh(s)}} +A.aeo.prototype={ +$0(){var s=this.a.a +if(s.c!=null&&this.b===B.F)s.r.cp(0)}, +$S:0} +A.yB.prototype={ +ag(){var s=null,r=t.jk,q=t.C,p=$.aN() +return new A.qX(new A.bz(s,r),new A.bz(s,r),new A.bz(s,q),new A.ys(!1,p),new A.ys(!1,p),A.b([],t.Z4),new A.bz(s,q),B.o,s,A.E(t.yb,t.M),s,!0,s,s,s)}} +A.qX.prototype={ +gda(){this.a.toString +return null}, +jH(a,b){var s=this +s.or(s.w,"drawer_open") +s.or(s.x,"end_drawer_open")}, +Ng(){var s=this,r=!s.y.r.gM(0)?s.y.r.gH(0):null +if(s.z!=r)s.al(new A.a8l(s,r))}, +N2(){var s=this,r=!s.y.e.gM(0)?s.y.e.gH(0):null +if(s.Q!=r)s.al(new A.a8k(s,r))}, +a3e(){this.a.toString}, +a2d(){var s,r=this.c +r.toString +s=A.IP(r) +if(s!=null&&s.f.length!==0)s.ic(0,B.AW,B.ev)}, +glx(){this.a.toString +return!0}, +ao(){var s,r=this,q=null +r.aL() +s=r.c +s.toString +r.dx=new A.QR(s,B.IA,$.aN()) +r.a.toString +r.cy=B.hl +r.CW=B.zx +r.cx=B.hl +r.ch=A.dd(q,new A.aQ(4e5),q,1,r) +r.db=A.dd(q,B.a7,q,q,r)}, +aH(a){this.X1(a) +this.a.toString}, +bh(){var s,r=this,q=r.c.aa(t.Pu),p=q==null?null:q.f,o=r.y,n=o==null +if(!n)s=p==null||o!==p +else s=!1 +if(s)if(!n)o.d.A(0,r) +r.y=p +if(p!=null){p.d.D(0,r) +if(p.a2V(r)){if(!p.r.gM(0))r.Ng() +if(!p.e.gM(0))r.N2()}}r.a3e() +r.X0()}, +l(){var s=this,r=s.dx +r===$&&A.a() +r.O$=$.aN() +r.S$=0 +r=s.ch +r===$&&A.a() +r.l() +r=s.db +r===$&&A.a() +r.l() +r=s.y +if(r!=null)r.d.A(0,s) +s.w.l() +s.x.l() +s.X2()}, +za(a,b,c,d,e,f,g,h,i){var s,r=this.c +r.toString +s=A.bM(r,null,t.w).w.RF(f,g,h,i) +if(e)s=s.ae7(!0) +if(d&&s.f.d!==0)s=s.CJ(s.r.CG(s.w.d)) +if(b!=null)a.push(A.a1n(A.x1(b,s),c))}, +Ya(a,b,c,d,e,f,g,h){return this.za(a,b,c,!1,d,e,f,g,h)}, +pd(a,b,c,d,e,f,g){return this.za(a,b,c,!1,!1,d,e,f,g)}, +z9(a,b,c,d,e,f,g,h){return this.za(a,b,c,d,!1,e,f,g,h)}, +I_(a,b){this.a.toString}, +HZ(a,b){this.a.toString}, +K(a){var s,r,q,p,o,n,m,l,k,j=this,i=null,h={},g=A.an(a),f=a.aa(t.I) +f.toString +s=f.w +r=A.b([],t.s9) +f=j.a +q=f.f +p=f.e +f=f.CW +j.glx() +j.Ya(r,new A.M_(new A.iF(q,j.f),!1,!1,i),B.fM,!0,f!=null,!1,!1,p!=null) +if(j.dy)j.pd(r,A.aqT(!0,i,j.fr,!1,i,i,i),B.fP,!0,!0,!0,!0) +if(j.a.e!=null){f=A.bM(a,B.bF,t.w).w +f=j.r=A.ayZ(a,j.a.e.fx)+f.r.b +q=j.a.e +q.toString +j.pd(r,new A.h_(new A.aq(0,1/0,0,f),new A.vX(1,f,f,f,i,i,q,i),i),B.fN,!0,!1,!1,!1)}h.a=!1 +h.b=null +if(j.at!=null||j.as.length!==0){f=A.a8(j.as,!0,t.l7) +q=j.at +if(q!=null)f.push(q.a) +o=A.re(B.xL,f,B.cI) +j.glx() +j.pd(r,o,B.fQ,!0,!1,!1,!0)}f=j.z +if(f!=null){h.a=!1 +h.b=g.iq.w +f=f.a +q=j.a.CW +j.glx() +j.z9(r,f,B.cR,!1,q!=null,!1,!1,!0)}h.c=!1 +if(j.Q!=null){a.aa(t.iB) +f=A.an(a) +q=j.Q +if(q!=null){q=q.a +q.gcA(q)}n=f.rx.f +h.c=(n==null?0:n)!==0 +f=j.Q +f=f==null?i:f.a +q=j.a.e +j.glx() +j.z9(r,f,B.fR,!1,!0,!1,!1,q!=null)}f=j.a +f=f.CW +if(f!=null){j.glx() +j.z9(r,f,B.fS,!1,!1,!1,!1,!0)}f=j.ch +f===$&&A.a() +q=j.CW +q===$&&A.a() +p=j.dx +p===$&&A.a() +m=j.db +m===$&&A.a() +j.pd(r,new A.AC(j.a.r,f,q,p,m,i),B.fT,!0,!0,!0,!0) +switch(g.w.a){case 2:case 4:j.pd(r,A.Gn(B.ae,i,B.ar,!0,i,i,i,i,i,i,i,i,i,i,i,i,i,j.ga2c(),i,i,i,i,i,i),B.fO,!0,!1,!1,!0) +break +case 0:case 1:case 3:case 5:break}f=j.x +q=f.y +if(q==null?A.o(f).h("bI.T").a(q):q){j.HZ(r,s) +j.I_(r,s)}else{j.I_(r,s) +j.HZ(r,s)}f=t.w +q=A.bM(a,B.bF,f).w +j.glx() +p=A.bM(a,B.jJ,f).w +l=q.r.CG(p.f.d) +q=A.bM(a,B.Sa,f).w +j.glx() +f=A.bM(a,B.jJ,f).w +f=f.f.d!==0?0:i +k=q.w.CG(f) +if(l.d<=0)j.a.toString +j.a.toString +return new A.QS(!1,new A.yL(A.wV(B.a7,A.pl(j.ch,new A.a8m(h,j,!1,l,k,s,r),i),B.z,g.go,0,i,i,i,i,i,B.cs),i),i)}} +A.a8l.prototype={ +$0(){this.a.z=this.b}, +$S:0} +A.a8k.prototype={ +$0(){this.a.Q=this.b}, +$S:0} +A.a8m.prototype={ +$2(a,b){var s,r,q,p,o,n,m,l=this,k=A.as([B.xe,new A.N2(a,new A.bg(A.b([],t.ot),t.wS))],t.u,t.od),j=l.b +j.a.toString +s=j.cy +s.toString +r=j.ch +r===$&&A.a() +r=r.x +r===$&&A.a() +q=j.CW +q===$&&A.a() +p=j.dx +p===$&&A.a() +j=j.cx +j.toString +o=l.a +n=o.a +m=o.c +return A.Uw(k,new A.v4(new A.ahs(l.c,!1,l.d,l.e,l.f,p,j,s,r,q,n,o.b,m),l.r,null))}, +$S:238} +A.N2.prototype={ +jx(a,b){var s=this.e,r=A.yG(s).w,q=r.y +if(!(q==null?A.o(r).h("bI.T").a(q):q)){s=A.yG(s).x +r=s.y +s=r==null?A.o(s).h("bI.T").a(r):r}else s=!0 +return s}, +eB(a){var s=this.e +A.yG(s).a.toString +A.yG(s).a.toString}} +A.yD.prototype={} +A.QS.prototype={ +bT(a){return this.f!==a.f}} +A.aht.prototype={ +$2(a,b){if(!a.a)a.J(0,b)}, +$S:44} +A.BV.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.BW.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.BX.prototype={ +aH(a){this.b4(a) +this.qQ()}, +bh(){var s,r,q,p,o=this +o.d_() +s=o.bB$ +r=o.goz() +q=o.c +q.toString +q=A.qR(q) +o.h8$=q +p=o.nm(q,r) +if(r){o.jH(s,o.ez$) +o.ez$=!1}if(p)if(s!=null)s.l()}, +l(){var s,r=this +r.h7$.V(0,new A.aht()) +s=r.bB$ +if(s!=null)s.l() +r.bB$=null +r.X_()}} +A.D1.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.JY.prototype={ +K(a){var s=this,r=null +if(A.an(a).w===B.av)return new A.pM(8,B.dN,s.c,s.d,!1,B.Ih,3,r,B.la,B.Bo,A.Dr(),r,r,r) +return new A.te(s.c,s.d,r,r,r,r,B.bd,B.da,A.Dr(),r,r,r)}} +A.te.prototype={ +ag(){var s=null +return new A.Oy(new A.bz(s,t.C),new A.bz(s,t.hA),s,s)}} +A.Oy.prototype={ +gmL(){var s=this.a.e +if(s==null){s=this.id +s===$&&A.a() +s=s.a +s=s==null?null:s.a1(0,this.gpX())}return s==null?!1:s}, +glW(){this.a.toString +var s=this.id +s===$&&A.a() +s=s.d +if(s==null){s=this.k1 +s===$&&A.a() +s=!s}return s}, +gvh(){return new A.bF(new A.afS(this),t.Dm)}, +gpX(){var s=A.aA(t.EK) +if(this.fx)s.D(0,B.xl) +if(this.fy)s.D(0,B.a_) +return s}, +ga6k(){var s,r,q,p,o,n,m,l=this,k=l.go +k===$&&A.a() +s=k.k3 +r=A.bj("dragColor") +q=A.bj("hoverColor") +p=A.bj("idleColor") +switch(k.a.a){case 1:k=s.a +o=k>>>16&255 +n=k>>>8&255 +k&=255 +r.b=A.a3(153,o,n,k) +q.b=A.a3(B.c.a7(127.5),o,n,k) +m=l.k1 +m===$&&A.a() +if(m){k=l.c +k.toString +k=A.an(k).cy.a +k=A.a3(255,k>>>16&255,k>>>8&255,k&255)}else k=A.a3(B.c.a7(25.5),o,n,k) +p.b=k +break +case 0:k=s.a +o=k>>>16&255 +n=k>>>8&255 +k&=255 +r.b=A.a3(191,o,n,k) +q.b=A.a3(166,o,n,k) +m=l.k1 +m===$&&A.a() +if(m){k=l.c +k.toString +k=A.an(k).cy.a +k=A.a3(255,k>>>16&255,k>>>8&255,k&255)}else k=A.a3(B.c.a7(76.5),o,n,k) +p.b=k +break}return new A.bF(new A.afP(l,r,q,p),t.mN)}, +ga6s(){var s=this.go +s===$&&A.a() +return new A.bF(new A.afR(this,s.a,s.k3),t.mN)}, +ga6r(){var s=this.go +s===$&&A.a() +return new A.bF(new A.afQ(this,s.a,s.k3),t.mN)}, +ga6j(){return new A.bF(new A.afO(this),t.N5)}, +ao(){var s,r=this +r.Ha() +s=r.fr=A.dd(null,B.a7,null,null,r) +s.bl() +s=s.c9$ +s.b=!0 +s.a.push(new A.afY(r))}, +bh(){var s,r=this,q=r.c +q.toString +s=A.an(q) +r.go=s.ax +q=r.c +q.aa(t.NF) +q=A.an(q) +r.id=q.x +switch(s.w.a){case 0:r.k1=!0 +break +case 2:case 3:case 1:case 4:case 5:r.k1=!1 +break}r.Vd()}, +tm(){var s,r=this,q=r.CW +q===$&&A.a() +q.sae(0,r.ga6k().a.$1(r.gpX())) +q.sSa(r.ga6s().a.$1(r.gpX())) +q.sS9(r.ga6r().a.$1(r.gpX())) +s=r.c.aa(t.I) +s.toString +q.sbS(s.w) +q.sFs(r.ga6j().a.$1(r.gpX())) +s=r.a.r +if(s==null){s=r.id +s===$&&A.a() +s=s.e}if(s==null){s=r.k1 +s===$&&A.a() +s=s?null:B.Ig}q.st0(s) +s=r.id +s===$&&A.a() +s=s.x +if(s==null){s=r.k1 +s===$&&A.a() +s=s?0:2}q.sCR(s) +s=r.id.y +q.sEs(s==null?0:s) +s=r.id.z +q.sEy(0,s==null?48:s) +s=r.c +s.toString +q.sce(0,A.bM(s,B.bF,t.w).w.r) +q.sys(r.a.db) +q.sQa(!r.glW())}, +wH(a){this.H9(a) +this.al(new A.afX(this))}, +wG(a,b){this.H8(a,b) +this.al(new A.afW(this))}, +DL(a){var s,r=this +r.Ve(a) +if(r.Qr(a.gbR(a),a.gck(a),!0)){r.al(new A.afU(r)) +s=r.fr +s===$&&A.a() +s.cp(0)}else if(r.fy){r.al(new A.afV(r)) +s=r.fr +s===$&&A.a() +s.ei(0)}}, +DM(a){var s,r=this +r.Vf(a) +r.al(new A.afT(r)) +s=r.fr +s===$&&A.a() +s.ei(0)}, +l(){var s=this.fr +s===$&&A.a() +s.l() +this.H7()}} +A.afS.prototype={ +$1(a){var s=this.a,r=s.a.Q +s=s.id +s===$&&A.a() +s=s.c +s=s==null?null:s.a1(0,a) +return s==null?!1:s}, +$S:240} +A.afP.prototype={ +$1(a){var s,r,q,p=this,o=null +if(a.p(0,B.xl)){s=p.a.id +s===$&&A.a() +s=s.f +s=s==null?o:s.a1(0,a) +return s==null?p.b.aP():s}s=p.a +if(s.gvh().a.$1(a)){s=s.id +s===$&&A.a() +s=s.f +s=s==null?o:s.a1(0,a) +return s==null?p.c.aP():s}r=s.id +r===$&&A.a() +r=r.f +r=r==null?o:r.a1(0,a) +if(r==null)r=p.d.aP() +q=s.id.f +q=q==null?o:q.a1(0,a) +if(q==null)q=p.c.aP() +s=s.fr +s===$&&A.a() +s=s.x +s===$&&A.a() +s=A.t(r,q,s) +s.toString +return s}, +$S:8} +A.afR.prototype={ +$1(a){var s=this,r=s.a +if(r.gmL()&&r.gvh().a.$1(a)){r=r.id +r===$&&A.a() +r=r.r +r=r==null?null:r.a1(0,a) +if(r==null)switch(s.b.a){case 1:r=s.c.a +r=A.a3(8,r>>>16&255,r>>>8&255,r&255) +break +case 0:r=s.c.a +r=A.a3(13,r>>>16&255,r>>>8&255,r&255) +break +default:r=null}return r}return B.M}, +$S:8} +A.afQ.prototype={ +$1(a){var s=this,r=s.a +if(r.gmL()&&r.gvh().a.$1(a)){r=r.id +r===$&&A.a() +r=r.w +r=r==null?null:r.a1(0,a) +if(r==null)switch(s.b.a){case 1:r=s.c.a +r=A.a3(B.c.a7(25.5),r>>>16&255,r>>>8&255,r&255) +break +case 0:r=s.c.a +r=A.a3(64,r>>>16&255,r>>>8&255,r&255) +break +default:r=null}return r}return B.M}, +$S:8} +A.afO.prototype={ +$1(a){var s,r +if(a.p(0,B.a_)&&this.a.gvh().a.$1(a)){s=this.a +r=s.a.w +if(r==null){s=s.id +s===$&&A.a() +s=s.b +s=s==null?null:s.a1(0,a)}else s=r +return s==null?12:s}s=this.a +r=s.a.w +if(r==null){r=s.id +r===$&&A.a() +r=r.b +r=r==null?null:r.a1(0,a)}if(r==null){s=s.k1 +s===$&&A.a() +r=8/(s?2:1) +s=r}else s=r +return s}, +$S:241} +A.afY.prototype={ +$0(){this.a.tm()}, +$S:0} +A.afX.prototype={ +$0(){this.a.fx=!0}, +$S:0} +A.afW.prototype={ +$0(){this.a.fx=!1}, +$S:0} +A.afU.prototype={ +$0(){this.a.fy=!0}, +$S:0} +A.afV.prototype={ +$0(){this.a.fy=!1}, +$S:0} +A.afT.prototype={ +$0(){this.a.fy=!1}, +$S:0} +A.yR.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.yR&&b.a==s.a&&b.b==s.b&&b.c==s.c&&b.d==s.d&&J.e(b.e,s.e)&&b.f==s.f&&b.r==s.r&&b.w==s.w&&b.x==s.x&&b.y==s.y&&b.z==s.z}} +A.QW.prototype={} +A.yS.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.yS)if(b.a==r.a)if(b.b==r.b)if(b.c==r.c)if(b.d==r.d)if(b.e==r.e)if(b.f==r.f)if(b.r==r.r)if(b.w==r.w)if(b.x==r.x)if(b.y==r.y)s=J.e(b.z,r.z) +return s}} +A.QX.prototype={} +A.yT.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.yT&&J.e(b.a,s.a)&&b.b==s.b&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&J.e(b.e,s.e)&&b.f==s.f&&J.e(b.r,s.r)&&J.e(b.w,s.w)&&J.e(b.x,s.x)&&J.e(b.y,s.y)}} +A.QY.prototype={} +A.yU.prototype={ +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s +if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +if(b instanceof A.yU)s=J.e(b.a,this.a) +else s=!1 +return s}} +A.QZ.prototype={} +A.zb.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.r,s.f,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.CW,s.cx,s.cy,A.P(s.db,s.dx,s.dy,s.fr,s.fx,s.fy,s.go,s.id,s.k1,s.k2,s.k3,s.k4,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a))}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.zb)if(b.a==r.a)if(J.e(b.b,r.b))if(J.e(b.c,r.c))if(J.e(b.d,r.d))if(J.e(b.e,r.e))if(J.e(b.r,r.r))if(J.e(b.f,r.f))if(J.e(b.w,r.w))if(J.e(b.x,r.x))if(J.e(b.y,r.y))if(J.e(b.z,r.z))if(J.e(b.Q,r.Q))if(J.e(b.as,r.as))if(J.e(b.at,r.at))if(J.e(b.ax,r.ax))if(J.e(b.ay,r.ay))if(J.e(b.ch,r.ch))if(J.e(b.id,r.id))s=b.k1==r.k1 +return s}} +A.Rk.prototype={} +A.iU.prototype={ +F(){return"SnackBarClosedReason."+this.b}} +A.rb.prototype={ +ag(){return new A.Cc()}} +A.Cc.prototype={ +ao(){var s,r=this +r.aL() +s=r.a.ch +s.bl() +s=s.bJ$ +s.b=!0 +s.a.push(r.gB4()) +r.LU()}, +aH(a){var s,r,q=this +q.b4(a) +s=a.ch +if(q.a.ch!=s){r=q.gB4() +s.c4(r) +s=q.a.ch +s.bl() +s=s.bJ$ +s.b=!0 +s.a.push(r) +q.IS() +q.LU()}}, +LU(){var s=this,r=s.a.ch +r.toString +s.e=A.dI(B.aV,r,null) +r=s.a.ch +r.toString +s.f=A.dI(B.CN,r,null) +r=s.a.ch +r.toString +s.r=A.dI(B.CR,r,null) +r=s.a.ch +r.toString +s.w=A.dI(B.CY,r,B.xa) +r=s.a.ch +r.toString +s.x=A.dI(B.AX,r,B.xa)}, +IS(){var s=this,r=s.e +if(r!=null)r.l() +r=s.f +if(r!=null)r.l() +r=s.r +if(r!=null)r.l() +r=s.w +if(r!=null)r.l() +r=s.x +if(r!=null)r.l() +s.x=s.w=s.r=s.f=s.e=null}, +l(){var s=this +s.a.ch.c4(s.gB4()) +s.IS() +s.aC()}, +a3z(a){if(a===B.T){this.a.toString +this.d=!0}}, +K(a7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=null,a1=t.w,a2=A.bM(a7,B.jI,a1).w,a3=A.an(a7),a4=a3.iq,a5=new A.ahO(a7,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0),a6=a4.d +if(a6==null)a6=a5.gqy() +a.a.toString +s=a5.gql() +a.a.toString +r=a4.w +a5.goU() +q=s===B.KG +p=q?16:24 +o=a.a.r +o=new A.eS(p,0,p,0) +n=A.abe(a0,a0,1,a0,A.zE(a0,A.an(a7).p2.as,""),B.aH,B.p,a0,B.ao,B.aE) +n.Eo() +m=n.b +l=m.c +m=m.a.c +m.gb3(m) +a.a.toString +n.l() +a.a.toString +k=a4.x +m=k==null +if(m)k=a5.grn() +a.a.toString +j=A.bM(a7,B.xv,a1).w.a.a-(k.a+k.c) +a.a.toString +i=a4.Q +if(i==null)i=a5.gq4() +h=(l+0+0)/j>i +a1=t.E +l=A.b([],a1) +g=a.a +g=A.b([A.pV(A.ck(a0,A.n_(g.c,a0,B.c7,!0,a6,a0,a0,B.aE),a0,a0,a0,a0,a0,B.BG,a0))],a1) +if(!h)B.b.L(g,l) +if(h)g.push(A.ot(a0,a0,j*0.4)) +a1=A.b([A.hj(g,B.N,B.U,B.at)],a1) +if(h)a1.push(new A.cJ(B.BA,A.hj(l,B.N,B.qG,B.at),a0)) +f=new A.cJ(o,new A.Lt(a1,a0),a0) +if(!q)f=A.aml(!0,f,!1) +a.a.toString +e=a4.e +if(e==null)e=a5.gcA(0) +a.a.toString +d=a4.a +if(d==null)d=a5.gbM(0) +a.a.toString +c=a4.f +if(c==null)c=q?a5.gbr(0):a0 +a1=a.a +l=a1.cy +f=A.wV(B.a7,new A.rt(a3,f,a0),l,d,e,a0,a0,c,a0,a0,B.cs) +if(q)f=A.aml(!1,r!=null?A.ck(a0,f,a0,a0,a0,a0,new A.aL(0,k.b,0,k.d),a0,r):new A.cJ(k,f,a0),!1) +l=a1.y +m=!m?B.br:B.ae +f=A.d0(a0,new A.vj(f,new A.ahK(a7),B.l7,a0,m,B.Rm),!0,a0,!1,a0,a0,a0,a0,a0,!0,a0,new A.ahL(a7),a0,a0,a0,a0,a0,a0,a0,a0,a0,a0,a0) +if(a2.z)b=f +else{a2=t.j3 +if(q){m=a.r +m.toString +l=a.x +l.toString +b=A.YY(new A.kg(l,new A.ahM(),f,a0,a2),a0,m)}else{m=a.e +m.toString +b=new A.kg(m,new A.ahN(),f,a0,a2)}}a1=a1.c.j(0) +return A.aqc(A.Ws(b,a.a.cy,a0),"",!0)}} +A.ahL.prototype={ +$0(){var s=this.a.aa(t.Pu) +s.toString +s.f.RD(B.KH)}, +$S:0} +A.ahK.prototype={ +$1(a){var s=this.a.aa(t.Pu) +s.toString +s.f.RD(B.KI)}, +$S:242} +A.ahM.prototype={ +$3(a,b,c){return new A.fm(B.xO,null,b,c,null)}, +$S:153} +A.ahN.prototype={ +$3(a,b,c){return new A.fm(B.bo,null,b,c,null)}, +$S:153} +A.ahO.prototype={ +gjb(){var s,r=this,q=r.CW +if(q===$){q=r.ch +if(q===$){s=A.an(r.ay) +r.ch!==$&&A.a1() +r.ch=s +q=s}r.CW!==$&&A.a1() +q=r.CW=q.ax}return q}, +gbM(a){var s=this.gjb(),r=s.xr +return r==null?s.k3:r}, +gvr(){return A.anb(new A.ahP(this))}, +gwb(){var s=this.gjb(),r=s.y2 +return r==null?s.c:r}, +gqy(){var s,r,q=A.an(this.ay).p2.z +q.toString +s=this.gjb() +r=s.y1 +return q.fp(r==null?s.k2:r)}, +gcA(a){return 6}, +gbr(a){return B.iU}, +gql(){return B.KF}, +grn(){return B.BM}, +goU(){return!1}, +gvR(){var s=this.gjb(),r=s.y1 +return r==null?s.k2:r}, +gq4(){return 0.25}} +A.ahP.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.S)){s=q.a.gjb() +r=s.y2 +return r==null?s.c:r}if(a.p(0,B.V)){s=q.a.gjb() +r=s.y2 +return r==null?s.c:r}if(a.p(0,B.a_)){s=q.a.gjb() +r=s.y2 +return r==null?s.c:r}if(a.p(0,B.a8)){s=q.a.gjb() +r=s.y2 +return r==null?s.c:r}s=q.a.gjb() +r=s.y2 +return r==null?s.c:r}, +$S:8} +A.Kr.prototype={ +F(){return"SnackBarBehavior."+this.b}} +A.rc.prototype={ +gu(a){var s=this +return A.P(s.gbM(s),s.gvr(),s.gwb(),s.gqy(),s.gcA(s),s.gbr(s),s.gql(),s.w,s.grn(),s.goU(),s.gvR(),s.gq4(),s.as,s.at,s.ax,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.rc)if(J.e(b.gbM(b),r.gbM(r)))if(J.e(b.gvr(),r.gvr()))if(J.e(b.gwb(),r.gwb()))if(J.e(b.gqy(),r.gqy()))if(b.gcA(b)==r.gcA(r))if(J.e(b.gbr(b),r.gbr(r)))if(b.gql()==r.gql())if(b.w==r.w)if(J.e(b.grn(),r.grn()))if(b.goU()==r.goU())if(J.e(b.gvR(),r.gvR()))if(b.gq4()==r.gq4())if(J.e(b.as,r.as))s=J.e(b.at,r.at) +return s}, +gbM(a){return this.a}, +gvr(){return this.b}, +gwb(){return this.c}, +gqy(){return this.d}, +gcA(a){return this.e}, +gbr(a){return this.f}, +gql(){return this.r}, +grn(){return this.x}, +goU(){return null}, +gvR(){return this.z}, +gq4(){return this.Q}} +A.Rr.prototype={} +A.zp.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.zp)if(b.a==r.a)if(b.b==r.b)if(b.c==r.c)if(b.d==r.d)if(b.r==r.r)s=b.w==r.w +return s}} +A.RG.prototype={} +A.rk.prototype={ +gu(a){var s=this +return A.P(s.a,s.grk(),s.c,s.gqR(),s.gqS(),s.grw(),s.r,s.grz(),s.gtk(),s.gtl(),s.geh(),s.gdZ(),s.as,s.gt9(),s.ax,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.rk)if(J.e(b.a,r.a))if(J.e(b.grk(),r.grk()))if(b.c==r.c)if(J.e(b.gqR(),r.gqR()))if(b.gqS()==r.gqS())if(J.e(b.grw(),r.grw()))if(J.e(b.r,r.r))if(J.e(b.grz(),r.grz()))if(J.e(b.gtk(),r.gtk()))if(J.e(b.gtl(),r.gtl()))if(b.geh()==r.geh())if(b.gdZ()==r.gdZ())s=b.gt9()==r.gt9() +return s}, +grk(){return this.b}, +gqR(){return this.d}, +gqS(){return this.e}, +grw(){return this.f}, +grz(){return this.w}, +gtk(){return this.x}, +gtl(){return this.y}, +geh(){return this.z}, +gdZ(){return this.Q}, +gt9(){return this.at}} +A.RK.prototype={} +A.KG.prototype={ +gbI(a){var s=this.a +return s==null?null:s}, +I5(a,b,c){var s,r=this,q=r.d +if(a===q||r.c<2)return +r.e=q +r.d=a +q=c!=null&&c.a>0 +s=r.f+1 +if(q){r.f=s +r.ap() +q=r.a +q.toString +s=r.d +b.toString +q.z=B.an +q.jZ(s,b,c).So(new A.aax(r))}else{r.f=s +r.a.sm(0,a);--r.f +r.ap()}}, +I4(a){return this.I5(a,null,null)}, +skR(a,b){var s,r=this.a,q=r.x +q===$&&A.a() +s=this.d +if(b===q-s)return +r.sm(0,b+s)}, +gq(a){return this.c}} +A.aax.prototype={ +$0(){var s=this.a +if(s.a!=null){--s.f +s.ap()}}, +$S:0} +A.m1.prototype={ +cD(a,b){var s,r +if(a instanceof A.m1){s=A.aG(a.b,this.b,b) +r=A.de(a.c,this.c,b) +r.toString +return new A.m1(null,s,r)}return this.GF(a,b)}, +cE(a,b){var s,r +if(a instanceof A.m1){s=A.aG(this.b,a.b,b) +r=A.de(this.c,a.c,b) +r.toString +return new A.m1(null,s,r)}return this.GG(a,b)}, +vZ(a){return new A.aio(this,this.a,a)}, +Ke(a,b){var s=this.c.a1(0,b).D0(a),r=s.a,q=this.b.b,p=s.d-q +return new A.x(r,p,r+(s.c-r),p+q)}} +A.aio.prototype={ +rS(a,b,c){var s,r,q,p=c.e,o=b.a,n=b.b,m=new A.x(o,n,o+p.a,n+p.b) +p=c.d +p.toString +o=this.c +n=this.b +s=n.b +if(o!=null){r=$.ap().bg() +r.sae(0,s.a) +q=n.Ke(m,p) +p=o.a +n=o.b +s=o.d +a.dg(A.IU(q,o.c,s,p,n),r)}else{r=s.iS() +r.syJ(B.wT) +q=n.Ke(m,p).ec(-(s.b/2)) +p=q.d +a.hG(new A.n(q.a,p),new A.n(q.c,p),r)}}} +A.aaw.prototype={ +F(){return"TabBarIndicatorSize."+this.b}} +A.aav.prototype={ +F(){return"TabAlignment."+this.b}} +A.KF.prototype={ +YG(){return this.d}, +K(a){var s=this.YG() +return A.ot(A.EB(s,null,1),46,null)}, +gmg(){return B.KA}, +$ixR:1} +A.RO.prototype={ +a56(a){var s,r,q,p,o,n=this,m=null,l={} +A.an(a) +s=A.an(a).ct +r=t.q.a(n.c) +q=n.x +if(q==null){q=s.w +q=q==null?m:q.b +p=q}else p=q +if(p==null)p=n.z.grw() +l.a=p +l.b=null +if(p instanceof A.CL){l.b=p.c.$1(B.j8) +l.a=p.c.$1(B.wm)}else{q=s.x +if(q==null)q=m +if(q==null){q=s.y +q=q==null?m:q.b +o=q}else o=q +if(o==null){q=n.z.gtk() +q.toString +o=q}l.b=o}return A.anb(new A.aib(l,r))}, +K(a){var s,r,q,p=this,o=null,n=A.an(a).ct,m=t.q.a(p.c),l=p.r,k=l?B.wm:B.j8,j=p.e,i=n.w +if(i==null){i=p.z.grz() +i.toString}s=i.Or(!0) +i=n.y +j=i==null?j:i +if(j==null){j=p.z.gtl() +j.toString}r=j.Or(!0) +if(l){l=A.aV(s,r,m.gm(m)) +l.toString +q=l}else{l=A.aV(r,s,m.gm(m)) +l.toString +q=l}l=p.a56(a).c.$1(k) +j=q.fp(l) +return A.n_(A.wj(p.Q,new A.cB(24,o,o,o,o,l,o,o,o)),o,B.c7,!0,j,o,o,B.aE)}} +A.aib.prototype={ +$1(a){var s,r,q=this +if(a.p(0,B.a0)){s=q.a +r=q.b +r=A.t(s.a,s.b,r.gm(r)) +r.toString +return r}s=q.a +r=q.b +r=A.t(s.b,s.a,r.gm(r)) +r.toString +return r}, +$S:8} +A.RM.prototype={ +bb(){var s,r,q,p,o=this +o.Vk() +s=o.T$ +r=A.b([],t.n) +for(q=t.US;s!=null;){p=s.b +p.toString +q.a(p) +r.push(p.a.a) +s=p.a2$}switch(o.au.a){case 0:B.b.js(r,0,o.gv(0).a) +break +case 1:r.push(o.gv(0).a) +break}q=o.au +q.toString +p=o.gv(0) +o.jq.$3(r,q,p.a)}} +A.RL.prototype={ +ar(a){var s=this,r=s.yc(a) +r.toString +return A.aFH(s.w,s.e,s.f,s.r,s.ax,r,s.y)}, +aB(a,b){this.UB(a,b) +b.jq=this.ax}} +A.AP.prototype={ +am(){this.ay=!0}, +l(){var s=this.ax +if(s!=null)s.l()}, +Qd(a,b){var s,r,q,p,o,n,m,l,k,j,i=this +switch(i.as.a){case 0:s=i.Q +s=new A.av(s[b+1],s[b]) +break +case 1:s=i.Q +s=new A.av(s[b],s[b+1]) +break +default:s=null}r=s.a +q=s.b +if(i.d===B.wW){s=i.f[b] +p=$.am.ai$.x.i(0,s).gv(0).a +o=i.r[b].a1(0,i.as) +r+=(q-r-(p+o.gbQ()))/2+o.a +q=r+p}o=i.e +s=r+(q-r) +n=0+a.b +m=new A.x(r,0,s,n) +l=o.gbQ() +k=o.gb_(0) +j=o.gb5(0) +if(!(s-r>=l&&n>=k+j))throw A.c(A.jz("indicatorPadding insets should be less than Tab Size\nRect Size : "+m.gv(0).j(0)+", Insets: "+o.j(0))) +return o.D0(m)}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=null,f=h.ay=!1 +if(h.ax==null)h.ax=h.c.vZ(h.geg()) +s=h.b +r=s.d +s=s.gbI(0).x +s===$&&A.a() +q=r>s +p=q?B.c.d1(s):B.c.d4(s) +o=B.f.hB(p,0,h.Q.length-2) +p=q?o+1:o-1 +n=B.f.hB(p,0,h.Q.length-2) +s=h.at=A.ary(h.Qd(b,o),h.Qd(b,n),Math.abs(s-o)) +switch(h.d.a){case 1:s.toString +s=h.Yw(s) +break +case 0:break +default:s=g}h.at=s +p=s.c +m=s.a +l=s.d +s=s.b +k=h.as +if(h.y){f=h.x +f.toString +f=f>0}if(f){j=$.ap().bg() +f=h.w +f.toString +j.sae(0,f) +f=h.x +f.toString +j.sep(f) +f=b.b +a.hG(new A.n(0,f-j.gep()/2),new A.n(b.a,f-j.gep()/2),j)}f=h.ax +f.toString +i=h.at +f.rS(a,new A.n(i.a,i.b),new A.qa(g,h.z,g,k,new A.K(p-m,l-s),g))}, +Yw(a){var s,r,q,p,o,n,m,l,k,j,i=this,h=i.b +if(h.gbI(0).gaI(0)===B.T)return a +s=h.d +r=h.gbI(0).x +r===$&&A.a() +q=A.bj("tabChangeProgress") +p=Math.abs(s-r) +if(h.f!==0){o=Math.abs(h.d-h.e) +q.b=1-A.M(o!==0?p/o:p,0,1)}else q.b=p +if(J.e(q.aP(),1))return a +h=a.c +r=a.a +n=i.ch +if(n===$){m=t.H7 +l=t.Ns +k=A.asq(A.b([new A.kc(new A.aW(0,1,m),20,l),new A.kc(new A.aW(1,0,m),80,l)],t.x0),t.i) +i.ch!==$&&A.a1() +i.ch=k +n=k}j=(h-r)*n.a8(0,q.aP())/2 +return new A.x(r-j,a.b,h+j,a.d)}, +hZ(a){var s=this +return s.ay||s.b!==a.b||!s.c.k(0,a.c)||s.f.length!==a.f.length||!A.dn(s.Q,a.Q)||s.as!=a.as}} +A.Mc.prototype={ +gcr(a){var s=this.a.gbI(0) +s.toString +return s}, +c4(a){if(this.a.gbI(0)!=null)this.GB(a)}, +J(a,b){if(this.a.gbI(0)!=null)this.GA(0,b)}, +gm(a){return A.aHb(this.a)}} +A.rX.prototype={ +gcr(a){var s=this.a.gbI(0) +s.toString +return s}, +c4(a){if(this.a.gbI(0)!=null)this.GB(a)}, +J(a,b){if(this.a.gbI(0)!=null)this.GA(0,b)}, +gm(a){var s=this.a,r=s.gbI(0).x +r===$&&A.a() +return A.M(Math.abs(A.M(r,0,s.c-1)-this.b),0,1)}} +A.ai_.prototype={} +A.zs.prototype={ +gmg(){var s,r,q,p,o,n +for(s=this.c,r=s.length,q=t.ZQ,p=46,o=0;o>>") +q.x=A.a8(new A.ay(s,new A.ai4(),r),!0,r.h("aI.E")) +q.y=A.b8(q.a.c.length,B.as,!0,t.A0)}, +gfe(){var s=null,r=this.c +r.toString +A.an(r) +this.a.toString +r=this.c +r.toString +return new A.aic(r,!1,s,s,B.wW,s,s,s,s,s,s,s,s,s,s,s,s)}, +a0e(a){var s,r,q,p,o,n=this,m=null,l=n.c +l.toString +A.an(l) +l=n.c +l.toString +s=A.an(l).ct +n.a.toString +l=s.a +if(l!=null)return l +r=s.b +if(r==null)r=n.gfe().grk() +n.a.toString +l=r.gm(r) +q=n.c +q.toString +q=A.am0(q,t.zd) +if(q==null)q=m +else{q=q.a_ +q=q==null?m:q.gm(q)}q=l===q +l=q +if(l)r=B.i +n.a.toString +switch(!0){case!0:l=A.aFI(a) +break +case!1:l=2 +break +default:l=m}p=Math.max(2,A.fV(l)) +switch(a.a){case 1:l=!0 +break +case 0:l=!1 +break +default:l=m}o=l?new A.cE(new A.aT(p,p),new A.aT(p,p),B.A,B.A):m +return new A.m1(o,new A.cy(r,p,B.a4,-1),B.as)}, +glo(){var s=this.e +return(s==null?null:s.gbI(0))!=null}, +q0(){var s,r=this,q=r.a.d +if(q===r.e)return +if(r.glo()){r.e.gbI(0).J(0,r.gls()) +r.e.J(0,r.gAE())}r.e=q +s=q.gbI(0) +s.bl() +s=s.c9$ +s.b=!0 +s.a.push(r.gls()) +r.e.a0(0,r.gAE()) +r.r=r.e.d}, +AK(){var s,r,q,p,o,n,m,l,k,j=this,i=j.c +i.toString +A.an(i) +i=j.c +i.toString +s=A.an(i).ct +j.a.toString +r=s.c +if(r==null){i=j.gfe().c +i.toString +r=i}q=j.f +if(!j.glo())i=null +else{i=j.e +i.toString +p=j.a0e(r) +j.a.toString +o=j.x +o===$&&A.a() +n=j.y +n===$&&A.a() +m=s.d +if(m==null)m=j.gfe().gqR() +j.a.toString +l=j.gfe().gqS() +j.a.toString +k=j.c +k.toString +i=new A.AP(i,p,r,B.as,o,n,m,l,!0,A.bM(k,B.e7,t.w).w.b,i.gbI(0)) +if(q!=null){p=q.Q +o=q.as +i.Q=p +i.as=o}}j.f=i +if(q!=null)q.l()}, +bh(){this.d_() +this.q0() +this.AK()}, +aH(a){var s,r,q,p,o,n,m,l=this +l.b4(a) +if(l.a.d!==a.d){l.q0() +l.AK() +s=l.d +if(s!=null&&s.f.length!==0){r=B.b.gan(s.f) +if(r instanceof A.ai_)r.O=!0}}else{s=!0 +s=B.as.k(0,B.as) +if(s)l.a.toString +s=!s +if(s)l.AK()}s=l.a.c.length +q=l.x +q===$&&A.a() +p=q.length +if(s>p){o=s-p +n=J.a0K(o,t.yi) +for(s=t.C,m=0;m0){k=p-1 +p=a5.e +p.toString +n=A.b([],t.A) +q[k]=a5.pf(q[k],!1,new A.fM(new A.rX(p,k),new A.bg(n,t.Q),0),a5.gfe())}p=a5.r +p.toString +if(p0||r.d.f===0)return +s=r.d.d +if(s!==r.r){r.r=s +r.a7d()}}, +a7d(){var s,r,q,p=this +if(p.c!=null){s=t.gQ.a(B.b.gan(p.e.f)).grR(0) +r=p.r +r.toString +r=s===r +s=r}else s=!0 +if(s)return +s=p.r +s.toString +r=p.d +q=r.e +r=r.b +if(Math.abs(s-q)===1)p.vo(r) +else p.vp(r)}, +vo(a){return this.a7c(a)}, +a7c(a){var s=0,r=A.C(t.H),q,p=this,o +var $async$vo=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=p.r +s=a.a===B.r.a?3:5 +break +case 3:o.toString +p.uH(o) +s=4 +break +case 5:o.toString +s=6 +return A.y(p.pe(o,B.aA,a),$async$vo) +case 6:case 4:if(p.c!=null)p.al(new A.ai5(p)) +q=A.ce(null,t.H) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$vo,r)}, +vp(a){return this.a7e(a)}, +a7e(a){var s=0,r=A.C(t.H),q=this,p,o,n +var $async$vp=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=q.d.e +n=q.r +n.toString +p=n>o?n-1:n+1 +q.al(new A.ai6(q,p,o)) +q.uH(p) +n=q.r +s=a.a===B.r.a?2:4 +break +case 2:n.toString +q.uH(n) +s=3 +break +case 4:n.toString +s=5 +return A.y(q.pe(n,B.aA,a),$async$vp) +case 5:case 3:if(q.c!=null)q.al(new A.ai7(q)) +return A.A(null,r)}}) +return A.B($async$vp,r)}, +Ml(){var s,r=this.d +r.toString +s=t.gQ.a(B.b.gan(this.e.f)).grR(0) +s.toString +r.skR(0,A.M(s-this.d.d,-1,1))}, +a6h(a){var s,r,q=this +if(q.w>0||q.x>0)return!1 +if(a.e9$!==0)return!1 +if(!q.glo())return!1;++q.x +s=t.gQ.a(B.b.gan(q.e.f)).grR(0) +s.toString +if(a instanceof A.hl&&q.d.f===0){r=q.d +if(Math.abs(s-r.d)>1){r.I4(B.c.a7(s)) +q.r=q.d.d}q.Ml()}else if(a instanceof A.k7){r=q.d +r.toString +r.I4(B.c.a7(s)) +s=q.d +q.r=s.d +if(s.f===0)q.Ml()}--q.x +return!1}, +K(a){var s,r,q,p=this +p.a.toString +s=p.e +r=B.r6.ig(B.A_) +q=p.f +q===$&&A.a() +return new A.cI(p.ga6g(),new A.xu(s,new A.qz(r),new A.a9O(q,A.as([null,0],t.LO,t.S)),B.ar,B.Z,null),null,t.WA)}} +A.ai5.prototype={ +$0(){var s=this.a +s.f=A.a1h(s.a.d)}, +$S:0} +A.ai6.prototype={ +$0(){var s,r,q,p=this.a,o=p.f +o===$&&A.a() +o=p.f=A.a8(o,!1,t.l7) +s=this.b +r=o[s] +q=this.c +o[s]=o[q] +B.b.n(p.f,q,r)}, +$S:0} +A.ai7.prototype={ +$0(){var s=this.a +s.f=A.a1h(s.a.d)}, +$S:0} +A.aic.prototype={ +gi9(){var s,r=this,q=r.ch +if(q===$){s=A.an(r.ay) +r.ch!==$&&A.a1() +q=r.ch=s.ax}return q}, +gMo(){var s,r=this,q=r.CW +if(q===$){s=A.an(r.ay) +r.CW!==$&&A.a1() +q=r.CW=s.p2}return q}, +gqR(){var s=this.gi9(),r=s.to +if(r==null){r=s.a4 +s=r==null?s.k3:r}else s=r +return s}, +gqS(){return 1}, +grk(){return this.gi9().b}, +grw(){return this.gi9().b}, +grz(){return this.gMo().x}, +gtk(){var s=this.gi9(),r=s.rx +return r==null?s.k3:r}, +gtl(){return this.gMo().x}, +geh(){return new A.bF(new A.aid(this),t.b)}, +gdZ(){return A.an(this.ay).y}, +gt9(){return B.wV}} +A.aid.prototype={ +$1(a){var s,r=this +if(a.p(0,B.a0)){if(a.p(0,B.V)){s=r.a.gi9().b +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a_)){s=r.a.gi9().b +return A.a3(20,s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a8)){s=r.a.gi9().b +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}return null}if(a.p(0,B.V)){s=r.a.gi9().b +return A.a3(B.c.a7(25.5),s.gm(s)>>>16&255,s.gm(s)>>>8&255,s.gm(s)&255)}if(a.p(0,B.a_)){s=r.a.gi9().k3.a +return A.a3(20,s>>>16&255,s>>>8&255,s&255)}if(a.p(0,B.a8)){s=r.a.gi9().k3.a +return A.a3(B.c.a7(25.5),s>>>16&255,s>>>8&255,s&255)}return null}, +$S:91} +A.SK.prototype={} +A.SN.prototype={} +A.zv.prototype={ +gu(a){return J.u(this.a)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.zv&&J.e(b.a,this.a)}} +A.RP.prototype={} +A.zD.prototype={ +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.zD&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)}} +A.RR.prototype={} +A.d5.prototype={ +cd(b3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1=this,b2=null +if(b3==null)return b1 +s=b1.a +r=s==null?b2:s.cd(b3.a) +if(r==null)r=b3.a +q=b1.b +p=q==null?b2:q.cd(b3.b) +if(p==null)p=b3.b +o=b1.c +n=o==null?b2:o.cd(b3.c) +if(n==null)n=b3.c +m=b1.d +l=m==null?b2:m.cd(b3.d) +if(l==null)l=b3.d +k=b1.e +j=k==null?b2:k.cd(b3.e) +if(j==null)j=b3.e +i=b1.f +h=i==null?b2:i.cd(b3.f) +if(h==null)h=b3.f +g=b1.r +f=g==null?b2:g.cd(b3.r) +if(f==null)f=b3.r +e=b1.w +d=e==null?b2:e.cd(b3.w) +if(d==null)d=b3.w +c=b1.x +b=c==null?b2:c.cd(b3.x) +if(b==null)b=b3.x +a=b1.y +a0=a==null?b2:a.cd(b3.y) +if(a0==null)a0=b3.y +a1=b1.z +a2=a1==null?b2:a1.cd(b3.z) +if(a2==null)a2=b3.z +a3=b1.Q +a4=a3==null?b2:a3.cd(b3.Q) +if(a4==null)a4=b3.Q +a5=b1.as +a6=a5==null?b2:a5.cd(b3.as) +if(a6==null)a6=b3.as +a7=b1.at +a8=a7==null?b2:a7.cd(b3.at) +if(a8==null)a8=b3.at +a9=b1.ax +b0=a9==null?b2:a9.cd(b3.ax) +if(b0==null)b0=b3.ax +s=r==null?s:r +r=p==null?q:p +q=n==null?o:n +p=l==null?m:l +o=j==null?k:j +n=h==null?i:h +m=f==null?g:f +l=d==null?e:d +k=b==null?c:b +j=a0==null?a:a0 +i=a2==null?a1:a2 +h=a4==null?a3:a4 +g=a6==null?a5:a6 +f=a8==null?a7:a8 +return A.amG(j,i,h,s,r,q,p,o,n,g,f,b0==null?a9:b0,m,l,k)}, +a7D(a,b,a0,a1,a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this,d=null,c=e.a +c=c==null?d:c.e5(a0,d,b,d,a1,a2,0,1,a3) +s=e.b +s=s==null?d:s.e5(a0,d,b,d,a1,a2,0,1,a3) +r=e.c +r=r==null?d:r.e5(a0,d,b,d,a1,a2,0,1,a3) +q=e.d +q=q==null?d:q.e5(a0,d,b,d,a1,a2,0,1,a3) +p=e.e +p=p==null?d:p.e5(a0,d,b,d,a1,a2,0,1,a3) +o=e.f +o=o==null?d:o.e5(a,d,b,d,a1,a2,0,1,a3) +n=e.r +n=n==null?d:n.e5(a,d,b,d,a1,a2,0,1,a3) +m=e.w +m=m==null?d:m.e5(a,d,b,d,a1,a2,0,1,a3) +l=e.x +l=l==null?d:l.e5(a,d,b,d,a1,a2,0,1,a3) +k=e.y +k=k==null?d:k.e5(a,d,b,d,a1,a2,0,1,a3) +j=e.z +j=j==null?d:j.e5(a,d,b,d,a1,a2,0,1,a3) +i=e.Q +i=i==null?d:i.e5(a0,d,b,d,a1,a2,0,1,a3) +h=e.as +h=h==null?d:h.e5(a,d,b,d,a1,a2,0,1,a3) +g=e.at +g=g==null?d:g.e5(a,d,b,d,a1,a2,0,1,a3) +f=e.ax +return A.amG(k,j,i,c,s,r,q,p,o,h,g,f==null?d:f.e5(a,d,b,d,a1,a2,0,1,a3),n,m,l)}, +NM(a,b,c){return this.a7D(a,b,c,null,null,null)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.d5&&J.e(s.a,b.a)&&J.e(s.b,b.b)&&J.e(s.c,b.c)&&J.e(s.d,b.d)&&J.e(s.e,b.e)&&J.e(s.f,b.f)&&J.e(s.r,b.r)&&J.e(s.w,b.w)&&J.e(s.x,b.x)&&J.e(s.y,b.y)&&J.e(s.z,b.z)&&J.e(s.Q,b.Q)&&J.e(s.as,b.as)&&J.e(s.at,b.at)&&J.e(s.ax,b.ax)}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,B.a,B.a,B.a,B.a,B.a)}} +A.RT.prototype={} +A.rt.prototype={ +K(a){var s,r,q,p,o,n,m=this,l=null,k=a.aa(t.ri),j=k==null?l:k.w.c +if(j==null){j=B.bL.a +s=B.bL.b +r=B.bL.c +q=B.bL.d +p=B.bL.e +o=B.bL.f +n=B.bL.r +n=new A.Hk(m.c,new A.xj(j,s,r,q,p,o,n),B.jG,j,s,r,q,p,o,n) +j=n}j=A.aC1(j.ay,j.ch.iN(a)) +s=a.aa(t.Uf) +if(s==null)s=B.d9 +r=m.c +q=r.ea +p=q.b +if(p==null)p=s.x +q=q.a +s=q==null?s.w:q +return new A.AQ(m,new A.v1(j,A.a_Y(A.Xe(m.d,s,l,l,p),r.k4,l),l),l)}} +A.AQ.prototype={ +ms(a,b,c){return new A.rt(this.w.c,c,null)}, +bT(a){return!this.w.c.k(0,a.w.c)}} +A.oB.prototype={ +ee(a){var s,r=this.a +r.toString +s=this.b +s.toString +return A.aEs(r,s,a)}} +A.ub.prototype={ +ag(){return new A.LI(null,null)}} +A.LI.prototype={ +rd(a){var s=a.$3(this.CW,this.a.r,new A.acm()) +s.toString +this.CW=t.ZM.a(s)}, +K(a){var s=this.CW +s.toString +return new A.rt(s.a8(0,this.gfR().gm(0)),this.a.w,null)}} +A.acm.prototype={ +$1(a){return new A.oB(t.we.a(a),null)}, +$S:496} +A.nI.prototype={ +F(){return"MaterialTapTargetSize."+this.b}} +A.hr.prototype={ +a91(d3,d4,d5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7=this,c8=null,c9=d3==null?c7.ax:d3,d0=c9.b,d1=c9.c,d2=c9.d +if(d2==null)d2=d0 +s=c9.e +if(s==null)s=d1 +r=c9.f +if(r==null)r=d0 +q=c9.r +if(q==null)q=d0 +p=c9.w +if(p==null)p=d1 +o=c9.x +if(o==null)o=d1 +n=c9.y +m=c9.z +l=c9.Q +if(l==null)l=n +k=c9.as +if(k==null)k=m +j=c9.at +if(j==null)j=n +i=c9.ax +if(i==null)i=n +h=c9.ay +if(h==null)h=m +g=c9.ch +if(g==null)g=m +f=c9.CW +e=f==null?n:f +d=c9.cx +c=d==null?m:d +b=c9.cy +if(b==null)b=f==null?n:f +a=c9.db +if(a==null)a=d==null?m:d +a0=c9.dx +if(a0==null)a0=f==null?n:f +a1=c9.dy +if(a1==null){if(f==null)f=n}else f=a1 +a1=c9.fr +if(a1==null)a1=d==null?m:d +a2=c9.fx +if(a2==null){if(d==null)d=m}else d=a2 +a2=c9.fy +a3=c9.go +a4=c9.id +if(a4==null)a4=a2 +a5=c9.k1 +if(a5==null)a5=a3 +a6=c9.k2 +a7=c9.k3 +a8=c9.ok +if(a8==null)a8=a6 +a9=c9.p1 +if(a9==null)a9=a6 +b0=c9.p2 +if(b0==null)b0=a6 +b1=c9.p3 +if(b1==null)b1=a6 +b2=c9.p4 +if(b2==null)b2=a6 +b3=c9.R8 +if(b3==null)b3=a6 +b4=c9.RG +if(b4==null)b4=a6 +b5=c9.rx +if(b5==null)b5=a7 +b6=c9.ry +if(b6==null){b6=c9.a4 +if(b6==null)b6=a7}b7=c9.to +if(b7==null){b7=c9.a4 +if(b7==null)b7=a7}b8=c9.x1 +if(b8==null)b8=B.o +b9=c9.x2 +if(b9==null)b9=B.o +c0=c9.xr +if(c0==null)c0=a7 +c1=c9.y1 +if(c1==null)c1=a6 +c2=c9.y2 +if(c2==null)c2=d1 +c3=c9.aV +if(c3==null)c3=d0 +c4=c9.bz +if(c4==null)c4=a6 +c5=c9.a4 +if(c5==null)c5=a7 +c6=c9.k4 +if(c6==null)c6=a6 +f=A.WE(c4,c9.a,a2,a4,c2,c0,c5,a3,a5,c1,d1,s,p,o,m,k,h,g,a7,b5,c,a,a1,d,b6,b7,d0,d2,r,q,b9,n,l,j,i,b8,a6,a9,b2,b3,b4,b1,b0,a8,c3,c6,e,b,a0,f) +c9=d4==null?c7.p1:d4 +d0=d5==null?c7.p2:d5 +return A.amH(c7.p4,c7.d,c7.R8,c7.a,c7.RG,c7.rx,c7.ry,c7.to,c7.x1,c7.kD,c7.x2,c7.as,c7.at,c7.xr,c7.y1,c7.y2,f,c7.b,c7.aV,c7.bz,c7.ay,c7.a4,c7.ch,c7.CW,c7.b2,c7.bv,c7.bm,c7.E,c7.Z,c7.c,c7.a3,c7.aj,c7.cx,c7.cy,c7.db,c7.dx,c7.au,c7.k4,c7.dy,c7.e,c7.S,c7.f,c7.O,c7.af,c7.av,c7.bW,c7.c2,c7.hL,c7.eV,c7.r,c7.w,c7.C,c7.fr,c7.fx,c7.fy,c7.ok,c9,c7.dR,c7.ai,c7.go,c7.x,c7.hc,c7.cb,c7.id,c7.dS,c7.k1,c7.hM,c7.iq,c7.k2,c7.y,c7.m3,c7.ct,c7.dB,c7.ea,d0,c7.nY,c7.nZ,c7.jo,c7.p3,c7.k3,!0,c7.Q)}, +a8Z(a,b){return this.a91(null,a,b)}, +k(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.hr&&A.U_(b.d,s.d)&&b.a===s.a&&A.U_(b.c,s.c)&&b.e.k(0,s.e)&&b.f===s.f&&b.r.k(0,s.r)&&b.w===s.w&&b.x.k(0,s.x)&&b.y===s.y&&b.Q.k(0,s.Q)&&b.as.k(0,s.as)&&b.at.k(0,s.at)&&b.ax.k(0,s.ax)&&b.ay.k(0,s.ay)&&b.ch.k(0,s.ch)&&b.CW.k(0,s.CW)&&b.cx.k(0,s.cx)&&b.cy.k(0,s.cy)&&b.db.k(0,s.db)&&b.dx.k(0,s.dx)&&b.dy.k(0,s.dy)&&b.fr.k(0,s.fr)&&b.fx.k(0,s.fx)&&b.fy.k(0,s.fy)&&b.go.k(0,s.go)&&b.id.k(0,s.id)&&b.k1.k(0,s.k1)&&b.k2.k(0,s.k2)&&b.k3.k(0,s.k3)&&b.k4.k(0,s.k4)&&b.ok.k(0,s.ok)&&b.p1.k(0,s.p1)&&b.p2.k(0,s.p2)&&b.p3.k(0,s.p3)&&J.e(b.p4,s.p4)&&b.R8.k(0,s.R8)&&b.RG.k(0,s.RG)&&b.rx.k(0,s.rx)&&b.ry.k(0,s.ry)&&b.to.k(0,s.to)&&b.x1.k(0,s.x1)&&b.x2.k(0,s.x2)&&b.xr.k(0,s.xr)&&b.y1.k(0,s.y1)&&b.y2.k(0,s.y2)&&b.aV.k(0,s.aV)&&b.bz.k(0,s.bz)&&b.a4.k(0,s.a4)&&b.b2.k(0,s.b2)&&b.bv.k(0,s.bv)&&b.bm.k(0,s.bm)&&b.E.k(0,s.E)&&b.Z.k(0,s.Z)&&b.a3.k(0,s.a3)&&b.aj.k(0,s.aj)&&b.au.k(0,s.au)&&b.S.k(0,s.S)&&b.O.k(0,s.O)&&b.af.k(0,s.af)&&b.av.k(0,s.av)&&b.bW.k(0,s.bW)&&b.c2.k(0,s.c2)&&b.hL.k(0,s.hL)&&b.eV.k(0,s.eV)&&b.C.k(0,s.C)&&b.dR.k(0,s.dR)&&b.ai.k(0,s.ai)&&b.hc.k(0,s.hc)&&b.cb.k(0,s.cb)&&b.dS.k(0,s.dS)&&b.hM.k(0,s.hM)&&b.iq.k(0,s.iq)&&b.m3.k(0,s.m3)&&b.ct.k(0,s.ct)&&b.dB.k(0,s.dB)&&b.ea.k(0,s.ea)&&b.nY.k(0,s.nY)&&b.nZ.k(0,s.nZ)&&b.jo.k(0,s.jo)&&b.kD.k(0,s.kD)}, +gu(a){var s=this,r=s.d,q=A.a8(new A.aZ(r,A.o(r).h("aZ<1>")),!0,t.X) +B.b.L(q,r.gaF(0)) +q.push(s.a) +q.push(s.b) +r=s.c +B.b.L(q,r.gbp(r)) +B.b.L(q,r.gaF(r)) +q.push(s.e) +q.push(s.f) +q.push(s.r) +q.push(s.w) +q.push(s.x) +q.push(s.y) +q.push(!0) +q.push(s.Q) +q.push(s.as) +q.push(s.at) +q.push(s.ax) +q.push(s.ay) +q.push(s.ch) +q.push(s.CW) +q.push(s.cx) +q.push(s.cy) +q.push(s.db) +q.push(s.dx) +q.push(s.dy) +q.push(s.fr) +q.push(s.fx) +q.push(s.fy) +q.push(s.go) +q.push(s.id) +q.push(s.k1) +q.push(s.k2) +q.push(s.k3) +q.push(s.k4) +q.push(s.ok) +q.push(s.p1) +q.push(s.p2) +q.push(s.p3) +q.push(s.p4) +q.push(s.R8) +q.push(s.RG) +q.push(s.rx) +q.push(s.ry) +q.push(s.to) +q.push(s.x1) +q.push(s.x2) +q.push(s.xr) +q.push(s.y1) +q.push(s.y2) +q.push(s.aV) +q.push(s.bz) +q.push(s.a4) +q.push(s.b2) +q.push(s.bv) +q.push(s.bm) +q.push(s.E) +q.push(s.Z) +q.push(s.a3) +q.push(s.aj) +q.push(s.au) +q.push(s.S) +q.push(s.O) +q.push(s.af) +q.push(s.av) +q.push(s.bW) +q.push(s.c2) +q.push(s.hL) +q.push(s.eV) +q.push(s.C) +q.push(s.dR) +q.push(s.ai) +q.push(s.hc) +q.push(s.cb) +q.push(s.dS) +q.push(s.hM) +q.push(s.iq) +q.push(s.m3) +q.push(s.ct) +q.push(s.dB) +q.push(s.ea) +q.push(s.nY) +q.push(s.nZ) +q.push(s.jo) +q.push(s.kD) +return A.bN(q)}} +A.abm.prototype={ +$0(){var s=this.a,r=this.b +return s.a8Z(r.cd(s.p1),r.cd(s.p2))}, +$S:249} +A.abk.prototype={ +$2(a,b){return new A.bo(a,b.afQ(this.a.c.i(0,a),this.b),t.sw)}, +$S:250} +A.abl.prototype={ +$1(a){return!this.a.c.a9(0,a.a)}, +$S:251} +A.Hk.prototype={ +glE(){var s=this.ch.a +return s==null?this.ay.ax.a:s}, +giK(){var s=this.ch.b +return s==null?this.ay.ax.b:s}, +gmh(){var s=this.ch.c +return s==null?this.ay.ax.c:s}, +gmE(){var s=this.ch.f +return s==null?this.ay.go:s}} +A.alh.prototype={} +A.t7.prototype={ +gu(a){return(A.pc(this.a)^A.pc(this.b))>>>0}, +k(a,b){if(b==null)return!1 +return b instanceof A.t7&&b.a===this.a&&b.b===this.b}} +A.Nq.prototype={ +bj(a,b,c){var s,r=this.a,q=r.i(0,b) +if(q!=null)return q +if(r.a===this.b)r.A(0,new A.aZ(r,A.o(r).h("aZ<1>")).gH(0)) +s=c.$0() +r.n(0,b,s) +return s}} +A.kh.prototype={ +Pe(a){var s=this.a,r=this.b,q=A.M(a.a+new A.n(s,r).ad(0,4).a,0,a.b) +return a.Ox(A.M(a.c+new A.n(s,r).ad(0,4).b,0,a.d),q)}, +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.kh&&b.a===this.a&&b.b===this.b}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +cf(){return this.Uw()+"(h: "+A.ih(this.a)+", v: "+A.ih(this.b)+")"}} +A.RX.prototype={} +A.SB.prototype={} +A.zI.prototype={ +gqF(){var s=this.e +if(s==null)return s +return A.anb(new A.abp(this))}, +gu(a){var s=this +return A.bN([s.a,s.b,s.c,s.d,s.gqF(),s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,s.cy,s.db,s.dx,s.dy,s.fr])}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.zI&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&J.e(b.gqF(),s.gqF())&&J.e(b.f,s.f)&&J.e(b.r,s.r)&&J.e(b.w,s.w)&&J.e(b.x,s.x)&&J.e(b.y,s.y)&&J.e(b.z,s.z)&&J.e(b.Q,s.Q)&&b.as==s.as&&J.e(b.at,s.at)&&J.e(b.ax,s.ax)&&J.e(b.ay,s.ay)&&J.e(b.ch,s.ch)&&J.e(b.CW,s.CW)&&J.e(b.cx,s.cx)&&J.e(b.db,s.db)&&J.e(b.dx,s.dx)&&b.dy==s.dy&&b.fr==s.fr}} +A.abp.prototype={ +$1(a){var s +if(a.p(0,B.a0)){s=this.a.e +return s==null?t.n8.a(s):s}return B.M}, +$S:8} +A.RZ.prototype={} +A.zJ.prototype={ +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.y,s.x,s.z,s.Q,s.as,s.ax,s.at,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.zJ&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&J.e(b.d,s.d)&&J.e(b.e,s.e)&&J.e(b.f,s.f)&&J.e(b.r,s.r)&&J.e(b.w,s.w)&&J.e(b.y,s.y)&&J.e(b.x,s.x)&&J.e(b.z,s.z)&&J.e(b.Q,s.Q)&&J.e(b.as,s.as)&&J.e(b.ax,s.ax)&&b.at==s.at}} +A.S0.prototype={} +A.No.prototype={ +ar(a){var s=new A.Qj(!0,this.e,null,this.r,B.d_,B.ae,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}} +A.Qj.prototype={ +c3(a,b){var s,r=this,q=$.an2 +$.an2=!1 +if(r.gv(0).p(0,b)){s=r.cV(a,b)||r.B===B.ae +if((s||r.B===B.dd)&&!$.an1){$.an1=!0 +a.D(0,new A.kS(b,r))}}else s=!1 +if(q){$.an2=!0 +$.an1=!1}return s}} +A.zM.prototype={ +ag(){return new A.lZ(new A.a5x(),A.aA(t.S),B.F,null,null)}} +A.lZ.prototype={ +ga5Y(){this.a.toString +this.f===$&&A.a() +return B.Bq}, +ga_r(){this.a.toString +this.f===$&&A.a() +return!0}, +gBC(){var s=this.a.c +return s==null?null.ag5():s}, +gkf(){var s,r=this,q=r.w +if(q==null){q=A.dd(null,B.Bp,B.hL,null,r) +q.bl() +s=q.bJ$ +s.b=!0 +s.a.push(r.ga2e()) +r.w=q}return q}, +a2f(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=null +$label0$0:{s=f.as===B.F +r=a===B.F +q=!s +p=q +if(p){o=r +n=o +m=n}else{n=e +m=n +o=!1}if(o){B.b.A($.oE,f) +o=f.d +l=o.a +if(l!=null)l.abv() +else o.b=null +break $label0$0}k=!0===s +o=k +j=e +if(o){if(p){i=n +h=p}else{i=r +n=i +h=!0}j=!1===i +i=j}else{h=p +i=!1}if(i){o=f.d +l=o.a +g=$.amb+1 +if(l!=null){$.amb=g +l.TQ(0,g)}else o.b=$.amb=g +$.oE.push(f) +A.a9i(f.gBC()) +break $label0$0}if(k)if(p){i=m +p=h}else{if(h){i=n +p=h}else{i=r +n=i +p=!0}m=!0===i +i=m}else{p=h +i=!1}if(!i)if(q)if(o)o=j +else{j=!1===(p?n:r) +o=j}else o=!1 +else o=!0 +if(o)break $label0$0}f.as=a}, +a5s(a,b){var s,r=this,q=new A.abs(r,a) +if(r.gkf().gaI(0)===B.F&&b.a>0){s=r.r +if(s!=null)s.aA(0) +r.r=A.cb(b,q)}else q.$0()}, +LJ(a){return this.a5s(null,a)}, +pV(a){var s=this,r=s.r +if(r!=null)r.aA(0) +s.r=null +r=s.w +r=r==null?null:r.gaI(0).grq() +if(r===!0)if(a.a>0){r=s.gkf() +s.r=A.cb(a,r.gRY(r))}else s.gkf().ei(0)}, +a6q(a){var s,r=this +r.a.toString +r.f===$&&A.a() +switch(1){case 1:s=r.y +if(s==null)s=r.y=A.aqI(r,B.Jz) +s.p1=r.ga2h() +s.p2=r.ga1t() +s.R8=r.ga1S() +s.C9(a) +break}}, +a1m(a){var s=this,r=s.z +r=r==null?null:r.CW +if(r!==a.gbi()){r=s.y +r=r==null?null:r.CW +r=r===a.gbi()}else r=!0 +if(r)return +if(s.r==null&&s.gkf().gaI(0)===B.F||!t.pY.b(a))return +s.K9()}, +K9(){this.a.toString +this.pV(B.r) +this.Q.I(0)}, +a1u(){var s,r=this,q=r.e +q===$&&A.a() +if(!q)return +s=r.gkf().gaI(0)===B.F +if(s)r.ga_r() +if(s){q=r.c +q.toString +A.aAR(q)}r.a.toString +r.LJ(B.r)}, +a1T(){if(this.Q.a!==0)return +this.pV(this.ga5Y())}, +a1v(a){var s,r,q,p=this +p.Q.D(0,a.ghE(a)) +s=A.Z($.oE).h("aF<1>") +r=A.a8(new A.aF($.oE,new A.abr(),s),!0,s.h("j.E")) +for(s=r.length,q=0;q=10===k?!0:k)?Math.min(n,l):Math.max(m,10) +p=b.a +r=a.a-p +return new A.n(r<=20?r/2:A.M(q.a-p/2,10,r-10),s)}, +mI(a){var s +if(this.b.k(0,a.b))s=this.c!==a.c +else s=!0 +return s}} +A.S1.prototype={ +K(a){var s,r=this,q=null,p=A.an(a).p2.z +p.toString +s=A.YY(new A.h_(new A.aq(0,1/0,r.d,1/0),A.n_(A.d0(q,A.ck(q,A.EB(new A.cT(q,r.c,r.w,r.x,q,q,q,q),1,1),q,q,r.r,q,r.f,r.e,q),!0,q,!1,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q),q,B.c7,!0,p,q,q,B.aE),q),q,r.y) +s=A.asR(s,r.at,r.ax) +p=A.dL(a,B.jJ) +p=p==null?q:p.f +p=p==null?q:p.d +if(p==null)p=0 +return A.ark(p,new A.l2(new A.aij(r.z,r.Q,!0),s,q))}} +A.Cz.prototype={ +l(){var s=this,r=s.dQ$ +if(r!=null)r.J(0,s.gno()) +s.dQ$=null +s.aC()}, +bL(){this.e0() +this.de() +this.np()}} +A.zN.prototype={ +gu(a){var s=this,r=null +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,r,r,r,r,r,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.zN)if(b.a==r.a)if(J.e(b.b,r.b))if(J.e(b.c,r.c))if(b.d==r.d)if(J.e(b.r,r.r)){s=J.e(b.w,r.w) +s}return s}} +A.S2.prototype={} +A.a8v.prototype={ +F(){return"ScriptCategory."+this.b}} +A.rw.prototype={ +SC(a){var s +switch(a.a){case 0:s=this.c +break +case 1:s=this.d +break +case 2:s=this.e +break +default:s=null}return s}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.rw&&b.a.k(0,s.a)&&b.b.k(0,s.b)&&b.c.k(0,s.c)&&b.d.k(0,s.d)&&b.e.k(0,s.e)}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Sr.prototype={} +A.mG.prototype={ +j(a){var s=this +if(s.gi3(s)===0)return A.al2(s.gia(),s.gib()) +if(s.gia()===0)return A.al1(s.gi3(s),s.gib()) +return A.al2(s.gia(),s.gib())+" + "+A.al1(s.gi3(s),0)}, +k(a,b){var s=this +if(b==null)return!1 +return b instanceof A.mG&&b.gia()===s.gia()&&b.gi3(b)===s.gi3(s)&&b.gib()===s.gib()}, +gu(a){var s=this +return A.P(s.gia(),s.gi3(s),s.gib(),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.dG.prototype={ +gia(){return this.a}, +gi3(a){return 0}, +gib(){return this.b}, +ac(a,b){return new A.dG(this.a-b.a,this.b-b.b)}, +a6(a,b){return new A.dG(this.a+b.a,this.b+b.b)}, +ad(a,b){return new A.dG(this.a*b,this.b*b)}, +hA(a){var s=a.a/2,r=a.b/2 +return new A.n(s+this.a*s,r+this.b*r)}, +E7(a,b){var s=b.a,r=a.a,q=(b.c-s-r)/2,p=b.b,o=a.b,n=(b.d-p-o)/2 +s=s+q+this.a*q +p=p+n+this.b*n +return new A.x(s,p,s+r,p+o)}, +a1(a,b){return this}, +j(a){return A.al2(this.a,this.b)}} +A.e4.prototype={ +gia(){return 0}, +gi3(a){return this.a}, +gib(){return this.b}, +ac(a,b){return new A.e4(this.a-b.a,this.b-b.b)}, +a6(a,b){return new A.e4(this.a+b.a,this.b+b.b)}, +ad(a,b){return new A.e4(this.a*b,this.b*b)}, +a1(a,b){var s,r=this +switch(b.a){case 0:s=new A.dG(-r.a,r.b) +break +case 1:s=new A.dG(r.a,r.b) +break +default:s=null}return s}, +j(a){return A.al1(this.a,this.b)}} +A.OJ.prototype={ +ad(a,b){return new A.OJ(this.a*b,this.b*b,this.c*b)}, +a1(a,b){var s,r=this +switch(b.a){case 0:s=new A.dG(r.a-r.b,r.c) +break +case 1:s=new A.dG(r.a+r.b,r.c) +break +default:s=null}return s}, +gia(){return this.a}, +gi3(a){return this.b}, +gib(){return this.c}} +A.y7.prototype={ +F(){return"RenderComparison."+this.b}} +A.E9.prototype={ +F(){return"Axis."+this.b}} +A.abU.prototype={ +F(){return"VerticalDirection."+this.b}} +A.ps.prototype={ +F(){return"AxisDirection."+this.b}} +A.Iq.prototype={ +Qi(a,b,c,d){var s=$.ap(),r=a.a +r.toString +return s.ju(r,!1,c,d)}, +abY(a){return this.Qi(a,!1,null,null)}, +Qj(a,b){return A.Dl(a,b)}, +ac_(a){return this.Qj(a,null)}} +A.RI.prototype={ +ap(){var s,r,q +for(s=this.a,s=A.dm(s,s.r,A.o(s).c),r=s.$ti.c;s.t();){q=s.d;(q==null?r.a(q):q).$0()}}, +a0(a,b){this.a.D(0,b)}, +J(a,b){this.a.A(0,b)}} +A.uq.prototype={ +yL(a){var s=this +return new A.B7(s.ge1().ac(0,a.ge1()),s.gfX().ac(0,a.gfX()),s.gfT().ac(0,a.gfT()),s.ghv().ac(0,a.ghv()),s.ge2().ac(0,a.ge2()),s.gfW().ac(0,a.gfW()),s.ghw().ac(0,a.ghw()),s.gfS().ac(0,a.gfS()))}, +D(a,b){var s=this +return new A.B7(s.ge1().a6(0,b.ge1()),s.gfX().a6(0,b.gfX()),s.gfT().a6(0,b.gfT()),s.ghv().a6(0,b.ghv()),s.ge2().a6(0,b.ge2()),s.gfW().a6(0,b.gfW()),s.ghw().a6(0,b.ghw()),s.gfS().a6(0,b.gfS()))}, +j(a){var s,r,q,p,o=this +if(o.ge1().k(0,o.gfX())&&o.gfX().k(0,o.gfT())&&o.gfT().k(0,o.ghv()))if(!o.ge1().k(0,B.A))s=o.ge1().a===o.ge1().b?"BorderRadius.circular("+B.c.R(o.ge1().a,1)+")":"BorderRadius.all("+o.ge1().j(0)+")" +else s=null +else{r=""+"BorderRadius.only(" +q=!o.ge1().k(0,B.A) +if(q)r+="topLeft: "+o.ge1().j(0) +if(!o.gfX().k(0,B.A)){if(q)r+=", " +r+="topRight: "+o.gfX().j(0) +q=!0}if(!o.gfT().k(0,B.A)){if(q)r+=", " +r+="bottomLeft: "+o.gfT().j(0) +q=!0}if(!o.ghv().k(0,B.A)){if(q)r+=", " +r+="bottomRight: "+o.ghv().j(0)}r+=")" +s=r.charCodeAt(0)==0?r:r}if(o.ge2().k(0,o.gfW())&&o.gfW().k(0,o.gfS())&&o.gfS().k(0,o.ghw()))if(!o.ge2().k(0,B.A))p=o.ge2().a===o.ge2().b?"BorderRadiusDirectional.circular("+B.c.R(o.ge2().a,1)+")":"BorderRadiusDirectional.all("+o.ge2().j(0)+")" +else p=null +else{r=""+"BorderRadiusDirectional.only(" +q=!o.ge2().k(0,B.A) +if(q)r+="topStart: "+o.ge2().j(0) +if(!o.gfW().k(0,B.A)){if(q)r+=", " +r+="topEnd: "+o.gfW().j(0) +q=!0}if(!o.ghw().k(0,B.A)){if(q)r+=", " +r+="bottomStart: "+o.ghw().j(0) +q=!0}if(!o.gfS().k(0,B.A)){if(q)r+=", " +r+="bottomEnd: "+o.gfS().j(0)}r+=")" +p=r.charCodeAt(0)==0?r:r}r=s==null +if(!r&&p!=null)return A.h(s)+" + "+p +r=r?p:s +return r==null?"BorderRadius.zero":r}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.uq&&b.ge1().k(0,s.ge1())&&b.gfX().k(0,s.gfX())&&b.gfT().k(0,s.gfT())&&b.ghv().k(0,s.ghv())&&b.ge2().k(0,s.ge2())&&b.gfW().k(0,s.gfW())&&b.ghw().k(0,s.ghw())&&b.gfS().k(0,s.gfS())}, +gu(a){var s=this +return A.P(s.ge1(),s.gfX(),s.gfT(),s.ghv(),s.ge2(),s.gfW(),s.ghw(),s.gfS(),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.cE.prototype={ +ge1(){return this.a}, +gfX(){return this.b}, +gfT(){return this.c}, +ghv(){return this.d}, +ge2(){return B.A}, +gfW(){return B.A}, +ghw(){return B.A}, +gfS(){return B.A}, +ek(a){var s=this,r=s.a.h2(0,B.A),q=s.b.h2(0,B.A) +return A.IU(a,s.c.h2(0,B.A),s.d.h2(0,B.A),r,q)}, +yL(a){if(a instanceof A.cE)return this.ac(0,a) +return this.Ug(a)}, +D(a,b){if(b instanceof A.cE)return this.a6(0,b) +return this.Uf(0,b)}, +ac(a,b){var s=this +return new A.cE(s.a.ac(0,b.a),s.b.ac(0,b.b),s.c.ac(0,b.c),s.d.ac(0,b.d))}, +a6(a,b){var s=this +return new A.cE(s.a.a6(0,b.a),s.b.a6(0,b.b),s.c.a6(0,b.c),s.d.a6(0,b.d))}, +ad(a,b){var s=this +return new A.cE(s.a.ad(0,b),s.b.ad(0,b),s.c.ad(0,b),s.d.ad(0,b))}, +a1(a,b){return this}} +A.B7.prototype={ +ad(a,b){var s=this +return new A.B7(s.a.ad(0,b),s.b.ad(0,b),s.c.ad(0,b),s.d.ad(0,b),s.e.ad(0,b),s.f.ad(0,b),s.r.ad(0,b),s.w.ad(0,b))}, +a1(a,b){var s=this +switch(b.a){case 0:return new A.cE(s.a.a6(0,s.f),s.b.a6(0,s.e),s.c.a6(0,s.w),s.d.a6(0,s.r)) +case 1:return new A.cE(s.a.a6(0,s.e),s.b.a6(0,s.f),s.c.a6(0,s.r),s.d.a6(0,s.w))}}, +ge1(){return this.a}, +gfX(){return this.b}, +gfT(){return this.c}, +ghv(){return this.d}, +ge2(){return this.e}, +gfW(){return this.f}, +ghw(){return this.r}, +gfS(){return this.w}} +A.Eh.prototype={ +F(){return"BorderStyle."+this.b}} +A.cy.prototype={ +bc(a,b){var s=Math.max(0,this.b*b),r=b<=0?B.a9:this.c +return new A.cy(this.a,s,r,-1)}, +iS(){switch(this.c.a){case 1:var s=$.ap().bg() +s.sae(0,this.a) +s.sep(this.b) +s.scH(0,B.X) +return s +case 0:s=$.ap().bg() +s.sae(0,B.M) +s.sep(0) +s.scH(0,B.X) +return s}}, +gdH(){return this.b*(1-(1+this.d)/2)}, +gmP(){return this.b*(1+this.d)/2}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.cy&&b.a.k(0,s.a)&&b.b===s.b&&b.c===s.c&&b.d===s.d}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +cf(){return"BorderSide"}} +A.bT.prototype={ +fY(a,b,c){return null}, +D(a,b){return this.fY(0,b,!1)}, +a6(a,b){var s=this.D(0,b) +if(s==null)s=b.fY(0,this,!0) +return s==null?new A.hv(A.b([b,this],t.N_)):s}, +cD(a,b){if(a==null)return this.bc(0,b) +return null}, +cE(a,b){if(a==null)return this.bc(0,1-b) +return null}, +j(a){return"ShapeBorder()"}} +A.d4.prototype={ +gnJ(){var s=Math.max(this.a.gdH(),0) +return new A.aL(s,s,s,s)}, +cD(a,b){if(a==null)return this.bc(0,b) +return null}, +cE(a,b){if(a==null)return this.bc(0,1-b) +return null}} +A.hv.prototype={ +gnJ(){return B.b.aan(this.a,B.as,new A.adz())}, +fY(a,b,c){var s,r,q,p=b instanceof A.hv +if(!p){s=this.a +r=c?B.b.gP(s):B.b.gH(s) +q=r.fY(0,b,c) +if(q==null)q=b.fY(0,r,!c) +if(q!=null){p=A.a8(s,!0,t.RY) +p[c?p.length-1:0]=q +return new A.hv(p)}}s=A.b([],t.N_) +if(c)B.b.L(s,this.a) +if(p)B.b.L(s,b.a) +else s.push(b) +if(!c)B.b.L(s,this.a) +return new A.hv(s)}, +D(a,b){return this.fY(0,b,!1)}, +bc(a,b){var s=this.a,r=A.Z(s).h("ay<1,bT>") +return new A.hv(A.a8(new A.ay(s,new A.adA(b),r),!0,r.h("aI.E")))}, +cD(a,b){return A.asO(a,this,b)}, +cE(a,b){return A.asO(this,a,b)}, +hq(a,b){return B.b.gH(this.a).hq(a,b)}, +iG(a,b,c){var s,r,q,p +for(s=this.a,r=s.length,q=0;q") +return new A.ay(new A.cm(s,r),new A.adB(),r.h("ay")).bw(0," + ")}} +A.adz.prototype={ +$2(a,b){return a.D(0,b.gnJ())}, +$S:256} +A.adA.prototype={ +$1(a){return a.bc(0,this.a)}, +$S:257} +A.adB.prototype={ +$1(a){return a.j(0)}, +$S:258} +A.M0.prototype={} +A.En.prototype={ +F(){return"BoxShape."+this.b}} +A.Ei.prototype={ +fY(a,b,c){return null}, +D(a,b){return this.fY(0,b,!1)}, +hq(a,b){var s=$.ap().dz() +s.vy(a) +return s}} +A.dU.prototype={ +gnJ(){var s,r=this +if(r.gNs()){s=r.a.gdH() +return new A.aL(s,s,s,s)}return new A.aL(r.d.gdH(),r.a.gdH(),r.b.gdH(),r.c.gdH())}, +grt(){var s,r=this,q=r.a,p=q.a,o=r.d,n=!1 +if(o.a.k(0,p)&&r.c.a.k(0,p)&&r.b.a.k(0,p))if(r.gNs())if(r.gpY()){s=q.d +q=o.d===s&&r.c.d===s&&r.b.d===s}else q=n +else q=n +else q=n +return q}, +gNs(){var s=this,r=s.a.b +return s.d.b===r&&s.c.b===r&&s.b.b===r}, +gpY(){var s=this,r=s.a.c +return s.d.c===r&&s.c.c===r&&s.b.c===r}, +fY(a,b,c){var s=this +if(b instanceof A.dU&&A.jo(s.a,b.a)&&A.jo(s.b,b.b)&&A.jo(s.c,b.c)&&A.jo(s.d,b.d))return new A.dU(A.hD(s.a,b.a),A.hD(s.b,b.b),A.hD(s.c,b.c),A.hD(s.d,b.d)) +return null}, +D(a,b){return this.fY(0,b,!1)}, +bc(a,b){var s=this +return new A.dU(s.a.bc(0,b),s.b.bc(0,b),s.c.bc(0,b),s.d.bc(0,b))}, +cD(a,b){if(a instanceof A.dU)return A.al6(a,this,b) +return this.Hl(a,b)}, +cE(a,b){if(a instanceof A.dU)return A.al6(this,a,b) +return this.Hm(a,b)}, +xt(a,b,c,d,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this +if(e.grt()){s=e.a +switch(s.c.a){case 0:return +case 1:switch(d.a){case 1:A.aoW(a,b,s) +break +case 0:if(c!=null&&!c.k(0,B.ag)){A.aoX(a,b,s,c) +return}A.aoY(a,b,s) +break}return}}if(e.gpY()&&e.a.c===B.a9)return +s=A.aA(t.n8) +r=e.a +q=r.c +p=q===B.a9 +if(!p)s.D(0,r.a) +o=e.b +n=o.c +m=n===B.a9 +if(!m)s.D(0,o.a) +l=e.c +k=l.c +j=k===B.a9 +if(!j)s.D(0,l.a) +i=e.d +h=i.c +g=h===B.a9 +if(!g)s.D(0,i.a) +f=!0 +if(!(q===B.a4&&r.b===0))if(!(n===B.a4&&o.b===0)){if(!(k===B.a4&&l.b===0))q=h===B.a4&&i.b===0 +else q=f +f=q}q=!1 +if(s.a===1)if(!f)if(d!==B.k0)q=c!=null&&!c.k(0,B.ag) +else q=!0 +if(q){if(p)r=B.v +q=m?B.v:o +p=j?B.v:l +o=g?B.v:i +A.ap_(a,b,c,p,s.gH(0),o,q,d,a0,r) +return}A.avc(a,b,l,i,o,r)}, +iG(a,b,c){return this.xt(a,b,null,B.b7,c)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.dU&&b.a.k(0,s.a)&&b.b.k(0,s.b)&&b.c.k(0,s.c)&&b.d.k(0,s.d)}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s,r,q=this +if(q.grt())return"Border.all("+q.a.j(0)+")" +s=A.b([],t.s) +r=q.a +if(!r.k(0,B.v))s.push("top: "+r.j(0)) +r=q.b +if(!r.k(0,B.v))s.push("right: "+r.j(0)) +r=q.c +if(!r.k(0,B.v))s.push("bottom: "+r.j(0)) +r=q.d +if(!r.k(0,B.v))s.push("left: "+r.j(0)) +return"Border("+B.b.bw(s,", ")+")"}} +A.e5.prototype={ +gnJ(){var s,r=this +if(r.grt()){s=r.a.gdH() +return new A.eS(s,s,s,s)}return new A.eS(r.b.gdH(),r.a.gdH(),r.c.gdH(),r.d.gdH())}, +grt(){var s,r,q=this,p=q.a,o=p.a,n=q.b,m=!1 +if(n.a.k(0,o)&&q.d.a.k(0,o)&&q.c.a.k(0,o)){s=p.b +if(n.b===s&&q.d.b===s&&q.c.b===s)if(q.gpY()){r=p.d +p=n.d===r&&q.d.d===r&&q.c.d===r}else p=m +else p=m}else p=m +return p}, +gpY(){var s=this,r=s.a.c +return s.b.c===r&&s.d.c===r&&s.c.c===r}, +fY(a,b,c){var s,r,q,p=this,o=null +if(b instanceof A.e5){s=p.a +r=b.a +if(A.jo(s,r)&&A.jo(p.b,b.b)&&A.jo(p.c,b.c)&&A.jo(p.d,b.d))return new A.e5(A.hD(s,r),A.hD(p.b,b.b),A.hD(p.c,b.c),A.hD(p.d,b.d)) +return o}if(b instanceof A.dU){s=b.a +r=p.a +if(!A.jo(s,r)||!A.jo(b.c,p.d))return o +q=p.b +if(!q.k(0,B.v)||!p.c.k(0,B.v)){if(!b.d.k(0,B.v)||!b.b.k(0,B.v))return o +return new A.e5(A.hD(s,r),q,p.c,A.hD(b.c,p.d))}return new A.dU(A.hD(s,r),b.b,A.hD(b.c,p.d),b.d)}return o}, +D(a,b){return this.fY(0,b,!1)}, +bc(a,b){var s=this +return new A.e5(s.a.bc(0,b),s.b.bc(0,b),s.c.bc(0,b),s.d.bc(0,b))}, +cD(a,b){if(a instanceof A.e5)return A.al5(a,this,b) +return this.Hl(a,b)}, +cE(a,b){if(a instanceof A.e5)return A.al5(this,a,b) +return this.Hm(a,b)}, +xt(a,b,a0,a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this +if(c.grt()){s=c.a +switch(s.c.a){case 0:return +case 1:switch(a1.a){case 1:A.aoW(a,b,s) +break +case 0:if(a0!=null&&!a0.k(0,B.ag)){A.aoX(a,b,s,a0) +return}A.aoY(a,b,s) +break}return}}if(c.gpY()&&c.a.c===B.a9)return +switch(a2.a){case 0:s=new A.av(c.c,c.b) +break +case 1:s=new A.av(c.b,c.c) +break +default:s=null}r=s.a +q=null +p=s.b +q=p +o=r +s=A.aA(t.n8) +n=c.a +m=n.c +l=m===B.a9 +if(!l)s.D(0,n.a) +k=c.c +j=k.c +if(j!==B.a9)s.D(0,k.a) +i=c.d +h=i.c +g=h===B.a9 +if(!g)s.D(0,i.a) +f=c.b +e=f.c +if(e!==B.a9)s.D(0,f.a) +d=!0 +if(!(m===B.a4&&n.b===0))if(!(j===B.a4&&k.b===0)){if(!(h===B.a4&&i.b===0))m=e===B.a4&&f.b===0 +else m=d +d=m}m=!1 +if(s.a===1)if(!d)if(a1!==B.k0)m=a0!=null&&!a0.k(0,B.ag) +else m=!0 +if(m){if(l)n=B.v +m=q.c===B.a9?B.v:q +l=g?B.v:i +k=o.c===B.a9?B.v:o +A.ap_(a,b,a0,l,s.gH(0),k,m,a1,a2,n) +return}A.avc(a,b,i,o,q,n)}, +iG(a,b,c){return this.xt(a,b,null,B.b7,c)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.e5&&b.a.k(0,s.a)&&b.b.k(0,s.b)&&b.c.k(0,s.c)&&b.d.k(0,s.d)}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s=this,r=A.b([],t.s),q=s.a +if(!q.k(0,B.v))r.push("top: "+q.j(0)) +q=s.b +if(!q.k(0,B.v))r.push("start: "+q.j(0)) +q=s.c +if(!q.k(0,B.v))r.push("end: "+q.j(0)) +q=s.d +if(!q.k(0,B.v))r.push("bottom: "+q.j(0)) +return"BorderDirectional("+B.b.bw(r,", ")+")"}} +A.fo.prototype={ +gce(a){var s=this.c +s=s==null?null:s.gnJ() +return s==null?B.as:s}, +bc(a,b){var s=this,r=null,q=A.t(r,s.a,b),p=A.apk(r,s.b,b),o=A.aoZ(r,s.c,b),n=A.io(r,s.d,b),m=A.ap2(r,s.e,b) +return new A.fo(q,p,o,n,m,r,s.w)}, +gEf(){return this.e!=null}, +cD(a,b){if(a==null)return this.bc(0,b) +if(a instanceof A.fo)return A.ap0(a,this,b) +return this.GF(a,b)}, +cE(a,b){if(a==null)return this.bc(0,1-b) +if(a instanceof A.fo)return A.ap0(this,a,b) +return this.GG(a,b)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.fo)if(J.e(b.a,r.a))if(J.e(b.b,r.b))if(J.e(b.c,r.c))if(J.e(b.d,r.d))if(A.dn(b.e,r.e))s=b.w===r.w +return s}, +gu(a){var s=this,r=s.e +r=r==null?null:A.bN(r) +return A.P(s.a,s.b,s.c,s.d,r,s.f,null,s.w,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +Q5(a,b,c){var s +switch(this.w.a){case 0:s=this.d +if(s!=null)return s.a1(0,c).ek(new A.x(0,0,0+a.a,0+a.b)).p(0,b) +return!0 +case 1:return b.ac(0,a.ih(B.h)).gd7()<=Math.min(a.a,a.b)/2}}, +vZ(a){return new A.acL(this,a)}} +A.acL.prototype={ +KS(a,b,c,d){var s=this.b +switch(s.w.a){case 1:a.ik(b.gaQ(),b.gfL()/2,c) +break +case 0:s=s.d +if(s==null||s.k(0,B.ag))a.cP(b,c) +else a.dg(s.a1(0,d).ek(b),c) +break}}, +a4c(a,b,c){var s,r,q,p,o,n,m=this.b.e +if(m==null)return +for(s=m.length,r=0;r0?n*0.57735+0.5:0)) +o=b.cX(q.b) +n=q.d +this.KS(a,new A.x(o.a-n,o.b-n,o.c+n,o.d+n),p,c)}}, +a48(a,b,c){var s,r,q=this,p=q.b,o=p.b +if(o==null)return +if(q.e==null)q.e=o.CN(q.a) +s=null +switch(p.w.a){case 1:r=A.qM(b.gaQ(),b.gfL()/2) +s=$.ap().dz() +s.C8(r) +break +case 0:p=p.d +if(p!=null){s=$.ap().dz() +s.fZ(p.a1(0,c.d).ek(b))}break}q.e.rT(a,b,s,c)}, +l(){var s=this.e +if(s!=null)s.l() +this.Ui()}, +rS(a,b,c){var s,r=this,q=c.e,p=b.a,o=b.b,n=new A.x(p,o,p+q.a,o+q.b),m=c.d +r.a4c(a,n,m) +q=r.b +p=q.a +if(p!=null){o=r.c +if(o==null){s=$.ap().bg() +s.sae(0,p) +r.c=s +p=s}else p=o +p.toString +r.KS(a,n,p,m)}r.a48(a,n,c) +p=q.c +if(p!=null){o=q.d +o=o==null?null:o.a1(0,m) +p.xt(a,n,o,q.w,m)}}, +j(a){return"BoxPainter for "+this.b.j(0)}} +A.Ej.prototype={ +F(){return"BoxFit."+this.b}} +A.G7.prototype={} +A.jq.prototype={ +bc(a,b){var s=this +return new A.jq(s.d*b,s.e,s.a,s.b.ad(0,b),s.c*b)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +if(b instanceof A.jq)if(b.a.k(0,s.a))b.b.k(0,s.b) +return!1}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s=this +return"BoxShadow("+s.a.j(0)+", "+s.b.j(0)+", "+A.ih(s.c)+", "+A.ih(s.d)+", "+A.h(s.e)+")"}} +A.dr.prototype={ +bc(a,b){return new A.dr(this.b,this.a.bc(0,b))}, +cD(a,b){var s,r +if(a instanceof A.dr){s=A.aG(a.a,this.a,b) +r=A.V(a.b,this.b,b) +r.toString +return new A.dr(A.M(r,0,1),s)}return this.mS(a,b)}, +cE(a,b){var s,r +if(a instanceof A.dr){s=A.aG(this.a,a.a,b) +r=A.V(this.b,a.b,b) +r.toString +return new A.dr(A.M(r,0,1),s)}return this.mT(a,b)}, +hq(a,b){var s=$.ap().dz() +s.C8(this.If(a)) +return s}, +lK(a){var s=a==null?this.a:a +return new A.dr(this.b,s)}, +iG(a,b,c){var s,r=this.a +switch(r.c.a){case 0:break +case 1:s=r.b*r.d +if(this.b===0)a.ik(b.gaQ(),(b.gfL()+s)/2,r.iS()) +else a.qT(this.If(b).ec(s/2),r.iS()) +break}}, +If(a){var s,r,q,p,o,n,m,l=this.b +if(l===0||a.c-a.a===a.d-a.b)return A.qM(a.gaQ(),a.gfL()/2) +s=a.c +r=a.a +q=s-r +p=a.d +o=a.b +n=p-o +l=1-l +if(q").b(b)&&A.U_(b.b,s.b)}, +gu(a){return A.P(A.r(this),this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"ColorSwatch(primary value: "+this.Ul(0)+")"}} +A.hH.prototype={ +cf(){return"Decoration"}, +gce(a){return B.as}, +gEf(){return!1}, +cD(a,b){return null}, +cE(a,b){return null}, +Q5(a,b,c){return!0}} +A.El.prototype={ +l(){}} +A.MS.prototype={} +A.qb.prototype={ +F(){return"ImageRepeat."+this.b}} +A.LZ.prototype={ +CN(a){var s,r=this.a +r=r==null?null:r.CN(a) +s=this.b +s=s==null?null:s.CN(a) +return new A.acK(r,s,this.c)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.LZ&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&b.c===s.c}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"_BlendedDecorationImage("+A.h(this.a)+", "+A.h(this.b)+", "+A.h(this.c)+")"}} +A.acK.prototype={ +F1(a,b,c,d,e,f){var s,r,q=this +a.fJ(null,$.ap().bg()) +s=q.a +r=s==null +if(!r)s.F1(a,b,c,d,e*(1-q.c),f) +s=q.b +if(s!=null){r=!r?B.xZ:f +s.F1(a,b,c,d,e*q.c,r)}a.bG(0)}, +rT(a,b,c,d){return this.F1(a,b,c,d,1,B.cU)}, +l(){var s=this.a +if(s!=null)s.l() +s=this.b +if(s!=null)s.l()}, +j(a){return"_BlendedDecorationImagePainter("+A.h(this.a)+", "+A.h(this.b)+", "+A.h(this.c)+")"}} +A.cQ.prototype={ +gbQ(){var s=this +return s.gdK(s)+s.gdL(s)+s.geQ(s)+s.geO()}, +a7x(a){var s,r=this +switch(a.a){case 0:s=r.gbQ() +break +case 1:s=r.gb_(r)+r.gb5(r) +break +default:s=null}return s}, +D(a,b){var s=this +return new A.mg(s.gdK(s)+b.gdK(b),s.gdL(s)+b.gdL(b),s.geQ(s)+b.geQ(b),s.geO()+b.geO(),s.gb_(s)+b.gb_(b),s.gb5(s)+b.gb5(b))}, +hB(a,b,c){var s=this +return new A.mg(A.M(s.gdK(s),b.a,c.a),A.M(s.gdL(s),b.c,c.b),A.M(s.geQ(s),0,c.c),A.M(s.geO(),0,c.d),A.M(s.gb_(s),b.b,c.e),A.M(s.gb5(s),b.d,c.f))}, +j(a){var s=this +if(s.geQ(s)===0&&s.geO()===0){if(s.gdK(s)===0&&s.gdL(s)===0&&s.gb_(s)===0&&s.gb5(s)===0)return"EdgeInsets.zero" +if(s.gdK(s)===s.gdL(s)&&s.gdL(s)===s.gb_(s)&&s.gb_(s)===s.gb5(s))return"EdgeInsets.all("+B.c.R(s.gdK(s),1)+")" +return"EdgeInsets("+B.c.R(s.gdK(s),1)+", "+B.c.R(s.gb_(s),1)+", "+B.c.R(s.gdL(s),1)+", "+B.c.R(s.gb5(s),1)+")"}if(s.gdK(s)===0&&s.gdL(s)===0)return"EdgeInsetsDirectional("+B.c.R(s.geQ(s),1)+", "+B.c.R(s.gb_(s),1)+", "+B.c.R(s.geO(),1)+", "+B.c.R(s.gb5(s),1)+")" +return"EdgeInsets("+B.c.R(s.gdK(s),1)+", "+B.c.R(s.gb_(s),1)+", "+B.c.R(s.gdL(s),1)+", "+B.c.R(s.gb5(s),1)+") + EdgeInsetsDirectional("+B.c.R(s.geQ(s),1)+", 0.0, "+B.c.R(s.geO(),1)+", 0.0)"}, +k(a,b){var s=this +if(b==null)return!1 +return b instanceof A.cQ&&b.gdK(b)===s.gdK(s)&&b.gdL(b)===s.gdL(s)&&b.geQ(b)===s.geQ(s)&&b.geO()===s.geO()&&b.gb_(b)===s.gb_(s)&&b.gb5(b)===s.gb5(s)}, +gu(a){var s=this +return A.P(s.gdK(s),s.gdL(s),s.geQ(s),s.geO(),s.gb_(s),s.gb5(s),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.aL.prototype={ +gdK(a){return this.a}, +gb_(a){return this.b}, +gdL(a){return this.c}, +gb5(a){return this.d}, +geQ(a){return 0}, +geO(){return 0}, +D0(a){var s=this +return new A.x(a.a+s.a,a.b+s.b,a.c-s.c,a.d-s.d)}, +D(a,b){if(b instanceof A.aL)return this.a6(0,b) +return this.GJ(0,b)}, +hB(a,b,c){var s=this +return new A.aL(A.M(s.a,b.a,c.a),A.M(s.b,b.b,c.e),A.M(s.c,b.c,c.b),A.M(s.d,b.d,c.f))}, +ac(a,b){var s=this +return new A.aL(s.a-b.a,s.b-b.b,s.c-b.c,s.d-b.d)}, +a6(a,b){var s=this +return new A.aL(s.a+b.a,s.b+b.b,s.c+b.c,s.d+b.d)}, +ad(a,b){var s=this +return new A.aL(s.a*b,s.b*b,s.c*b,s.d*b)}, +a1(a,b){return this}, +lL(a,b,c,d){var s=this,r=b==null?s.a:b,q=d==null?s.b:d,p=c==null?s.c:c +return new A.aL(r,q,p,a==null?s.d:a)}, +a8T(a,b){return this.lL(a,null,null,b)}, +a8V(a,b){return this.lL(null,a,b,null)}, +CG(a){return this.lL(a,null,null,null)}} +A.eS.prototype={ +geQ(a){return this.a}, +gb_(a){return this.b}, +geO(){return this.c}, +gb5(a){return this.d}, +gdK(a){return 0}, +gdL(a){return 0}, +D(a,b){if(b instanceof A.eS)return this.a6(0,b) +return this.GJ(0,b)}, +ac(a,b){var s=this +return new A.eS(s.a-b.a,s.b-b.b,s.c-b.c,s.d-b.d)}, +a6(a,b){var s=this +return new A.eS(s.a+b.a,s.b+b.b,s.c+b.c,s.d+b.d)}, +ad(a,b){var s=this +return new A.eS(s.a*b,s.b*b,s.c*b,s.d*b)}, +a1(a,b){var s,r=this +switch(b.a){case 0:s=new A.aL(r.c,r.b,r.a,r.d) +break +case 1:s=new A.aL(r.a,r.b,r.c,r.d) +break +default:s=null}return s}} +A.mg.prototype={ +ad(a,b){var s=this +return new A.mg(s.a*b,s.b*b,s.c*b,s.d*b,s.e*b,s.f*b)}, +a1(a,b){var s,r=this +switch(b.a){case 0:s=new A.aL(r.d+r.a,r.e,r.c+r.b,r.f) +break +case 1:s=new A.aL(r.c+r.a,r.e,r.d+r.b,r.f) +break +default:s=null}return s}, +gdK(a){return this.a}, +gdL(a){return this.b}, +geQ(a){return this.c}, +geO(){return this.d}, +gb_(a){return this.e}, +gb5(a){return this.f}} +A.a01.prototype={ +I(a){var s,r,q,p +for(s=this.b,r=s.gaF(0),q=A.o(r),r=new A.br(J.ak(r.a),r.b,q.h("br<1,2>")),q=q.y[1];r.t();){p=r.a;(p==null?q.a(p):p).l()}s.I(0) +for(s=this.a,r=s.gaF(0),q=A.o(r),r=new A.br(J.ak(r.a),r.b,q.h("br<1,2>")),q=q.y[1];r.t();){p=r.a +if(p==null)p=q.a(p) +p.a.J(0,p.b)}s.I(0) +this.f=0}, +a9Y(a){var s,r,q,p=this,o=p.c.A(0,a) +if(o!=null){s=o.a +r=o.d +r===$&&A.a() +if(s.x)A.aa(A.R(u.V)) +B.b.A(s.y,r) +o.Hq()}q=p.a.A(0,a) +if(q!=null){q.a.J(0,q.b) +return!0}o=p.b.A(0,a) +if(o!=null){s=p.f +r=o.b +r.toString +p.f=s-r +o.l() +return!0}return!1}, +MF(a,b,c){var s,r=this,q=b.b +if(q!=null)s=q<=104857600 +else s=!1 +if(s){s=r.f +q.toString +r.f=s+q +r.b.n(0,a,b) +r.YY(c)}else b.l()}, +BD(a,b,c){var s=this.c.bj(0,a,new A.a03(this,b,a)) +if(s.b==null)s.b=c}, +Rp(a,b,c,d){var s,r,q,p,o,n,m,l=this,k=null,j={},i=l.a,h=i.i(0,b),g=h==null?k:h.a +j.a=g +if(g!=null)return g +h=l.b +q=h.A(0,b) +if(q!=null){j=q.a +l.BD(b,j,q.b) +h.n(0,b,q) +return j}p=l.c.i(0,b) +if(p!=null){j=p.a +i=p.b +if(j.x)A.aa(A.R(u.V)) +h=new A.qc(j) +h.u7(j) +l.MF(b,new A.A8(j,i,h),k) +return j}try{g=j.a=c.$0() +l.BD(b,g,k) +h=g}catch(o){s=A.a6(o) +r=A.aK(o) +d.$2(s,r) +return k}j.b=!1 +n=A.bj("pendingImage") +m=new A.hT(new A.a04(j,l,b,!0,k,n),k,k) +n.b=new A.Pd(h,m) +i.n(0,b,n.aP()) +j.a.a0(0,m) +return j.a}, +YY(a){var s,r,q,p,o,n=this,m=n.b,l=A.o(m).h("aZ<1>") +while(!0){if(!(n.f>104857600||m.a>1000))break +s=new A.aZ(m,l).gX(0) +if(!s.t())A.aa(A.bu()) +r=s.gG(0) +q=m.i(0,r) +p=n.f +o=q.b +o.toString +n.f=p-o +q.l() +m.A(0,r)}}} +A.a03.prototype={ +$0(){return A.aFf(this.b,new A.a02(this.a,this.c))}, +$S:259} +A.a02.prototype={ +$0(){this.a.c.A(0,this.b)}, +$S:0} +A.a04.prototype={ +$2(a,b){var s,r,q,p,o,n=this +if(a!=null){s=a.a +r=s.gb3(s)*s.gbH(s)*4 +s.l()}else r=null +s=n.a +q=s.a +if(q.x)A.aa(A.R(u.V)) +p=new A.qc(q) +p.u7(q) +o=new A.A8(q,r,p) +p=n.b +q=n.c +p.BD(q,s.a,r) +if(n.d)p.MF(q,o,n.e) +else o.l() +p.a.A(0,q) +if(!s.b){q=n.f.aP() +q.a.J(0,q.b)}s.b=!0}, +$S:260} +A.M9.prototype={ +l(){$.bC.p2$.push(new A.ado(this))}} +A.ado.prototype={ +$1(a){var s=this.a,r=s.c +if(r!=null)r.l() +s.c=null}, +$S:6} +A.A8.prototype={} +A.tc.prototype={ +Y0(a,b,c){var s=new A.afE(this,b) +this.d=s +if(a.x)A.aa(A.R(u.V)) +a.y.push(s)}, +j(a){return"#"+A.b9(this)}} +A.afE.prototype={ +$0(){var s,r,q +this.b.$0() +s=this.a +r=s.a +q=s.d +q===$&&A.a() +if(r.x)A.aa(A.R(u.V)) +B.b.A(r.y,q) +s.Hq()}, +$S:0} +A.Pd.prototype={} +A.qa.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.qa&&b.a==s.a&&b.b==s.b&&J.e(b.c,s.c)&&b.d==s.d&&J.e(b.e,s.e)&&b.f==s.f}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.e,s.f,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s=this,r=""+"ImageConfiguration(",q=s.a,p=q!=null +if(p)r+="bundle: "+q.j(0) +q=s.b +if(q!=null){if(p)r+=", " +q=r+("devicePixelRatio: "+B.c.R(q,1)) +r=q +p=!0}q=s.c +if(q!=null){if(p)r+=", " +q=r+("locale: "+q.j(0)) +r=q +p=!0}q=s.d +if(q!=null){if(p)r+=", " +q=r+("textDirection: "+q.j(0)) +r=q +p=!0}q=s.e +if(q!=null){if(p)r+=", " +q=r+("size: "+q.j(0)) +r=q +p=!0}q=s.f +if(q!=null){if(p)r+=", " +q=r+("platform: "+q.b) +r=q}r+=")" +return r.charCodeAt(0)==0?r:r}} +A.hS.prototype={ +a1(a,b){var s=new A.a0s() +this.ZK(b,new A.a0l(this,b,s),new A.a0m(this,s)) +return s}, +ZK(a,b,c){var s,r,q,p,o,n={} +n.a=null +n.b=!1 +s=new A.a0i(n,c) +r=null +try{r=this.EE(a)}catch(o){q=A.a6(o) +p=A.aK(o) +s.$2(q,p) +return}J.akW(r,new A.a0h(n,this,b,s),t.H).ko(s)}, +t5(a,b,c,d){var s,r +if(b.a!=null){s=$.jU.nT$ +s===$&&A.a() +s.Rp(0,c,new A.a0j(b),d) +return}s=$.jU.nT$ +s===$&&A.a() +r=s.Rp(0,c,new A.a0k(this,c),d) +if(r!=null)b.Ge(r)}, +wY(a,b){return A.asJ()}, +x3(a,b){return A.asJ()}, +j(a){return"ImageConfiguration()"}} +A.a0l.prototype={ +$2(a,b){this.a.t5(this.b,this.c,a,b)}, +$S(){return A.o(this.a).h("~(hS.T,~(J,cg?))")}} +A.a0m.prototype={ +$3(a,b,c){return this.Sz(a,b,c)}, +Sz(a,b,c){var s=0,r=A.C(t.H),q=this,p +var $async$$3=A.D(function(d,e){if(d===1)return A.z(e,r) +while(true)switch(s){case 0:p=A.fe(null,t.P) +s=2 +return A.y(p,$async$$3) +case 2:p=q.b +if(p.a==null)p.Ge(new A.ae8(A.b([],t.XZ),A.b([],t.SM),A.b([],t.c))) +p=p.a +p.toString +p.xR(A.bk("while resolving an image"),b,null,!0,c) +return A.A(null,r)}}) +return A.B($async$$3,r)}, +$S(){return A.o(this.a).h("a7<~>(hS.T?,J,cg?)")}} +A.a0i.prototype={ +Sy(a,b){var s=0,r=A.C(t.H),q,p=this,o +var $async$$2=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:o=p.a +if(o.b){s=1 +break}o.b=!0 +p.b.$3(o.a,a,b) +case 1:return A.A(q,r)}}) +return A.B($async$$2,r)}, +$2(a,b){return this.Sy(a,b)}, +$S:261} +A.a0h.prototype={ +$1(a){var s,r,q,p=this +p.a.a=a +try{p.c.$2(a,p.d)}catch(q){s=A.a6(q) +r=A.aK(q) +p.d.$2(s,r)}}, +$S(){return A.o(this.b).h("aY(hS.T)")}} +A.a0j.prototype={ +$0(){var s=this.a.a +s.toString +return s}, +$S:152} +A.a0k.prototype={ +$0(){var s=this.a,r=this.b,q=s.x3(r,$.jU.gabZ()) +return q instanceof A.Lw?s.wY(r,$.jU.gabX()):q}, +$S:152} +A.Lw.prototype={} +A.im.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.im&&b.a===s.a&&b.b===s.b&&b.c===s.c}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"AssetBundleImageKey(bundle: "+this.a.j(0)+', name: "'+this.b+'", scale: '+A.h(this.c)+")"}} +A.E3.prototype={ +x3(a,b){return A.aqV(this.pG(a,b),a.b,null,a.c)}, +wY(a,b){return A.aqV(this.pG(a,b),a.b,null,a.c)}, +pG(a,b){return this.a31(a,b)}, +a31(a,b){var s=0,r=A.C(t.hP),q,p=2,o,n,m,l,k +var $async$pG=A.D(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:l=null +p=4 +s=7 +return A.y(a.a.wX(a.b),$async$pG) +case 7:l=d +p=2 +s=6 +break +case 4:p=3 +k=o +if(A.a6(k) instanceof A.nc){m=$.jU.nT$ +m===$&&A.a() +m.a9Y(a) +throw k}else throw k +s=6 +break +case 3:s=2 +break +case 6:q=b.$1(l) +s=1 +break +case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$pG,r)}} +A.ae8.prototype={} +A.um.prototype={ +god(){return this.a}, +EE(a){var s,r={},q=a.a +if(q==null)q=$.u4() +r.a=r.b=null +s=t.P +A.aBa(A.az_(q).aT(0,new A.UP(r,this,a,q),s),new A.UQ(r),s,t.K) +s=r.a +if(s!=null)return s +s=new A.a9($.ad,t.Lv) +r.b=new A.b1(s,t.h8) +return s}, +Z7(a,b,c){var s,r,q,p,o +if(c==null||c.length===0||b.b==null)return new A.kO(null,a) +s=A.amv(t.i,t.pR) +for(r=c.length,q=0;q(r+q)/2){s=a.i(0,q) +s.toString +return s}else{s=a.i(0,r) +s.toString +return s}}, +k(a,b){var s +if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +if(b instanceof A.um)s=b.god()===this.god() +else s=!1 +return s}, +gu(a){return A.P(this.god(),this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"AssetImage(bundle: "+A.h(this.b)+', name: "'+this.god()+'")'}} +A.UP.prototype={ +$1(a){var s,r,q=this,p=q.b,o=a.SF(p.god()),n=p.Z7(p.god(),q.c,o) +p=n.a +if(p==null)p=1 +s=new A.im(q.d,n.b,p) +p=q.a +r=p.b +if(r!=null)r.cv(0,s) +else p.a=new A.cv(s,t.WT)}, +$S:263} +A.UQ.prototype={ +$2(a,b){this.a.b.lJ(a,b)}, +$S:38} +A.hR.prototype={ +d5(a){return new A.hR(this.a.d5(0),this.b,this.c)}, +j(a){var s=this.c +s=s!=null?s+" ":"" +return s+this.a.j(0)+" @ "+A.ih(this.b)+"x"}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.hR&&b.a===s.a&&b.b===s.b&&b.c==s.c}} +A.hT.prototype={ +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.hT&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&J.e(b.c,s.c)}, +ade(a,b){return this.a.$2(a,b)}} +A.a0s.prototype={ +Ge(a){var s,r=this +r.a=a +s=r.b +if(s!=null){r.b=null +a.r=!0 +B.b.V(s,a.gvw(a)) +r.a.r=!1}}, +a0(a,b){var s=this.a +if(s!=null)return s.a0(0,b) +s=this.b;(s==null?this.b=A.b([],t.XZ):s).push(b)}, +J(a,b){var s,r=this.a +if(r!=null)return r.J(0,b) +for(s=0;r=this.b,s")),t.kE),!0,t.CF) +n=i.b +B.b.L(o,n) +B.b.I(n) +s=!1 +for(n=o.length,m=0;m=s.a}else r=!0 +if(r){s=p.ax +p.J0(new A.hR(s.gfw(s).d5(0),p.as,p.e)) +p.ay=a +s=p.ax +p.ch=s.gPd(s) +s=p.ax +s.gfw(s).l() +p.ax=null +q=B.f.fQ(p.CW,p.Q.gre()) +if(p.Q.gxQ()===-1||q<=p.Q.gxQ())p.n5() +return}s.toString +r=p.ay +r===$&&A.a() +p.cx=A.cb(new A.aQ(B.f.a7(s.a-(a.a-r.a))),new A.a4U(p))}, +n5(){var s=0,r=A.C(t.H),q,p=2,o,n=this,m,l,k,j,i +var $async$n5=A.D(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:j=n.ax +if(j!=null)j.gfw(j).l() +n.ax=null +p=4 +s=7 +return A.y(n.Q.hp(),$async$n5) +case 7:n.ax=b +p=2 +s=6 +break +case 4:p=3 +i=o +m=A.a6(i) +l=A.aK(i) +n.xR(A.bk("resolving an image frame"),m,n.at,!0,l) +s=1 +break +s=6 +break +case 3:s=2 +break +case 6:if(n.Q.gre()===1){if(n.a.length===0){s=1 +break}j=n.ax +n.J0(new A.hR(j.gfw(j).d5(0),n.as,n.e)) +j=n.ax +j.gfw(j).l() +n.ax=null +s=1 +break}n.LE() +case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$n5,r)}, +LE(){if(this.cy)return +this.cy=!0 +$.bC.yr(this.ga0E())}, +J0(a){this.TA(a);++this.CW}, +a0(a,b){var s,r=this,q=!1 +if(r.a.length===0){s=r.Q +if(s!=null)q=r.c==null||s.gre()>1}if(q)r.n5() +r.UH(0,b)}, +J(a,b){var s,r=this +r.UI(0,b) +if(r.a.length===0){s=r.cx +if(s!=null)s.aA(0) +r.cx=null}}, +uP(){this.UG() +if(this.x)this.z=null}} +A.a4V.prototype={ +$2(a,b){this.a.xR(A.bk("resolving an image codec"),a,this.b,!0,b)}, +$S:38} +A.a4U.prototype={ +$0(){this.a.LE()}, +$S:0} +A.O6.prototype={} +A.O5.prototype={} +A.DT.prototype={} +A.qf.prototype={ +k(a,b){var s +if(b==null)return!1 +s=!1 +if(b instanceof A.qf)if(b.a===this.a)if(b.b==this.b)s=A.dn(b.f,this.f) +return s}, +gu(a){return A.P(this.a,this.b,this.c,!1,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"InlineSpanSemanticsInformation{text: "+this.a+", semanticsLabel: "+A.h(this.b)+", recognizer: "+A.h(this.c)+"}"}} +A.jH.prototype={ +T9(a){var s={} +s.a=null +this.bn(new A.a0E(s,a,new A.DT())) +return s.a}, +oD(a){var s,r=new A.ca("") +this.Ok(r,!0,a) +s=r.a +return s.charCodeAt(0)==0?s:s}, +nA(a,b){var s={} +if(b<0)return null +s.a=null +this.bn(new A.a0D(s,b,new A.DT())) +return s.a}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.rr&&J.e(b.a,this.a)}, +gu(a){return J.u(this.a)}} +A.a0E.prototype={ +$1(a){var s=a.Ta(this.b,this.c) +this.a.a=s +return s==null}, +$S:70} +A.a0D.prototype={ +$1(a){var s=a.a8o(this.b,this.c) +this.a.a=s +return s==null}, +$S:70} +A.d_.prototype={ +bc(a,b){var s=this.a.bc(0,b) +return new A.d_(this.b.ad(0,b),s)}, +cD(a,b){var s,r,q=this +if(a instanceof A.d_){s=A.aG(a.a,q.a,b) +r=A.io(a.b,q.b,b) +r.toString +return new A.d_(r,s)}if(a instanceof A.dr){s=A.aG(a.a,q.a,b) +return new A.eh(q.b,1-b,a.b,s)}return q.mS(a,b)}, +cE(a,b){var s,r,q=this +if(a instanceof A.d_){s=A.aG(q.a,a.a,b) +r=A.io(q.b,a.b,b) +r.toString +return new A.d_(r,s)}if(a instanceof A.dr){s=A.aG(q.a,a.a,b) +return new A.eh(q.b,b,a.b,s)}return q.mT(a,b)}, +lK(a){var s=a==null?this.a:a +return new A.d_(this.b,s)}, +hq(a,b){var s=$.ap().dz() +s.fZ(this.b.a1(0,b).ek(a)) +return s}, +iG(a,b,c){var s,r,q,p,o=this.a +switch(o.c.a){case 0:break +case 1:s=this.b +if(o.b===0)a.dg(s.a1(0,c).ek(b),o.iS()) +else{r=$.ap().bg() +r.sae(0,o.a) +q=s.a1(0,c).ek(b) +p=q.ec(-o.gdH()) +a.nK(q.ec(o.gmP()),p,r)}break}}, +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.d_&&b.a.k(0,this.a)&&b.b.k(0,this.b)}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"RoundedRectangleBorder("+this.a.j(0)+", "+this.b.j(0)+")"}} +A.eh.prototype={ +bc(a,b){var s=this.a.bc(0,b) +return new A.eh(this.b.ad(0,b),b,this.d,s)}, +cD(a,b){var s,r,q,p=this +if(a instanceof A.d_){s=A.aG(a.a,p.a,b) +r=A.io(a.b,p.b,b) +r.toString +return new A.eh(r,p.c*b,p.d,s)}if(a instanceof A.dr){s=A.aG(a.a,p.a,b) +r=p.c +return new A.eh(p.b,r+(1-r)*(1-b),a.b,s)}if(a instanceof A.eh){s=A.aG(a.a,p.a,b) +r=A.io(a.b,p.b,b) +r.toString +q=A.V(a.c,p.c,b) +q.toString +return new A.eh(r,q,p.d,s)}return p.mS(a,b)}, +cE(a,b){var s,r,q,p=this +if(a instanceof A.d_){s=A.aG(p.a,a.a,b) +r=A.io(p.b,a.b,b) +r.toString +return new A.eh(r,p.c*(1-b),p.d,s)}if(a instanceof A.dr){s=A.aG(p.a,a.a,b) +r=p.c +return new A.eh(p.b,r+(1-r)*b,a.b,s)}if(a instanceof A.eh){s=A.aG(p.a,a.a,b) +r=A.io(p.b,a.b,b) +r.toString +q=A.V(p.c,a.c,b) +q.toString +return new A.eh(r,q,p.d,s)}return p.mT(a,b)}, +HI(a){var s,r,q,p,o,n,m,l,k=this.c +if(k===0||a.c-a.a===a.d-a.b)return a +s=a.c +r=a.a +q=s-r +p=a.d +o=a.b +n=p-o +m=1-this.d +if(q>>0)+r+-56613888 +break $label0$0}if(56320===s){r=r.nA(0,a-1) +r.toString +r=(r<<10>>>0)+q+-56613888 +break $label0$0}r=q +break $label0$0}return r}, +a61(a,b){var s,r=this.Zh(b?a-1:a),q=b?a:a-1,p=this.a.nA(0,q) +if(!(r==null||p==null||A.amP(r)||A.amP(p))){q=A.bO("[\\p{Space_Separator}\\p{Punctuation}]",!0,!0) +s=A.dN(r) +q=!q.b.test(s)}else q=!0 +return q}} +A.aip.prototype={ +f6(a){var s +if(a<0)return null +s=this.b.f6(a) +return s==null||this.a.$2(s,!1)?s:this.f6(s-1)}, +f7(a){var s=this.b.f7(Math.max(a,0)) +return s==null||this.a.$2(s,!0)?s:this.f7(s)}} +A.aie.prototype={ +FP(a){var s +switch(a.a){case 0:s=this.c +s=s.gqa(s) +break +case 1:s=this.c +s=s.gQ9(s) +break +default:s=null}return s}, +Zn(){var s,r,q,p,o,n,m=this,l=m.b.gxA(),k=m.c.gED() +k=m.c.yh(k-1) +k.toString +s=l.charCodeAt(l.length-1) +$label0$0:{r=9===s||12288===s||32===s +if(r)break $label0$0 +break $label0$0}q=k.gnx() +p=A.asY("lastGlyph",new A.aif(m,l)) +o=null +if(r&&p.pQ()!=null){n=p.pQ().a +k=m.a +switch(k.a){case 1:r=n.c +break +case 0:r=n.a +break +default:r=o}o=r}else{r=m.a +switch(r.a){case 1:k=k.gdU(k)+k.gbH(k) +break +case 0:k=k.gdU(k) +break +default:k=o}o=k +k=r}return new A.ta(new A.n(o,q),k)}, +zN(a,b,c){var s +switch(c.a){case 1:s=A.M(this.c.gQH(),a,b) +break +case 0:s=A.M(this.c.goi(),a,b) +break +default:s=null}return s}} +A.aif.prototype={ +$0(){return this.a.c.yd(this.b.length-1)}, +$S:269} +A.RQ.prototype={ +gfF(){var s,r,q=this.d +if(q===0)return B.h +s=this.a +r=s.c +if(!isFinite(r.gbH(r)))return B.Hd +r=this.c +s=s.c +return new A.n(q*(r-s.gbH(s)),0)}, +a53(a,b,c){var s,r,q,p=this,o=p.c +if(b===o&&a===o){p.c=p.a.zN(a,b,c) +return!0}if(!isFinite(p.gfF().a)){o=p.a.c +o=!isFinite(o.gbH(o))&&isFinite(a)}else o=!1 +if(o)return!1 +o=p.a +s=o.c.goi() +if(b!==p.b){r=o.c +q=r.gbH(r)-s>-1e-10&&b-s>-1e-10}else q=!0 +if(q){p.c=o.zN(a,b,c) +return!0}return!1}} +A.ta.prototype={} +A.rq.prototype={ +a5(){var s=this.b +if(s!=null)s.a.c.l() +this.b=null}, +soC(a,b){var s,r,q,p=this +if(J.e(p.e,b))return +s=p.e +s=s==null?null:s.a +r=b==null +if(!J.e(s,r?null:b.a)){s=p.ch +if(s!=null)s.l() +p.ch=null}if(r)q=B.c4 +else{s=p.e +s=s==null?null:s.b7(0,b) +q=s==null?B.c4:s}p.e=b +p.f=null +s=q.a +if(s>=3)p.a5() +else if(s>=2)p.c=!0}, +gxA(){var s=this.f +if(s==null){s=this.e +s=s==null?null:s.oD(!1) +this.f=s}return s==null?"":s}, +sxT(a,b){if(this.r===b)return +this.r=b +this.a5()}, +sbS(a){var s,r=this +if(r.w==a)return +r.w=a +r.a5() +s=r.ch +if(s!=null)s.l() +r.ch=null}, +sdE(a){var s,r=this +if(a.k(0,r.x))return +r.x=a +r.a5() +s=r.ch +if(s!=null)s.l() +r.ch=null}, +sPj(a){if(this.y==a)return +this.y=a +this.a5()}, +sx6(a,b){if(J.e(this.z,b))return +this.z=b +this.a5()}, +sxc(a){if(this.Q==a)return +this.Q=a +this.a5()}, +syK(a){return}, +sxV(a){if(this.at===a)return +this.at=a}, +sxU(a){return}, +gabO(){var s,r,q,p=this.b +if(p==null)return null +s=p.gfF() +if(!isFinite(s.a)||!isFinite(s.b))return A.b([],t.Lx) +r=p.e +if(r==null)r=p.e=p.a.c.tv() +if(s.k(0,B.h))return r +q=A.Z(r).h("ay<1,ee>") +return A.a8(new A.ay(r,new A.abh(s),q),!1,q.h("aI.E"))}, +mG(a){if(a==null||a.length===0||A.dn(a,this.ay))return +this.ay=a +this.a5()}, +II(a){var s,r,q,p,o=this,n=o.e,m=n==null?null:n.a +if(m==null)m=B.x9 +n=a==null?o.r:a +s=o.w +r=o.x +q=o.Q +p=o.ax +return m.T0(o.y,o.z,q,o.as,n,s,p,r)}, +ZN(){return this.II(null)}, +lr(){var s,r,q=this,p=q.ch +if(p==null){p=q.II(B.dZ) +s=$.ap().w1(p) +p=q.e +if(p==null)r=null +else{p=p.a +r=p==null?null:p.G2(q.x)}if(r!=null)s.xD(r) +s.q8(" ") +p=s.bs() +p.hh(B.Hn) +q.ch=p}return p}, +IH(a){var s=this,r=s.ZN(),q=$.ap().w1(r) +r=s.x +a.O0(q,s.ay,r) +s.c=!1 +return q.bs()}, +og(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=h.b,f=g==null +if(!f&&g.a53(b,a,h.at))return +s=h.e +if(s==null)throw A.c(A.R("TextPainter.text must be set to a non-null value before using the TextPainter.")) +r=h.w +if(r==null)throw A.c(A.R("TextPainter.textDirection must be set to a non-null value before using the TextPainter.")) +q=A.asf(h.r,r) +if(!(!isFinite(a)&&q!==0))p=a +else p=f?null:g.a.c.goi() +o=p==null +n=o?a:p +m=f?null:g.a.c +if(m==null)m=h.IH(s) +m.hh(new A.ly(n)) +l=new A.aie(r,h,m) +k=l.zN(b,a,h.at) +if(o&&isFinite(b)){j=l.c.goi() +m.hh(new A.ly(j)) +i=new A.RQ(l,j,k,q)}else i=new A.RQ(l,n,k,q) +h.b=i}, +Eo(){return this.og(1/0,0)}, +aE(a,b){var s,r,q,p=this,o=p.b +if(o==null)throw A.c(A.R("TextPainter.paint called when text geometry was not yet calculated.\nPlease call layout() before paint() to position the text before painting it.")) +if(!isFinite(o.gfF().a)||!isFinite(o.gfF().b))return +if(p.c){s=o.a +r=s.c +q=p.e +q.toString +q=p.IH(q) +q.hh(new A.ly(o.b)) +s.c=q +r.l()}a.ku(o.a.c,b.a6(0,o.gfF()))}, +tA(a,b){var s,r,q,p,o,n,m,l,k=this,j=k.b +j.toString +s=k.zG(a) +if(s==null){r=k.r +q=k.w +q.toString +p=A.asf(r,q) +return new A.n(p===0?0:p*j.c,0)}$label0$0:{o=s.b +n=B.p===o +if(n)m=s.a +else m=null +if(n){l=m +r=l +break $label0$0}n=B.P===o +if(n){m=s.a +r=m +r=r instanceof A.n}else r=!1 +if(r){l=n?m:s.a +r=new A.n(l.a-(b.c-b.a),l.b) +break $label0$0}r=null}return new A.n(A.M(r.a+j.gfF().a,0,j.c),r.b+j.gfF().b)}, +zG(a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=null,a1=a.b,a2=a1.a +if(a2.c.gED()<1||a.gxA().length===0)return a0 +$label0$0:{s=a3.a +if(0===s){r=B.Ij +break $label0$0}q=a0 +r=!1 +q=a3.b +r=B.n===q +if(r){r=new A.av(s,!0) +break $label0$0}p=a0 +r=!1 +p=B.am===q +o=p +if(o){r=s-1 +r=0<=r&&r") +r=A.a8(new A.ay(s,new A.abg(p),r),!1,r.h("aI.E"))}return r}, +SK(a){var s=this.b,r=s.a.c.FO(a.ac(0,s.gfF())) +if(r==null||s.gfF().k(0,B.h))return r +return new A.iA(r.a.cX(s.gfF()),r.b,r.c)}, +vS(){var s,r,q=this.b,p=q.gfF() +if(!isFinite(p.a)||!isFinite(p.b))return B.EA +s=q.f +if(s==null){s=q.a.c.vS() +q.f=s}if(p.k(0,B.h))r=s +else{r=A.Z(s).h("ay<1,lp>") +r=A.a8(new A.ay(s,new A.abf(p),r),!1,r.h("aI.E"))}return r}, +l(){var s=this,r=s.ch +if(r!=null)r.l() +s.ch=null +r=s.b +if(r!=null)r.a.c.l() +s.e=s.b=null}} +A.abh.prototype={ +$1(a){return A.asg(a,this.a)}, +$S:168} +A.abg.prototype={ +$1(a){return A.asg(a,this.a)}, +$S:168} +A.abf.prototype={ +$1(a){var s=this.a,r=a.gQ0(),q=a.gNU(),p=a.gOR(),o=a.gSd(),n=a.gb3(a),m=a.gbH(a),l=a.gdU(a),k=a.gnx(),j=a.gEp(a) +return $.ap().OD(q,k+s.b,p,r,n,l+s.a,j,o,m)}, +$S:271} +A.id.prototype={ +k(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.id&&b.a===this.a}, +gu(a){return B.c.gu(this.a)}, +j(a){var s=this.a +return s===1?"no scaling":"linear ("+A.h(s)+"x)"}} +A.rr.prototype={ +gnE(a){return this.e}, +gy5(){return!0}, +is(a,b){}, +O0(a,b,c){var s,r,q,p,o,n=this.a,m=n!=null +if(m)a.xD(n.G2(c)) +n=this.b +if(n!=null)try{a.q8(n)}catch(q){n=A.a6(q) +if(n instanceof A.eK){s=n +r=A.aK(q) +A.df(new A.bD(s,r,"painting library",A.bk("while building a TextSpan"),null,!0)) +a.q8("\ufffd")}else throw q}p=this.c +if(p!=null)for(o=0;o<1;++o)p[o].O0(a,b,c) +if(m)a.fG()}, +bn(a){var s,r +if(this.b!=null&&!a.$1(this))return!1 +s=this.c +if(s!=null)for(r=0;r<1;++r)if(!s[r].bn(a))return!1 +return!0}, +af0(a){var s,r=this.c +if(r!=null)for(s=0;s<1;++s)if(!a.$1(r[s]))return!1 +return!0}, +Ta(a,b){var s,r,q,p,o,n=this.b +if(n==null||n.length===0)return null +s=a.b +r=a.a +q=b.a +p=q+n.length +o=!0 +if(!(q===r&&s===B.n))if(!(q0?q:B.dP +if(p===B.c4)return p}else p=B.dP +s=n.c +if(s!=null)for(r=b.c,o=0;o<1;++o){q=s[o].b7(0,r[o]) +if(q.a>p.a)p=q +if(p===B.c4)return p}return p}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +if(!s.UK(0,b))return!1 +return b instanceof A.rr&&b.b==s.b&&s.e.k(0,b.e)&&A.dn(b.c,s.c)}, +gu(a){var s=this,r=null,q=A.jH.prototype.gu.call(s,0),p=s.c +p=p==null?r:A.bN(p) +return A.P(q,s.b,r,r,r,r,s.e,p,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +cf(){return"TextSpan"}, +$ial:1, +$ihe:1, +gEL(){return null}, +gEM(){return null}} +A.m.prototype={ +go2(){return this.e}, +glq(a){return this.d}, +vV(a3,a4,a5,a6,a7,a8,a9,b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,c0,c1,c2,c3,c4,c5,c6,c7,c8){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0=this,a1=c0==null?a0.a:c0,a2=a0.ay +if(a2==null&&b8==null)s=a5==null?a0.b:a5 +else s=null +r=a0.ch +if(r==null&&a3==null)q=a4==null?a0.c:a4 +else q=null +p=b4==null?a0.r:b4 +o=b7==null?a0.w:b7 +n=c2==null?a0.y:c2 +m=c8==null?a0.z:c8 +l=c7==null?a0.Q:c7 +k=b9==null?a0.as:b9 +j=c1==null?a0.at:c1 +a2=b8==null?a2:b8 +r=a3==null?r:a3 +i=c6==null?a0.dy:c6 +h=b6==null?a0.fx:b6 +g=a7==null?a0.CW:a7 +f=a8==null?a0.cx:a8 +e=a9==null?a0.cy:a9 +d=b0==null?a0.db:b0 +c=b1==null?a0.glq(0):b1 +b=b2==null?a0.e:b2 +a=c4==null?a0.fy:c4 +return A.fP(r,q,s,null,g,f,e,d,c,b,a0.fr,p,a0.x,h,o,a2,k,a1,j,n,a0.ax,a,a0.f,i,l,m)}, +a90(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,a0,a1,a2,a3,a4,a5){return this.vV(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,null,r,s,a0,a1,a2,a3,a4,a5)}, +fp(a){var s=null +return this.vV(s,s,a,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s)}, +Ow(a,b){var s=null +return this.vV(s,s,a,s,s,s,s,s,s,s,s,b,s,s,s,s,s,s,s,s,s,s,s,s,s,s)}, +Or(a){var s=null +return this.vV(s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,s,a,s,s,s,s,s,s,s,s)}, +e5(a,b,c,d,e,a0,a1,a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=null,f=h.ay +if(f==null)s=a==null?h.b:a +else s=g +r=h.ch +if(r==null)q=h.c +else q=g +p=h.glq(0) +o=h.r +o=o==null?g:o*a2+a1 +n=h.w +n=n==null?g:B.lH[B.f.hB(n.a,0,8)] +m=h.y +m=m==null?g:m+0 +l=h.z +l=l==null?g:l+0 +k=h.as +if(!(k==null||k===0)){k.toString +k+=0}j=c==null?h.cx:c +i=h.db +i=i==null?g:i+0 +return A.fP(r,q,s,g,h.CW,j,h.cy,i,p,h.e,h.fr,o,h.x,h.fx,n,f,k,h.a,h.at,m,h.ax,h.fy,h.f,h.dy,h.Q,l)}, +NL(a){var s=null +return this.e5(a,s,s,s,s,s,0,1,s)}, +cd(a4){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3 +if(a4==null)return this +if(!a4.a)return a4 +s=a4.b +r=a4.c +q=a4.r +p=a4.w +o=a4.x +n=a4.y +m=a4.z +l=a4.Q +k=a4.as +j=a4.at +i=a4.ax +h=a4.ay +g=a4.ch +f=a4.dy +e=a4.fr +d=a4.fx +c=a4.CW +b=a4.cx +a=a4.cy +a0=a4.db +a1=a4.glq(0) +a2=a4.e +a3=a4.f +return this.a90(g,r,s,null,c,b,a,a0,a1,a2,e,q,o,d,p,h,k,j,n,i,a4.fy,a3,f,l,m)}, +G2(a){var s,r,q,p,o,n,m,l=this,k=l.r +$label0$0:{s=null +if(k==null)break $label0$0 +r=a.k(0,B.ao) +if(r){s=k +break $label0$0}r=k*a.a +s=r +break $label0$0}r=l.go2() +q=l.ch +p=l.c +$label1$1:{o=t.Q2 +if(o.b(q)){n=q==null?o.a(q):q +o=n +break $label1$1}if(p instanceof A.w){m=p==null?t.n8.a(p):p +o=$.ap().bg() +o.sae(0,m) +break $label1$1}o=null +break $label1$1}return A.ash(o,l.b,l.CW,l.cx,l.cy,l.db,l.d,r,l.fr,s,l.x,l.fx,l.w,l.ay,l.as,l.at,l.y,l.ax,l.dy,l.Q,l.z)}, +T0(a,b,c,d,e,f,g,h){var s=this,r=s.at,q=r==null?null:new A.KM(r),p=s.r +if(p==null)p=14 +return A.ard(a,s.d,p*h.a,s.x,s.w,s.as,b,c,null,e,f,q)}, +b7(a,b){var s=this +if(s===b)return B.dP +if(s.a!==b.a||s.d!=b.d||s.r!=b.r||s.w!=b.w||s.y!=b.y||s.z!=b.z||s.Q!=b.Q||s.as!=b.as||s.at!=b.at||s.ay!=b.ay||s.ch!=b.ch||!A.dn(s.dy,b.dy)||!A.dn(s.fr,b.fr)||!A.dn(s.fx,b.fx)||!A.dn(s.go2(),b.go2())||s.fy!=b.fy)return B.c4 +if(!J.e(s.b,b.b)||!J.e(s.c,b.c)||!J.e(s.CW,b.CW)||!J.e(s.cx,b.cx)||s.cy!=b.cy||s.db!=b.db)return B.It +return B.dP}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.m)if(b.a===r.a)if(J.e(b.b,r.b))if(J.e(b.c,r.c))if(b.r==r.r)if(b.w==r.w)if(b.y==r.y)if(b.z==r.z)if(b.Q==r.Q)if(b.as==r.as)if(b.at==r.at)if(b.ay==r.ay)if(b.ch==r.ch)if(A.dn(b.dy,r.dy))if(A.dn(b.fr,r.fr))if(A.dn(b.fx,r.fx))if(J.e(b.CW,r.CW))if(J.e(b.cx,r.cx))if(b.cy==r.cy)if(b.db==r.db)if(b.d==r.d)if(A.dn(b.go2(),r.go2()))s=b.fy==r.fy +return s}, +gu(a){var s,r=this,q=null,p=r.go2(),o=p==null?q:A.bN(p),n=A.P(r.cy,r.db,r.d,o,r.f,r.fy,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a),m=r.dy,l=r.fx +o=m==null?q:A.bN(m) +s=l==null?q:A.bN(l) +return A.P(r.a,r.b,r.c,r.r,r.w,r.x,r.y,r.z,r.Q,r.as,r.at,r.ax,r.ay,r.ch,o,q,s,r.CW,r.cx,n)}, +cf(){return"TextStyle"}} +A.RS.prototype={} +A.Gk.prototype={ +XL(a,b,c,d,e){var s=this +s.r=A.aub(new A.ZN(s),s.gDn(s),0,10,0)}, +dq(a,b){var s,r,q=this +if(b>q.r)return q.gwr() +s=q.e +r=q.c +return q.d+s*Math.pow(q.b,b)/r-s/r-q.f/2*b*b}, +e8(a,b){var s=this +if(b>s.r)return 0 +return s.e*Math.pow(s.b,b)-s.f*b}, +gwr(){var s=this +if(s.f===0)return s.d-s.e/s.c +return s.dq(0,s.r)}, +S4(a){var s,r=this,q=r.d +if(a===q)return 0 +s=r.e +if(s!==0)if(s>0)q=ar.gwr() +else q=a>q||a")),r=r.y[1],q=!1;s.t();){p=s.a +if(p==null)p=r.a(p) +q=q||p.C$!=null +o=p.go +n=$.bq() +m=n.d +if(m==null){l=self.window.devicePixelRatio +m=l===0?1:l}l=o.at +if(l==null){l=o.ch.CB() +o.at=l}l=A.asB(o.Q,new A.K(l.a/m,l.b/m)) +o=l.a*m +k=l.b*m +j=l.c*m +l=l.d*m +i=n.d +if(i==null){n=self.window.devicePixelRatio +i=n===0?1:n}p.svU(new A.zV(new A.aq(o/i,k/i,j/i,l/i),new A.aq(o,k,j,l),i))}if(q)this.Tk()}, +DU(){}, +DP(){}, +abM(){var s,r=this.CW$ +if(r!=null){r.O$=$.aN() +r.S$=0}r=t.S +s=$.aN() +this.CW$=new A.HB(new A.a7J(this),new A.a4J(B.c6,A.E(r,t.ZA)),A.E(r,t.xg),s)}, +a2B(a){B.GE.cJ("first-frame",null,!1,t.H)}, +a1C(a){this.Dm() +this.a5q()}, +a5q(){$.bC.p2$.push(new A.a7I(this))}, +NJ(){--this.fr$ +if(!this.fx$)this.Ga()}, +Dm(){var s,r,q=this,p=q.db$ +p===$&&A.a() +p.PF() +q.db$.PD() +q.db$.PG() +if(q.fx$||q.fr$===0){for(p=q.dx$.gaF(0),s=A.o(p),p=new A.br(J.ak(p.a),p.b,s.h("br<1,2>")),s=s.y[1];p.t();){r=p.a;(r==null?s.a(r):r).a8v()}q.db$.PH() +q.fx$=!0}}} +A.a7K.prototype={ +$0(){var s=this.a.gxz().e +if(s!=null)s.tK()}, +$S:0} +A.a7M.prototype={ +$1(a){var s=this.a.gxz().e +if(s!=null)s.go.gGb().aeX(a)}, +$S:148} +A.a7L.prototype={ +$0(){var s=this.a.gxz().e +if(s!=null)s.lH()}, +$S:0} +A.a7J.prototype={ +$2(a,b){var s=A.alP() +this.a.wI(s,a,b) +return s}, +$S:273} +A.a7I.prototype={ +$1(a){this.a.CW$.aeS()}, +$S:6} +A.LY.prototype={} +A.MT.prototype={} +A.QH.prototype={ +F8(){if(this.Z)return +this.Vw() +this.Z=!0}, +tK(){this.lH() +this.Vo()}, +l(){this.saG(null)}} +A.aq.prototype={ +qz(a,b,c,d){var s=this,r=d==null?s.a:d,q=b==null?s.b:b,p=c==null?s.c:c +return new A.aq(r,q,p,a==null?s.d:a)}, +a8X(a,b){return this.qz(null,a,null,b)}, +a8W(a,b){return this.qz(a,null,b,null)}, +Ox(a,b){return this.qz(null,null,a,b)}, +CI(a){return this.qz(a,null,null,null)}, +a8P(a){return this.qz(null,a,null,null)}, +w4(a){var s=this,r=a.gbQ(),q=a.gb_(0)+a.gb5(0),p=Math.max(0,s.a-r),o=Math.max(0,s.c-q) +return new A.aq(p,Math.max(p,s.b-r),o,Math.max(o,s.d-q))}, +nR(a){var s=this,r=a.a,q=a.b,p=a.c,o=a.d +return new A.aq(A.M(s.a,r,q),A.M(s.b,r,q),A.M(s.c,p,o),A.M(s.d,p,o))}, +xW(a,b){var s,r,q=this,p=b==null,o=q.a,n=p?o:A.M(b,o,q.b),m=q.b +p=p?m:A.M(b,o,m) +o=a==null +m=q.c +s=o?m:A.M(a,m,q.d) +r=q.d +return new A.aq(n,p,s,o?r:A.M(a,m,r))}, +S3(a){return this.xW(a,null)}, +aeA(a){return this.xW(null,a)}, +gPC(){var s=this +return new A.aq(s.c,s.d,s.a,s.b)}, +b0(a){var s=this +return new A.K(A.M(a.a,s.a,s.b),A.M(a.b,s.c,s.d))}, +qx(a){var s,r,q,p,o,n=this,m=n.a,l=n.b +if(m>=l&&n.c>=n.d)return new A.K(A.M(0,m,l),A.M(0,n.c,n.d)) +s=a.a +r=a.b +q=s/r +if(s>l){r=l/q +s=l}p=n.d +if(r>p){s=p*q +r=p}if(s=s.b&&s.c>=s.d}, +ad(a,b){var s=this +return new A.aq(s.a*b,s.b*b,s.c*b,s.d*b)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.aq&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s,r=this,q=r.a,p=!1 +if(q>=0)if(q<=r.b){p=r.c +p=p>=0&&p<=r.d}s=p?"":"; NOT NORMALIZED" +if(q===1/0&&r.c===1/0)return"BoxConstraints(biggest"+s+")" +if(q===0&&r.b===1/0&&r.c===0&&r.d===1/0)return"BoxConstraints(unconstrained"+s+")" +p=new A.Vc() +return"BoxConstraints("+p.$3(q,r.b,"w")+", "+p.$3(r.c,r.d,"h")+s+")"}} +A.Vc.prototype={ +$3(a,b,c){if(a===b)return c+"="+B.c.R(a,1) +return B.c.R(a,1)+"<="+c+"<="+B.c.R(b,1)}, +$S:121} +A.kT.prototype={ +NH(a,b,c){if(c!=null){c=A.Ho(A.ame(c)) +if(c==null)return!1}return this.Cc(a,b,c)}, +ns(a,b,c){var s,r=b==null,q=r?c:c.ac(0,b) +r=!r +if(r)this.c.push(new A.ti(new A.n(-b.a,-b.b))) +s=a.$2(this,q) +if(r)this.xB() +return s}, +Cc(a,b,c){var s,r=c==null,q=r?b:A.bH(c,b) +r=!r +if(r)this.c.push(new A.B4(c)) +s=a.$2(this,q) +if(r)this.xB() +return s}, +NG(a,b,c){var s,r=this +if(b!=null)r.c.push(new A.ti(new A.n(-b.a,-b.b))) +else{c.toString +c=A.Ho(A.ame(c)) +c.toString +r.c.push(new A.B4(c))}s=a.$1(r) +r.xB() +return s}, +a7u(a,b){return this.NG(a,null,b)}, +a7t(a,b){return this.NG(a,b,null)}} +A.kS.prototype={ +j(a){return"#"+A.b9(this.a)+"@"+this.c.j(0)}} +A.en.prototype={ +j(a){return"offset="+this.a.j(0)}} +A.uX.prototype={} +A.ae4.prototype={ +eY(a,b,c){var s=a.b +if(s==null)s=a.b=A.E(t.k,t.FW) +return s.bj(0,b,new A.ae5(c,b))}} +A.ae5.prototype={ +$0(){return this.a.$1(this.b)}, +$S:274} +A.acI.prototype={ +eY(a,b,c){var s +switch(b.b){case B.l:s=a.c +if(s==null){s=A.E(t.k,t.PM) +a.c=s}break +case B.E:s=a.d +if(s==null){s=A.E(t.k,t.PM) +a.d=s}break +default:s=null}return s.bj(0,b.a,new A.acJ(c,b))}} +A.acJ.prototype={ +$0(){return this.a.$1(this.b)}, +$S:275} +A.AT.prototype={ +F(){return"_IntrinsicDimension."+this.b}, +eY(a,b,c){var s=a.a +if(s==null)s=a.a=A.E(t.Yr,t.i) +return s.bj(0,new A.av(this,b),new A.aft(c,b))}} +A.aft.prototype={ +$0(){return this.a.$1(this.b)}, +$S:166} +A.aM.prototype={} +A.H.prototype={ +dX(a){if(!(a.b instanceof A.en))a.b=new A.en(B.h)}, +Zr(a,b,c){var s=a.eY(this.fx,b,c) +return s}, +az(a,b,c){return this.Zr(a,b,c,t.K,t.z)}, +aS(a){return 0}, +aR(a){return 0}, +Zm(a){return this.bP(a)}, +bP(a){return B.O}, +f5(a,b){return this.az(B.cj,new A.av(a,b),this.gpk())}, +Zl(a){return this.d6(a.a,a.b)}, +d6(a,b){return null}, +gv(a){var s=this.id +return s==null?A.aa(A.R("RenderBox was not laid out: "+A.r(this).j(0)+"#"+A.b9(this))):s}, +gla(){var s=this.gv(0) +return new A.x(0,0,0+s.a,0+s.b)}, +FQ(a,b){var s=null +try{s=this.mu(a)}finally{}return s}, +mu(a){return this.az(B.cj,new A.av(t.k.a(A.G.prototype.gN.call(this)),a),new A.a7_(this))}, +h3(a){return null}, +gN(){return t.k.a(A.G.prototype.gN.call(this))}, +a5(){var s=this,r=null,q=s.fx,p=q.b,o=p==null,n=o?r:p.a!==0,m=!0 +if(n!==!0){n=q.a +n=n==null?r:n.a!==0 +if(n!==!0){n=q.c +n=n==null?r:n.a!==0 +if(n!==!0){n=q.d +n=n==null?r:n.a!==0 +n=n===!0}else n=m +m=n}}if(m){if(!o)p.I(0) +p=q.a +if(p!=null)p.I(0) +p=q.c +if(p!=null)p.I(0) +q=q.d +if(q!=null)q.I(0)}if(m&&s.d!=null){s.xa() +return}s.Vn()}, +oq(){this.id=this.bP(t.k.a(A.G.prototype.gN.call(this)))}, +bb(){}, +c3(a,b){var s=this +if(s.id.p(0,b))if(s.cV(a,b)||s.iv(b)){a.D(0,new A.kS(b,s)) +return!0}return!1}, +iv(a){return!1}, +cV(a,b){return!1}, +cM(a,b){var s,r=a.b +r.toString +s=t.G.a(r).a +b.aq(0,s.a,s.b)}, +l8(a){var s,r,q,p,o,n=this.aU(0,null) +if(n.dw(n)===0)return B.h +s=new A.fS(new Float64Array(3)) +s.mH(0,0,1) +r=new A.fS(new Float64Array(3)) +r.mH(0,0,0) +q=n.xy(r) +r=new A.fS(new Float64Array(3)) +r.mH(0,0,1) +p=n.xy(r).ac(0,q) +r=new A.fS(new Float64Array(3)) +r.mH(a.a,a.b,0) +o=n.xy(r) +r=o.ac(0,p.Ti(s.P7(o)/s.P7(p))).a +return new A.n(r[0],r[1])}, +giH(){var s=this.gv(0) +return new A.x(0,0,0+s.a,0+s.b)}, +is(a,b){this.Vm(a,b)}} +A.a7_.prototype={ +$1(a){return this.a.h3(a.b)}, +$S:147} +A.cK.prototype={ +ON(a){var s,r,q,p=this.T$ +for(s=A.o(this).h("cK.1");p!=null;){r=p.b +r.toString +s.a(r) +q=p.mu(a) +if(q!=null)return q+r.a.b +p=r.a2$}return null}, +CZ(a){var s,r,q,p,o,n=this.T$ +for(s=A.o(this).h("cK.1"),r=null;n!=null;){q=n.b +q.toString +s.a(q) +p=n.mu(a) +o=q.a +r=A.pt(r,p==null?null:p+o.b) +n=q.a2$}return r}, +qG(a,b){var s,r,q={},p=q.a=this.cg$ +for(s=A.o(this).h("cK.1");p!=null;p=r){p=p.b +p.toString +s.a(p) +if(a.ns(new A.a6Z(q),p.a,b))return!0 +r=p.bF$ +q.a=r}return!1}, +lR(a,b){var s,r,q,p,o,n=this.T$ +for(s=A.o(this).h("cK.1"),r=b.a,q=b.b;n!=null;){p=n.b +p.toString +s.a(p) +o=p.a +a.fE(n,new A.n(o.a+r,o.b+q)) +n=p.a2$}}} +A.a6Z.prototype={ +$2(a,b){return this.a.a.c3(a,b)}, +$S:19} +A.Ai.prototype={ +ab(a){this.tY(0)}} +A.hf.prototype={ +j(a){return this.yP(0)+"; id="+A.h(this.e)}} +A.a4R.prototype={ +d8(a,b){var s=this.b.i(0,a) +s.bU(b,!0) +return s.gv(0)}, +eF(a,b){var s=this.b.i(0,a).b +s.toString +t.Wz.a(s).a=b}, +YS(a,b){var s,r,q,p,o,n=this,m=n.b +try{n.b=A.E(t.K,t.x) +s=b +for(q=t.Wz;s!=null;){p=s.b +p.toString +r=q.a(p) +p=n.b +p.toString +o=r.e +o.toString +p.n(0,o,s) +s=r.a2$}n.xx(a)}finally{n.b=m}}, +j(a){return"MultiChildLayoutDelegate"}} +A.y8.prototype={ +dX(a){if(!(a.b instanceof A.hf))a.b=new A.hf(null,null,B.h)}, +sD1(a){var s=this.E +if(s===a)return +if(A.r(a)!==A.r(s)||a.mI(s))this.a5() +this.E=a}, +ah(a){this.Wz(a)}, +ab(a){this.WA(0)}, +aS(a){var s=A.uv(a,1/0),r=s.b0(new A.K(A.M(1/0,s.a,s.b),A.M(1/0,s.c,s.d))).a +if(isFinite(r))return r +return 0}, +aR(a){var s=A.uv(1/0,a),r=s.b0(new A.K(A.M(1/0,s.a,s.b),A.M(1/0,s.c,s.d))).b +if(isFinite(r))return r +return 0}, +bP(a){return a.b0(new A.K(A.M(1/0,a.a,a.b),A.M(1/0,a.c,a.d)))}, +bb(){var s=this,r=t.k.a(A.G.prototype.gN.call(s)) +s.id=r.b0(new A.K(A.M(1/0,r.a,r.b),A.M(1/0,r.c,r.d))) +s.E.YS(s.gv(0),s.T$)}, +aE(a,b){this.lR(a,b)}, +cV(a,b){return this.qG(a,b)}} +A.BC.prototype={ +ah(a){var s,r,q +this.eq(a) +s=this.T$ +for(r=t.Wz;s!=null;){s.ah(a) +q=s.b +q.toString +s=r.a(q).a2$}}, +ab(a){var s,r,q +this.e_(0) +s=this.T$ +for(r=t.Wz;s!=null;){s.ab(0) +q=s.b +q.toString +s=r.a(q).a2$}}} +A.Qi.prototype={} +A.Fb.prototype={ +a0(a,b){var s=this.a +return s==null?null:s.a0(0,b)}, +J(a,b){var s=this.a +return s==null?null:s.J(0,b)}, +gGc(){return null}, +Gp(a){return this.hZ(a)}, +E4(a){return null}, +j(a){var s=A.b9(this),r=this.a +r=r==null?null:r.j(0) +if(r==null)r="" +return"#"+s+"("+r+")"}} +A.y9.prototype={ +sxu(a){var s=this.B +if(s==a)return +this.B=a +this.IO(a,s)}, +sPK(a){var s=this.a_ +if(s==a)return +this.a_=a +this.IO(a,s)}, +IO(a,b){var s=this,r=a==null +if(r)s.am() +else if(b==null||A.r(a)!==A.r(b)||a.hZ(b))s.am() +if(s.y!=null){if(b!=null)b.J(0,s.geg()) +if(!r)a.a0(0,s.geg())}if(r){if(s.y!=null)s.aY()}else if(b==null||A.r(a)!==A.r(b)||a.Gp(b))s.aY()}, +smg(a){if(this.ak.k(0,a))return +this.ak=a +this.a5()}, +aS(a){var s +if(this.C$==null){s=this.ak.a +return isFinite(s)?s:0}return this.z1(a)}, +aR(a){var s +if(this.C$==null){s=this.ak.b +return isFinite(s)?s:0}return this.z0(a)}, +ah(a){var s,r=this +r.p9(a) +s=r.B +if(s!=null)s.a0(0,r.geg()) +s=r.a_ +if(s!=null)s.a0(0,r.geg())}, +ab(a){var s=this,r=s.B +if(r!=null)r.J(0,s.geg()) +r=s.a_ +if(r!=null)r.J(0,s.geg()) +s.mW(0)}, +cV(a,b){var s=this.a_ +if(s!=null){s=s.E4(b) +s=s===!0}else s=!1 +if(s)return!0 +return this.u1(a,b)}, +iv(a){var s=this.B +return s!=null}, +bb(){this.u2() +this.aY()}, +qv(a){return a.b0(this.ak)}, +KZ(a,b,c){A.bj("debugPreviousCanvasSaveCount") +a.c5(0) +if(!b.k(0,B.h))a.aq(0,b.a,b.b) +c.aE(a,this.gv(0)) +a.bG(0)}, +aE(a,b){var s,r,q=this +if(q.B!=null){s=a.gbO(0) +r=q.B +r.toString +q.KZ(s,b,r) +q.M2(a)}q.fP(a,b) +if(q.a_!=null){s=a.gbO(0) +r=q.a_ +r.toString +q.KZ(s,b,r) +q.M2(a)}}, +M2(a){}, +dO(a){var s,r=this +r.fb(a) +r.b8=null +s=r.a_ +r.cT=s==null?null:s.gGc() +a.a=!1}, +qi(a,b,c){var s,r,q,p,o=this +o.eW=A.arC(o.eW,B.lL) +o.fu=A.arC(o.fu,B.lL) +s=o.eW +r=s!=null&&!s.gM(s) +s=o.fu +q=s!=null&&!s.gM(s) +s=A.b([],t.QF) +if(r){p=o.eW +p.toString +B.b.L(s,p)}B.b.L(s,c) +if(q){p=o.fu +p.toString +B.b.L(s,p)}o.Hd(a,b,s)}, +lH(){this.z_() +this.fu=this.eW=null}} +A.Xa.prototype={} +A.yb.prototype={ +XV(a){var s,r,q,p,o=this +try{r=o.E +if(r!==""){q=$.awm() +s=$.ap().w1(q) +s.xD($.awn()) +s.q8(r) +r=s.bs() +o.Z!==$&&A.bx() +o.Z=r}else{o.Z!==$&&A.bx() +o.Z=null}}catch(p){}}, +aS(a){return 1e5}, +aR(a){return 1e5}, +gj1(){return!0}, +iv(a){return!0}, +bP(a){return a.b0(B.Ku)}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j=this +try{p=a.gbO(0) +o=j.gv(0) +n=b.a +m=b.b +l=$.ap().bg() +l.sae(0,$.awl()) +p.cP(new A.x(n,m,n+o.a,m+o.b),l) +p=j.Z +p===$&&A.a() +if(p!=null){s=j.gv(0).a +r=0 +q=0 +if(s>328){s-=128 +r+=64}p.hh(new A.ly(s)) +o=j.gv(0) +if(o.b>96+p.gb3(p)+12)q+=96 +o=a.gbO(0) +o.ku(p,b.a6(0,new A.n(r,q)))}}catch(k){}}} +A.afC.prototype={} +A.Z7.prototype={ +F(){return"FlexFit."+this.b}} +A.dK.prototype={ +j(a){return this.yP(0)+"; flex="+A.h(this.e)+"; fit="+A.h(this.f)}} +A.Hh.prototype={ +F(){return"MainAxisSize."+this.b}} +A.lt.prototype={ +F(){return"MainAxisAlignment."+this.b}, +ps(a,b,c){var s,r,q,p=this +$label0$0:{if(B.U===p){s=c?new A.av(a,0):B.Ii +break $label0$0}if(B.qG===p){s=B.U.ps(a,b,!c) +break $label0$0}r=B.Gf===p +if(r&&b<2){s=B.U.ps(a,b,c) +break $label0$0}q=B.Gg===p +if(q&&b===0){s=B.U.ps(a,b,c) +break $label0$0}if(B.dD===p){s=new A.av(a/2,0) +break $label0$0}if(r){s=new A.av(0,a/(b-1)) +break $label0$0}if(q){s=a/b +s=new A.av(s/2,s) +break $label0$0}if(B.qH===p){s=a/(b+1) +s=new A.av(s,s) +break $label0$0}s=null}return s}} +A.mX.prototype={ +F(){return"CrossAxisAlignment."+this.b}, +Aj(a,b){var s,r=this +$label0$0:{if(B.eq===r||B.er===r){s=0 +break $label0$0}if(B.bb===r){s=b?a:0 +break $label0$0}if(B.N===r){s=a/2 +break $label0$0}if(B.d8===r){s=B.bb.Aj(a,!b) +break $label0$0}s=null}return s}} +A.oa.prototype={ +dX(a){if(!(a.b instanceof A.dK))a.b=new A.dK(null,null,B.h)}, +Jv(a,b,c){var s,r,q,p,o,n,m,l=this,k=l.E +if(k===c){s=l.T$ +k=A.o(l).h("ab.1") +r=t.US +q=0 +p=0 +o=0 +while(s!=null){n=s.b +n.toString +m=r.a(n).e +if(m==null)m=0 +q+=m +if(m>0)o=Math.max(o,a.$2(s,b)/m) +else p+=a.$2(s,b) +n=s.b +n.toString +s=k.a(n).a2$}return o*q+p}else{switch(k.a){case 0:k=!0 +break +case 1:k=!1 +break +default:k=null}r=k?new A.aq(0,b,0,1/0):new A.aq(0,1/0,0,b) +return l.uh(r,A.tX(),new A.a71(k,a)).a.b}}, +aS(a){return this.Jv(new A.a74(),a,B.aJ)}, +aR(a){return this.Jv(new A.a73(),a,B.ap)}, +h3(a){var s +switch(this.E.a){case 0:s=this.CZ(a) +break +case 1:s=this.ON(a) +break +default:s=null}return s}, +gKv(){var s,r=this.aj +$label0$1:{s=!1 +if(B.er===r){switch(this.E.a){case 0:s=!0 +break +case 1:break +default:s=null}break $label0$1}if(B.bb===r||B.N===r||B.d8===r||B.eq===r)break $label0$1 +s=null}return s}, +a03(a){var s +switch(this.E.a){case 0:s=a.b +break +case 1:s=a.a +break +default:s=null}return s}, +Jx(a){var s +switch(this.E.a){case 0:s=a.a +break +case 1:s=a.b +break +default:s=null}return s}, +gJe(){var s,r=this,q=!1 +if(r.T$!=null)switch(r.E.a){case 0:s=r.au +$label0$1:{if(s==null||B.p===s)break $label0$1 +if(B.P===s){q=!0 +break $label0$1}q=null}break +case 1:switch(r.S.a){case 1:break +case 0:q=!0 +break +default:q=null}break +default:q=null}return q}, +gJd(){var s,r=this,q=!1 +if(r.T$!=null)switch(r.E.a){case 1:s=r.au +$label0$1:{if(s==null||B.p===s)break $label0$1 +if(B.P===s){q=!0 +break $label0$1}q=null}break +case 0:switch(r.S.a){case 1:break +case 0:q=!0 +break +default:q=null}break +default:q=null}return q}, +Iy(a){var s,r,q=null,p=this.aj +$label0$0:{if(B.eq===p){s=!0 +break $label0$0}if(B.bb===p||B.N===p||B.d8===p||B.er===p){s=!1 +break $label0$0}s=q}switch(this.E.a){case 0:r=a.d +s=s?A.em(r,q):new A.aq(0,1/0,0,r) +break +case 1:r=a.b +s=s?A.em(q,r):new A.aq(0,r,0,1/0) +break +default:s=q}return s}, +Ix(a,b,c){var s,r,q=a.b +q.toString +q=t.US.a(q).f +switch((q==null?B.hO:q).a){case 0:q=c +break +case 1:q=0 +break +default:q=null}s=this.aj +$label0$1:{if(B.eq===s){r=!0 +break $label0$1}if(B.bb===s||B.N===s||B.d8===s||B.er===s){r=!1 +break $label0$1}r=null}switch(this.E.a){case 0:r=r?b.d:0 +r=new A.aq(q,c,r,b.d) +q=r +break +case 1:r=r?b.b:0 +q=new A.aq(r,b.b,q,c) +break +default:q=null}return q}, +d6(a5,a6){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=this,a3=null,a4=a2.uh(a5,A.tX(),A.jh()) +if(a2.gKv())return a4.c +s=new A.a72(a2,a4,a5,a2.Iy(a5)) +r=a3 +switch(a2.E.a){case 1:q=a4.b +p=Math.max(0,q) +o=a2.gJe() +n=a2.Z.ps(p,a2.dh$,o) +m=n.a +l=a3 +k=n.b +l=k +j=m +i=o?j+(a2.dh$-1)*l+(a4.a.a-q):j +h=o?-1:1 +g=a2.T$ +q=A.o(a2).h("ab.1") +while(!0){if(!(r==null&&g!=null))break +f=s.$1(g) +e=g.gbE() +d=g.fx +c=B.y.eY(d,f,e) +b=B.cj.eY(d,new A.av(f,a6),g.gpk()) +a=o?-c.b:0 +a2=b==null?a3:b+i +a2=a2==null?a3:a2+a +i+=h*(l+c.b) +e=g.b +e.toString +g=q.a(e).a2$ +r=a2}break +case 0:a0=a2.gJd() +g=a2.T$ +q=A.o(a2).h("ab.1") +e=a4.a.b +while(g!=null){f=s.$1(g) +d=g.gpk() +a1=g.fx +c=B.cj.eY(a1,new A.av(f,a6),d) +b=B.y.eY(a1,f,g.gbE()) +d=a2.aj.Aj(e-b.b,a0) +r=A.pt(r,c==null?a3:c+d) +d=g.b +d.toString +g=q.a(d).a2$}break}return r}, +bP(a){return A.acC(this.uh(a,A.tX(),A.jh()).a,this.E)}, +uh(a3,a4,a5){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b=this,a=null,a0=b.Jx(new A.K(A.M(1/0,a3.a,a3.b),A.M(1/0,a3.c,a3.d))),a1=isFinite(a0),a2=b.Iy(a3) +if(b.gKv())A.aa(A.jz('To use CrossAxisAlignment.baseline, you must also specify which baseline to use using the "textBaseline" argument.')) +s=b.T$ +r=A.o(b).h("ab.1") +q=t.US +p=a +o=p +n=0 +m=B.O +while(s!=null){if(a1){l=s.b +l.toString +k=q.a(l).e +if(k==null)k=0 +l=k>0}else{k=a +l=!1}if(l){n+=k +if(o==null)o=s}else{j=A.acC(a5.$2(s,a2),b.E) +j=new A.K(m.a+j.a,Math.max(m.b,j.b)) +p=A.asL(p,a) +m=j}l=s.b +l.toString +s=r.a(l).a2$}i=Math.max(0,a0-m.a)/n +s=o +while(!0){if(!(s!=null&&n>0))break +c$0:{l=s.b +l.toString +k=q.a(l).e +if(k==null)k=0 +if(k===0)break c$0 +n-=k +j=A.acC(a5.$2(s,b.Ix(s,a3,i*k)),b.E) +j=new A.K(m.a+j.a,Math.max(m.b,j.b)) +p=A.asL(p,a) +m=j}l=s.b +l.toString +s=r.a(l).a2$}$label0$1:{r=p==null +if(r){q=B.O +break $label0$1}h=a +g=a +f=p.a +h=p.b +g=f +j=new A.K(0,g+A.bA(h)) +q=j +break $label0$1 +q=a}m=A.aEX(m,q) +e=b.a3 +$label1$2:{d=B.at===e +if(d&&a1){q=a0 +break $label1$2}if(d||B.f0===e){q=m.a +break $label1$2}q=a}c=A.aEY(new A.K(q,m.b),a3,b.E) +r=r?a:p.a +q=o==null?a:i +return new A.afC(c,c.a-m.a,r,q)}, +bb(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=this,a4=null,a5="Pattern matching error",a6="RenderBox was not laid out: ",a7=a3.uh(t.k.a(A.G.prototype.gN.call(a3)),A.av3(),A.pb()),a8=a7.a,a9=a8.b +a3.id=A.acC(a8,a3.E) +a8=a7.b +a3.af=Math.max(0,-a8) +s=Math.max(0,a8) +r=a3.gJe() +q=a3.gJd() +p=a3.Z.ps(s,a3.dh$,r) +o=p.a +n=a4 +m=p.b +n=m +l=o +k=r?new A.av(a3.gvL(),a3.cg$):new A.av(a3.gvK(),a3.T$) +j=k.a +a8=t.xP.b(j) +i=a4 +if(a8){h=k.b +i=h +g=j}else g=a4 +if(!a8)throw A.c(A.R(a5)) +f=a7.c +for(a8=t.US,e=f!=null,d=i,c=l;d!=null;d=g.$1(d)){if(e){b=a3.O +b.toString +a=d.FQ(b,!0) +a0=a!=null}else{a=a4 +a0=!1}if(a0){a.toString +a1=f-a}else{b=a3.aj +a2=d.id +a1=b.Aj(a9-a3.a03(a2==null?A.aa(A.R(a6+A.r(d).j(0)+"#"+A.b9(d))):a2),q)}b=d.b +b.toString +a8.a(b) +switch(a3.E.a){case 0:a2=new A.n(c,a1) +break +case 1:a2=new A.n(a1,c) +break +default:a2=a4}b.a=a2 +a2=d.id +c+=a3.Jx(a2==null?A.aa(A.R(a6+A.r(d).j(0)+"#"+A.b9(d))):a2)+n}}, +cV(a,b){return this.qG(a,b)}, +aE(a,b){var s,r,q,p=this +if(!(p.af>1e-10)){p.lR(a,b) +return}if(p.gv(0).gM(0))return +s=p.bW +r=p.cx +r===$&&A.a() +q=p.gv(0) +s.saN(0,a.kY(r,b,new A.x(0,0,0+q.a,0+q.b),p.gOO(),p.av,s.a))}, +l(){this.bW.saN(0,null) +this.WB()}, +lT(a){var s +switch(this.av.a){case 0:return null +case 1:case 2:case 3:if(this.af>1e-10){s=this.gv(0) +s=new A.x(0,0,0+s.a,0+s.b)}else s=null +return s}}, +cf(){return this.Vp()}} +A.a71.prototype={ +$2(a,b){var s,r,q=this.a,p=q?b.b:b.d +if(isFinite(p))s=p +else s=q?a.az(B.ac,1/0,a.gbk()):a.az(B.ax,1/0,a.gbt()) +r=this.b +return q?new A.K(s,r.$2(a,s)):new A.K(r.$2(a,s),s)}, +$S:53} +A.a74.prototype={ +$2(a,b){return a.az(B.ac,b,a.gbk())}, +$S:144} +A.a73.prototype={ +$2(a,b){return a.az(B.ax,b,a.gbt())}, +$S:144} +A.a72.prototype={ +$1(a){var s,r,q=this,p=q.b.d +if(p!=null){s=A.aDh(a) +r=s>0}else{s=null +r=!1}return r?q.a.Ix(a,q.c,s*p):q.d}, +$S:280} +A.Qk.prototype={ +ah(a){var s,r,q +this.eq(a) +s=this.T$ +for(r=t.US;s!=null;){s.ah(a) +q=s.b +q.toString +s=r.a(q).a2$}}, +ab(a){var s,r,q +this.e_(0) +s=this.T$ +for(r=t.US;s!=null;){s.ab(0) +q=s.b +q.toString +s=r.a(q).a2$}}} +A.Ql.prototype={} +A.BD.prototype={ +l(){var s,r,q +for(s=this.Pt$,r=s.length,q=0;q>")) +this.fv(new A.E0(s,c.h("E0<0>")),b,!0,c) +return s.length===0?null:B.b.gH(s).a}, +Yf(a){var s,r=this +if(!r.w&&r.x!=null){s=r.x +s.toString +a.ND(s) +return}r.h_(a) +r.w=!1}, +cf(){var s=this.Ux() +return s+(this.y==null?" DETACHED":"")}} +A.H1.prototype={ +saN(a,b){var s=this.a +if(b==s)return +if(s!=null)if(--s.f===0)s.l() +this.a=b +if(b!=null)++b.f}, +j(a){var s=this.a +return"LayerHandle("+(s!=null?s.j(0):"DISPOSED")+")"}} +A.a5V.prototype={ +sR6(a){var s +this.eD() +s=this.ay +if(s!=null)s.l() +this.ay=a}, +l(){this.sR6(null) +this.GQ()}, +h_(a){var s=this.ay +s.toString +a.NB(B.h,s,this.ch,this.CW)}, +fv(a,b,c){return!1}} +A.abj.prototype={ +h_(a){var s=this.ax,r=s.a,q=s.b +a.NF(this.ay,this.CW,!1,s.d-q,new A.n(r,q),s.c-r)}, +fv(a,b,c){return!1}} +A.a64.prototype={ +u4(){return!1}, +h_(a){var s=this.ax,r=s.a,q=s.b +a.NC(this.ay,s.d-q,new A.n(r,q),s.c-r)}} +A.F2.prototype={ +pr(a){var s +this.UM(a) +if(!a)return +s=this.ax +for(;s!=null;){s.pr(!0) +s=s.Q}}, +u4(){for(var s=this.ay;s!=null;s=s.as)if(!s.u4())return!1 +return!0}, +O3(a){var s=this +s.y4() +s.h_(a) +if(s.b>0)s.pr(!0) +s.w=!1 +return a.bs()}, +l(){this.Fk() +this.a.I(0) +this.GQ()}, +y4(){var s,r=this +r.UP() +s=r.ax +for(;s!=null;){s.y4() +r.w=r.w||s.w +s=s.Q}}, +fv(a,b,c,d){var s,r,q +for(s=this.ay,r=a.a;s!=null;s=s.as){if(s.fv(a,b,!0,d))return!0 +q=r.length +if(q!==0)return!1}return!1}, +ah(a){var s +this.UN(a) +s=this.ax +for(;s!=null;){s.ah(a) +s=s.Q}}, +ab(a){var s +this.UO(0) +s=this.ax +for(;s!=null;){s.ab(0) +s=s.Q}this.pr(!1)}, +qb(a,b){var s,r=this +r.eD() +s=b.b +if(s!==0)r.BT(s) +b.r=r +s=r.y +if(s!=null)b.ah(s) +r.ml(b) +s=b.as=r.ay +if(s!=null)s.Q=b +r.ay=b +if(r.ax==null)r.ax=b +b.e.saN(0,b)}, +f1(){var s,r,q=this.ax +for(;q!=null;){s=q.z +r=this.z +if(s<=r){q.z=r+1 +q.f1()}q=q.Q}}, +ml(a){var s=a.z,r=this.z +if(s<=r){a.z=r+1 +a.f1()}}, +KA(a){var s +this.eD() +s=a.b +if(s!==0)this.BT(-s) +a.r=null +if(this.y!=null)a.ab(0)}, +Fk(){var s,r=this,q=r.ax +for(;q!=null;q=s){s=q.Q +q.Q=q.as=null +r.KA(q) +q.e.saN(0,null)}r.ay=r.ax=null}, +h_(a){this.ki(a)}, +ki(a){var s=this.ax +for(;s!=null;){s.Yf(a) +s=s.Q}}} +A.iK.prototype={ +skR(a,b){if(!b.k(0,this.k3))this.eD() +this.k3=b}, +fv(a,b,c,d){return this.oZ(a,b.ac(0,this.k3),!0,d)}, +h_(a){var s=this,r=s.k3 +s.sim(a.Fc(r.a,r.b,t.Ff.a(s.x))) +s.ki(a) +a.fG()}, +aeE(a,b){var s,r=$.ap().CP(),q=A.a48(b,b,1),p=a.a,o=this.k3,n=a.b +q.aq(0,-(p+o.a),-(n+o.b)) +r.Ro(q.a) +s=this.O3(r) +try{p=s.td(B.c.d4(b*(a.c-p)),B.c.d4(b*(a.d-n))) +return p}finally{s.l()}}} +A.uR.prototype={ +fv(a,b,c,d){if(!this.k3.p(0,b))return!1 +return this.oZ(a,b,!0,d)}, +h_(a){var s=this,r=s.k3 +r.toString +s.sim(a.Rj(r,s.k4,t.e4.a(s.x))) +s.ki(a) +a.fG()}} +A.ES.prototype={ +fv(a,b,c,d){if(!this.k3.p(0,b))return!1 +return this.oZ(a,b,!0,d)}, +h_(a){var s=this,r=s.k3 +r.toString +s.sim(a.Ri(r,s.k4,t.cW.a(s.x))) +s.ki(a) +a.fG()}} +A.EQ.prototype={ +fv(a,b,c,d){if(!this.k3.p(0,b))return!1 +return this.oZ(a,b,!0,d)}, +h_(a){var s=this,r=s.k3 +r.toString +s.sim(a.Rg(r,s.k4,t.L5.a(s.x))) +s.ki(a) +a.fG()}} +A.wm.prototype={ +h_(a){var s=this +s.sim(a.Rk(s.aV,s.k3,t.C6.a(s.x))) +s.ki(a) +a.fG()}} +A.m_.prototype={ +sbD(a,b){var s=this +if(b.k(0,s.aV))return +s.aV=b +s.b2=!0 +s.eD()}, +h_(a){var s,r,q=this +q.bz=q.aV +if(!q.k3.k(0,B.h)){s=q.k3 +s=A.a49(s.a,s.b,0) +r=q.bz +r.toString +s.cq(0,r) +q.bz=s}q.sim(a.xE(q.bz.a,t.qf.a(q.x))) +q.ki(a) +a.fG()}, +a6t(a){var s,r=this +if(r.b2){s=r.aV +s.toString +r.a4=A.Ho(A.ame(s)) +r.b2=!1}s=r.a4 +if(s==null)return null +return A.bH(s,a)}, +fv(a,b,c,d){var s=this.a6t(b) +if(s==null)return!1 +return this.UZ(a,s,!0,d)}} +A.HZ.prototype={ +sCh(a,b){var s=this,r=s.aV +if(b!=r){if(b===255||r===255)s.sim(null) +s.aV=b +s.eD()}}, +h_(a){var s,r,q,p=this +if(p.ax==null){p.sim(null) +return}s=p.aV +s.toString +r=p.k3 +q=p.x +if(s<255)p.sim(a.Rl(s,r,t.Zr.a(q))) +else p.sim(a.Fc(r.a,r.b,t.Ff.a(q))) +p.ki(a) +a.fG()}} +A.E_.prototype={ +fv(a,b,c,d){var s,r,q=this,p=q.oZ(a,b,!0,d),o=a.a,n=o.length +if(n!==0)return p +n=q.k4 +if(n!=null){s=q.ok +r=s.a +s=s.b +n=!new A.x(r,s,r+n.a,s+n.b).p(0,b)}else n=!1 +if(n)return p +if(A.bU(q.$ti.c)===A.bU(d))o.push(new A.uh(d.a(q.k3),b.ac(0,q.ok),d.h("uh<0>"))) +return p}} +A.Ok.prototype={} +A.iG.prototype={} +A.yg.prototype={ +dX(a){if(!(a.b instanceof A.iG))a.b=new A.iG(null,null,B.h)}, +sew(a){if(this.E===a)return +this.E=a +this.a5()}, +d6(a,b){var s,r,q,p,o,n,m,l,k=this,j=null +switch(k.E.a){case 1:case 3:s=A.em(a.gEu(a),j) +r=k.T$ +q=A.o(k).h("ab.1") +p=j +while(r!=null){o=r.gpk() +n=B.cj.eY(r.fx,new A.av(s,b),o) +p=A.pt(p,n) +o=r.b +o.toString +r=q.a(o).a2$}return p +case 0:r=k.cg$ +m=k.gvL() +break +case 2:r=k.T$ +m=k.gvK() +break +default:m=j +r=m}s=A.em(j,a.grG(a)) +for(l=0;r!=null;r=m.$1(r)){q=r.gpk() +o=r.fx +n=B.cj.eY(o,new A.av(s,b),q) +if(n!=null)return n+l +n=B.y.eY(o,s,r.gbE()) +l+=n.b}return j}, +bP(a){var s,r,q,p,o,n,m=this,l=m.T$ +switch(m.E.a){case 1:case 3:s=a.d +r=A.em(s,null) +for(q=A.o(m).h("ab.1"),p=0;l!=null;){o=l.gbE() +n=B.y.eY(l.fx,r,o) +p+=n.a +o=l.b +o.toString +l=q.a(o).a2$}return a.b0(new A.K(p,s)) +case 0:case 2:s=a.b +r=A.em(null,s) +for(q=A.o(m).h("ab.1"),p=0;l!=null;){o=l.gbE() +n=B.y.eY(l.fx,r,o) +p+=n.b +o=l.b +o.toString +l=q.a(o).a2$}return a.b0(new A.K(s,p))}}, +bb(){var s,r,q,p,o,n,m,l=this,k=null,j="RenderBox was not laid out: ",i=t.k.a(A.G.prototype.gN.call(l)),h=l.T$ +switch(l.E.a){case 1:s=i.d +r=A.em(s,k) +for(q=t.U9,p=0;h!=null;){h.bU(r,!0) +o=h.b +o.toString +q.a(o) +o.a=new A.n(p,0) +n=h.id +p+=(n==null?A.aa(A.R(j+A.r(h).j(0)+"#"+A.b9(h))):n).a +h=o.a2$}l.id=i.b0(new A.K(p,s)) +break +case 3:s=i.d +r=A.em(s,k) +for(q=t.U9,p=0;h!=null;){h.bU(r,!0) +o=h.b +o.toString +q.a(o) +n=h.id +p+=(n==null?A.aa(A.R(j+A.r(h).j(0)+"#"+A.b9(h))):n).a +h=o.a2$}h=l.T$ +for(m=0;h!=null;){o=h.b +o.toString +q.a(o) +n=h.id +m+=(n==null?A.aa(A.R(j+A.r(h).j(0)+"#"+A.b9(h))):n).a +o.a=new A.n(p-m,0) +h=o.a2$}l.id=i.b0(new A.K(p,s)) +break +case 2:s=i.b +r=A.em(k,s) +for(q=t.U9,p=0;h!=null;){h.bU(r,!0) +o=h.b +o.toString +q.a(o) +o.a=new A.n(0,p) +n=h.id +p+=(n==null?A.aa(A.R(j+A.r(h).j(0)+"#"+A.b9(h))):n).b +h=o.a2$}l.id=i.b0(new A.K(s,p)) +break +case 0:s=i.b +r=A.em(k,s) +for(q=t.U9,p=0;h!=null;){h.bU(r,!0) +o=h.b +o.toString +q.a(o) +n=h.id +p+=(n==null?A.aa(A.R(j+A.r(h).j(0)+"#"+A.b9(h))):n).b +h=o.a2$}h=l.T$ +for(m=0;h!=null;){o=h.b +o.toString +q.a(o) +n=h.id +m+=(n==null?A.aa(A.R(j+A.r(h).j(0)+"#"+A.b9(h))):n).b +o.a=new A.n(0,p-m) +h=o.a2$}l.id=i.b0(new A.K(s,p)) +break}}, +Jt(a){var s,r,q,p=this.T$ +for(s=t.U9,r=0;p!=null;){r=Math.max(r,A.fV(a.$1(p))) +q=p.b +q.toString +p=s.a(q).a2$}return r}, +Ju(a){var s,r,q,p=this.T$ +for(s=t.U9,r=0;p!=null;){r+=a.$1(p) +q=p.b +q.toString +p=s.a(q).a2$}return r}, +aS(a){var s +switch(A.aX(this.E).a){case 0:s=this.Ju(new A.a7a(a)) +break +case 1:s=this.Jt(new A.a7b(a)) +break +default:s=null}return s}, +aR(a){var s +switch(A.aX(this.E).a){case 0:s=this.Ju(new A.a78(a)) +break +case 1:s=this.Jt(new A.a79(a)) +break +default:s=null}return s}, +h3(a){return this.ON(a)}, +aE(a,b){this.lR(a,b)}, +cV(a,b){return this.qG(a,b)}} +A.a7a.prototype={ +$1(a){return a.az(B.ac,this.a,a.gbk())}, +$S:29} +A.a7b.prototype={ +$1(a){return a.az(B.ac,this.a,a.gbk())}, +$S:29} +A.a78.prototype={ +$1(a){return a.az(B.ax,this.a,a.gbt())}, +$S:29} +A.a79.prototype={ +$1(a){return a.az(B.ax,this.a,a.gbt())}, +$S:29} +A.Qm.prototype={ +ah(a){var s,r,q +this.eq(a) +s=this.T$ +for(r=t.U9;s!=null;){s.ah(a) +q=s.b +q.toString +s=r.a(q).a2$}}, +ab(a){var s,r,q +this.e_(0) +s=this.T$ +for(r=t.U9;s!=null;){s.ab(0) +q=s.b +q.toString +s=r.a(q).a2$}}} +A.Qn.prototype={} +A.ON.prototype={ +aee(a){var s=this.a +this.a=a +return s}, +j(a){var s="#",r=A.b9(this.b),q=this.a.a +return s+A.b9(this)+"("+("latestEvent: "+(s+r))+", "+("annotations: [list of "+q+"]")+")"}} +A.OO.prototype={ +ghE(a){var s=this.c +return s.ghE(s)}} +A.HB.prototype={ +Kb(a){var s,r,q,p,o,n,m=t._h,l=A.jL(m,t.xV) +for(s=a.a,r=s.length,q=0;q") +this.b.aav(a.ghE(0),a.d,A.Hj(new A.aZ(s,r),new A.a4N(),r.h("j.E"),t.Pb))}, +aeY(a,b){var s,r,q,p,o,n=this,m={} +if(a.gck(a)!==B.cF&&a.gck(a)!==B.f9)return +if(t.ks.b(a))return +m.a=null +if(t.PB.b(a))m.a=A.alP() +else{s=a.goK() +m.a=b==null?n.a.$2(a.gbR(a),s):b}r=a.ghE(a) +q=n.c +p=q.i(0,r) +if(!A.aCf(p,a))return +o=q.a +new A.a4Q(m,n,p,a,r).$0() +if(o!==0!==(q.a!==0))n.ap()}, +aeS(){new A.a4O(this).$0()}} +A.a4N.prototype={ +$1(a){return a.gnE(a)}, +$S:282} +A.a4Q.prototype={ +$0(){var s=this +new A.a4P(s.a,s.b,s.c,s.d,s.e).$0()}, +$S:0} +A.a4P.prototype={ +$0(){var s,r,q,p,o,n=this,m=n.c +if(m==null){s=n.d +if(t.PB.b(s))return +n.b.c.n(0,n.e,new A.ON(A.jL(t._h,t.xV),s))}else{s=n.d +if(t.PB.b(s))n.b.c.A(0,s.ghE(s))}r=n.b +q=r.c.i(0,n.e) +if(q==null){m.toString +q=m}p=q.b +q.b=s +o=t.PB.b(s)?A.jL(t._h,t.xV):r.Kb(n.a.a) +r.JR(new A.OO(q.aee(o),o,p,s))}, +$S:0} +A.a4O.prototype={ +$0(){var s,r,q,p,o,n,m +for(s=this.a,r=s.c.gaF(0),q=A.o(r),r=new A.br(J.ak(r.a),r.b,q.h("br<1,2>")),q=q.y[1];r.t();){p=r.a +if(p==null)p=q.a(p) +o=p.b +n=s.a_I(p) +m=p.a +p.a=n +s.JR(new A.OO(m,n,o,null))}}, +$S:0} +A.a4L.prototype={ +$2(a,b){var s +if(a.gy5()&&!this.a.a9(0,a)){s=a.gEM(a) +if(s!=null)s.$1(this.b.aO(this.c.i(0,a)))}}, +$S:283} +A.a4M.prototype={ +$1(a){return!this.a.a9(0,a)}, +$S:284} +A.SY.prototype={} +A.c9.prototype={ +ab(a){}, +j(a){return""}} +A.jV.prototype={ +fE(a,b){var s,r=this +if(a.gdj()){r.lf() +if(!a.cy){s=a.ay +s===$&&A.a() +s=!s}else s=!0 +if(s)A.arc(a,!0) +else if(a.db)A.aCv(a) +s=a.ch.a +s.toString +t.gY.a(s) +s.skR(0,b) +s.hY(0) +r.a.qb(0,s)}else{s=a.ay +s===$&&A.a() +if(s){a.ch.saN(0,null) +a.B8(r,b)}else a.B8(r,b)}}, +gbO(a){var s +if(this.e==null)this.Bt() +s=this.e +s.toString +return s}, +Bt(){var s,r,q=this +q.c=new A.a5V(q.b,A.E(t.S,t.M),A.ai()) +$.iP.toString +s=$.ap() +r=s.OH() +q.d=r +$.iP.toString +q.e=s.OB(r,null) +r=q.c +r.toString +q.a.qb(0,r)}, +lf(){var s,r=this +if(r.e==null)return +s=r.c +s.toString +s.sR6(r.d.lY()) +r.e=r.d=r.c=null}, +Gj(){if(this.c==null)this.Bt() +var s=this.c +if(!s.ch){s.ch=!0 +s.eD()}}, +t_(a,b,c,d){var s +if(a.ax!=null)a.Fk() +this.lf() +a.hY(0) +this.a.qb(0,a) +s=new A.jV(a,d==null?this.b:d) +b.$2(s,c) +s.lf()}, +Fb(a,b,c){return this.t_(a,b,c,null)}, +kY(a,b,c,d,e,f){var s,r,q=this +if(e===B.z){d.$2(q,b) +return null}s=c.cX(b) +if(a){r=f==null?new A.uR(B.Z,A.E(t.S,t.M),A.ai()):f +if(!s.k(0,r.k3)){r.k3=s +r.eD()}if(e!==r.k4){r.k4=e +r.eD()}q.t_(r,d,b,s) +return r}else{q.a8k(s,e,s,new A.a5J(q,d,b)) +return null}}, +adE(a,b,c,d,e,f,g){var s,r,q,p=this +if(f===B.z){e.$2(p,b) +return null}s=c.cX(b) +r=d.cX(b) +if(a){q=g==null?new A.ES(B.kC,A.E(t.S,t.M),A.ai()):g +if(!r.k(0,q.k3)){q.k3=r +q.eD()}if(f!==q.k4){q.k4=f +q.eD()}p.t_(q,e,b,s) +return q}else{p.a8j(r,f,s,new A.a5I(p,e,b)) +return null}}, +Rh(a,b,c,d,e,f,g){var s,r,q,p=this +if(f===B.z){e.$2(p,b) +return null}s=c.cX(b) +r=d.cX(b) +if(a){q=g==null?new A.EQ(B.kC,A.E(t.S,t.M),A.ai()):g +if(r!==q.k3){q.k3=r +q.eD()}if(f!==q.k4){q.k4=f +q.eD()}p.t_(q,e,b,s) +return q}else{p.a8h(r,f,s,new A.a5H(p,e,b)) +return null}}, +xF(a,b,c,d,e){var s,r=this,q=b.a,p=b.b,o=A.a49(q,p,0) +o.cq(0,c) +o.aq(0,-q,-p) +if(a){s=e==null?A.asp(null):e +s.sbD(0,o) +r.t_(s,d,b,A.aqR(o,r.b)) +return s}else{q=r.gbO(0) +q.c5(0) +q.a8(0,o.a) +d.$2(r,b) +r.gbO(0).bG(0) +return null}}, +Rm(a,b,c,d){var s=d==null?A.am9():d +s.sCh(0,b) +s.skR(0,a) +this.Fb(s,c,B.h) +return s}, +j(a){return"PaintingContext#"+A.fL(this)+"(layer: "+this.a.j(0)+", canvas bounds: "+this.b.j(0)+")"}} +A.a5J.prototype={ +$0(){return this.b.$2(this.a,this.c)}, +$S:0} +A.a5I.prototype={ +$0(){return this.b.$2(this.a,this.c)}, +$S:0} +A.a5H.prototype={ +$0(){return this.b.$2(this.a,this.c)}, +$S:0} +A.WR.prototype={} +A.jW.prototype={ +oy(){var s=this.cx +if(s!=null)s.a.Ds()}, +sFo(a){var s=this.e +if(s==a)return +if(s!=null)s.ab(0) +this.e=a +if(a!=null)a.ah(this)}, +PF(){var s,r,q,p,o,n,m,l,k,j,i,h=this +try{for(o=t.TT;n=h.r,n.length!==0;){s=n +h.r=A.b([],o) +J.aoK(s,new A.a5X()) +for(r=0;r")) +i.u8(m,l,k,j.c) +B.b.L(n,i) +break}}q=J.ah(s,r) +if(q.z&&q.y===h)q.a2Z()}h.f=!1}for(o=h.CW,o=A.dm(o,o.r,A.o(o).c),n=o.$ti.c;o.t();){m=o.d +p=m==null?n.a(m):m +p.PF()}}finally{h.f=!1}}, +a_s(a){try{a.$0()}finally{this.f=!0}}, +PD(){var s,r,q,p,o=this.z +B.b.en(o,new A.a5W()) +for(s=o.length,r=0;r=m){l=q.d +if(l==null)l=A.aa(A.jz(A.h(a1)+" and "+d.j(0)+b)) +if(o==null){o=A.b([d],s) +k=o}else k=o +k.push(l) +q=l}if(n<=m){j=r.d +if(j==null)j=A.aa(A.jz(A.h(a1)+" and "+d.j(0)+b)) +if(p==null){a1.toString +p=A.b([a1],s) +k=p}else k=p +k.push(j) +r=j}}if(o!=null){i=new A.bi(new Float64Array(16)) +i.dF() +s=o.length +h=a?s-2:s-1 +for(g=h;g>0;g=f){f=g-1 +o[g].cM(o[f],i)}}else i=c +if(p==null){if(i==null){a=new A.bi(new Float64Array(16)) +a.dF()}else a=i +return a}e=new A.bi(new Float64Array(16)) +e.dF() +for(g=p.length-1;g>0;g=f){f=g-1 +p[g].cM(p[f],e)}if(e.dw(e)===0)return new A.bi(new Float64Array(16)) +if(i==null)a=c +else{i.cq(0,e) +a=i}return a==null?e:a}, +lT(a){return null}, +D2(a){return null}, +tK(){this.y.ch.D(0,this) +this.y.oy()}, +dO(a){}, +yw(a){var s,r +if(this.y.at==null)return +s=this.fr +if(s!=null)r=!(s.ch!=null&&s.y) +else r=!1 +if(r)s.Tv(a) +else{s=this.d +if(s!=null)s.yw(a)}}, +gva(){var s,r=this +if(r.dx==null){s=A.lR() +r.dx=s +r.dO(s)}s=r.dx +s.toString +return s}, +lH(){this.dy=!0 +this.fr=null +this.bn(new A.a7h())}, +aY(){var s,r,q,p,o,n=this,m=n.y +if(m==null||m.at==null){n.dx=null +return}if(n.fr!=null){m=n.dx +m=m==null?null:m.a +s=m===!0}else s=!1 +m=n.dx +r=(m==null?null:m.k2)!=null||n.gva().k2!=null +n.dx=null +q=n.gva().a&&s +p=n +while(!0){o=p.d +if(o!=null)m=r||!q +else m=!1 +if(!m)break +if(p!==n&&p.dy)break +p.dy=!0 +if(q)r=!1 +if(o.dx==null){m=A.lR() +o.dx=m +o.dO(m)}q=o.dx.a +if(q&&o.fr==null)return +p=o}if(p!==n&&n.fr!=null&&n.dy)n.y.ch.A(0,n) +if(!p.dy){p.dy=!0 +m=n.y +if(m!=null){m.ch.D(0,p) +n.y.oy()}}}, +a6W(){var s,r,q,p,o,n,m,l=this,k=null +if(l.z)return +s=l.fr +r=s==null +q=k +if(!r){p=s.ch +if(!(p==null))if(!p.Q)q=p.ch!=null&&p.y +else q=!0}s=r?k:s.z +o=t.pp.a(l.JF(s===!0,q===!0)) +s=t.QF +n=A.b([],s) +m=A.b([],s) +s=l.fr +r=s==null +q=r?k:s.f +p=r?k:s.r +s=r?k:s.w +o.nB(s==null?0:s,p,q,n,m)}, +JF(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e={},d=f.gva() +e.a=d.d +e.b=!d.e&&!d.a +s=a||d.b +r=b||d.R8 +q=A.b([],t.q1) +p=d.c||f.d==null +o=d.k2 +n=t.pp +m=A.E(t.ZX,n) +l=t.CZ +k=A.b([],l) +j=A.b([],t.i1) +i=d.a3 +i=i==null?null:i.a!==0 +f.fH(new A.a7c(e,f,r,s,q,k,j,d,i===!0,o,m)) +if(p)for(n=k.length,h=0;h"))) +for(i=g.b,h=0;!1;++h)j.push(i[h].fA(0,new A.a7e(f,m),n).dl(0))}n=f.dy=!1 +if(f.d==null){f.uN(k,!0) +B.b.V(j,f.gKF()) +n=e.a +g=new A.QL(A.b([],l),A.b([f],t.TT),n)}else if(e.b){n=e.a +g=new A.Mm(j,A.b([],l),n)}else{f.uN(k,!0) +B.b.V(j,f.gKF()) +i=e.a +g=new A.p_(b,d,j,A.b([],l),A.b([f],t.TT),i) +if(a?!d.b:n){g.um() +g.f.b=!0}if(d.a)g.z=!0}g.L(0,k) +return g}, +uN(a,b){var s,r,q,p,o,n,m,l=this,k=A.aA(t.pp) +for(s=J.ax(a),r=0;r#"+A.b9(this)}, +j(a){return this.cf()}, +f9(a,b,c,d){var s=this.d +if(s instanceof A.G)s.f9(a,b==null?this:b,c,d)}, +oV(){return this.f9(B.aA,null,B.r,null)}, +mK(a,b){return this.f9(B.aA,a,B.r,b)}, +$ial:1} +A.a7f.prototype={ +$0(){var s=A.b([],t.F),r=this.a +s.push(A.alj("The following RenderObject was being processed when the exception was fired",B.Bb,r)) +s.push(A.alj("RenderObject",B.Bc,r)) +return s}, +$S:23} +A.a7i.prototype={ +$0(){this.b.$1(this.c.a(this.a.gN()))}, +$S:0} +A.a7g.prototype={ +$1(a){var s +a.MU() +s=a.cx +s===$&&A.a() +if(s)this.a.cx=!0}, +$S:36} +A.a7h.prototype={ +$1(a){a.lH()}, +$S:36} +A.a7c.prototype={ +$1(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=a.JF(f.d,f.c) +if(e.a){B.b.I(f.e) +B.b.I(f.f) +B.b.I(f.r) +if(!f.w.a)f.a.a=!0}for(s=e.gQP(),r=s.length,q=f.f,p=f.y!=null,o=f.x,n=f.b,m=f.w,l=f.e,k=f.z,j=0;j1){b=new A.R5() +b.Iw(a3,a4,c)}else b=a2 +c=b.c +c===$&&A.a() +a=b.d +a===$&&A.a() +a0=A.e_(c,a) +e=e==null?a2:e.kx(a0) +if(e==null)e=a0 +c=b.b +if(c!=null){a1=A.e_(b.c,c) +f=f==null?a2:f.cW(a1) +if(f==null)f=a1}c=b.a +if(c!=null){a1=A.e_(b.c,c) +g=g==null?a2:g.cW(a1) +if(g==null)g=a1}d=d.c +if(d!=null)l.L(0,d)}}if(h!=null)j=!(e.a>=e.c||e.b>=e.d) +else j=!1 +if(j){if(i==null||a6.p(0,i.b))i=A.K5(a2,B.b.gH(o).gmJ()) +a6.D(0,i.b) +i.dy=l +if(!i.e.k(0,e)){i.e=e +i.fV()}if(!A.am4(i.d,a2)){i.d=null +i.fV()}i.f=f +i.r=g +for(k=k.gX(m);k.t();){j=k.gG(k) +if(j.gfn()!=null)B.b.gH(j.b).fr=i}i.Sl(0,h) +a5.push(i)}}}, +nB(a,b,a0,a1,a2){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=null,d=A.aA(t.S),c=f.y +for(s=f.x,r=s.length,q=0;q");s.t();){n=s.gG(s) +if(n instanceof A.p_){if(n.z){m=n.b +m=B.b.gH(m).fr!=null&&d.p(0,B.b.gH(m).fr.b)}else m=!1 +if(m)B.b.gH(n.b).fr=null}m=n.b +l=new A.fO(r,1,e,p) +l.u8(r,1,e,o) +B.b.L(m,l) +n.nB(a+f.f.aV,b,a0,a1,a2)}return}s=f.b +k=s.length>1?A.aFD(s,b,a0):e +r=!f.e +if(r){if(k==null)p=e +else{p=k.d +p===$&&A.a() +if(!p.gM(0)){p=k.c +p===$&&A.a() +p=p.Qz()}else p=!0}p=p===!0}else p=!1 +if(p)return +p=B.b.gH(s) +j=p.fr +if(j==null)j=p.fr=A.K5(e,B.b.gH(s).gmJ()) +j.dy=f.c +j.w=a +if(a!==0){f.um() +p=f.f +p.scA(0,p.aV+a)}if(k!=null){p=k.d +p===$&&A.a() +j.saW(0,p) +p=k.c +p===$&&A.a() +j.sbD(0,p) +j.f=k.b +j.r=k.a +if(r&&k.e){f.um() +f.f.be(B.j6,!0)}}r=t.QF +i=A.b([],r) +f.KJ(j.f,j.r,a2,d) +for(p=J.ak(c);p.t();){o=p.gG(p) +if(o instanceof A.p_){if(o.z){n=o.b +n=B.b.gH(n).fr!=null&&d.p(0,B.b.gH(n).fr.b)}else n=!1 +if(n)B.b.gH(o.b).fr=null}h=A.b([],r) +n=j.f +o.nB(0,j.r,n,i,h) +B.b.L(a2,h)}r=f.f +if(r.a)B.b.gH(s).qi(j,f.f,i) +else j.l4(0,i,r) +a1.push(j) +for(s=a2.length,r=t.g3,q=0;q0;){r=c[s];--s +q=c[s] +A.aFE(r,q,g.c) +if(r===q.d)g.Ir(r,q,g.b,g.a) +else{p=A.b([q],e) +o=q.d +while(!0){n=o==null +m=!n +if(!(m&&o.fr==null))break +p.push(o) +o=o.d}if(n)l=f +else{l=o.fr +l=l==null?f:l.r}g.a=l +if(n)n=f +else{n=o.fr +n=n==null?f:n.f}g.b=n +if(m)for(k=p.length-1,j=o;k>=0;--k){g.Ir(j,p[k],g.b,g.a) +j=p[k]}}}i=B.b.gH(c) +e=g.b +e=e==null?f:e.cW(i.gla()) +if(e==null)e=i.gla() +g.d=e +n=g.a +if(n!=null){h=n.cW(e) +e=h.gM(0)&&!g.d.gM(0) +g.e=e +if(!e)g.d=h}}, +Ir(a,b,c,d){var s,r,q,p=$.ax5() +p.dF() +a.cM(b,p) +s=a.lT(b) +r=A.ata(A.at9(s,d),p) +this.a=r +if(r==null)this.b=null +else{q=a.D2(b) +this.b=A.ata(q==null?A.at9(c,s):q,p)}}} +A.Pg.prototype={} +A.Qp.prototype={} +A.lY.prototype={ +ab(a){this.a=this.b=null +this.Xa(0)}, +j(a){var s=A.h(this.b),r=this.a +r=r==null?"not laid out":"offset: "+r.j(0) +return"widget: "+s+", "+r}} +A.a76.prototype={ +dX(a){if(!(a.b instanceof A.lY))a.b=new A.lY(null,null)}, +rC(a,b,c){var s,r=new A.aq(0,a,0,1/0),q=A.b([],t.tZ),p=this.T$,o=A.o(this).h("ab.1") +while(p!=null){q.push(A.aDi(p,r,b,c)) +s=p.b +s.toString +p=o.a(s).a2$}return q}, +adx(a){var s,r,q,p,o,n,m=this.T$ +for(s=a.length,r=t.tq,q=A.o(this).h("ab.1"),p=0;p"),g=new A.fO(e,1,a8,h),g.u8(e,1,a8,i.c),g=new A.bS(g,g.gq(0),h.h("bS")),h=h.h("aI.E");g.t();){i=g.d +if(i==null)i=h.a(i) +d=d.kx(new A.x(i.a,i.b,i.c,i.d)) +c=i.e}i=d.a +h=Math.max(0,i) +g=d.b +f=Math.max(0,g) +i=Math.min(d.c-i,p.a(A.G.prototype.gN.call(a7)).b) +g=Math.min(d.d-g,p.a(A.G.prototype.gN.call(a7)).d) +b=Math.floor(h)-4 +a=Math.floor(f)-4 +i=Math.ceil(h+i)+4 +g=Math.ceil(f+g)+4 +a0=new A.x(b,a,i,g) +a1=A.lR() +a2=n+1 +a1.k3=new A.qv(n,a8) +a1.e=!0 +a1.a4=o +f=k.b +b1=f==null?b1:f +a1.ry=new A.cO(b1,k.f) +$label0$1:{break $label0$1}b1=b2.r +if(b1!=null){a3=b1.cW(a0) +if(a3.a>=a3.c||a3.b>=a3.d)b1=!(b>=i||a>=g) +else b1=!1 +a1.be(B.j6,b1)}b1=a7.C +i=b1==null?a8:b1.a!==0 +if(i===!0){b1.toString +a4=new A.aZ(b1,A.o(b1).h("aZ<1>")).gX(0) +if(!a4.t())A.aa(A.bu()) +b1=b1.A(0,a4.gG(0)) +b1.toString +a5=b1}else{a6=new A.ry() +a5=A.K5(a6,a7.ZQ(a6))}a5.Sl(0,a1) +if(!a5.e.k(0,a0)){a5.e=a0 +a5.fV()}b1=a5.a +b1.toString +s.n(0,b1,a5) +a9.push(a5) +n=a2 +o=c}a7.C=s +b2.l4(0,a9,b3)}, +ZQ(a){return new A.a7j(this,a)}, +lH(){this.z_() +this.C=null}} +A.a7l.prototype={ +$1(a){return a.z=null}, +$S:290} +A.a7m.prototype={ +$1(a){var s=a.x +s===$&&A.a() +return s.c!==B.by}, +$S:291} +A.a7k.prototype={ +$2(a,b){return new A.K(a.az(B.ac,1/0,a.gbk()),0)}, +$S:53} +A.a7j.prototype={ +$0(){var s=this.a,r=s.C.i(0,this.b) +r.toString +s.mK(s,r.e)}, +$S:0} +A.j9.prototype={ +gm(a){var s=this.x +s===$&&A.a() +return s}, +a4f(){var s=this,r=s.JE(),q=s.x +q===$&&A.a() +if(q.k(0,r))return +s.x=r +s.ap()}, +JE(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=f.d +if(e==null||f.e==null)return B.w4 +s=e.a +r=f.e.a +e=f.b +q=e.pv(new A.ao(s,B.n)) +p=s===r?q:e.pv(new A.ao(r,B.n)) +o=e.E +n=o.w +n.toString +m=s>r!==(B.P===n) +l=A.zC(B.n,s,r,!1) +k=A.b([],t.AO) +for(e=e.tx(l),n=e.length,j=0;jr!==s>r){p=sr?a.a:d}else if(e!=null)p=c.ar +if(s!==r&&n!==s>r){o=b.$1(e) +m.e=n?o.a:o.b}}p=null}return p==null?c:p}, +Na(a,b,c,d,e){var s,r,q,p,o,n,m,l=this +if(a!=null)if(l.f&&d!=null&&e!=null){s=c.a +r=d.a +q=e.a +if(s!==r&&r>q!==sr?a.a:e}else if(d!=null)p=c.ae.a +if(m!==s=p&&m.a.a>p}else s=!0}else s=!1 +if(s)m=null +l=k.d3(c?k.Na(m,b,n,j,i):k.Nd(m,b,n,j,i)) +if(c)k.e=l +else k.d=l +s=l.a +p=k.a +if(s===p.b)return B.u +if(s===p.a)return B.w +return A.yZ(k.gfg(),q)}, +a6R(a,b){var s,r,q,p,o,n,m=this +if(b)m.e=null +else m.d=null +s=m.b +r=s.aU(0,null) +r.dw(r) +q=A.bH(r,a) +if(m.gfg().gM(0))return A.yZ(m.gfg(),q) +p=m.gfg() +o=s.E.w +o.toString +n=m.d3(s.dd(A.yY(p,q,o))) +if(b)m.e=n +else m.d=n +s=n.a +p=m.a +if(s===p.b)return B.u +if(s===p.a)return B.w +return A.yZ(m.gfg(),q)}, +BR(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this +if(f.f&&d!=null&&e!=null){s=e.a +r=s>=d.a +if(b){q=f.c +p=a.$2(c,q) +o=a.$2(r?new A.ao(s-1,e.b):e,q) +n=r?o.a.a:o.b.a +s=c.a +q=s>n +if(sj&&p.a.a>j)return B.u +k=k.a +if(l=s.a){s=o.b.a +if(l>=s)return B.x +if(lq)return B.u}}else{i=f.d3(c) +s=r?new A.ao(s-1,e.b):e +o=a.$2(s,f.c) +if(r&&i.a===f.a.a){f.d=i +return B.w}s=!r +if(s&&i.a===f.a.b){f.d=i +return B.u}if(r&&i.a===f.a.b){f.e=f.d3(o.b) +f.d=i +return B.u}if(s&&i.a===f.a.a){f.e=f.d3(o.a) +f.d=i +return B.w}}}else{s=f.b.iV(c) +q=f.c +h=B.d.W(q,s.a,s.b)===$.DJ() +if(!b||h)return null +if(e!=null){p=a.$2(c,q) +s=d==null +g=!0 +if(!(s&&e.a===f.a.a))if(!(J.e(d,e)&&e.a===f.a.a)){s=!s&&d.a>e.a +g=s}s=p.b +q=s.a +l=f.a +k=l.a +j=ql&&p.a.a>l){f.d=new A.ao(l,B.n) +return B.u}if(g){s=p.a +q=s.a +if(q<=l){f.d=f.d3(s) +return B.x}if(q>l){f.d=new A.ao(l,B.n) +return B.u}}else{f.d=f.d3(s) +if(j)return B.w +if(q>=k)return B.x}}}return null}, +BQ(a,b,c,d,e){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this +if(f.f&&d!=null&&e!=null){s=e.a +r=d.a +q=s>=r +if(b){s=f.c +p=a.$2(c,s) +o=a.$2(q?d:new A.ao(r-1,d.b),s) +n=q?o.b.a:o.a.a +s=c.a +r=sn)m=p.a +else m=q?e:d +if(!q!==r)f.d=f.d3(q?o.a:o.b) +s=f.d3(m) +f.e=s +r=f.d.a +l=p.b.a +k=f.a +j=k.b +if(l>j&&p.a.a>j)return B.u +k=k.a +if(l=r){s=p.a.a +r=o.a.a +if(s<=r)return B.x +if(s>r)return B.u}else{s=o.b.a +if(l>=s)return B.x +if(le.a +g=s}s=p.b +r=s.a +l=f.a +k=l.a +j=rl&&p.a.a>l){f.e=new A.ao(l,B.n) +return B.u}if(g){f.e=f.d3(s) +if(j)return B.w +if(r>=k)return B.x}else{s=p.a +r=s.a +if(r<=l){f.e=f.d3(s) +return B.x}if(r>l){f.e=new A.ao(l,B.n) +return B.u}}}}return null}, +a6V(a6,a7,a8,a9,b0,b1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=this,a5=null +if(a4.f&&b0!=null&&b1!=null){s=b1.a>=b0.a +r=a4.Jy() +q=a4.b +if(r===q)return a4.BR(a6,a8,a9,b0,b1) +p=r.aU(0,a5) +p.dw(p) +o=A.bH(p,a7) +n=r.gv(0) +m=new A.x(0,0,0+n.a,0+n.b).p(0,o) +l=r.dd(o) +if(m){k=r.E.e.oD(!1) +j=a6.$2(l,k) +i=a6.$2(a4.k7(r),k) +h=s?i.a.a:i.b.a +q=l.a +n=q>h +if(qe&&j.a.a>e)return B.u +if(d=q.a){q=j.a.a +n=i.a.a +if(q<=n)return B.x +if(q>n)return B.u}else{q=i.b.a +if(d>=q)return B.x +if(d=n){a4.d=new A.ao(a4.a.b,B.n) +return B.u}if(s&&c.a>=n){a4.e=b0 +a4.d=new A.ao(a4.a.b,B.n) +return B.u}if(f&&c.a<=q){a4.e=b0 +a4.d=new A.ao(a4.a.a,B.n) +return B.w}}}else{if(a8)return a4.BR(a6,!0,a9,b0,b1) +if(b1!=null){b=a4.Jz(a7) +if(b==null)return a5 +a=b.b +a0=a.dd(b.a) +a1=a.E.e.oD(!1) +q=a.iV(a0) +if(B.d.W(a1,q.a,q.b)===$.DJ())return a5 +q=b0==null +a2=!0 +if(!(q&&b1.a===a4.a.a))if(!(J.e(b0,b1)&&b1.a===a4.a.a)){q=!q&&b0.a>b1.a +a2=q}a3=a6.$2(a0,a1) +q=a4.k7(a).a +n=q+$.u3() +f=a3.b.a +e=fn&&a3.a.a>n){a4.d=new A.ao(a4.a.b,B.n) +return B.u}if(a2){if(a3.a.a<=n){a4.d=new A.ao(a4.a.b,B.n) +return B.x}a4.d=new A.ao(a4.a.b,B.n) +return B.u}else{if(f>=q){a4.d=new A.ao(a4.a.a,B.n) +return B.x}if(e){a4.d=new A.ao(a4.a.a,B.n) +return B.w}}}}return a5}, +a6U(a6,a7,a8,a9,b0,b1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=this,a5=null +if(a4.f&&b0!=null&&b1!=null){s=b1.a>=b0.a +r=a4.Jy() +q=a4.b +if(r===q)return a4.BQ(a6,a8,a9,b0,b1) +p=r.aU(0,a5) +p.dw(p) +o=A.bH(p,a7) +n=r.gv(0) +m=new A.x(0,0,0+n.a,0+n.b).p(0,o) +l=r.dd(o) +if(m){k=r.E.e.oD(!1) +j=a6.$2(l,k) +i=a6.$2(a4.k7(r),k) +h=s?i.b.a:i.a.a +q=l.a +n=qh?j.a:b1 +if(!s!==n)a4.d=b1 +q=a4.d3(g) +a4.e=q +n=a4.d.a +f=a4.k7(r).a +e=f+$.u3() +d=j.b.a +if(d>e&&j.a.a>e)return B.u +if(d=n){q=j.a.a +n=i.a.a +if(q<=n)return B.x +if(q>n)return B.u}else{q=i.b.a +if(d>=q)return B.x +if(d=n){a4.d=b1 +a4.e=new A.ao(a4.a.b,B.n) +return B.u}if(s&&c.a>=n){a4.e=new A.ao(a4.a.b,B.n) +return B.u}if(f&&c.a<=q){a4.e=new A.ao(a4.a.a,B.n) +return B.w}}}else{if(a8)return a4.BQ(a6,!0,a9,b0,b1) +if(b0!=null){b=a4.Jz(a7) +if(b==null)return a5 +a=b.b +a0=a.dd(b.a) +a1=a.E.e.oD(!1) +q=a.iV(a0) +if(B.d.W(a1,q.a,q.b)===$.DJ())return a5 +q=b1==null +a2=!0 +if(!(q&&b0.a===a4.a.b))if(!(b0.k(0,b1)&&b0.a===a4.a.b)){q=!q&&b0.a>b1.a +a2=q}a3=a6.$2(a0,a1) +q=a4.k7(a).a +n=q+$.u3() +f=a3.b.a +e=fn&&a3.a.a>n){a4.e=new A.ao(a4.a.b,B.n) +return B.u}if(a2){if(f>=q){a4.e=new A.ao(a4.a.a,B.n) +return B.x}if(e){a4.e=new A.ao(a4.a.a,B.n) +return B.w}}else{if(a3.a.a<=n){a4.e=new A.ao(a4.a.b,B.n) +return B.x}a4.e=new A.ao(a4.a.b,B.n) +return B.u}}}return a5}, +a6S(a,b,c,a0){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=f.d,d=f.e +if(a0)f.e=null +else f.d=null +s=f.b +r=s.aU(0,null) +r.dw(r) +q=A.bH(r,a) +if(f.gfg().gM(0))return A.yZ(f.gfg(),q) +p=f.gfg() +o=s.E +n=o.w +n.toString +m=A.yY(p,q,n) +n=s.gv(0) +o=o.w +o.toString +l=A.yY(new A.x(0,0,0+n.a,0+n.b),q,o) +k=s.dd(m) +j=s.dd(l) +if(f.a2U())if(a0){s=s.gv(0) +i=f.a6U(c,a,new A.x(0,0,0+s.a,0+s.b).p(0,q),j,e,d)}else{s=s.gv(0) +i=f.a6V(c,a,new A.x(0,0,0+s.a,0+s.b).p(0,q),j,e,d)}else if(a0){s=s.gv(0) +i=f.BQ(c,new A.x(0,0,0+s.a,0+s.b).p(0,q),j,e,d)}else{s=s.gv(0) +i=f.BR(c,new A.x(0,0,0+s.a,0+s.b).p(0,q),j,e,d)}if(i!=null)return i +h=f.YD(q)?b.$1(k):null +if(h!=null){s=h.b.a +p=f.a +o=p.a +if(!(s=p&&h.a.a>p}else s=!0}else s=!1 +if(s)h=null +g=f.d3(a0?f.Na(h,b,k,e,d):f.Nd(h,b,k,e,d)) +if(a0)f.e=g +else f.d=g +s=g.a +p=f.a +if(s===p.b)return B.u +if(s===p.a)return B.w +return A.yZ(f.gfg(),q)}, +Ik(a,b){var s=b.a,r=a.b,q=a.a +return Math.abs(s-r.a)=p&&a.a.a>p)return B.u}s.d=r +s.e=a.a +s.f=!0 +return B.x}, +zg(a,b){var s=A.bj("start"),r=A.bj("end"),q=b.a,p=a.b +if(q>p){q=new A.ao(q,B.n) +r.sco(q) +s.sco(q)}else{s.sco(new A.ao(a.a,B.n)) +r.sco(new A.ao(p,B.am))}q=s.aP() +return new A.Q7(r.aP(),q)}, +a24(a){var s=this,r=s.b,q=r.dd(r.l8(a)) +if(s.a4z(q)&&!J.e(s.d,s.e))return B.x +return s.a23(s.JJ(q))}, +JJ(a){return this.zg(this.b.iV(a),a)}, +k7(a){var s=this.b +return a.dd(A.bH(s.aU(0,a),new A.n(0,0+(0+s.gv(0).b)/2)))}, +a0m(a,b){var s,r=new A.xw(b),q=a.a,p=b.length,o=r.f6(q===p||a.b===B.am?q-1:q) +if(o==null)o=0 +s=r.f7(q) +return this.zg(new A.ch(o,s==null?p:s),a)}, +a01(a){var s,r,q=this.c,p=new A.xw(q),o=a.a,n=q.length,m=p.f6(o===n||a.b===B.am?o-1:o) +if(m==null)m=0 +s=p.f7(o) +n=s==null?n:s +q=this.a +r=q.a +if(mo)m=o}s=q.b +if(n>s)n=s +else if(ns){i=J.ayt(q) +break}}if(b&&i===l.length-1)p=new A.ao(n.a.b,B.am) +else if(!b&&i===0)p=new A.ao(n.a.a,B.n) +else p=n.d3(m.dd(new A.n(c,l[b?i+1:i-1].gnx()))) +m=p.a +j=n.a +if(m===j.a)o=B.w +else o=m===j.b?B.u:B.x +return new A.bo(p,o,t.UH)}, +a4z(a){var s,r,q,p,o=this +if(o.d==null||o.e==null)return!1 +s=A.bj("currentStart") +r=A.bj("currentEnd") +q=o.d +q.toString +p=o.e +p.toString +if(A.an4(q,p)>0){s.b=q +r.b=p}else{s.b=p +r.b=q}return A.an4(s.aP(),a)>=0&&A.an4(r.aP(),a)<=0}, +aU(a,b){return this.b.aU(0,b)}, +iL(a,b){if(this.b.y==null)return}, +gjf(){var s,r,q,p,o,n,m,l=this +if(l.y==null){s=l.b +r=l.a +q=r.a +p=s.tx(A.zC(B.n,q,r.b,!1)) +r=t.AO +if(p.length!==0){l.y=A.b([],r) +for(s=p.length,o=0;o)")}} +A.Bp.prototype={ +Y1(a,b){var s,r=this,q=new A.a__(A.E(t.S,t.EG)) +q.b=r +r.w=q +q=r.ch +s=A.o(q).h("hN<1,cf>") +r.CW=A.er(new A.hN(q,new A.agp(r),s),s.h("j.E")) +r.at=a}, +ga1J(){var s=this.at +s===$&&A.a() +return s}, +hz(a){var s,r,q +this.yX(a) +s=this.CW +s===$&&A.a() +s=A.dm(s,s.r,A.o(s).c) +r=s.$ti.c +for(;s.t();){q=s.d +if(q==null)q=r.a(q) +q.e.n(0,a.gbi(),a.gck(a)) +if(q.eX(a))q.hz(a) +else q.o4(a)}}, +Db(a){}, +kH(a){var s,r=this +if(!r.ay.p(0,a.gbi())){s=r.ax +if(!s.a9(0,a.gbi()))s.n(0,a.gbi(),A.b([],t.Y2)) +s.i(0,a.gbi()).push(a)}else r.a1K(a) +r.Gw(a)}, +fj(a){var s,r=this.ax.A(0,a) +if(r!=null){s=this.at +s===$&&A.a() +J.mF(r,s)}this.ay.D(0,a)}, +f2(a){this.H1(a) +this.ay.A(0,a) +this.ax.A(0,a)}, +fN(a){this.H1(a) +this.ay.A(0,a)}, +a1K(a){return this.ga1J().$1(a)}} +A.agp.prototype={ +$1(a){var s=a.CC() +s.sag4(this.a.w) +s.gjD() +return s}, +$S:495} +A.IF.prototype={ +sCE(a,b){var s=this,r=s.E +if(r===b)return +s.E=b +s.am() +if(r.a!==b.a)s.aY()}, +gj1(){return!0}, +gkl(){return!0}, +gdj(){return!0}, +bP(a){return new A.K(A.M(1/0,a.a,a.b),A.M(1/0,a.c,a.d))}, +aE(a,b){var s=this.gv(0),r=b.a,q=b.b +s=new A.a64(new A.x(r,q,r+s.a,q+s.b),this.E.a,A.E(t.S,t.M),A.ai()) +a.lf() +s.hY(0) +a.a.qb(0,s)}, +dO(a){this.fb(a) +a.a=!0 +a.sadv(this.E.a)}, +$ihe:1} +A.ago.prototype={ +sQ6(a){var s=this +if(a!==s.r6$){s.r6$=a +if(s.y!=null)s.am()}}, +N0(a,b){var s=this,r=s.nX$ +r=r==null?null:r.ch +if(A.aGV(a,r,t.qt))return +r=s.nX$ +if(r!=null)r.l() +s.nX$=A.aFn(b,a) +s.Pv$=b}, +c3(a,b){var s=this +if(s.r6$===B.vH||!s.gv(0).p(0,b))return!1 +a.D(0,new A.kS(b,s)) +return s.r6$===B.vG}, +iv(a){return this.r6$!==B.vH}, +gEL(a){return null}, +gEM(a){return null}, +gnE(a){return B.zw}, +gy5(){return!0}, +is(a,b){var s +if(t.pY.b(a))this.nX$.C9(a) +if(t.XA.b(a)){s=this.Pv$ +if(s!=null)s.$1(a)}}} +A.Pk.prototype={ +ab(a){var s=this.nX$,r=s.ay +r.V(0,A.cf.prototype.gGx.call(s)) +r.I(0) +r=s.ax +new A.aZ(r,A.o(r).h("aZ<1>")).V(0,A.cf.prototype.gGx.call(s)) +r.I(0) +s.a1(0,B.aG) +this.e_(0)}, +l(){var s=this.nX$ +if(s!=null)s.l() +this.fc()}} +A.Jk.prototype={} +A.f4.prototype={ +dX(a){if(!(a.b instanceof A.c9))a.b=new A.c9()}, +aS(a){var s=this.C$ +s=s==null?null:s.az(B.ac,a,s.gbk()) +return s==null?0:s}, +aR(a){var s=this.C$ +s=s==null?null:s.az(B.ax,a,s.gbt()) +return s==null?0:s}, +d6(a,b){var s=this.C$ +return s==null?null:s.f5(a,b)}, +bP(a){var s=this.C$ +s=s==null?null:s.az(B.y,a,s.gbE()) +return s==null?this.qv(a):s}, +bb(){var s=this,r=s.C$ +if(r==null)r=null +else r.bU(t.k.a(A.G.prototype.gN.call(s)),!0) +r=r==null?null:r.gv(0) +s.id=r==null?s.qv(t.k.a(A.G.prototype.gN.call(s))):r +return}, +qv(a){return new A.K(A.M(0,a.a,a.b),A.M(0,a.c,a.d))}, +cV(a,b){var s=this.C$ +s=s==null?null:s.c3(a,b) +return s===!0}, +cM(a,b){}, +aE(a,b){var s=this.C$ +if(s==null)return +a.fE(s,b)}} +A.we.prototype={ +F(){return"HitTestBehavior."+this.b}} +A.yl.prototype={ +c3(a,b){var s,r=this +if(r.gv(0).p(0,b)){s=r.cV(a,b)||r.B===B.ae +if(s||r.B===B.dd)a.D(0,new A.kS(b,r))}else s=!1 +return s}, +iv(a){return this.B===B.ae}} +A.o9.prototype={ +sNI(a){if(this.B.k(0,a))return +this.B=a +this.a5()}, +aS(a){var s,r=this.B,q=r.b +if(q<1/0&&r.a>=q)return r.a +s=this.z1(a) +r=this.B +q=r.a +if(!(q>=1/0))return A.M(s,q,r.b) +return s}, +aR(a){var s,r=this.B,q=r.d +if(q<1/0&&r.c>=q)return r.c +s=this.z0(a) +r=this.B +q=r.c +if(!(q>=1/0))return A.M(s,q,r.d) +return s}, +d6(a,b){var s=this.C$ +return s==null?null:s.f5(this.B.nR(a),b)}, +bb(){var s=this,r=t.k.a(A.G.prototype.gN.call(s)),q=s.C$,p=s.B +if(q!=null){q.bU(p.nR(r),!0) +s.id=s.C$.gv(0)}else s.id=p.nR(r).b0(B.O)}, +bP(a){var s=this.C$ +s=s==null?null:s.az(B.y,this.B.nR(a),s.gbE()) +return s==null?this.B.nR(a).b0(B.O):s}} +A.Je.prototype={ +srG(a,b){if(this.B===b)return +this.B=b +this.a5()}, +sEu(a,b){if(this.a_===b)return +this.a_=b +this.a5()}, +KB(a){var s,r,q=a.a,p=a.b +p=p<1/0?p:A.M(this.B,q,p) +s=a.c +r=a.d +return new A.aq(q,p,s,r<1/0?r:A.M(this.a_,s,r))}, +pl(a,b){var s=this.C$ +if(s!=null)return a.b0(b.$2(s,this.KB(a))) +return this.KB(a).b0(B.O)}, +bP(a){return this.pl(a,A.jh())}, +bb(){this.id=this.pl(t.k.a(A.G.prototype.gN.call(this)),A.pb())}} +A.y6.prototype={ +sCl(a,b){if(this.B===b)return +this.B=b +this.a5()}, +aS(a){var s +if(isFinite(a))return a*this.B +s=this.C$ +s=s==null?null:s.az(B.ac,a,s.gbk()) +return s==null?0:s}, +aR(a){var s +if(isFinite(a))return a/this.B +s=this.C$ +s=s==null?null:s.az(B.ax,a,s.gbt()) +return s==null?0:s}, +Ys(a){var s,r,q,p,o=a.a,n=a.b +if(o>=n&&a.c>=a.d)return new A.K(A.M(0,o,n),A.M(0,a.c,a.d)) +s=this.B +if(isFinite(n)){r=n/s +q=n}else{r=a.d +q=r*s}if(q>n)r=n/s +else n=q +p=a.d +if(r>p){n=p*s +r=p}if(n=b.b?null:A.amh(a.az(B.ac,b.d,a.gbk()),this.B) +return b.xW(null,s)}, +pl(a,b){var s=this.C$ +return s==null?new A.K(A.M(0,a.a,a.b),A.M(0,a.c,a.d)):b.$2(s,this.Id(s,a))}, +bP(a){return this.pl(a,A.jh())}, +d6(a,b){var s=this.C$ +return s==null?null:s.f5(this.Id(s,a),b)}, +bb(){this.id=this.pl(t.k.a(A.G.prototype.gN.call(this)),A.pb())}} +A.Jg.prototype={ +gkl(){return this.C$!=null&&this.B>0}, +gdj(){return this.C$!=null&&this.B>0}, +sdk(a,b){var s,r,q,p,o=this +if(o.a_===b)return +s=o.C$!=null +r=s&&o.B>0 +q=o.B +o.a_=b +p=B.c.a7(A.M(b,0,1)*255) +o.B=p +if(r!==(s&&p>0))o.iA() +o.QK() +s=o.B +if(q!==0!==(s!==0))o.aY()}, +svC(a){return}, +kU(a){return this.B>0}, +oH(a){var s=a==null?A.am9():a +s.sCh(0,this.B) +return s}, +aE(a,b){if(this.C$==null||this.B===0)return +this.fP(a,b)}, +fH(a){var s,r=this.C$ +if(r!=null){s=this.B +s=s!==0}else s=!1 +if(s){r.toString +a.$1(r)}}} +A.y4.prototype={ +gdj(){if(this.C$!=null){var s=this.Dx$ +s.toString}else s=!1 +return s}, +oH(a){var s=a==null?A.am9():a +s.sCh(0,this.nU$) +return s}, +sdk(a,b){var s=this,r=s.nV$ +if(r===b)return +if(s.y!=null&&r!=null)r.J(0,s.gvj()) +s.nV$=b +if(s.y!=null)b.a0(0,s.gvj()) +s.BM()}, +svC(a){if(!1===this.Dy$)return +this.Dy$=!1 +this.aY()}, +BM(){var s,r=this,q=r.nU$,p=r.nV$ +p=r.nU$=B.c.a7(A.M(p.gm(p),0,1)*255) +if(q!==p){s=r.Dx$ +p=p>0 +r.Dx$=p +if(r.C$!=null&&s!==p)r.iA() +r.QK() +if(q===0||r.nU$===0)r.aY()}}, +kU(a){var s=this.nV$ +return s.gm(s)>0}, +fH(a){var s,r=this.C$ +if(r!=null)if(this.nU$===0){s=this.Dy$ +s.toString}else s=!0 +else s=!1 +if(s){r.toString +a.$1(r)}}} +A.J6.prototype={} +A.v3.prototype={ +a0(a,b){var s=this.a +return s==null?null:s.a.a0(0,b)}, +J(a,b){var s=this.a +return s==null?null:s.a.J(0,b)}, +SE(a){return new A.x(0,0,0+a.a,0+a.b)}, +j(a){return"CustomClipper"}} +A.op.prototype={ +SJ(a){return this.b.hq(new A.x(0,0,0+a.a,0+a.b),this.c)}, +TO(a){if(A.r(a)!==B.QM)return!0 +t.jH.a(a) +return!a.b.k(0,this.b)||a.c!=this.c}} +A.tq.prototype={ +sqr(a){var s,r=this,q=r.B +if(q==a)return +r.B=a +s=a==null +if(s||q==null||A.r(a)!==A.r(q)||a.TO(q))r.uM() +if(r.y!=null){if(q!=null)q.J(0,r.guL()) +if(!s)a.a0(0,r.guL())}}, +ah(a){var s +this.p9(a) +s=this.B +if(s!=null)s.a0(0,this.guL())}, +ab(a){var s=this.B +if(s!=null)s.J(0,this.guL()) +this.mW(0)}, +uM(){this.a_=null +this.am() +this.aY()}, +snz(a){if(a!==this.ak){this.ak=a +this.am()}}, +bb(){var s=this,r=s.id!=null?s.gv(0):null +s.u2() +if(!J.e(r,s.gv(0)))s.a_=null}, +kg(){var s,r=this +if(r.a_==null){s=r.B +s=s==null?null:s.SJ(r.gv(0)) +r.a_=s==null?r.guj():s}}, +lT(a){var s,r=this +switch(r.ak.a){case 0:return null +case 1:case 2:case 3:s=r.B +s=s==null?null:s.SE(r.gv(0)) +if(s==null){s=r.gv(0) +s=new A.x(0,0,0+s.a,0+s.b)}return s}}, +l(){this.cC=null +this.fc()}} +A.J9.prototype={ +guj(){var s=this.gv(0) +return new A.x(0,0,0+s.a,0+s.b)}, +c3(a,b){var s=this +if(s.B!=null){s.kg() +if(!s.a_.p(0,b))return!1}return s.j3(a,b)}, +aE(a,b){var s,r,q=this,p=q.C$ +if(p!=null){s=q.ch +if(q.ak!==B.z){q.kg() +p=q.cx +p===$&&A.a() +r=q.a_ +r.toString +s.saN(0,a.kY(p,b,r,A.f4.prototype.giF.call(q),q.ak,t.EM.a(s.a)))}else{a.fE(p,b) +s.saN(0,null)}}else q.ch.saN(0,null)}} +A.J8.prototype={ +guj(){var s=$.ap().dz(),r=this.gv(0) +s.vy(new A.x(0,0,0+r.a,0+r.b)) +return s}, +c3(a,b){var s=this +if(s.B!=null){s.kg() +if(!s.a_.p(0,b))return!1}return s.j3(a,b)}, +aE(a,b){var s,r,q,p=this,o=p.C$ +if(o!=null){s=p.ch +if(p.ak!==B.z){p.kg() +o=p.cx +o===$&&A.a() +r=p.gv(0) +q=p.a_ +q.toString +s.saN(0,a.Rh(o,b,new A.x(0,0,0+r.a,0+r.b),q,A.f4.prototype.giF.call(p),p.ak,t.JG.a(s.a)))}else{a.fE(o,b) +s.saN(0,null)}}else p.ch.saN(0,null)}} +A.BJ.prototype={ +scA(a,b){if(this.cB===b)return +this.cB=b +this.am()}, +sbV(a,b){if(this.fs.k(0,b))return +this.fs=b +this.am()}, +sae(a,b){if(this.hJ.k(0,b))return +this.hJ=b +this.am()}, +dO(a){this.fb(a) +a.scA(0,this.cB)}} +A.Jh.prototype={ +sbr(a,b){if(this.bF===b)return +this.bF=b +this.uM()}, +sa7S(a,b){if(J.e(this.a2,b))return +this.a2=b +this.uM()}, +guj(){var s,r,q=this.gv(0),p=0+q.a +q=0+q.b +switch(this.bF.a){case 0:s=this.a2 +if(s==null)s=B.ag +q=s.ek(new A.x(0,0,p,q)) +break +case 1:s=p/2 +r=q/2 +r=new A.i0(0,0,p,q,s,r,s,r,s,r,s,r,s===r) +q=r +break +default:q=null}return q}, +c3(a,b){var s=this +if(s.B!=null){s.kg() +if(!s.a_.p(0,b))return!1}return s.j3(a,b)}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j=this +if(j.C$==null){j.ch.saN(0,null) +return}j.kg() +s=j.a_.cX(b) +r=$.ap() +q=r.dz() +q.fZ(s) +p=a.gbO(0) +o=j.cB +if(o!==0){n=j.fs +m=j.hJ +p.nM(q,n,o,(m.gm(m)>>>24&255)!==255)}l=j.ak===B.ck +if(!l){r=r.bg() +r.sae(0,j.hJ) +p.dg(s,r)}r=j.cx +r===$&&A.a() +o=j.gv(0) +n=j.a_ +n.toString +m=j.ch +k=t.xs.a(m.a) +m.saN(0,a.adE(r,b,new A.x(0,0,0+o.a,0+o.b),n,new A.a7n(j,l),j.ak,k))}} +A.a7n.prototype={ +$2(a,b){var s,r +if(this.b){s=a.gbO(0) +r=$.ap().bg() +r.sae(0,this.a.hJ) +s.nL(r)}this.a.fP(a,b)}, +$S:17} +A.Ji.prototype={ +guj(){var s=$.ap().dz(),r=this.gv(0) +s.vy(new A.x(0,0,0+r.a,0+r.b)) +return s}, +c3(a,b){var s=this +if(s.B!=null){s.kg() +if(!s.a_.p(0,b))return!1}return s.j3(a,b)}, +aE(a,b){var s,r,q,p,o,n,m,l,k=this +if(k.C$==null){k.ch.saN(0,null) +return}k.kg() +s=k.a_.cX(b) +r=a.gbO(0) +q=k.cB +if(q!==0){p=k.fs +o=k.hJ +r.nM(s,p,q,(o.gm(o)>>>24&255)!==255)}n=k.ak===B.ck +if(!n){q=$.ap().bg() +q.sae(0,k.hJ) +r.dP(s,q)}q=k.cx +q===$&&A.a() +p=k.gv(0) +o=k.a_ +o.toString +m=k.ch +l=t.JG.a(m.a) +m.saN(0,a.Rh(q,b,new A.x(0,0,0+p.a,0+p.b),o,new A.a7o(k,n),k.ak,l))}} +A.a7o.prototype={ +$2(a,b){var s,r +if(this.b){s=a.gbO(0) +r=$.ap().bg() +r.sae(0,this.a.hJ) +s.nL(r)}this.a.fP(a,b)}, +$S:17} +A.Fg.prototype={ +F(){return"DecorationPosition."+this.b}} +A.Ja.prototype={ +sa9j(a){var s,r=this +if(a.k(0,r.a_))return +s=r.B +if(s!=null)s.l() +r.B=null +r.a_=a +r.am()}, +sbR(a,b){if(b===this.ak)return +this.ak=b +this.am()}, +svU(a){if(a.k(0,this.bK))return +this.bK=a +this.am()}, +ab(a){var s=this,r=s.B +if(r!=null)r.l() +s.B=null +s.mW(0) +s.am()}, +l(){var s=this.B +if(s!=null)s.l() +this.fc()}, +iv(a){return this.a_.Q5(this.gv(0),a,this.bK.d)}, +aE(a,b){var s,r,q,p=this +if(p.B==null)p.B=p.a_.vZ(p.geg()) +s=p.bK +r=p.gv(0) +q=new A.qa(s.a,s.b,s.c,s.d,r,s.f) +if(p.ak===B.et){s=p.B +s.toString +s.rS(a.gbO(0),b,q) +if(p.a_.gEf())a.Gj()}p.fP(a,b) +if(p.ak===B.B6){s=p.B +s.toString +s.rS(a.gbO(0),b,q) +if(p.a_.gEf())a.Gj()}}} +A.Js.prototype={ +sR1(a,b){return}, +sfk(a){var s=this +if(J.e(s.a_,a))return +s.a_=a +s.am() +s.aY()}, +sbS(a){var s=this +if(s.ak==a)return +s.ak=a +s.am() +s.aY()}, +gkl(){return this.C$!=null&&this.b8!=null}, +sbD(a,b){var s,r=this +if(J.e(r.cC,b))return +s=new A.bi(new Float64Array(16)) +s.ba(b) +r.cC=s +r.am() +r.aY()}, +skE(a){var s,r,q=this,p=q.b8 +if(p==a)return +s=q.C$!=null +r=s&&p!=null +q.b8=a +if(r!==(s&&a!=null))q.iA() +q.am()}, +gA0(){var s,r,q,p,o,n=this,m=n.a_,l=m==null?null:m.a1(0,n.ak) +if(l==null)return n.cC +s=new A.bi(new Float64Array(16)) +s.dF() +m=n.gv(0) +r=m.a/2 +q=m.b/2 +m=r+l.a*r +p=q+l.b*q +o=new A.n(m,p) +s.aq(0,m,p) +m=n.cC +m.toString +s.cq(0,m) +s.aq(0,-o.a,-o.b) +return s}, +c3(a,b){return this.cV(a,b)}, +cV(a,b){var s=this.bK?this.gA0():null +return a.NH(new A.a7D(this),b,s)}, +aE(a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1=this +if(a1.C$!=null){s=a1.gA0() +s.toString +if(a1.b8==null){r=A.a4c(s) +if(r==null){q=s.a +p=q[0] +o=q[5] +n=q[1] +m=q[4] +l=p*o-n*m +k=q[6] +j=q[2] +i=p*k-j*m +h=q[7] +g=q[3] +f=p*h-g*m +e=n*k-j*o +d=n*h-g*o +c=j*h-g*k +k=q[8] +g=q[9] +h=q[10] +j=q[11] +b=-(g*c-h*d+j*e)*q[12]+(k*c-h*f+j*i)*q[13]-(k*d-g*f+j*l)*q[14]+(k*e-g*i+h*l)*q[15] +if(b===0||!isFinite(b)){a1.ch.saN(0,null) +return}q=a1.cx +q===$&&A.a() +p=A.f4.prototype.giF.call(a1) +o=a1.ch +n=o.a +o.saN(0,a2.xF(q,a3,s,p,n instanceof A.m_?n:null))}else{a1.fP(a2,a3.a6(0,r)) +a1.ch.saN(0,null)}}else{q=a3.a +p=a3.b +a=A.a49(q,p,0) +a.cq(0,s) +a.aq(0,-q,-p) +p=a1.b8 +p.toString +a0=$.ap().OF(a.a,p) +s=a1.ch +q=s.a +if(q instanceof A.wm){if(!a0.k(0,q.aV)){q.aV=a0 +q.eD()}}else s.saN(0,new A.wm(a0,B.h,A.E(t.S,t.M),A.ai())) +s=s.a +s.toString +a2.Fb(s,A.f4.prototype.giF.call(a1),a3)}}}, +cM(a,b){var s=this.gA0() +s.toString +b.cq(0,s)}} +A.a7D.prototype={ +$2(a,b){return this.a.u1(a,b)}, +$S:19} +A.yc.prototype={ +Jc(a){switch(a.a){case 6:return!0 +case 1:case 2:case 0:case 4:case 3:case 5:return!1}}, +sDA(a){var s=this,r=s.a_ +if(r===a)return +s.a_=a +if(s.Jc(r)||s.Jc(a))s.a5() +else{s.b8=s.cC=null +s.am()}}, +sfk(a){var s=this +if(s.ak.k(0,a))return +s.ak=a +s.B=s.b8=s.cC=null +s.am()}, +sbS(a){var s=this +if(s.bK==a)return +s.bK=a +s.B=s.b8=s.cC=null +s.am()}, +bP(a){var s=this.C$ +if(s!=null){s=s.az(B.y,B.ea,s.gbE()) +switch(this.a_.a){case 6:return a.b0(new A.aq(0,a.b,0,a.d).qx(s)) +case 1:case 2:case 0:case 4:case 3:case 5:return a.qx(s)}}else return new A.K(A.M(0,a.a,a.b),A.M(0,a.c,a.d))}, +bb(){var s,r,q=this,p=q.C$ +if(p!=null){p.bU(B.ea,!0) +switch(q.a_.a){case 6:p=t.k +s=p.a(A.G.prototype.gN.call(q)) +r=new A.aq(0,s.b,0,s.d).qx(q.C$.gv(0)) +q.id=p.a(A.G.prototype.gN.call(q)).b0(r) +break +case 1:case 2:case 0:case 4:case 3:case 5:q.id=t.k.a(A.G.prototype.gN.call(q)).qx(q.C$.gv(0)) +break}q.b8=q.cC=null}else{p=t.k.a(A.G.prototype.gN.call(q)) +q.id=new A.K(A.M(0,p.a,p.b),A.M(0,p.c,p.d))}}, +BN(){var s,r,q,p,o,n,m,l,k,j,i=this +if(i.b8!=null)return +s=i.C$ +if(s==null){i.cC=!1 +s=new A.bi(new Float64Array(16)) +s.dF() +i.b8=s}else{r=i.B +if(r==null)r=i.B=i.ak +q=s.gv(0) +p=A.aut(i.a_,q,i.gv(0)) +s=p.b +o=p.a +n=q.a +m=q.b +l=r.E7(o,new A.x(0,0,0+n,0+m)) +k=i.gv(0) +j=r.E7(s,new A.x(0,0,0+k.a,0+k.b)) +k=l.a +i.cC=l.c-k")) +s.ak.saN(0,p) +a.Fb(p,A.f4.prototype.giF.call(s),b)}, +l(){this.ak.saN(0,null) +this.fc()}, +gkl(){return!0}} +A.Qf.prototype={ +ah(a){var s=this +s.p9(a) +s.nV$.a0(0,s.gvj()) +s.BM()}, +ab(a){this.nV$.J(0,this.gvj()) +this.mW(0)}, +aE(a,b){if(this.nU$===0)return +this.fP(a,b)}} +A.BK.prototype={ +ah(a){var s +this.eq(a) +s=this.C$ +if(s!=null)s.ah(a)}, +ab(a){var s +this.e_(0) +s=this.C$ +if(s!=null)s.ab(0)}} +A.BL.prototype={ +h3(a){var s=this.C$ +s=s==null?null:s.mu(a) +return s==null?this.Hb(a):s}} +A.lP.prototype={ +F(){return"SelectionResult."+this.b}} +A.dx.prototype={$iae:1} +A.K1.prototype={ +smm(a){var s=this,r=s.nS$ +if(a==r)return +if(a==null)s.J(0,s.gNb()) +else if(r==null)s.a0(0,s.gNb()) +s.Lq() +s.nS$=a +s.Nc()}, +Nc(){var s=this +if(s.nS$==null){s.m1$=!1 +return}if(s.m1$&&!s.gm(0).e){s.nS$.A(0,s) +s.m1$=!1}else if(!s.m1$&&s.gm(0).e){s.nS$.D(0,s) +s.m1$=!0}}, +Lq(){var s=this +if(s.m1$){s.nS$.A(0,s) +s.m1$=!1}}} +A.ok.prototype={ +F(){return"SelectionEventType."+this.b}} +A.oz.prototype={ +F(){return"TextGranularity."+this.b}} +A.a8X.prototype={} +A.uQ.prototype={} +A.yW.prototype={} +A.r0.prototype={ +F(){return"SelectionExtendDirection."+this.b}} +A.yX.prototype={ +F(){return"SelectionStatus."+this.b}} +A.lO.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.lO&&J.e(b.a,s.a)&&J.e(b.b,s.b)&&b.d===s.d&&b.c===s.c&&b.e===s.e}, +gu(a){var s=this +return A.P(s.a,s.b,s.d,s.c,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.ol.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.ol&&b.a.k(0,s.a)&&b.b===s.b&&b.c===s.c}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.KQ.prototype={ +F(){return"TextSelectionHandleType."+this.b}} +A.R2.prototype={} +A.qO.prototype={ +aS(a){var s=this.C$ +s=s==null?null:s.az(B.ac,a,s.gbk()) +return s==null?0:s}, +aR(a){var s=this.C$ +s=s==null?null:s.az(B.ax,a,s.gbt()) +return s==null?0:s}, +h3(a){var s,r,q=this.C$ +if(q!=null){s=q.mu(a) +r=q.b +r.toString +t.G.a(r) +if(s!=null)s+=r.a.b}else s=this.Hb(a) +return s}, +aE(a,b){var s,r=this.C$ +if(r!=null){s=r.b +s.toString +a.fE(r,t.G.a(s).a.a6(0,b))}}, +cV(a,b){var s,r=this.C$ +if(r!=null){s=r.b +s.toString +return a.ns(new A.a7p(r),t.G.a(s).a,b)}return!1}} +A.a7p.prototype={ +$2(a,b){return this.a.c3(a,b)}, +$S:19} +A.yj.prototype={ +gpU(){var s=this,r=s.B +return r==null?s.B=s.a_.a1(0,s.ak):r}, +sce(a,b){var s=this +if(s.a_.k(0,b))return +s.a_=b +s.B=null +s.a5()}, +sbS(a){var s=this +if(s.ak==a)return +s.ak=a +s.B=null +s.a5()}, +aS(a){var s=this.gpU(),r=this.C$ +if(r!=null)return r.az(B.ac,Math.max(0,a-(s.gb_(0)+s.gb5(0))),r.gbk())+s.gbQ() +return s.gbQ()}, +aR(a){var s=this.gpU(),r=this.C$ +if(r!=null)return r.az(B.ax,Math.max(0,a-s.gbQ()),r.gbt())+(s.gb_(0)+s.gb5(0)) +return s.gb_(0)+s.gb5(0)}, +bP(a){var s,r,q=this.gpU() +if(this.C$==null)return a.b0(new A.K(q.gbQ(),q.gb_(0)+q.gb5(0))) +s=a.w4(q) +r=this.C$ +r=r.az(B.y,s,r.gbE()) +return a.b0(new A.K(q.gbQ()+r.a,q.gb_(0)+q.gb5(0)+r.b))}, +d6(a,b){var s,r=this.C$ +if(r==null)return null +s=this.gpU() +return A.aoR(r.f5(a.w4(s),b),s.b)}, +bb(){var s,r,q=this,p=t.k.a(A.G.prototype.gN.call(q)),o=q.gpU() +if(q.C$==null){q.id=p.b0(new A.K(o.gbQ(),o.gb_(0)+o.gb5(0))) +return}s=p.w4(o) +q.C$.bU(s,!0) +r=q.C$.b +r.toString +t.G.a(r).a=new A.n(o.a,o.b) +q.id=p.b0(new A.K(o.gbQ()+q.C$.gv(0).a,o.gb_(0)+o.gb5(0)+q.C$.gv(0).b))}} +A.J5.prototype={ +gRS(){var s=this,r=s.B +return r==null?s.B=s.a_.a1(0,s.ak):r}, +sfk(a){var s=this +if(s.a_.k(0,a))return +s.a_=a +s.B=null +s.a5()}, +sbS(a){var s=this +if(s.ak==a)return +s.ak=a +s.B=null +s.a5()}, +Cd(){var s=this,r=s.C$.b +r.toString +t.G.a(r).a=s.gRS().hA(t.o.a(s.gv(0).ac(0,s.C$.gv(0))))}} +A.yk.prototype={ +saf3(a){if(this.cQ==a)return +this.cQ=a +this.a5()}, +sabt(a){if(this.cR==a)return +this.cR=a +this.a5()}, +aS(a){var s=this.Vv(a),r=this.cQ +return s*(r==null?1:r)}, +aR(a){var s=this.Vu(a),r=this.cR +return s*(r==null?1:r)}, +bP(a){var s,r,q=this,p=q.cQ!=null||a.b===1/0,o=q.cR!=null||a.d===1/0,n=q.C$ +if(n!=null){n=n.az(B.y,new A.aq(0,a.b,0,a.d),n.gbE()) +if(p){s=n.a +r=q.cQ +s*=r==null?1:r}else s=1/0 +if(o){n=n.b +r=q.cR +n*=r==null?1:r}else n=1/0 +return a.b0(new A.K(s,n))}n=p?0:1/0 +return a.b0(new A.K(n,o?0:1/0))}, +bb(){var s,r,q=this,p=t.k.a(A.G.prototype.gN.call(q)),o=q.cQ!=null||p.b===1/0,n=q.cR!=null||p.d===1/0,m=q.C$ +if(m!=null){m.bU(new A.aq(0,p.b,0,p.d),!0) +if(o){m=q.C$.gv(0) +s=q.cQ +if(s==null)s=1 +s=m.a*s +m=s}else m=1/0 +if(n){s=q.C$.gv(0) +r=q.cR +if(r==null)r=1 +r=s.b*r +s=r}else s=1/0 +q.id=p.b0(new A.K(m,s)) +q.Cd()}else{m=o?0:1/0 +q.id=p.b0(new A.K(m,n?0:1/0))}}} +A.a9D.prototype={ +mz(a){return new A.K(A.M(1/0,a.a,a.b),A.M(1/0,a.c,a.d))}} +A.ya.prototype={ +sD1(a){var s=this.B +if(s===a)return +if(A.r(a)!==A.r(s)||a.mI(s))this.a5() +this.B=a}, +ah(a){this.WF(a)}, +ab(a){this.WG(0)}, +aS(a){var s=A.uv(a,1/0),r=s.b0(this.B.mz(s)).a +if(isFinite(r))return r +return 0}, +aR(a){var s=A.uv(1/0,a),r=s.b0(this.B.mz(s)).b +if(isFinite(r))return r +return 0}, +bP(a){return a.b0(this.B.mz(a))}, +d6(a,b){var s,r,q,p,o,n,m=this.C$ +if(m==null)return null +s=this.B.tz(a) +r=m.f5(s,b) +if(r==null)return null +q=this.B +p=a.b0(q.mz(a)) +o=s.a +n=s.b +return r+q.tC(p,o>=n&&s.c>=s.d?new A.K(A.M(0,o,n),A.M(0,s.c,s.d)):m.az(B.y,s,m.gbE())).b}, +bb(){var s,r,q,p,o,n=this,m=t.k,l=m.a(A.G.prototype.gN.call(n)) +n.id=l.b0(n.B.mz(l)) +if(n.C$!=null){s=n.B.tz(m.a(A.G.prototype.gN.call(n))) +m=n.C$ +m.toString +l=s.a +r=s.b +q=l>=r +m.bU(s,!(q&&s.c>=s.d)) +m=n.C$.b +m.toString +t.G.a(m) +p=n.B +o=n.gv(0) +m.a=p.tC(o,q&&s.c>=s.d?new A.K(A.M(0,l,r),A.M(0,s.c,s.d)):n.C$.gv(0))}}} +A.BM.prototype={ +ah(a){var s +this.eq(a) +s=this.C$ +if(s!=null)s.ah(a)}, +ab(a){var s +this.e_(0) +s=this.C$ +if(s!=null)s.ab(0)}} +A.Kn.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(!(b instanceof A.Kn))return!1 +return b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d}, +j(a){var s=this +return"scrollOffset: "+A.h(s.a)+" precedingScrollExtent: "+A.h(s.b)+" viewportMainAxisExtent: "+A.h(s.c)+" crossAxisExtent: "+A.h(s.d)}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Gt.prototype={ +F(){return"GrowthDirection."+this.b}} +A.lV.prototype={ +gQw(){return!1}, +NQ(a,b){var s=this.w +switch(A.aX(this.a).a){case 0:return new A.aq(b,a,s,s) +case 1:return new A.aq(s,s,b,a)}}, +a7H(){return this.NQ(1/0,0)}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(!(b instanceof A.lV))return!1 +return b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d&&b.e===s.e&&b.f===s.f&&b.r===s.r&&b.w===s.w&&b.x===s.x&&b.y===s.y&&b.Q===s.Q&&b.z===s.z}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,s.r,s.w,s.x,s.y,s.Q,s.z,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s=this,r=A.b([s.a.j(0),s.b.j(0),s.c.j(0),"scrollOffset: "+B.c.R(s.d,1),"precedingScrollExtent: "+B.c.R(s.e,1),"remainingPaintExtent: "+B.c.R(s.r,1)],t.s),q=s.f +if(q!==0)r.push("overlap: "+B.c.R(q,1)) +r.push("crossAxisExtent: "+B.c.R(s.w,1)) +r.push("crossAxisDirection: "+s.x.j(0)) +r.push("viewportMainAxisExtent: "+B.c.R(s.y,1)) +r.push("remainingCacheExtent: "+B.c.R(s.Q,1)) +r.push("cacheOrigin: "+B.c.R(s.z,1)) +return"SliverConstraints("+B.b.bw(r,", ")+")"}} +A.Kl.prototype={ +cf(){return"SliverGeometry"}} +A.r9.prototype={} +A.Km.prototype={ +j(a){return A.r(this.a).j(0)+"@(mainAxis: "+A.h(this.c)+", crossAxis: "+A.h(this.d)+")"}} +A.zc.prototype={ +j(a){var s=this.a +return"layoutOffset="+(s==null?"None":B.c.R(s,1))}} +A.lW.prototype={ +j(a){return"paintOffset="+this.a.j(0)}} +A.ka.prototype={} +A.cl.prototype={ +gN(){return t.p.a(A.G.prototype.gN.call(this))}, +gla(){return this.giH()}, +giH(){var s=this,r=t.p +switch(A.aX(r.a(A.G.prototype.gN.call(s)).a).a){case 0:return new A.x(0,0,0+s.fx.c,0+r.a(A.G.prototype.gN.call(s)).w) +case 1:return new A.x(0,0,0+r.a(A.G.prototype.gN.call(s)).w,0+s.fx.c)}}, +oq(){}, +Q4(a,b,c){var s,r=this +if(c>=0&&c=0&&b0){r=a/s +q=B.c.a7(r) +if(Math.abs(r*s-q*s)<1e-10)return q +return B.c.d1(r)}return 0}, +FV(a,b){var s,r,q +this.grv() +s=this.gru() +s.toString +if(s>0){r=a/s-1 +q=B.c.a7(r) +if(Math.abs(r*s-q*s)<1e-10)return Math.max(0,q) +return Math.max(0,B.c.d4(r))}return 0}, +a8A(a,b){var s,r +this.grv() +s=this.gru() +s.toString +r=this.a4.gqq() +return r*s}, +us(a){var s +this.grv() +s=this.gru() +s.toString +return t.p.a(A.G.prototype.gN.call(this)).NQ(s,s)}, +bb(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=this,a4=null,a5=t.p.a(A.G.prototype.gN.call(a3)),a6=a3.a4 +a6.R8=!1 +s=a5.d +r=s+a5.z +q=r+a5.Q +a3.kD=new A.Kn(s,a5.e,a5.y,a5.w) +p=a3.SU(r,-1) +o=isFinite(q)?a3.FV(q,-1):a4 +if(a3.T$!=null){n=a3.a80(p) +a3.qt(n,o!=null?a3.a81(o):0)}else a3.qt(0,0) +if(a3.T$==null)if(!a3.Nz(p,a3.kL(-1,p))){m=p<=0?0:a3.a8A(a5,-1) +a3.fx=A.iT(a4,!1,a4,a4,m,0,0,m,a4) +a6.qL() +return}l=a3.T$ +l.toString +l=l.b +l.toString +k=t.D +l=k.a(l).b +l.toString +j=l-1 +i=a4 +for(;j>=p;--j){h=a3.abT(a3.us(j)) +if(h==null){a3.fx=A.iT(a4,!1,a4,a4,0,0,0,0,a3.kL(-1,j)) +return}l=h.b +l.toString +k.a(l).a=a3.kL(-1,j) +if(i==null)i=h}if(i==null){l=a3.T$ +l.toString +g=l.b +g.toString +g=k.a(g).b +g.toString +l.hh(a3.us(g)) +g=a3.T$.b +g.toString +k.a(g).a=a3.kL(-1,p) +i=a3.T$}l=i.b +l.toString +l=k.a(l).b +l.toString +j=l+1 +l=A.o(a3).h("ab.1") +g=o!=null +while(!0){if(!(!g||j<=o)){f=1/0 +break}e=i.b +e.toString +h=l.a(e).a2$ +if(h!=null){e=h.b +e.toString +e=k.a(e).b +e.toString +e=e!==j}else e=!0 +if(e){h=a3.abS(a3.us(j),i) +if(h==null){f=a3.kL(-1,j) +break}}else h.hh(a3.us(j)) +e=h.b +e.toString +k.a(e) +d=e.b +d.toString +e.a=a3.kL(-1,d);++j +i=h}l=a3.cg$ +l.toString +l=l.b +l.toString +l=k.a(l).b +l.toString +c=a3.kL(-1,p) +b=a3.kL(-1,l+1) +f=Math.min(f,a6.Pp(a5,p,l,c,b)) +a=a3.vI(a5,c,b) +a0=a3.Ct(a5,c,b) +a1=s+a5.r +a2=isFinite(a1)?a3.FV(a1,-1):a4 +a3.fx=A.iT(a0,a2!=null&&l>=a2||s>0,a4,a4,f,a,0,f,a4) +if(f===b)a6.R8=!0 +a6.qL()}} +A.Jp.prototype={ +bb(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=this,a4=null,a5={},a6=t.p.a(A.G.prototype.gN.call(a3)),a7=a3.a4 +a7.R8=!1 +s=a6.d +r=s+a6.z +q=r+a6.Q +p=a6.a7H() +if(a3.T$==null)if(!a3.Ny()){a3.fx=B.wQ +a7.qL() +return}a5.a=null +o=a3.T$ +n=o.b +n.toString +m=t.D +if(m.a(n).a==null){n=A.o(a3).h("ab.1") +l=0 +while(!0){if(o!=null){k=o.b +k.toString +k=m.a(k).a==null}else k=!1 +if(!k)break +k=o.b +k.toString +o=n.a(k).a2$;++l}a3.qt(l,0) +if(a3.T$==null)if(!a3.Ny()){a3.fx=B.wQ +a7.qL() +return}}o=a3.T$ +n=o.b +n.toString +n=m.a(n).a +n.toString +j=n +i=a4 +for(;j>r;j=h,i=o){o=a3.Ea(p,!0) +if(o==null){n=a3.T$ +k=n.b +k.toString +m.a(k).a=0 +if(r===0){n.bU(p,!0) +o=a3.T$ +if(a5.a==null)a5.a=o +i=o +break}else{a3.fx=A.iT(a4,!1,a4,a4,0,0,0,0,-r) +return}}n=a3.T$ +n.toString +h=j-a3.mf(n) +if(h<-1e-10){a3.fx=A.iT(a4,!1,a4,a4,0,0,0,0,-h) +a7=a3.T$.b +a7.toString +m.a(a7).a=0 +return}n=o.b +n.toString +m.a(n).a=h +if(a5.a==null)a5.a=o}if(r<1e-10)while(!0){n=a3.T$ +n.toString +n=n.b +n.toString +m.a(n) +k=n.b +k.toString +if(!(k>0))break +n=n.a +n.toString +o=a3.Ea(p,!0) +k=a3.T$ +k.toString +h=n-a3.mf(k) +k=a3.T$.b +k.toString +m.a(k).a=0 +if(h<-1e-10){a3.fx=A.iT(a4,!1,a4,a4,0,0,0,0,-h) +return}}if(i==null){o.bU(p,!0) +a5.a=o}a5.b=!0 +a5.c=o +n=o.b +n.toString +m.a(n) +k=n.b +k.toString +a5.d=k +n=n.a +n.toString +a5.e=n+a3.mf(o) +g=new A.a7u(a5,a3,p) +for(f=0;a5.es+a6.r||s>0,a4,a4,a,a1,0,a,a4) +if(a===n)a7.R8=!0 +a7.qL()}} +A.a7u.prototype={ +$0(){var s,r,q,p=this.a,o=p.c,n=p.a +if(o==n)p.b=!1 +s=this.b +o=o.b +o.toString +r=p.c=A.o(s).h("ab.1").a(o).a2$ +o=r==null +if(o)p.b=!1 +q=++p.d +if(!p.b){if(!o){o=r.b +o.toString +o=t.D.a(o).b +o.toString +q=o!==q +o=q}else o=!0 +q=this.c +if(o){r=s.Qh(q,n,!0) +p.c=r +if(r==null)return!1}else r.bU(q,!0) +o=p.a=p.c}else o=r +n=o.b +n.toString +t.D.a(n) +q=p.e +n.a=q +p.e=q+s.mf(o) +return!0}, +$S:40} +A.iD.prototype={$ic9:1} +A.a7y.prototype={ +dX(a){}} +A.fN.prototype={ +j(a){var s=this.b,r=this.r4$?"keepAlive; ":"" +return"index="+A.h(s)+"; "+r+this.W4(0)}} +A.lJ.prototype={ +dX(a){if(!(a.b instanceof A.fN))a.b=new A.fN(!1,null,null)}, +kk(a){var s +this.Hc(a) +s=a.b +s.toString +if(!t.D.a(s).c)this.a4.D4(t.x.a(a))}, +E8(a,b,c){this.yQ(0,b,c)}, +xg(a,b){var s,r=this,q=a.b +q.toString +t.D.a(q) +if(!q.c){r.Up(a,b) +r.a4.D4(a) +r.a5()}else{s=r.b2 +if(s.i(0,q.b)===a)s.A(0,q.b) +r.a4.D4(a) +q=q.b +q.toString +s.n(0,q,a)}}, +A(a,b){var s=b.b +s.toString +t.D.a(s) +if(!s.c){this.Ur(0,b) +return}this.b2.A(0,s.b) +this.qU(b)}, +zS(a,b){this.Ed(new A.a7v(this,a,b),t.p)}, +IL(a){var s,r=this,q=a.b +q.toString +t.D.a(q) +if(q.r4$){r.A(0,a) +s=q.b +s.toString +r.b2.n(0,s,a) +a.b=q +r.Hc(a) +q.c=!0}else r.a4.RC(a)}, +ah(a){var s,r,q +this.WH(a) +for(s=this.b2.gaF(0),r=A.o(s),s=new A.br(J.ak(s.a),s.b,r.h("br<1,2>")),r=r.y[1];s.t();){q=s.a;(q==null?r.a(q):q).ah(a)}}, +ab(a){var s,r,q +this.WI(0) +for(s=this.b2.gaF(0),r=A.o(s),s=new A.br(J.ak(s.a),s.b,r.h("br<1,2>")),r=r.y[1];s.t();){q=s.a;(q==null?r.a(q):q).ab(0)}}, +f1(){this.Uq() +this.b2.gaF(0).V(0,this.gRy())}, +bn(a){this.GE(a) +this.b2.gaF(0).V(0,a)}, +fH(a){this.GE(a)}, +Nz(a,b){var s +this.zS(a,null) +s=this.T$ +if(s!=null){s=s.b +s.toString +t.D.a(s).a=b +return!0}this.a4.R8=!0 +return!1}, +Ny(){return this.Nz(0,0)}, +Ea(a,b){var s,r,q,p=this,o=p.T$ +o.toString +o=o.b +o.toString +s=t.D +o=s.a(o).b +o.toString +r=o-1 +p.zS(r,null) +o=p.T$ +o.toString +q=o.b +q.toString +q=s.a(q).b +q.toString +if(q===r){o.bU(a,b) +return p.T$}p.a4.R8=!0 +return null}, +abT(a){return this.Ea(a,!1)}, +Qh(a,b,c){var s,r,q,p=b.b +p.toString +s=t.D +p=s.a(p).b +p.toString +r=p+1 +this.zS(r,b) +p=b.b +p.toString +q=A.o(this).h("ab.1").a(p).a2$ +if(q!=null){p=q.b +p.toString +p=s.a(p).b +p.toString +p=p===r}else p=!1 +if(p){q.bU(a,c) +return q}this.a4.R8=!0 +return null}, +abS(a,b){return this.Qh(a,b,!1)}, +a80(a){var s,r=this.T$,q=A.o(this).h("ab.1"),p=t.D,o=0 +while(!0){if(r!=null){s=r.b +s.toString +s=p.a(s).b +s.toString +s=sa}else s=!1 +if(!s)break;++o +s=r.b +s.toString +r=q.a(s).bF$}return o}, +qt(a,b){var s={} +s.a=a +s.b=b +this.Ed(new A.a7x(s,this),t.p)}, +mf(a){var s +switch(A.aX(t.p.a(A.G.prototype.gN.call(this)).a).a){case 0:s=a.gv(0).a +break +case 1:s=a.gv(0).b +break +default:s=null}return s}, +E5(a,b,c){var s,r,q=this.cg$,p=A.ap1(a) +for(s=A.o(this).h("ab.1");q!=null;){if(this.abA(p,q,b,c))return!0 +r=q.b +r.toString +q=s.a(r).bF$}return!1}, +Cy(a){var s=a.b +s.toString +return t.D.a(s).a}, +kU(a){var s=t.MR.a(a.b) +return(s==null?null:s.b)!=null&&!this.b2.a9(0,s.b)}, +cM(a,b){if(!this.kU(a))b.tR() +else this.a7F(a,b)}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this,c=null +if(d.T$==null)return +s=t.p +r=!0 +switch(A.mx(s.a(A.G.prototype.gN.call(d)).a,s.a(A.G.prototype.gN.call(d)).b).a){case 0:q=b.a6(0,new A.n(0,d.fx.c)) +p=B.r1 +o=B.dG +break +case 1:q=b +p=B.dG +o=B.f4 +r=!1 +break +case 2:q=b +p=B.f4 +o=B.dG +r=!1 +break +case 3:q=b.a6(0,new A.n(d.fx.c,0)) +p=B.r2 +o=B.f4 +break +default:r=c +q=r +o=q +p=o}n=d.T$ +for(m=A.o(d).h("ab.1"),l=t.D;n!=null;){k=n.b +k.toString +k=l.a(k).a +k.toString +j=k-s.a(A.G.prototype.gN.call(d)).d +k=q.a +i=p.a +k=k+i*j+o.a*0 +h=q.b +g=p.b +h=h+g*j+o.b*0 +f=new A.n(k,h) +if(r){e=d.mf(n) +f=new A.n(k+i*e,h+g*e)}if(j0)a.fE(n,f) +k=n.b +k.toString +n=m.a(k).a2$}}} +A.a7v.prototype={ +$1(a){var s=this.a,r=s.b2,q=this.b,p=this.c +if(r.a9(0,q)){r=r.A(0,q) +r.toString +q=r.b +q.toString +t.D.a(q) +s.qU(r) +r.b=q +s.yQ(0,r,p) +q.c=!1}else s.a4.a99(q,p)}, +$S:137} +A.a7x.prototype={ +$1(a){var s,r,q +for(s=this.a,r=this.b;s.a>0;){q=r.T$ +q.toString +r.IL(q);--s.a}for(;s.b>0;){q=r.cg$ +q.toString +r.IL(q);--s.b}s=r.b2.gaF(0) +q=A.o(s).h("aF") +B.b.V(A.a8(new A.aF(s,new A.a7w(),q),!0,q.h("j.E")),r.a4.gae6())}, +$S:137} +A.a7w.prototype={ +$1(a){var s=a.b +s.toString +return!t.D.a(s).r4$}, +$S:299} +A.BO.prototype={ +ah(a){var s,r,q +this.eq(a) +s=this.T$ +for(r=t.D;s!=null;){s.ah(a) +q=s.b +q.toString +s=r.a(q).a2$}}, +ab(a){var s,r,q +this.e_(0) +s=this.T$ +for(r=t.D;s!=null;){s.ab(0) +q=s.b +q.toString +s=r.a(q).a2$}}} +A.Qv.prototype={} +A.Qw.prototype={} +A.Ro.prototype={ +ab(a){this.tY(0)}} +A.Rp.prototype={} +A.yn.prototype={ +gCo(){var s=this,r=t.p +switch(A.mx(r.a(A.G.prototype.gN.call(s)).a,r.a(A.G.prototype.gN.call(s)).b).a){case 0:r=s.geH().d +break +case 1:r=s.geH().a +break +case 2:r=s.geH().b +break +case 3:r=s.geH().c +break +default:r=null}return r}, +ga7v(){var s=this,r=t.p +switch(A.mx(r.a(A.G.prototype.gN.call(s)).a,r.a(A.G.prototype.gN.call(s)).b).a){case 0:r=s.geH().b +break +case 1:r=s.geH().c +break +case 2:r=s.geH().d +break +case 3:r=s.geH().a +break +default:r=null}return r}, +ga9e(){switch(A.aX(t.p.a(A.G.prototype.gN.call(this)).a).a){case 0:var s=this.geH() +s=s.gb_(0)+s.gb5(0) +break +case 1:s=this.geH().gbQ() +break +default:s=null}return s}, +dX(a){if(!(a.b instanceof A.lW))a.b=new A.lW(B.h)}, +bb(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=this,a3=null,a4=t.p,a5=a4.a(A.G.prototype.gN.call(a2)),a6=new A.a7r(a2,a5),a7=new A.a7q(a2,a5),a8=a2.geH() +a8.toString +s=a2.gCo() +a2.ga7v() +r=a2.geH() +r.toString +q=r.a7x(A.aX(a4.a(A.G.prototype.gN.call(a2)).a)) +p=a2.ga9e() +if(a2.C$==null){o=a6.$2$from$to(0,q) +a2.fx=A.iT(a7.$2$from$to(0,q),!1,a3,a3,q,Math.min(o,a5.r),0,q,a3) +return}n=a6.$2$from$to(0,s) +m=a5.f +if(m>0)m=Math.max(0,m-n) +a4=a2.C$ +a4.toString +r=Math.max(0,a5.d-s) +l=Math.min(0,a5.z+s) +k=a5.r +j=a6.$2$from$to(0,s) +i=a5.Q +h=a7.$2$from$to(0,s) +g=Math.max(0,a5.w-p) +f=a5.a +e=a5.b +a4.bU(new A.lV(f,e,a5.c,r,s+a5.e,m,k-j,g,a5.x,a5.y,l,i-h),!0) +d=a2.C$.fx +a4=d.y +if(a4!=null){a2.fx=A.iT(a3,!1,a3,a3,0,0,0,0,a4) +return}c=d.a +b=a7.$2$from$to(0,s) +a4=s+c +r=q+c +a=a7.$2$from$to(a4,r) +a0=a6.$2$from$to(a4,r) +a1=n+a0 +a4=d.c +l=d.d +o=Math.min(n+Math.max(a4,l+a0),k) +k=d.b +l=Math.min(a1+l,o) +i=Math.min(b+a+d.z,i) +j=d.e +a4=Math.max(a1+a4,n+d.r) +a2.fx=A.iT(i,d.x,a4,l,q+j,o,k,r,a3) +switch(A.mx(f,e).a){case 0:a4=a6.$2$from$to(a8.d+c,a8.gb_(0)+a8.gb5(0)+c) +break +case 3:a4=a6.$2$from$to(a8.c+c,a8.gbQ()+c) +break +case 1:a4=a6.$2$from$to(0,a8.a) +break +case 2:a4=a6.$2$from$to(0,a8.b) +break +default:a4=a3}r=a2.C$.b +r.toString +t.jB.a(r) +switch(A.aX(f).a){case 0:a4=new A.n(a4,a8.b) +break +case 1:a4=new A.n(a8.a,a4) +break +default:a4=a3}r.a=a4}, +E5(a,b,c){var s,r,q,p,o=this,n=o.C$ +if(n!=null&&n.fx.r>0){n=n.b +n.toString +t.jB.a(n) +s=o.vI(t.p.a(A.G.prototype.gN.call(o)),0,o.gCo()) +r=o.C$ +r.toString +r=o.a8b(r) +n=n.a +q=o.C$.gabz() +a.c.push(new A.ti(new A.n(-n.a,-n.b))) +p=q.$3$crossAxisPosition$mainAxisPosition(a,b-r,c-s) +a.xB() +return p}return!1}, +a8b(a){var s +switch(A.aX(t.p.a(A.G.prototype.gN.call(this)).a).a){case 0:s=this.geH().b +break +case 1:s=this.geH().a +break +default:s=null}return s}, +Cy(a){return this.gCo()}, +cM(a,b){var s=a.b +s.toString +s=t.jB.a(s).a +b.aq(0,s.a,s.b)}, +aE(a,b){var s,r=this.C$ +if(r!=null&&r.fx.w){s=r.b +s.toString +a.fE(r,b.a6(0,t.jB.a(s).a))}}} +A.a7r.prototype={ +$2$from$to(a,b){return this.a.vI(this.b,a,b)}, +$S:135} +A.a7q.prototype={ +$2$from$to(a,b){return this.a.Ct(this.b,a,b)}, +$S:135} +A.Jq.prototype={ +geH(){return this.ct}, +a64(){if(this.ct!=null)return +this.ct=this.dB}, +sce(a,b){var s=this +if(s.dB.k(0,b))return +s.dB=b +s.ct=null +s.a5()}, +sbS(a){var s=this +if(s.ea===a)return +s.ea=a +s.ct=null +s.a5()}, +bb(){this.a64() +this.Hj()}} +A.Qt.prototype={ +ah(a){var s +this.eq(a) +s=this.C$ +if(s!=null)s.ah(a)}, +ab(a){var s +this.e_(0) +s=this.C$ +if(s!=null)s.ab(0)}} +A.J3.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return b instanceof A.J3&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){var s=this +return"RelativeRect.fromLTRB("+B.c.R(s.a,1)+", "+B.c.R(s.b,1)+", "+B.c.R(s.c,1)+", "+B.c.R(s.d,1)+")"}} +A.dP.prototype={ +gm9(){var s=this,r=!0 +if(s.e==null)if(s.f==null)if(s.r==null)if(s.w==null){r=s.x +r=r!=null}return r}, +F7(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f=this,e=null,d=f.w,c=f.f +$label0$0:{s=d!=null +r=e +q=e +p=!1 +if(s){o=d==null +if(o)A.bA(d) +q=o?A.bA(d):d +p=c!=null +if(p)if(c==null)A.bA(c) +r=c}if(p){n=s?r:c +if(n==null)n=A.bA(n) +p=a.a-n-q +break $label0$0}p=f.x +break $label0$0}m=f.e +l=f.r +$label1$1:{k=m!=null +j=e +i=e +o=!1 +if(k){h=m==null +if(h)A.bA(m) +i=h?A.bA(m):m +o=l!=null +if(o)if(l==null)A.bA(l) +j=l}if(o){g=k?j:l +if(g==null)g=A.bA(g) +o=a.b-g-i +break $label1$1}o=f.y +break $label1$1}p=p==null?e:Math.max(0,p) +return A.em(o==null?e:Math.max(0,o),p)}, +j(a){var s=this,r=A.b([],t.s),q=s.e +if(q!=null)r.push("top="+A.ih(q)) +q=s.f +if(q!=null)r.push("right="+A.ih(q)) +q=s.r +if(q!=null)r.push("bottom="+A.ih(q)) +q=s.w +if(q!=null)r.push("left="+A.ih(q)) +q=s.x +if(q!=null)r.push("width="+A.ih(q)) +if(r.length===0)r.push("not positioned") +r.push(s.yP(0)) +return B.b.bw(r,"; ")}} +A.zj.prototype={ +F(){return"StackFit."+this.b}} +A.yo.prototype={ +dX(a){if(!(a.b instanceof A.dP))a.b=new A.dP(null,null,B.h)}, +gMd(){var s=this,r=s.Z +return r==null?s.Z=s.a3.a1(0,s.aj):r}, +sfk(a){var s=this +if(s.a3.k(0,a))return +s.a3=a +s.Z=null +s.a5()}, +sbS(a){var s=this +if(s.aj==a)return +s.aj=a +s.Z=null +s.a5()}, +aS(a){return A.a7B(this.T$,new A.a7A(a))}, +aR(a){return A.a7B(this.T$,new A.a7z(a))}, +h3(a){return this.CZ(a)}, +d6(a,b){var s,r,q,p,o,n,m,l=this +switch(l.au.a){case 0:s=a.afR() +break +case 1:s=A.kR(a.gqm()) +break +case 2:s=a +break +default:s=null}r=l.gMd() +q=l.az(B.y,a,l.gbE()) +p=l.T$ +o=A.o(l).h("ab.1") +n=null +while(p!=null){n=A.pt(n,A.aDl(p,q,s,r,b)) +m=p.b +m.toString +p=o.a(m).a2$}return n}, +bP(a){return this.Mc(a,A.jh())}, +Mc(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g +if(this.dh$===0){s=a.a +r=a.b +q=A.M(1/0,s,r) +p=a.c +o=a.d +n=A.M(1/0,p,o) +return isFinite(q)&&isFinite(n)?new A.K(A.M(1/0,s,r),A.M(1/0,p,o)):new A.K(A.M(0,s,r),A.M(0,p,o))}m=a.a +l=a.c +switch(this.au.a){case 0:s=new A.aq(0,a.b,0,a.d) +break +case 1:s=A.kR(new A.K(A.M(1/0,m,a.b),A.M(1/0,l,a.d))) +break +case 2:s=a +break +default:s=null}k=this.T$ +for(r=t.B,j=l,i=m,h=!1;k!=null;){q=k.b +q.toString +r.a(q) +if(!q.gm9()){g=b.$2(k,s) +i=Math.max(i,g.a) +j=Math.max(j,g.b) +h=!0}k=q.a2$}return h?new A.K(i,j):new A.K(A.M(1/0,m,a.b),A.M(1/0,l,a.d))}, +bb(){var s,r,q,p,o,n,m,l=this,k="RenderBox was not laid out: ",j=t.k.a(A.G.prototype.gN.call(l)) +l.E=!1 +l.id=l.Mc(j,A.pb()) +s=l.gMd() +r=l.T$ +for(q=t.B,p=t.o;r!=null;){o=r.b +o.toString +q.a(o) +if(!o.gm9()){n=l.id +if(n==null)n=A.aa(A.R(k+A.r(l).j(0)+"#"+A.b9(l))) +m=r.id +o.a=s.hA(p.a(n.ac(0,m==null?A.aa(A.R(k+A.r(r).j(0)+"#"+A.b9(r))):m)))}else{n=l.id +l.E=A.arE(r,o,n==null?A.aa(A.R(k+A.r(l).j(0)+"#"+A.b9(l))):n,s)||l.E}r=o.a2$}}, +cV(a,b){return this.qG(a,b)}, +adt(a,b){this.lR(a,b)}, +aE(a,b){var s,r=this,q=r.S!==B.z&&r.E,p=r.O +if(q){q=r.cx +q===$&&A.a() +s=r.gv(0) +p.saN(0,a.kY(q,b,new A.x(0,0,0+s.a,0+s.b),r.gads(),r.S,p.a))}else{p.saN(0,null) +r.lR(a,b)}}, +l(){this.O.saN(0,null) +this.fc()}, +lT(a){var s +switch(this.S.a){case 0:return null +case 1:case 2:case 3:if(this.E){s=this.gv(0) +s=new A.x(0,0,0+s.a,0+s.b)}else s=null +return s}}} +A.a7A.prototype={ +$1(a){return a.az(B.ac,this.a,a.gbk())}, +$S:29} +A.a7z.prototype={ +$1(a){return a.az(B.ax,this.a,a.gbt())}, +$S:29} +A.Qx.prototype={ +ah(a){var s,r,q +this.eq(a) +s=this.T$ +for(r=t.B;s!=null;){s.ah(a) +q=s.b +q.toString +s=r.a(q).a2$}}, +ab(a){var s,r,q +this.e_(0) +s=this.T$ +for(r=t.B;s!=null;){s.ab(0) +q=s.b +q.toString +s=r.a(q).a2$}}} +A.Qy.prototype={} +A.KU.prototype={ +gj1(){return!0}, +gkl(){return!0}, +gdj(){return!0}, +bP(a){return new A.K(A.M(1/0,a.a,a.b),A.M(1/0,a.c,a.d))}, +iv(a){return!0}, +aE(a,b){var s=this,r=b.a,q=b.b +q=new A.abj(new A.x(r,q,r+s.gv(0).a,q+s.gv(0).b),s.E,!1,s.a3,A.E(t.S,t.M),A.ai()) +a.lf() +q.hY(0) +a.a.qb(0,q)}} +A.zV.prototype={ +TP(a){if(A.r(a)!==A.r(this))return!0 +return a.c!==this.c}, +k(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.zV&&b.a.k(0,s.a)&&b.b.k(0,s.b)&&b.c===s.c}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return this.a.j(0)+" at "+A.ih(this.c)+"x"}} +A.ob.prototype={ +XW(a,b,c){this.saG(a)}, +svU(a){var s,r,q,p=this +if(J.e(p.fy,a))return +s=p.fy +p.fy=a +if(p.k1==null)return +if(s==null||a.TP(s)){r=p.N3() +q=p.ch +q.a.ab(0) +q.saN(0,r) +p.am()}p.a5()}, +gN(){var s=this.fy +if(s==null)throw A.c(A.R("Constraints are not available because RenderView has not been given a configuration yet.")) +return s.a}, +F8(){var s=this +s.Q=s +s.y.r.push(s) +s.ch.saN(0,s.N3()) +s.y.Q.push(s)}, +N3(){var s,r=this.fy.c +r=A.a48(r,r,1) +this.k1=r +s=A.asp(r) +s.ah(this) +return s}, +oq(){}, +bb(){var s=this,r=s.gN(),q=!(r.a>=r.b&&r.c>=r.d) +r=s.C$ +if(r!=null)r.bU(s.gN(),q) +if(q&&s.C$!=null)r=s.C$.gv(0) +else{r=s.gN() +r=new A.K(A.M(0,r.a,r.b),A.M(0,r.c,r.d))}s.fx=r}, +gdj(){return!0}, +aE(a,b){var s=this.C$ +if(s!=null)a.fE(s,b)}, +cM(a,b){var s=this.k1 +s.toString +b.cq(0,s) +this.Vl(a,b)}, +a8v(){var s,r,q,p,o,n,m=this +try{$.iP.toString +s=$.ap().CP() +r=m.ch.a.O3(s) +m.a70() +q=m.go +p=m.fy +o=m.fx +p=p.b.b0(o.ad(0,p.c)) +o=$.bq().d +if(o==null){o=self.window.devicePixelRatio +if(o===0)o=1}n=p.dr(0,o) +o=q.gcs().a.style +A.l(o,"width",A.h(n.a)+"px") +A.l(o,"height",A.h(n.b)+"px") +q.zJ() +q.b.xP(r,q) +r.l()}finally{}}, +a70(){var s,r,q,p,o,n=null,m=this.giH(),l=m.gaQ(),k=m.gaQ(),j=this.ch,i=t.ew,h=j.a.Py(0,new A.n(l.a,0),i),g=n +switch(A.eF().a){case 0:g=j.a.Py(0,new A.n(k.a,m.d-1),i) +break +case 1:case 2:case 3:case 4:case 5:break}l=h==null +if(l&&g==null)return +if(!l&&g!=null){l=h.f +k=h.r +j=h.e +i=h.w +A.asc(new A.iW(g.a,g.b,g.c,g.d,j,l,k,i)) +return}s=A.eF()===B.au +r=l?g:h +l=r.f +k=r.r +j=r.e +i=r.w +q=s?r.a:n +p=s?r.b:n +o=s?r.c:n +A.asc(new A.iW(q,p,o,s?r.d:n,j,l,k,i))}, +giH(){var s=this.fx.ad(0,this.fy.c) +return new A.x(0,0,0+s.a,0+s.b)}, +gla(){var s,r=this.k1 +r.toString +s=this.fx +return A.e_(r,new A.x(0,0,0+s.a,0+s.b))}} +A.Qz.prototype={ +ah(a){var s +this.eq(a) +s=this.C$ +if(s!=null)s.ah(a)}, +ab(a){var s +this.e_(0) +s=this.C$ +if(s!=null)s.ab(0)}} +A.Es.prototype={ +F(){return"CacheExtentStyle."+this.b}} +A.qS.prototype={ +j(a){return"RevealedOffset(offset: "+A.h(this.a)+", rect: "+this.b.j(0)+")"}} +A.qP.prototype={ +dO(a){this.fb(a) +a.Cb(B.wl)}, +fH(a){var s=this.gOc() +new A.aF(s,new A.a7F(),A.Z(s).h("aF<1>")).V(0,a)}, +sew(a){if(a===this.E)return +this.E=a +this.a5()}, +sa9d(a){if(a===this.Z)return +this.Z=a +this.a5()}, +skR(a,b){var s=this,r=s.a3 +if(b===r)return +if(s.y!=null)r.J(0,s.gx9()) +s.a3=b +if(s.y!=null)b.a0(0,s.gx9()) +s.a5()}, +sa7Z(a){if(a==null)a=250 +if(a===this.aj)return +this.aj=a +this.a5()}, +sa8_(a){if(a===this.S)return +this.S=a +this.a5()}, +snz(a){var s=this +if(a!==s.O){s.O=a +s.am() +s.aY()}}, +ah(a){this.WK(a) +this.a3.a0(0,this.gx9())}, +ab(a){this.a3.J(0,this.gx9()) +this.WL(0)}, +aS(a){return 0}, +aR(a){return 0}, +gdj(){return!0}, +QD(a,b,c,d,e,f,g,h,a0,a1,a2){var s,r,q,p,o,n,m,l,k=this,j=A.aHU(k.a3.k4,e),i=f+h +for(s=f,r=0;c!=null;){q=a2<=0?0:a2 +p=Math.max(b,-q) +o=b-p +c.bU(new A.lV(k.E,e,j,q,r,i-s,Math.max(0,a1-s+f),d,k.Z,g,p,Math.max(0,a0+o)),!0) +n=c.fx +m=n.y +if(m!=null)return m +l=s+n.b +if(n.w||a2>0)k.Sf(c,l,e) +else k.Sf(c,-a2+f,e) +i=Math.max(l+n.c,i) +m=n.a +a2-=m +r+=m +s+=n.d +m=n.z +if(m!==0){a0-=m-o +b=Math.min(p+m,0)}k.aeV(e,n) +c=a.$1(c)}return 0}, +lT(a){var s,r,q,p,o,n +switch(this.O.a){case 0:return null +case 1:case 2:case 3:break}s=this.gv(0) +r=0+s.a +q=0+s.b +s=t.p +if(s.a(A.G.prototype.gN.call(a)).f===0||!isFinite(s.a(A.G.prototype.gN.call(a)).y))return new A.x(0,0,r,q) +p=s.a(A.G.prototype.gN.call(a)).y-s.a(A.G.prototype.gN.call(a)).r+s.a(A.G.prototype.gN.call(a)).f +o=0 +n=0 +switch(A.mx(this.E,s.a(A.G.prototype.gN.call(a)).b).a){case 2:n=0+p +break +case 0:q-=p +break +case 1:o=0+p +break +case 3:r-=p +break}return new A.x(o,n,r,q)}, +D2(a){var s,r,q,p,o=this +if(o.au==null){s=o.gv(0) +return new A.x(0,0,0+s.a,0+s.b)}switch(A.aX(o.E).a){case 1:o.gv(0) +o.gv(0) +s=o.au +s.toString +r=o.gv(0) +q=o.gv(0) +p=o.au +p.toString +return new A.x(0,0-s,0+r.a,0+q.b+p) +case 0:o.gv(0) +s=o.au +s.toString +o.gv(0) +r=o.gv(0) +q=o.au +q.toString +return new A.x(0-s,0,0+r.a+q,0+o.gv(0).b)}}, +aE(a,b){var s,r,q,p=this +if(p.T$==null)return +s=p.gabq()&&p.O!==B.z +r=p.af +if(s){s=p.cx +s===$&&A.a() +q=p.gv(0) +r.saN(0,a.kY(s,b,new A.x(0,0,0+q.a,0+q.b),p.ga4a(),p.O,r.a))}else{r.saN(0,null) +p.KU(a,b)}}, +l(){this.af.saN(0,null) +this.fc()}, +KU(a,b){var s,r,q,p,o,n,m +for(s=this.gOc(),r=s.length,q=b.a,p=b.b,o=0;o0}, +$S:301} +A.a7E.prototype={ +$1(a){var s=this,r=s.c,q=s.a,p=s.b.a8z(r,q.b) +return r.Q4(s.d,q.a,p)}, +$S:138} +A.yp.prototype={ +dX(a){if(!(a.b instanceof A.ka))a.b=new A.ka(null,null,B.h)}, +sa7z(a){if(a===this.jp)return +this.jp=a +this.a5()}, +saQ(a){if(a==this.dC)return +this.dC=a +this.a5()}, +gj1(){return!0}, +bP(a){return new A.K(A.M(1/0,a.a,a.b),A.M(1/0,a.c,a.d))}, +bb(){var s,r,q,p,o,n,m,l,k,j,i,h=this +switch(A.aX(h.E).a){case 1:h.a3.qh(h.gv(0).b) +break +case 0:h.a3.qh(h.gv(0).a) +break}if(h.dC==null){h.o0=h.o_=0 +h.jq=!1 +h.a3.qd(0,0) +return}switch(A.aX(h.E).a){case 1:s=new A.av(h.gv(0).b,h.gv(0).a) +break +case 0:s=new A.av(h.gv(0).a,h.gv(0).b) +break +default:s=null}r=s.a +q=null +p=s.b +q=p +o=r +h.dC.toString +n=10*h.dh$ +m=0 +do{s=h.a3.at +s.toString +l=h.Yz(o,q,s+0) +if(l!==0)h.a3.CL(l) +else{s=h.a3 +k=h.o_ +k===$&&A.a() +j=h.jp +k=Math.min(0,k+o*j) +i=h.o0 +i===$&&A.a() +if(s.qd(k,Math.max(0,i-o*(1-j))))break}++m}while(m=a?s:r +f=e.au +f.toString +return e.QD(e.gvK(),A.M(s,-f,0),q,b,B.lo,j,a,o,k,p,h)}, +gabq(){return this.jq}, +aeV(a,b){var s,r=this +switch(a.a){case 0:s=r.o0 +s===$&&A.a() +r.o0=s+b.a +break +case 1:s=r.o_ +s===$&&A.a() +r.o_=s-b.a +break}if(b.x)r.jq=!0}, +Sf(a,b,c){var s=a.b +s.toString +t.jB.a(s).a=this.a8w(a,b,c)}, +adr(a){var s=a.b +s.toString +return t.jB.a(s).a}, +Tp(a,b){var s,r,q,p,o=this +switch(t.p.a(A.G.prototype.gN.call(a)).b.a){case 0:s=o.dC +for(r=A.o(o).h("ab.1"),q=0;s!==a;){q+=s.fx.a +p=s.b +p.toString +s=r.a(p).a2$}return q+b +case 1:r=o.dC.b +r.toString +p=A.o(o).h("ab.1") +s=p.a(r).bF$ +for(q=0;s!==a;){q-=s.fx.a +r=s.b +r.toString +s=p.a(r).bF$}return q-b}}, +acV(a){var s,r,q,p=this +switch(t.p.a(A.G.prototype.gN.call(a)).b.a){case 0:s=p.dC +for(r=A.o(p).h("ab.1");s!==a;){s.fx.toString +q=s.b +q.toString +s=r.a(q).a2$}return 0 +case 1:r=p.dC.b +r.toString +q=A.o(p).h("ab.1") +s=q.a(r).bF$ +for(;s!==a;){s.fx.toString +r=s.b +r.toString +s=q.a(r).bF$}return 0}}, +cM(a,b){var s=a.b +s.toString +s=t.jB.a(s).a +b.aq(0,s.a,s.b)}, +a8z(a,b){var s,r=a.b +r.toString +s=t.jB.a(r).a +r=t.p +switch(A.mx(r.a(A.G.prototype.gN.call(a)).a,r.a(A.G.prototype.gN.call(a)).b).a){case 2:r=b-s.b +break +case 1:r=b-s.a +break +case 0:r=a.fx.c-(b-s.b) +break +case 3:r=a.fx.c-(b-s.a) +break +default:r=null}return r}, +gOc(){var s,r,q=this,p=A.b([],t.Ry),o=q.T$ +if(o==null)return p +for(s=A.o(q).h("ab.1");o!=q.dC;){o.toString +p.push(o) +r=o.b +r.toString +o=s.a(r).a2$}o=q.cg$ +for(;!0;){o.toString +p.push(o) +if(o===q.dC)return p +r=o.b +r.toString +o=s.a(r).bF$}}, +ga8c(){var s,r,q,p=this,o=A.b([],t.Ry) +if(p.T$==null)return o +s=p.dC +for(r=A.o(p).h("ab.1");s!=null;){o.push(s) +q=s.b +q.toString +s=r.a(q).a2$}q=p.dC.b +q.toString +s=r.a(q).bF$ +for(;s!=null;){o.push(s) +q=s.b +q.toString +s=r.a(q).bF$}return o}} +A.j7.prototype={ +ah(a){var s,r,q +this.eq(a) +s=this.T$ +for(r=A.o(this).h("j7.0");s!=null;){s.ah(a) +q=s.b +q.toString +s=r.a(q).a2$}}, +ab(a){var s,r,q +this.e_(0) +s=this.T$ +for(r=A.o(this).h("j7.0");s!=null;){s.ab(0) +q=s.b +q.toString +s=r.a(q).a2$}}} +A.yK.prototype={ +F(){return"ScrollDirection."+this.b}} +A.fc.prototype={ +rK(a,b,c,d){var s=d.a===B.r.a +if(s){this.eC(b) +return A.ce(null,t.H)}else return this.ic(b,c,d)}, +j(a){var s=this,r=A.b([],t.s) +s.VY(r) +r.push(A.r(s.w).j(0)) +r.push(s.r.j(0)) +r.push(A.h(s.fr)) +r.push(s.k4.j(0)) +return"#"+A.b9(s)+"("+B.b.bw(r,", ")+")"}, +cw(a){var s=this.at +if(s!=null)a.push("offset: "+B.c.R(s,1))}} +A.m3.prototype={ +F(){return"WrapAlignment."+this.b}, +uk(a,b,c,d){var s,r,q=this +$label0$0:{if(B.cd===q){s=new A.av(d?a:0,b) +break $label0$0}if(B.Rz===q){s=B.cd.uk(a,b,c,!d) +break $label0$0}r=B.RB===q +if(r&&c<2){s=B.cd.uk(a,b,c,d) +break $label0$0}if(B.RA===q){s=new A.av(a/2,b) +break $label0$0}if(r){s=new A.av(0,a/(c-1)+b) +break $label0$0}if(B.RC===q){s=a/c +s=new A.av(s/2,s+b) +break $label0$0}if(B.RD===q){s=a/(c+1) +s=new A.av(s,s+b) +break $label0$0}s=null}return s}} +A.zY.prototype={ +F(){return"WrapCrossAlignment."+this.b}, +ga_N(){switch(this.a){case 0:var s=B.RE +break +case 1:s=B.jF +break +case 2:s=B.RF +break +default:s=null}return s}, +gYk(){switch(this.a){case 0:var s=0 +break +case 1:s=1 +break +case 2:s=0.5 +break +default:s=null}return s}} +A.tt.prototype={ +aeQ(a,b,c,d,e){var s=this,r=s.a +if(r.a+b.a+d-e>1e-10)return new A.tt(b,a) +else{s.a=A.acB(r,A.acB(b,new A.K(d,0)));++s.b +if(c)s.c=a +return null}}} +A.j2.prototype={} +A.yq.prototype={ +swa(a,b){if(this.E===b)return +this.E=b +this.a5()}, +sfk(a){if(this.Z===a)return +this.Z=a +this.a5()}, +sU_(a,b){if(this.a3===b)return +this.a3=b +this.a5()}, +saep(a){if(this.aj===a)return +this.aj=a +this.a5()}, +saet(a){if(this.au===a)return +this.au=a +this.a5()}, +sa9c(a){if(this.S===a)return +this.S=a +this.a5()}, +dX(a){if(!(a.b instanceof A.j2))a.b=new A.j2(null,null,B.h)}, +aS(a){var s,r,q,p,o,n=this +switch(n.E.a){case 0:s=n.T$ +for(r=A.o(n).h("ab.1"),q=0;s!=null;){p=s.gbk() +o=B.ac.eY(s.fx,1/0,p) +q+=o +p=s.b +p.toString +s=r.a(p).a2$}return q +case 1:return n.az(B.y,new A.aq(0,1/0,0,a),n.gbE()).a}}, +aR(a){var s,r,q,p,o,n=this +switch(n.E.a){case 0:return n.az(B.y,new A.aq(0,a,0,1/0),n.gbE()).b +case 1:s=n.T$ +for(r=A.o(n).h("ab.1"),q=0;s!=null;){p=s.gbt() +o=B.ax.eY(s.fx,1/0,p) +q+=o +p=s.b +p.toString +s=r.a(p).a2$}return q}}, +h3(a){return this.CZ(a)}, +a0h(a){var s +switch(this.E.a){case 0:s=a.a +break +case 1:s=a.b +break +default:s=null}return s}, +a02(a){var s +switch(this.E.a){case 0:s=a.b +break +case 1:s=a.a +break +default:s=null}return s}, +a0j(a,b){var s +switch(this.E.a){case 0:s=new A.n(a,b) +break +case 1:s=new A.n(b,a) +break +default:s=null}return s}, +gHU(){var s,r=this.O +switch((r==null?B.p:r).a){case 1:r=!1 +break +case 0:r=!0 +break +default:r=null}switch(this.af.a){case 1:s=!1 +break +case 0:s=!0 +break +default:s=null}switch(this.E.a){case 0:r=new A.av(r,s) +break +case 1:r=new A.av(s,r) +break +default:r=null}return r}, +d6(a,b){var s,r,q,p,o,n,m,l,k=this,j=null,i={} +if(k.T$==null)return j +switch(k.E.a){case 0:s=new A.aq(0,a.grG(a),0,1/0) +break +case 1:s=new A.aq(0,1/0,0,a.gEu(a)) +break +default:s=j}r=k.Iv(a,A.jh()) +q=r.a +p=j +o=!1 +n=r.b +o=t.EE.b(n) +if(o)p=n +m=q +if(!o)throw A.c(A.R("Pattern matching error")) +l=A.asM(m,a,k.E) +i.a=null +k.L8(p,m,l,new A.a7G(i,s,b),new A.a7H(s)) +return i.a}, +bP(a){return this.a7g(a)}, +a7g(a){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this,c=null +switch(d.E.a){case 0:s=a.b +s=new A.av(new A.aq(0,s,0,1/0),s) +break +case 1:s=a.d +s=new A.av(new A.aq(0,1/0,0,s),s) +break +default:s=c}r=s.a +q=c +p=s.b +q=p +o=r +n=d.T$ +for(s=A.o(d).h("ab.1"),m=0,l=0,k=0,j=0,i=0;n!=null;){h=A.ap4(n,o) +g=d.a0h(h) +f=d.a02(h) +if(i>0&&k+g+d.a3>q){m=Math.max(m,k) +l+=j+d.au +k=0 +j=0 +i=0}k+=g +j=Math.max(j,f) +if(i>0)k+=d.a3;++i +e=n.b +e.toString +n=s.a(e).a2$}l+=j +m=Math.max(m,k) +switch(d.E.a){case 0:s=new A.K(m,l) +break +case 1:s=new A.K(l,m) +break +default:s=c}return a.b0(s)}, +bb(){var s,r,q,p,o,n,m,l,k=this,j=t.k.a(A.G.prototype.gN.call(k)) +if(k.T$==null){k.id=new A.K(A.M(0,j.a,j.b),A.M(0,j.c,j.d)) +k.bW=!1 +return}s=k.Iv(j,A.pb()) +r=s.a +q=null +p=!1 +o=s.b +p=t.EE.b(o) +if(p)q=o +n=r +if(!p)throw A.c(A.R("Pattern matching error")) +p=k.E +m=A.asM(n,j,p) +k.id=A.amR(m,p) +p=m.a-n.a +l=m.b-n.b +k.bW=p<0||l<0 +k.L8(q,new A.K(p,l),m,A.aK8(),A.aK7())}, +Iv(a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this,b=null,a="Pattern matching error" +switch(c.E.a){case 0:s=a0.b +s=new A.av(new A.aq(0,s,0,1/0),s) +break +case 1:s=a0.d +s=new A.av(new A.aq(0,1/0,0,s),s) +break +default:s=b}r=s.a +q=b +p=s.b +q=p +o=r +n=c.gHU().a +m=n +l=c.a3 +k=A.b([],t.M6) +j=c.T$ +s=A.o(c).h("ab.1") +i=b +h=B.O +while(j!=null){g=A.amR(a1.$2(j,o),c.E) +f=i==null +e=f?new A.tt(g,j):i.aeQ(j,g,m,l,q) +if(e!=null){k.push(e) +if(f)f=b +else{f=i.a +g=new A.K(f.b,f.a) +f=g}if(f==null)f=B.O +g=new A.K(h.a+f.a,Math.max(h.b,f.b)) +h=g +i=e}f=j.b +f.toString +j=s.a(f).a2$}s=c.au +f=k.length +d=i.a +h=A.acB(h,A.acB(new A.K(s*(f-1),0),new A.K(d.b,d.a))) +return new A.av(new A.K(h.b,h.a),k)}, +L8(b3,b4,b5,b6,b7){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5=this,a6=null,a7=a5.a3,a8=Math.max(0,b4.b),a9=a5.gHU(),b0=a9.a,b1=a6,b2=a9.b +b1=b2 +s=a5.S +if(b1)s=s.ga_N() +r=a5.aj.uk(a8,a5.au,b3.length,b1) +q=r.a +p=a6 +o=r.b +p=o +n=b0?a5.gvL():a5.gvK() +for(m=J.ak(b1?new A.cm(b3,A.Z(b3).h("cm<1>")):b3),l=b5.a,k=q;m.t();){j=m.gG(m) +i=j.a +h=i.b +g=j.b +f=Math.max(0,l-i.a) +e=a5.Z.uk(f,a7,g,b0) +d=e.a +c=a6 +b=e.b +c=b +a=j.b +a0=j.c +a1=d +while(!0){if(!(a0!=null&&a>0))break +a2=A.amR(b7.$1(a0),a5.E) +a3=a6 +a4=a2.b +a3=a4 +b6.$2(a5.a0j(a1,k+s.gYk()*(h-a3)),a0) +a1+=a2.a+c +a0=n.$1(a0);--a}k+=h+p}}, +cV(a,b){return this.qG(a,b)}, +aE(a,b){var s,r=this,q=r.bW&&r.av!==B.z,p=r.c2 +if(q){q=r.cx +q===$&&A.a() +s=r.gv(0) +p.saN(0,a.kY(q,b,new A.x(0,0,0+s.a,0+s.b),r.gOO(),r.av,p.a))}else{p.saN(0,null) +r.lR(a,b)}}, +l(){this.c2.saN(0,null) +this.fc()}} +A.a7G.prototype={ +$2(a,b){var s=this.a +s.a=A.pt(s.a,A.aoR(b.f5(this.b,this.c),a.b))}, +$S:134} +A.a7H.prototype={ +$1(a){return a.az(B.y,this.a,a.gbE())}, +$S:133} +A.QA.prototype={ +ah(a){var s,r,q +this.eq(a) +s=this.T$ +for(r=t.Qy;s!=null;){s.ah(a) +q=s.b +q.toString +s=r.a(q).a2$}}, +ab(a){var s,r,q +this.e_(0) +s=this.T$ +for(r=t.Qy;s!=null;){s.ab(0) +q=s.b +q.toString +s=r.a(q).a2$}}} +A.QB.prototype={} +A.t1.prototype={} +A.oe.prototype={ +F(){return"SchedulerPhase."+this.b}} +A.a5Q.prototype={} +A.iR.prototype={ +RJ(a){var s=this.fy$ +B.b.A(s,a) +if(s.length===0){s=$.az() +s.dy=null +s.fr=$.ad}}, +a_A(a){var s,r,q,p,o,n,m,l,k,j=this.fy$,i=A.a8(j,!0,t.xt) +for(o=i.length,n=0;n0)return!1 +if(h)A.aa(A.R(j)) +s=i.ul(0) +h=s.gRd() +if(k.id$.$2$priority$scheduler(h,k)){try{if(i.c===0)A.aa(A.R(j));++i.d +i.ul(0) +o=i.c-1 +n=i.ul(o) +i.b[o]=null +i.c=o +if(o>0)i.YE(n,0) +s.ag2()}catch(m){r=A.a6(m) +q=A.aK(m) +p=null +h=A.bk("during a task callback") +l=p==null?null:new A.a8q(p) +A.df(new A.bD(r,q,"scheduler library",h,l,!1))}return i.c!==0}return!0}, +tJ(a,b){var s,r=this +r.iX() +s=++r.k3$ +r.k4$.n(0,s,new A.t1(a)) +return r.k3$}, +yr(a){return this.tJ(a,!1)}, +ga9P(){var s=this +if(s.p3$==null){if(s.R8$===B.cH)s.iX() +s.p3$=new A.b1(new A.a9($.ad,t.U),t.h) +s.p2$.push(new A.a8o(s))}return s.p3$.a}, +gPN(){return this.RG$}, +LY(a){if(this.RG$===a)return +this.RG$=a +if(a)this.iX()}, +Po(){var s=$.az() +if(s.ax==null){s.ax=this.ga0K() +s.ay=$.ad}if(s.ch==null){s.ch=this.ga1b() +s.CW=$.ad}}, +Ds(){switch(this.R8$.a){case 0:case 4:this.iX() +return +case 1:case 2:case 3:return}}, +iX(){var s,r=this +if(!r.p4$)s=!(A.iR.prototype.gPN.call(r)&&r.dB$) +else s=!0 +if(s)return +r.Po() +$.az().iX() +r.p4$=!0}, +Tk(){if(this.p4$)return +this.Po() +$.az().iX() +this.p4$=!0}, +Ga(){var s,r=this +if(r.rx$||r.R8$!==B.cH)return +r.rx$=!0 +s=r.p4$ +$.az() +A.cb(B.r,new A.a8r(r)) +A.cb(B.r,new A.a8s(r,s)) +r.acN(new A.a8t(r))}, +HH(a){var s=this.ry$ +return A.cP(B.c.a7((s==null?B.r:new A.aQ(a.a-s.a)).a/1)+this.to$.a,0)}, +a0L(a){if(this.rx$){this.y2$=!0 +return}this.PR(a)}, +a1c(){var s=this +if(s.y2$){s.y2$=!1 +s.p2$.push(new A.a8n(s)) +return}s.PT()}, +PR(a){var s,r,q=this +if(q.ry$==null)q.ry$=a +r=a==null +q.x2$=q.HH(r?q.x1$:a) +if(!r)q.x1$=a +q.p4$=!1 +try{q.R8$=B.IB +s=q.k4$ +q.k4$=A.E(t.S,t.h1) +J.mF(s,new A.a8p(q)) +q.ok$.I(0)}finally{q.R8$=B.IC}}, +aeh(a){var s=this,r=s.bz$,q=r==null +if(!q&&r!==a)return null +if(r===a)++s.a4$ +else if(q){s.bz$=a +s.a4$=1}return new A.a5Q(s.ga_f())}, +a_g(){if(--this.a4$===0){this.bz$=null +$.az()}}, +PT(){var s,r,q,p,o,n,m,l,k=this +try{k.R8$=B.iW +for(p=t.Vu,o=A.a8(k.p1$,!0,p),n=o.length,m=0;m0&&r<4){s=s.x2$ +s.toString +q.c=s}s=q.a +s.toString +return s}, +oX(a,b){var s=this,r=s.a +if(r==null)return +s.c=s.a=null +s.FA() +if(b)r.MB(s) +else r.MC()}, +eo(a){return this.oX(0,!1)}, +a6n(a){var s,r=this +r.e=null +s=r.c +if(s==null)s=r.c=a +r.d.$1(new A.aQ(a.a-s.a)) +if(!r.b&&r.a!=null&&r.e==null)r.e=$.bC.tJ(r.gBA(),!0)}, +FA(){var s,r=this.e +if(r!=null){s=$.bC +s.k4$.A(0,r) +s.ok$.D(0,r) +this.e=null}}, +l(){var s=this,r=s.a +if(r!=null){s.a=null +s.FA() +r.MB(s)}}, +j(a){var s=""+"Ticker()" +return s.charCodeAt(0)==0?s:s}} +A.oC.prototype={ +MC(){this.c=!0 +this.a.eS(0) +var s=this.b +if(s!=null)s.eS(0)}, +MB(a){var s +this.c=!1 +s=this.b +if(s!=null)s.jh(new A.zH(a))}, +So(a){var s,r,q=this,p=new A.abo(a) +if(q.b==null){s=q.b=new A.b1(new A.a9($.ad,t.U),t.h) +r=q.c +if(r!=null)if(r)s.eS(0) +else s.jh(B.Qf)}q.b.a.ej(0,p,p,t.H)}, +ny(a,b){return this.a.a.ny(a,b)}, +ko(a){return this.ny(a,null)}, +ej(a,b,c,d){return this.a.a.ej(0,b,c,d)}, +aT(a,b,c){return this.ej(0,b,null,c)}, +fI(a){return this.a.a.fI(a)}, +j(a){var s=A.b9(this),r=this.c +if(r==null)r="active" +else r=r?"complete":"canceled" +return"#"+s+"("+r+")"}, +$ia7:1} +A.abo.prototype={ +$1(a){this.a.$0()}, +$S:21} +A.zH.prototype={ +j(a){var s=this.a +if(s!=null)return"This ticker was canceled: "+s.j(0) +return'The ticker was canceled before the "orCancel" property was first used.'}, +$ibR:1} +A.K2.prototype={ +gvb(){var s,r,q=this.Ps$ +if(q===$){s=$.az().c +r=$.aN() +q!==$&&A.a1() +q=this.Ps$=new A.ez(s.c,r)}return q}, +a9R(){++this.Du$ +this.gvb().sm(0,!0) +return new A.a98(this.ga_2())}, +a_3(){--this.Du$ +this.gvb().sm(0,this.Du$>0)}, +K8(){var s,r=this +if($.az().c.c){if(r.wm$==null)r.wm$=r.a9R()}else{s=r.wm$ +if(s!=null)s.a.$0() +r.wm$=null}}, +a27(a){var s,r,q=a.d +if(t.V4.b(q)){s=B.ab.ex(q) +if(J.e(s,B.ko))s=q +r=new A.r2(a.a,a.b,a.c,s)}else r=a +s=this.dx$.i(0,r.b) +if(s!=null){s=s.y +if(s!=null){s=s.at +if(s!=null)s.adu(r.c,r.a,r.d)}}}} +A.a98.prototype={} +A.on.prototype={ +j(a){return"SemanticsTag("+this.a+")"}} +A.cO.prototype={ +a6(a,b){var s,r,q,p,o,n,m,l=this.a,k=l.length +if(k===0)return b +s=b.a +if(s.length===0)return this +r=A.a8(this.b,!0,t.u1) +q=b.b +p=q.length +if(p!==0)for(o=0;o=0;--o)r[o]=n[q-o-1].b}n=a2.fy +m=n.length +if(m!==0){l=new Int32Array(m) +for(o=0;o0?r[n-1].p3:null +if(n!==0){k=J.T(l)===J.T(o) +if(k)if(l!=null)o.toString}else k=!0 +if(!k&&p.length!==0){if(o!=null)B.b.ht(p) +B.b.L(q,p) +B.b.I(p)}p.push(new A.kv(m,l,n))}if(o!=null)B.b.ht(p) +B.b.L(q,p) +s=t.rB +return A.a8(new A.ay(q,new A.a9a(),s),!0,s.h("aI.E"))}, +Tv(a){if(this.ay==null)return +B.cT.lb(0,a.xY(this.b))}, +cf(){return"SemanticsNode#"+this.b}, +S6(a){return new A.R4(this)}} +A.a9c.prototype={ +$1(a){var s,r,q,p=this.a +p.a=p.a|a.fr +s=p.b +r=a.z +q=a.dx +p.b=s|(r?q&$.Uf():q) +if(p.y==null)p.y=a.p2 +p.Q=a.p4 +if(p.as==null)p.as=a.RG +if(p.at==null)p.at=a.rx +if(p.ax==null)p.ax=a.ry +if(p.ay==null)p.ay=a.to +if(p.ch==null)p.ch=a.x1 +if(p.CW==null)p.CW=a.x2 +p.cx=a.xr +p.cy=a.y1 +p.db=a.y2 +if(p.c==="")p.c=a.fx +if(p.e.a==="")p.e=a.go +if(p.f.a==="")p.f=a.id +if(p.r.a==="")p.r=a.k1 +if(p.x==="")p.x=a.k3 +s=a.dy +if(s!=null){r=p.z;(r==null?p.z=A.aA(t.g3):r).L(0,s)}for(s=this.b.db,s=A.hc(s,s.r),r=this.c;s.t();)r.D(0,A.api(s.d)) +s=p.d +r=p.y +p.d=A.aj5(a.fy,a.p2,s,r) +r=p.w +s=p.y +p.w=A.aj5(a.k2,a.p2,r,s) +p.dx=Math.max(p.dx,a.ok+a.k4) +return!0}, +$S:76} +A.a9a.prototype={ +$1(a){return a.a}, +$S:309} +A.kk.prototype={ +b7(a,b){return B.c.b7(this.b,b.b)}, +$ics:1} +A.ig.prototype={ +b7(a,b){return B.c.b7(this.a,b.a)}, +TZ(){var s,r,q,p,o,n,m,l,k,j=A.b([],t.TV) +for(s=this.c,r=s.length,q=0;q") +return A.a8(new A.hO(n,new A.ahJ(),s),!0,s.h("j.E"))}, +TY(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3=this.c,a4=a3.length +if(a4<=1)return a3 +s=t.S +r=A.E(s,t.bu) +q=A.E(s,s) +for(p=this.b,o=p===B.P,p=p===B.p,n=a4,m=0;m2.356194490192345 +else a0=!1 +if(a||a0)q.n(0,l.b,f.b)}}a1=A.b([],t.t) +a2=A.b(a3.slice(0),A.Z(a3)) +B.b.en(a2,new A.ahF()) +new A.ay(a2,new A.ahG(),A.Z(a2).h("ay<1,p>")).V(0,new A.ahI(A.aA(s),q,a1)) +a3=t.qn +a3=A.a8(new A.ay(a1,new A.ahH(r),a3),!0,a3.h("aI.E")) +a4=A.Z(a3).h("cm<1>") +return A.a8(new A.cm(a3,a4),!0,a4.h("aI.E"))}, +$ics:1} +A.ahJ.prototype={ +$1(a){return a.TY()}, +$S:129} +A.ahF.prototype={ +$2(a,b){var s,r,q=a.e,p=A.p7(a,new A.n(q.a,q.b)) +q=b.e +s=A.p7(b,new A.n(q.a,q.b)) +r=B.c.b7(p.b,s.b) +if(r!==0)return-r +return-B.c.b7(p.a,s.a)}, +$S:84} +A.ahI.prototype={ +$1(a){var s=this,r=s.a +if(r.p(0,a))return +r.D(0,a) +r=s.b +if(r.a9(0,a)){r=r.i(0,a) +r.toString +s.$1(r)}s.c.push(a)}, +$S:13} +A.ahG.prototype={ +$1(a){return a.b}, +$S:312} +A.ahH.prototype={ +$1(a){var s=this.a.i(0,a) +s.toString +return s}, +$S:313} +A.aiZ.prototype={ +$1(a){return a.TZ()}, +$S:129} +A.kv.prototype={ +b7(a,b){var s,r=this.b +if(r==null||b.b==null)return this.c-b.c +r.toString +s=b.b +s.toString +return r.b7(0,s)}, +$ics:1} +A.K7.prototype={ +l(){var s=this +s.b.I(0) +s.c.I(0) +s.d.I(0) +s.dI()}, +Tw(){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=g.b +if(f.a===0)return +s=A.aA(t.S) +r=A.b([],t.QF) +for(q=A.o(f).h("aF<1>"),p=q.h("j.E"),o=g.d;f.a!==0;){n=A.a8(new A.aF(f,new A.a9f(g),q),!0,p) +f.I(0) +o.I(0) +B.b.en(n,new A.a9g()) +B.b.L(r,n) +for(m=n.length,l=0;l#"+A.b9(this)}} +A.a9f.prototype={ +$1(a){return!this.a.d.p(0,a)}, +$S:76} +A.a9g.prototype={ +$2(a,b){return a.CW-b.CW}, +$S:84} +A.a9h.prototype={ +$2(a,b){return a.CW-b.CW}, +$S:84} +A.a9e.prototype={ +$1(a){if(a.cy.a9(0,this.b)){this.a.a=a +return!1}return!0}, +$S:76} +A.lQ.prototype={ +li(a,b){var s=this +s.f.n(0,a,b) +s.r=s.r|a.a +s.e=!0}, +er(a,b){this.li(a,new A.a8Y(b))}, +skS(a){a.toString +this.er(B.fm,a) +this.w=a}, +sjD(a){a.toString +this.er(B.w7,a)}, +sxo(a){this.er(B.dT,a)}, +sxk(a){this.er(B.J_,a)}, +sxp(a){this.er(B.dU,a)}, +sxq(a){this.er(B.dR,a)}, +sxn(a){this.er(B.dS,a)}, +sEN(a){this.er(B.w8,a)}, +sEI(a){this.er(B.w6,a)}, +sEG(a,b){this.er(B.J0,b)}, +sEH(a,b){this.er(B.J4,b)}, +sEU(a,b){this.er(B.IW,b)}, +sES(a){this.li(B.J2,new A.a91(a))}, +sEQ(a){this.li(B.J5,new A.a9_(a))}, +sET(a){this.li(B.J3,new A.a92(a))}, +sER(a){this.li(B.IV,new A.a90(a))}, +sEZ(a){this.li(B.IX,new A.a93(a))}, +sF_(a){this.li(B.IY,new A.a94(a))}, +sEJ(a){this.er(B.j4,a)}, +sEK(a){this.er(B.j5,a)}, +sxl(a,b){this.er(B.J1,b)}, +sTn(a){if(a==this.ok)return +this.ok=a +this.e=!0}, +sTo(a){if(a==this.p1)return +this.p1=a +this.e=!0}, +sadv(a){if(a===this.p2)return +this.p2=a +this.e=!0}, +sEv(a){return}, +sCS(a){return}, +scA(a,b){if(b===this.aV)return +this.aV=b +this.e=!0}, +sE2(a){this.b2=a +this.e=!0}, +Cb(a){var s=this.a3;(s==null?this.a3=A.aA(t.g3):s).D(0,a)}, +be(a,b){var s=this,r=s.aj,q=a.a +if(b)s.aj=r|q +else s.aj=r&~q +s.e=!0}, +Qq(a){var s=this +if(a==null||!a.e||!s.e)return!0 +if((s.r&a.r)!==0)return!1 +if((s.aj&a.aj)!==0)return!1 +if(s.p2!=null&&a.p2!=null)return!1 +if(s.to.a.length!==0&&a.to.a.length!==0)return!1 +return!0}, +kh(a){var s,r,q,p=this +if(!a.e)return +s=a.f +if(a.b)s.V(0,new A.a8Z(p)) +else p.f.L(0,s) +s=p.r +r=a.b +q=a.r +p.r=s|(r?q&$.Uf():q) +p.RG.L(0,a.RG) +p.aj=p.aj|a.aj +p.bv=a.bv +if(p.bm==null)p.bm=a.bm +if(p.E==null)p.E=a.E +if(p.Z==null)p.Z=a.Z +if(p.y2==null)p.y2=a.y2 +if(p.k4==null)p.k4=a.k4 +if(p.p1==null)p.p1=a.p1 +if(p.ok==null)p.ok=a.ok +if(p.p2==null)p.p2=a.p2 +p.p3=a.p3 +p.p4=a.p4 +s=p.a4 +if(s==null){s=p.a4=a.a4 +p.e=!0}if(p.k3==null)p.k3=a.k3 +if(p.rx==="")p.rx=a.rx +r=p.ry +p.ry=A.aj5(a.ry,a.a4,r,s) +if(p.to.a==="")p.to=a.to +if(p.x1.a==="")p.x1=a.x1 +if(p.x2.a==="")p.x2=a.x2 +s=p.xr +r=p.a4 +p.xr=A.aj5(a.xr,a.a4,s,r) +if(p.y1==="")p.y1=a.y1 +p.bz=Math.max(p.bz,a.bz+a.aV) +p.e=p.e||a.e}, +a8K(){var s=this,r=A.lR() +r.a=s.a +r.c=s.c +r.d=s.d +r.e=s.e +r.R8=s.R8 +r.a4=s.a4 +r.k3=s.k3 +r.rx=s.rx +r.ry=s.ry +r.x1=s.x1 +r.to=s.to +r.x2=s.x2 +r.xr=s.xr +r.y2=s.y2 +r.y1=s.y1 +r.aV=s.aV +r.bz=s.bz +r.aj=s.aj +r.a3=s.a3 +r.bv=s.bv +r.bm=s.bm +r.E=s.E +r.Z=s.Z +r.r=s.r +r.k4=s.k4 +r.p1=s.p1 +r.ok=s.ok +r.p2=s.p2 +r.p3=s.p3 +r.p4=s.p4 +r.f.L(0,s.f) +r.RG.L(0,s.RG) +r.b=s.b +r.b2=s.b2 +return r}} +A.a8Y.prototype={ +$1(a){this.a.$0()}, +$S:9} +A.a91.prototype={ +$1(a){a.toString +this.a.$1(A.ky(a))}, +$S:9} +A.a9_.prototype={ +$1(a){a.toString +this.a.$1(A.ky(a))}, +$S:9} +A.a92.prototype={ +$1(a){a.toString +this.a.$1(A.ky(a))}, +$S:9} +A.a90.prototype={ +$1(a){a.toString +this.a.$1(A.ky(a))}, +$S:9} +A.a93.prototype={ +$1(a){var s,r,q +a.toString +s=J.kJ(t.f.a(a),t.N,t.S) +r=s.i(0,"base") +r.toString +q=s.i(0,"extent") +q.toString +this.a.$1(A.zC(B.n,r,q,!1))}, +$S:9} +A.a94.prototype={ +$1(a){a.toString +this.a.$1(A.bw(a))}, +$S:9} +A.a8Z.prototype={ +$2(a,b){if(($.Uf()&a.a)>0)this.a.f.n(0,a,b)}, +$S:315} +A.Xb.prototype={ +F(){return"DebugSemanticsDumpOrder."+this.b}} +A.r3.prototype={ +b7(a,b){var s=this.a9E(b) +return s}, +$ics:1} +A.qv.prototype={ +a9E(a){var s=a.b,r=this.b +if(s===r)return 0 +return B.f.b7(r,s)}} +A.R3.prototype={} +A.R6.prototype={} +A.R7.prototype={} +A.a96.prototype={ +xY(a){var s=A.as(["type",this.a,"data",this.oO()],t.N,t.z) +if(a!=null)s.n(0,"nodeId",a) +return s}, +aeF(){return this.xY(null)}, +j(a){var s,r,q=A.b([],t.s),p=this.oO(),o=p.gbp(p),n=A.a8(o,!0,A.o(o).h("j.E")) +B.b.ht(n) +for(o=n.length,s=0;s#"+A.b9(this)+"()"}} +A.Vt.prototype={ +kN(a,b){if(b)return this.a.bj(0,a,new A.Vu(this,a)) +return this.GC(a,!0)}, +acJ(a){return this.kN(a,!0)}, +acL(a,b,c){var s,r=this,q={},p=r.b +if(p.a9(0,a)){q=p.i(0,a) +q.toString +return c.h("a7<0>").a(q)}q.a=q.b=null +r.kN(a,!1).aT(0,b,c).ej(0,new A.Vv(q,r,a,c),new A.Vw(q,r,a),t.H) +s=q.a +if(s!=null)return s +s=new A.a9($.ad,c.h("a9<0>")) +q.b=new A.b1(s,c.h("b1<0>")) +p.n(0,a,s) +return q.b.a}} +A.Vu.prototype={ +$0(){return this.a.GC(this.b,!0)}, +$S:316} +A.Vv.prototype={ +$1(a){var s=this,r=new A.cv(a,s.d.h("cv<0>")),q=s.a +q.a=r +s.b.b.n(0,s.c,r) +q=q.b +if(q!=null)q.cv(0,a)}, +$S(){return this.d.h("aY(0)")}} +A.Vw.prototype={ +$2(a,b){this.b.b.A(0,this.c) +this.a.b.lJ(a,b)}, +$S:38} +A.a6_.prototype={ +iz(a,b){var s,r=null,q=B.b9.dv(A.CI(r,A.tG(B.ie,b,B.W,!1),r,r,r).e),p=$.eb.r2$ +p===$&&A.a() +s=p.yv(0,"flutter/assets",A.al8(q)).aT(0,new A.a60(b),t.V4) +return s}, +wX(a){return this.acF(a)}, +acF(a){var s=0,r=A.C(t.SG),q,p=this,o,n +var $async$wX=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=A +n=A +s=3 +return A.y(p.iz(0,a),$async$wX) +case 3:q=o.a0u(n.abG(c,0,null)) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$wX,r)}} +A.a60.prototype={ +$1(a){if(a==null)throw A.c(A.Gc(A.b([A.aGR(this.a),A.bk("The asset does not exist or has empty data.")],t.F))) +return a}, +$S:317} +A.UT.prototype={ +$1(a){return this.Sw(a)}, +Sw(a){var s=0,r=A.C(t.CL),q +var $async$$1=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:q=new A.oJ(t.d.a(B.ab.ex(A.al8(B.h5.dv(A.bw(B.az.e6(0,a)))))),A.E(t.N,t.Rk)) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$$1,r)}, +$S:318} +A.oJ.prototype={ +SF(a){var s,r,q,p=this.b +if(!p.a9(0,a)){s=this.a +r=J.ax(s) +if(r.i(s,a)==null)return null +q=r.i(s,a) +if(q==null)q=[] +q=J.u5(t.VG.a(q),t.d) +p.n(0,a,q.fA(q,new A.acq(a),t.pR).dl(0)) +r.A(s,a)}p=p.i(0,a) +p.toString +return p}, +$iUS:1} +A.acq.prototype={ +$1(a){var s,r=J.ax(a),q=r.i(a,"asset") +q.toString +A.bw(q) +s=r.i(a,"dpr") +r=r.i(a,"asset") +r.toString +A.bw(r) +return new A.kO(A.aGb(s),r)}, +$S:319} +A.kO.prototype={} +A.V4.prototype={} +A.z1.prototype={ +a2G(){var s,r,q=this,p=t.v3,o=new A.a_m(A.E(p,t.r),A.aA(t.SQ),A.b([],t.sA)) +q.r1$!==$&&A.bx() +q.r1$=o +s=$.aof() +r=A.b([],t.K0) +q.wk$!==$&&A.bx() +q.wk$=new A.GY(o,s,r,A.aA(p)) +p=q.r1$ +p===$&&A.a() +p.u6().aT(0,new A.a9o(q),t.P)}, +rh(){var s=$.u4() +s.a.I(0) +s.b.I(0) +s.c.I(0)}, +kJ(a){return this.aba(a)}, +aba(a){var s=0,r=A.C(t.H),q,p=this +var $async$kJ=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:switch(A.bw(J.ah(t.a.a(a),"type"))){case"memoryPressure":p.rh() +break}s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$kJ,r)}, +Yc(){var s=A.bj("controller") +s.sco(A.amy(new A.a9n(s),!1,t.hz)) +return J.ayu(s.aP())}, +adL(){if(this.go$==null)$.az() +return}, +Ay(a){return this.a1s(a)}, +a1s(a){var s=0,r=A.C(t.ob),q,p=this,o,n +var $async$Ay=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:a.toString +o=A.aDP(a) +n=p.go$ +o.toString +B.b.V(p.a_W(n,o),p.gaar()) +q=null +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$Ay,r)}, +a_W(a,b){var s,r,q,p +if(a===b)return B.Ey +s=A.b([],t.QP) +if(a==null)s.push(b) +else{r=B.b.hP(B.dq,a) +q=B.b.hP(B.dq,b) +if(b===B.ch){for(p=r+1;p<5;++p)s.push(B.dq[p]) +s.push(B.ch)}else if(r>q)for(p=q;p") +r=A.er(new A.aZ(c,s),s.h("j.E")) +q=A.b([],t.K0) +p=c.i(0,b) +o=$.eb.x1$ +n=a0.a +if(n==="")n=d +m=e.ZA(a0) +if(a0 instanceof A.lH)if(p==null){l=new A.jK(b,a,n,o,!1) +r.D(0,b)}else l=A.aqz(n,m,p,b,o) +else if(p==null)l=d +else{l=A.aqA(m,p,b,!1,o) +r.A(0,b)}for(s=e.c.d,k=A.o(s).h("aZ<1>"),j=k.h("j.E"),i=r.hF(A.er(new A.aZ(s,k),j)),i=i.gX(i),h=e.e;i.t();){g=i.gG(i) +if(g.k(0,b))q.push(new A.nA(g,a,d,o,!0)) +else{f=c.i(0,g) +f.toString +h.push(new A.nA(g,f,d,o,!0))}}for(c=A.er(new A.aZ(s,k),j).hF(r),c=c.gX(c);c.t();){k=c.gG(c) +j=s.i(0,k) +j.toString +h.push(new A.jK(k,j,d,o,!0))}if(l!=null)h.push(l) +B.b.L(h,q)}} +A.Oi.prototype={} +A.a1g.prototype={} +A.f.prototype={ +gu(a){return B.f.gu(this.a)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.f&&b.a===this.a}} +A.a1v.prototype={ +$1(a){var s=$.avK().i(0,a) +return s==null?A.bX([a],t.r):s}, +$S:325} +A.k.prototype={ +gu(a){return B.f.gu(this.a)}, +k(a,b){if(b==null)return!1 +if(this===b)return!0 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.k&&b.a===this.a}} +A.Oj.prototype={} +A.hX.prototype={ +j(a){return"MethodCall("+this.a+", "+A.h(this.b)+")"}} +A.fI.prototype={ +j(a){var s=this +return"PlatformException("+s.a+", "+A.h(s.b)+", "+A.h(s.c)+", "+A.h(s.d)+")"}, +$ibR:1} +A.x5.prototype={ +j(a){return"MissingPluginException("+A.h(this.a)+")"}, +$ibR:1} +A.aag.prototype={ +ex(a){if(a==null)return null +return B.W.e6(0,A.abG(a,0,null))}, +bA(a){if(a==null)return null +return A.al8(B.b9.dv(a))}} +A.a0O.prototype={ +bA(a){if(a==null)return null +return B.hk.bA(B.az.wg(a))}, +ex(a){var s +if(a==null)return a +s=B.hk.ex(a) +s.toString +return B.az.e6(0,s)}} +A.a0Q.prototype={ +hI(a){var s=B.bI.bA(A.as(["method",a.a,"args",a.b],t.N,t.X)) +s.toString +return s}, +h4(a){var s,r,q,p=null,o=B.bI.ex(a) +if(!t.f.b(o))throw A.c(A.bE("Expected method call Map, got "+A.h(o),p,p)) +s=J.ax(o) +r=s.i(o,"method") +q=s.i(o,"args") +if(typeof r=="string")return new A.hX(r,q) +throw A.c(A.bE("Invalid method call: "+A.h(o),p,p))}, +OM(a){var s,r,q,p=null,o=B.bI.ex(a) +if(!t.j.b(o))throw A.c(A.bE("Expected envelope List, got "+A.h(o),p,p)) +s=J.ax(o) +if(s.gq(o)===1)return s.i(o,0) +r=!1 +if(s.gq(o)===3)if(typeof s.i(o,0)=="string")r=s.i(o,1)==null||typeof s.i(o,1)=="string" +if(r){r=A.bw(s.i(o,0)) +q=A.cL(s.i(o,1)) +throw A.c(A.jX(r,s.i(o,2),q,p))}r=!1 +if(s.gq(o)===4)if(typeof s.i(o,0)=="string")if(s.i(o,1)==null||typeof s.i(o,1)=="string")r=s.i(o,3)==null||typeof s.i(o,3)=="string" +if(r){r=A.bw(s.i(o,0)) +q=A.cL(s.i(o,1)) +throw A.c(A.jX(r,s.i(o,2),q,A.cL(s.i(o,3))))}throw A.c(A.bE("Invalid envelope: "+A.h(o),p,p))}, +qW(a){var s=B.bI.bA([a]) +s.toString +return s}, +lX(a,b,c){var s=B.bI.bA([a,c,b]) +s.toString +return s}, +Pk(a,b){return this.lX(a,null,b)}} +A.aa1.prototype={ +bA(a){var s +if(a==null)return null +s=A.aca(64) +this.dn(0,s,a) +return s.ks()}, +ex(a){var s,r +if(a==null)return null +s=new A.y0(a) +r=this.hj(0,s) +if(s.b=b.a.byteLength)throw A.c(B.aK) +return this.jG(b.mA(0),b)}, +jG(a,b){var s,r,q,p,o,n,m,l,k=this +switch(a){case 0:return null +case 1:return!0 +case 2:return!1 +case 3:s=b.b +r=$.db() +q=b.a.getInt32(s,B.aa===r) +b.b+=4 +return q +case 4:return b.yf(0) +case 6:b.i2(8) +s=b.b +r=$.db() +q=b.a.getFloat64(s,B.aa===r) +b.b+=8 +return q +case 5:case 7:p=k.dV(b) +return B.cJ.dv(b.mB(p)) +case 8:return b.mB(k.dV(b)) +case 9:p=k.dV(b) +b.i2(4) +s=b.a +o=A.aqZ(s.buffer,s.byteOffset+b.b,p) +b.b=b.b+4*p +return o +case 10:return b.yg(k.dV(b)) +case 14:p=k.dV(b) +b.i2(4) +s=b.a +r=s.buffer +s=s.byteOffset+b.b +A.TK(r,s,p) +o=new Float32Array(r,s,p) +b.b=b.b+4*p +return o +case 11:p=k.dV(b) +b.i2(8) +s=b.a +o=A.aqX(s.buffer,s.byteOffset+b.b,p) +b.b=b.b+8*p +return o +case 12:p=k.dV(b) +n=A.b8(p,null,!1,t.X) +for(s=b.a,m=0;m=s.byteLength)A.aa(B.aK) +b.b=r+1 +n[m]=k.jG(s.getUint8(r),b)}return n +case 13:p=k.dV(b) +s=t.X +n=A.E(s,s) +for(s=b.a,m=0;m=s.byteLength)A.aa(B.aK) +b.b=r+1 +r=k.jG(s.getUint8(r),b) +l=b.b +if(l>=s.byteLength)A.aa(B.aK) +b.b=l+1 +n.n(0,r,k.jG(s.getUint8(l),b))}return n +default:throw A.c(B.aK)}}, +eL(a,b){var s,r +if(b<254)a.dM(0,b) +else{s=a.d +if(b<=65535){a.dM(0,254) +r=$.db() +s.setUint16(0,b,B.aa===r) +a.pc(a.e,0,2)}else{a.dM(0,255) +r=$.db() +s.setUint32(0,b,B.aa===r) +a.pc(a.e,0,4)}}}, +dV(a){var s,r,q=a.mA(0) +$label0$0:{if(254===q){s=a.b +r=$.db() +q=a.a.getUint16(s,B.aa===r) +a.b+=2 +s=q +break $label0$0}if(255===q){s=a.b +r=$.db() +q=a.a.getUint32(s,B.aa===r) +a.b+=4 +s=q +break $label0$0}s=q +break $label0$0}return s}} +A.aa2.prototype={ +$2(a,b){var s=this.a,r=this.b +s.dn(0,r,a) +s.dn(0,r,b)}, +$S:54} +A.aa5.prototype={ +hI(a){var s=A.aca(64) +B.ab.dn(0,s,a.a) +B.ab.dn(0,s,a.b) +return s.ks()}, +h4(a){var s,r,q +a.toString +s=new A.y0(a) +r=B.ab.hj(0,s) +q=B.ab.hj(0,s) +if(typeof r=="string"&&s.b>=a.byteLength)return new A.hX(r,q) +else throw A.c(B.lk)}, +qW(a){var s=A.aca(64) +s.dM(0,0) +B.ab.dn(0,s,a) +return s.ks()}, +lX(a,b,c){var s=A.aca(64) +s.dM(0,1) +B.ab.dn(0,s,a) +B.ab.dn(0,s,c) +B.ab.dn(0,s,b) +return s.ks()}, +Pk(a,b){return this.lX(a,null,b)}, +OM(a){var s,r,q,p,o,n +if(a.byteLength===0)throw A.c(B.Cj) +s=new A.y0(a) +if(s.mA(0)===0)return B.ab.hj(0,s) +r=B.ab.hj(0,s) +q=B.ab.hj(0,s) +p=B.ab.hj(0,s) +o=s.b=a.byteLength +else n=!1 +if(n)throw A.c(A.jX(r,p,A.cL(q),o)) +else throw A.c(B.Ci)}} +A.a4J.prototype={ +aav(a,b,c){var s,r,q,p,o +if(t.PB.b(b)){this.b.A(0,a) +return}s=this.b +r=s.i(0,a) +q=A.aF5(c) +if(q==null)q=this.a +p=r==null +if(J.e(p?null:r.gnE(r),q))return +o=q.qE(a) +s.n(0,a,o) +if(!p)r.l() +o.bL()}} +A.qr.prototype={ +gnE(a){return this.a}} +A.cu.prototype={ +j(a){var s=this.glO() +return s}} +A.MX.prototype={ +qE(a){throw A.c(A.cp(null))}, +glO(){return"defer"}} +A.OX.prototype={ +bL(){var s=0,r=A.C(t.H) +var $async$bL=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:return A.A(null,r)}}) +return A.B($async$bL,r)}, +l(){}} +A.OW.prototype={ +qE(a){return new A.OX(this,a)}, +glO(){return"uncontrolled"}} +A.RJ.prototype={ +gnE(a){return t.ZC.a(this.a)}, +bL(){return B.Hf.ed("activateSystemCursor",A.as(["device",this.b,"kind",t.ZC.a(this.a).a],t.N,t.z),t.H)}, +l(){}} +A.iV.prototype={ +glO(){return"SystemMouseCursor("+this.a+")"}, +qE(a){return new A.RJ(this,a)}, +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.iV&&b.a===this.a}, +gu(a){return B.d.gu(this.a)}} +A.OM.prototype={} +A.kQ.prototype={ +gqn(){var s=$.eb.r2$ +s===$&&A.a() +return s}, +lb(a,b){return this.Tu(0,b,this.$ti.h("1?"))}, +Tu(a,b,c){var s=0,r=A.C(c),q,p=this,o,n,m +var $async$lb=A.D(function(d,e){if(d===1)return A.z(e,r) +while(true)switch(s){case 0:o=p.b +n=p.gqn().yv(0,p.a,o.bA(b)) +m=o +s=3 +return A.y(t.T8.b(n)?n:A.fe(n,t.CD),$async$lb) +case 3:q=m.ex(e) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$lb,r)}, +tN(a){this.gqn().Gk(this.a,new A.V3(this,a))}} +A.V3.prototype={ +$1(a){return this.Sx(a)}, +Sx(a){var s=0,r=A.C(t.CD),q,p=this,o,n +var $async$$1=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=p.a.b +n=o +s=3 +return A.y(p.b.$1(o.ex(a)),$async$$1) +case 3:q=n.bA(c) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$$1,r)}, +$S:128} +A.du.prototype={ +gqn(){var s=$.eb.r2$ +s===$&&A.a() +return s}, +cJ(a,b,c,d){return this.a2T(a,b,c,d,d.h("0?"))}, +a2T(a,b,c,d,e){var s=0,r=A.C(e),q,p=this,o,n,m,l,k +var $async$cJ=A.D(function(f,g){if(f===1)return A.z(g,r) +while(true)switch(s){case 0:o=p.b +n=o.hI(new A.hX(a,b)) +m=p.a +l=p.gqn().yv(0,m,n) +s=3 +return A.y(t.T8.b(l)?l:A.fe(l,t.CD),$async$cJ) +case 3:k=g +if(k==null){if(c){q=null +s=1 +break}throw A.c(A.a4A("No implementation found for method "+a+" on channel "+m))}q=d.h("0?").a(o.OM(k)) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$cJ,r)}, +ed(a,b,c){return this.cJ(a,b,!1,c)}, +wP(a,b){return this.ac8(a,b,b.h("N<0>?"))}, +ac8(a,b,c){var s=0,r=A.C(c),q,p=this,o +var $async$wP=A.D(function(d,e){if(d===1)return A.z(e,r) +while(true)switch(s){case 0:s=3 +return A.y(p.ed(a,null,t.j),$async$wP) +case 3:o=e +q=o==null?null:J.u5(o,b) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$wP,r)}, +o9(a,b,c,d){return this.ac9(a,b,c,d,c.h("@<0>").bd(d).h("aD<1,2>?"))}, +Qm(a,b,c){return this.o9(a,null,b,c)}, +ac9(a,b,c,d,e){var s=0,r=A.C(e),q,p=this,o +var $async$o9=A.D(function(f,g){if(f===1)return A.z(g,r) +while(true)switch(s){case 0:s=3 +return A.y(p.ed(a,b,t.f),$async$o9) +case 3:o=g +q=o==null?null:J.kJ(o,c,d) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$o9,r)}, +iY(a){var s=this.gqn(),r=a==null?null:new A.a4v(this,a) +s.Gk(this.a,r)}, +ux(a,b){return this.a0G(a,b)}, +a0G(a,b){var s=0,r=A.C(t.CD),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e +var $async$ux=A.D(function(c,d){if(c===1){o=d +s=p}while(true)switch(s){case 0:h=n.b +g=h.h4(a) +p=4 +e=h +s=7 +return A.y(b.$1(g),$async$ux) +case 7:k=e.qW(d) +q=k +s=1 +break +p=2 +s=6 +break +case 4:p=3 +f=o +k=A.a6(f) +if(k instanceof A.fI){m=k +k=m.a +i=m.b +q=h.lX(k,m.c,i) +s=1 +break}else if(k instanceof A.x5){q=null +s=1 +break}else{l=k +h=h.Pk("error",J.el(l)) +q=h +s=1 +break}s=6 +break +case 3:s=2 +break +case 6:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$ux,r)}} +A.a4v.prototype={ +$1(a){return this.a.ux(a,this.b)}, +$S:128} +A.hZ.prototype={ +ed(a,b,c){return this.aca(a,b,c,c.h("0?"))}, +wQ(a,b){return this.ed(a,null,b)}, +aca(a,b,c,d){var s=0,r=A.C(d),q,p=this +var $async$ed=A.D(function(e,f){if(e===1)return A.z(f,r) +while(true)switch(s){case 0:q=p.UR(a,b,!0,c) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$ed,r)}} +A.a6a.prototype={} +A.nW.prototype={} +A.zo.prototype={ +F(){return"SwipeEdge."+this.b}} +A.IL.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.IL&&J.e(s.a,b.a)&&s.b===b.b&&s.c===b.c}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"PredictiveBackEvent{touchOffset: "+A.h(this.a)+", progress: "+A.h(this.b)+", swipeEdge: "+this.c.j(0)+"}"}} +A.nB.prototype={ +F(){return"KeyboardSide."+this.b}} +A.fE.prototype={ +F(){return"ModifierKey."+this.b}} +A.xZ.prototype={ +gad1(){var s,r,q=A.E(t.xS,t.Di) +for(s=0;s<9;++s){r=B.lO[s] +if(this.aci(r))q.n(0,r,B.co)}return q}} +A.k3.prototype={} +A.a6B.prototype={ +$0(){var s,r,q,p=this.b,o=J.ax(p),n=A.cL(o.i(p,"key")),m=n==null +if(!m){s=n.length +s=s!==0&&s===1}else s=!1 +if(s)this.a.a=n +s=A.cL(o.i(p,"code")) +if(s==null)s="" +m=m?"":n +r=A.Db(o.i(p,"location")) +if(r==null)r=0 +q=A.Db(o.i(p,"metaState")) +if(q==null)q=0 +p=A.Db(o.i(p,"keyCode")) +return new A.IX(s,m,r,q,p==null?0:p)}, +$S:327} +A.lH.prototype={} +A.qK.prototype={} +A.a6E.prototype={ +ab_(a){var s,r,q,p,o,n,m,l,k,j,i,h=this +if(a instanceof A.lH){o=a.c +h.d.n(0,o.ghW(),o.gEr())}else if(a instanceof A.qK)h.d.A(0,a.c.ghW()) +h.a6f(a) +for(o=h.a,n=A.a8(o,!0,t.iS),m=n.length,l=0;l")),e),a0=a1 instanceof A.lH +if(a0)a.D(0,g.ghW()) +for(s=g.a,r=null,q=0;q<9;++q){p=B.lO[q] +o=$.awk() +n=o.i(0,new A.cw(p,B.be)) +if(n==null)continue +m=B.qR.i(0,s) +if(n.p(0,m==null?new A.k(98784247808+B.d.gu(s)):m))r=p +if(f.i(0,p)===B.co){c.L(0,n) +if(n.jd(0,a.gji(a)))continue}l=f.i(0,p)==null?A.aA(e):o.i(0,new A.cw(p,f.i(0,p))) +if(l==null)continue +for(o=A.o(l),m=new A.me(l,l.r,o.h("me<1>")),m.c=l.e,o=o.c;m.t();){k=m.d +if(k==null)k=o.a(k) +j=$.awj().i(0,k) +j.toString +d.n(0,k,j)}}i=b.i(0,B.c2)!=null&&!J.e(b.i(0,B.c2),B.dt) +for(e=$.aoe(),e=A.hc(e,e.r);e.t();){a=e.d +h=i&&a.k(0,B.c2) +if(!c.p(0,a)&&!h)b.A(0,a)}b.A(0,B.dI) +b.L(0,d) +if(a0&&r!=null&&!b.a9(0,g.ghW())){e=g.ghW().k(0,B.cE) +if(e)b.n(0,g.ghW(),g.gEr())}}} +A.cw.prototype={ +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.cw&&b.a===this.a&&b.b==this.b}, +gu(a){return A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.Q0.prototype={} +A.Q_.prototype={} +A.IX.prototype={ +ghW(){var s=this.a,r=B.qR.i(0,s) +return r==null?new A.k(98784247808+B.d.gu(s)):r}, +gEr(){var s,r=this.b,q=B.Gh.i(0,r),p=q==null?null:q[this.c] +if(p!=null)return p +s=B.Gu.i(0,r) +if(s!=null)return s +if(r.length===1)return new A.f(r.toLowerCase().charCodeAt(0)) +return new A.f(B.d.gu(this.a)+98784247808)}, +aci(a){var s,r=this +$label0$0:{if(B.cu===a){s=(r.d&4)!==0 +break $label0$0}if(B.cv===a){s=(r.d&1)!==0 +break $label0$0}if(B.cw===a){s=(r.d&2)!==0 +break $label0$0}if(B.cx===a){s=(r.d&8)!==0 +break $label0$0}if(B.iA===a){s=(r.d&16)!==0 +break $label0$0}if(B.iz===a){s=(r.d&32)!==0 +break $label0$0}if(B.iB===a){s=(r.d&64)!==0 +break $label0$0}if(B.iC===a||B.qU===a){s=!1 +break $label0$0}s=null}return s}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.IX&&b.a===s.a&&b.b===s.b&&b.c===s.c&&b.d===s.d&&b.e===s.e}, +gu(a){var s=this +return A.P(s.a,s.b,s.c,s.d,s.e,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.yu.prototype={ +gaen(){var s=this +if(s.c)return new A.cv(s.a,t.hr) +if(s.b==null){s.b=new A.b1(new A.a9($.ad,t.X6),t.EZ) +s.uw()}return s.b.a}, +uw(){var s=0,r=A.C(t.H),q,p=this,o +var $async$uw=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:s=3 +return A.y(B.iI.wQ("get",t.d),$async$uw) +case 3:o=b +if(p.b==null){s=1 +break}p.L0(o) +case 1:return A.A(q,r)}}) +return A.B($async$uw,r)}, +L0(a){var s,r=a==null +if(!r){s=J.ah(a,"enabled") +s.toString +A.ky(s)}else s=!1 +this.ab1(r?null:t.nc.a(J.ah(a,"data")),s)}, +ab1(a,b){var s,r,q=this,p=q.c&&b +q.d=p +if(p)$.bC.p2$.push(new A.a7U(q)) +s=q.a +if(b){p=q.ZU(a) +r=t.N +if(p==null){p=t.X +p=A.E(p,p)}r=new A.cS(p,q,null,"root",A.E(r,t.z4),A.E(r,t.I1)) +p=r}else p=null +q.a=p +q.c=!0 +r=q.b +if(r!=null)r.cv(0,p) +q.b=null +if(q.a!=s){q.ap() +if(s!=null)s.l()}}, +AX(a){return this.a3n(a)}, +a3n(a){var s=0,r=A.C(t.H),q=this,p +var $async$AX=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:p=a.a +switch(p){case"push":q.L0(t.d.a(a.b)) +break +default:throw A.c(A.cp(p+" was invoked but isn't implemented by "+A.r(q).j(0)))}return A.A(null,r)}}) +return A.B($async$AX,r)}, +ZU(a){if(a==null)return null +return t.J1.a(B.ab.ex(A.es(a.buffer,a.byteOffset,a.byteLength)))}, +Tl(a){var s=this +s.r.D(0,a) +if(!s.f){s.f=!0 +$.bC.p2$.push(new A.a7V(s))}}, +IU(){var s,r,q,p,o,n=this +if(!n.f)return +n.f=!1 +for(s=n.r,r=A.dm(s,s.r,A.o(s).c),q=r.$ti.c;r.t();){p=r.d;(p==null?q.a(p):p).w=!1}s.I(0) +o=B.ab.bA(n.a.a) +B.iI.ed("put",A.dh(o.buffer,o.byteOffset,o.byteLength),t.H)}, +PE(){if($.bC.p4$)return +this.IU()}} +A.a7U.prototype={ +$1(a){this.a.d=!1}, +$S:6} +A.a7V.prototype={ +$1(a){return this.a.IU()}, +$S:6} +A.cS.prototype={ +gpP(){var s=J.DO(this.a,"c",new A.a7R()) +s.toString +return t.d.a(s)}, +gkb(){var s=J.DO(this.a,"v",new A.a7S()) +s.toString +return t.d.a(s)}, +a8e(a,b){var s,r,q,p,o=this,n=o.f +if(n.a9(0,a)||!J.u6(o.gpP(),a)){n=t.N +s=new A.cS(A.E(n,t.X),null,null,a,A.E(n,t.z4),A.E(n,t.I1)) +o.kk(s) +return s}r=t.N +q=o.c +p=J.ah(o.gpP(),a) +p.toString +s=new A.cS(t.d.a(p),q,o,a,A.E(r,t.z4),A.E(r,t.I1)) +n.n(0,a,s) +return s}, +kk(a){var s=this,r=a.d +if(r!==s){if(r!=null)r.v2(a) +a.d=s +s.Hz(a) +if(a.c!=s.c)s.Lg(a)}}, +a_o(a){this.v2(a) +a.d=null +if(a.c!=null){a.BK(null) +a.No(this.gLf())}}, +na(){var s,r=this +if(!r.w){r.w=!0 +s=r.c +if(s!=null)s.Tl(r)}}, +Lg(a){a.BK(this.c) +a.No(this.gLf())}, +BK(a){var s=this,r=s.c +if(r==a)return +if(s.w)if(r!=null)r.r.A(0,s) +s.c=a +if(s.w&&a!=null){s.w=!1 +s.na()}}, +v2(a){var s,r,q,p=this +if(J.e(p.f.A(0,a.e),a)){J.kL(p.gpP(),a.e) +s=p.r +r=s.i(0,a.e) +if(r!=null){q=J.bP(r) +p.J6(q.f4(r)) +if(q.gM(r))s.A(0,a.e)}if(J.eJ(p.gpP()))J.kL(p.a,"c") +p.na() +return}s=p.r +q=s.i(0,a.e) +if(q!=null)J.kL(q,a) +q=s.i(0,a.e) +q=q==null?null:J.eJ(q) +if(q===!0)s.A(0,a.e)}, +Hz(a){var s=this +if(s.f.a9(0,a.e)){J.ek(s.r.bj(0,a.e,new A.a7Q()),a) +s.na() +return}s.J6(a) +s.na()}, +J6(a){this.f.n(0,a.e,a) +J.eI(this.gpP(),a.e,a.a)}, +Np(a,b){var s=this.f.gaF(0),r=this.r.gaF(0),q=s.DB(0,new A.hO(r,new A.a7T(),A.o(r).h("hO"))) +J.mF(b?A.a8(q,!1,A.o(q).h("j.E")):q,a)}, +No(a){return this.Np(a,!1)}, +ae8(a){var s,r=this +if(a===r.e)return +s=r.d +if(s!=null)s.v2(r) +r.e=a +s=r.d +if(s!=null)s.Hz(r)}, +l(){var s,r=this +r.Np(r.ga_n(),!0) +r.f.I(0) +r.r.I(0) +s=r.d +if(s!=null)s.v2(r) +r.d=null +r.BK(null)}, +j(a){return"RestorationBucket(restorationId: "+this.e+", owner: null)"}} +A.a7R.prototype={ +$0(){var s=t.X +return A.E(s,s)}, +$S:92} +A.a7S.prototype={ +$0(){var s=t.X +return A.E(s,s)}, +$S:92} +A.a7Q.prototype={ +$0(){return A.b([],t.QT)}, +$S:331} +A.a7T.prototype={ +$1(a){return a}, +$S:332} +A.n0.prototype={ +F(){return"DeviceOrientation."+this.b}} +A.UN.prototype={} +A.iW.prototype={ +MD(){var s,r,q,p,o=this,n=o.a +n=n==null?null:n.a +s=o.e +s=s==null?null:s.a +r=o.f.F() +q=o.r.F() +p=o.c +p=p==null?null:p.F() +return A.as(["systemNavigationBarColor",n,"systemNavigationBarDividerColor",null,"systemStatusBarContrastEnforced",o.w,"statusBarColor",s,"statusBarBrightness",r,"statusBarIconBrightness",q,"systemNavigationBarIconBrightness",p,"systemNavigationBarContrastEnforced",o.d],t.N,t.z)}, +j(a){return"SystemUiOverlayStyle("+this.MD().j(0)+")"}, +gu(a){var s=this +return A.P(s.a,s.b,s.d,s.e,s.f,s.r,s.w,s.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.iW)if(J.e(b.a,r.a))if(J.e(b.e,r.e))if(b.r===r.r)if(b.f===r.f)s=b.c==r.c +return s}} +A.aat.prototype={ +$0(){if(!J.e($.rj,$.amD)){B.bg.ed("SystemChrome.setSystemUIOverlayStyle",$.rj.MD(),t.H) +$.amD=$.rj}$.rj=null}, +$S:0} +A.KE.prototype={ +F(){return"SystemSoundType."+this.b}} +A.aaH.prototype={ +f6(a){var s +if(a<0)return null +s=this.oP(a).a +return s>=0?s:null}, +f7(a){var s=this.oP(Math.max(0,a)).b +return s>=0?s:null}, +oP(a){var s,r=this.f6(a) +if(r==null)r=-1 +s=this.f7(a) +return new A.ch(r,s==null?-1:s)}} +A.EC.prototype={ +f6(a){var s +if(a<0)return null +s=this.a +return A.amz(s,Math.min(a,s.length)).b}, +f7(a){var s,r=this.a +if(a>=r.length)return null +s=A.amz(r,Math.max(0,a+1)) +return s.b+s.gG(0).length}, +oP(a){var s,r,q,p=this +if(a<0){s=p.f7(a) +return new A.ch(-1,s==null?-1:s)}else{s=p.a +if(a>=s.length){s=p.f6(a) +return new A.ch(s==null?-1:s,-1)}}r=A.amz(s,a) +s=r.b +if(s!==r.c)s=new A.ch(s,s+r.gG(0).length) +else{q=p.f7(a) +s=new A.ch(s,q==null?-1:q)}return s}} +A.a1o.prototype={ +oP(a){var s=this.a,r=Math.max(a,0),q=s.b.E.b.a.c.FU(new A.ao(r,B.n)) +s=s.a +r=s.a +s=s.b +return A.zC(B.n,B.f.hB(q.a,r,s),B.f.hB(q.b,r,s),!1)}} +A.xw.prototype={ +f6(a){var s,r,q +if(a<0||this.a.length===0)return null +s=this.a +r=s.length +if(a>=r)return r +if(a===0)return 0 +if(a>1&&s.charCodeAt(a)===10&&s.charCodeAt(a-1)===13)q=a-2 +else q=A.amF(s.charCodeAt(a))?a-1:a +for(;q>0;){if(A.amF(s.charCodeAt(q)))return q+1;--q}return Math.max(q,0)}, +f7(a){var s,r=this.a,q=r.length +if(a>=q||q===0)return null +if(a<0)return 0 +for(s=a;!A.amF(r.charCodeAt(s));){++s +if(s===q)return s}return s=s?null:s}} +A.zB.prototype={ +j(a){var s,r,q=this,p=", isDirectional: " +if(!q.gma())return"TextSelection.invalid" +s=""+q.c +r=""+q.f +return q.a===q.b?"TextSelection.collapsed(offset: "+s+", affinity: "+q.e.j(0)+p+r+")":"TextSelection(baseOffset: "+s+", extentOffset: "+q.d+p+r+")"}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(!(b instanceof A.zB))return!1 +if(!r.gma())return!b.gma() +s=!1 +if(b.c===r.c)if(b.d===r.d)s=(r.a!==r.b||b.e===r.e)&&b.f===r.f +return s}, +gu(a){var s,r=this +if(!r.gma())return A.P(-B.f.gu(1),-B.f.gu(1),A.fL(B.n),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a) +s=r.a===r.b?A.fL(r.e):A.fL(B.n) +return A.P(B.f.gu(r.c),B.f.gu(r.d),s,B.eB.gu(r.f),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.a8U.prototype={ +F(){return"SelectionChangedCause."+this.b}} +A.KO.prototype={ +gYX(){var s=this.c +s===$&&A.a() +return s}, +uI(a){return this.a38(a)}, +a38(a){var s=0,r=A.C(t.z),q,p=2,o,n=this,m,l,k,j,i +var $async$uI=A.D(function(b,c){if(b===1){o=c +s=p}while(true)switch(s){case 0:p=4 +s=7 +return A.y(n.AF(a),$async$uI) +case 7:k=c +q=k +s=1 +break +p=2 +s=6 +break +case 4:p=3 +i=o +m=A.a6(i) +l=A.aK(i) +k=A.bk("during method call "+a.a) +A.df(new A.bD(m,l,"services library",k,new A.abc(a),!1)) +throw i +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$uI,r)}, +AF(a){return this.a2i(a)}, +a2i(a){var s=0,r=A.C(t.z),q,p=this,o,n,m,l,k,j +var $async$AF=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)$async$outer:switch(s){case 0:j=a.a +switch(j){case"TextInputClient.focusElement":p.f.i(0,J.ah(t.j.a(a.b),0)) +s=1 +break $async$outer +case"TextInputClient.requestElementsInRect":o=J.u5(t.j.a(a.b),t.Jy) +n=o.$ti.h("ay") +m=p.f +l=A.o(m).h("aZ<1>") +k=l.h("dZ>") +q=A.a8(new A.dZ(new A.aF(new A.aZ(m,l),new A.ab9(p,A.a8(new A.ay(o,new A.aba(),n),!0,n.h("aI.E"))),l.h("aF")),new A.abb(p),k),!0,k.h("j.E")) +s=1 +break $async$outer +case"TextInputClient.scribbleInteractionBegan":s=1 +break $async$outer +case"TextInputClient.scribbleInteractionFinished":s=1 +break $async$outer}s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$AF,r)}} +A.abc.prototype={ +$0(){var s=null +return A.b([A.iu("call",this.a,!0,B.aP,s,s,s,B.aq,!1,!0,!0,B.bc,s)],t.F)}, +$S:23} +A.aba.prototype={ +$1(a){return a}, +$S:333} +A.ab9.prototype={ +$1(a){this.a.f.i(0,a) +return!1}, +$S:25} +A.abb.prototype={ +$1(a){var s=this.a.f.i(0,a),r=s.gqo(s) +s=[a] +B.b.L(s,[r.gdU(r),r.gFx(r),r.gbH(r),r.gb3(r)]) +return s}, +$S:334} +A.zz.prototype={} +A.Ph.prototype={} +A.T1.prototype={} +A.a_A.prototype={ +$2(a,b){return new A.qC(b,B.Jx,B.vG,null)}, +$S:335} +A.a_B.prototype={ +$1(a){return A.aBo(this.a,a)}, +$S:336} +A.a_z.prototype={ +$1(a){var s=this.a +s.c.$1(s.a)}, +$S:18} +A.oQ.prototype={ +u9(){var s=0,r=A.C(t.H),q=this +var $async$u9=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:s=2 +return A.y(B.qT.cJ("create",A.as(["id",q.a,"viewType",q.b,"params",q.c],t.N,t.z),!1,t.H),$async$u9) +case 2:q.d=!0 +return A.A(null,r)}}) +return A.B($async$u9,r)}, +Cz(){var s=0,r=A.C(t.H) +var $async$Cz=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:return A.A(null,r)}}) +return A.B($async$Cz,r)}, +Df(a){return this.a9A(a)}, +a9A(a){var s=0,r=A.C(t.H) +var $async$Df=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:return A.A(null,r)}}) +return A.B($async$Df,r)}, +l(){var s=0,r=A.C(t.H),q=this +var $async$l=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:s=q.d?2:3 +break +case 2:s=4 +return A.y(B.qT.cJ("dispose",q.a,!1,t.H),$async$l) +case 4:case 3:return A.A(null,r)}}) +return A.B($async$l,r)}} +A.ajl.prototype={ +$1(a){this.a.sco(a) +return!1}, +$S:33} +A.aR.prototype={} +A.bn.prototype={ +ev(a){this.b=a}, +jx(a,b){this.goa() +return!0}, +uG(a,b){var s=this +if(A.o(s).h("fs").b(s))return s.jy(0,a,b) +return s.jx(0,a)}, +goa(){return!0}, +nC(a){return!0}, +Fu(a,b){return this.nC(a)?B.df:B.eC}, +pz(a,b){var s=this +if(A.o(s).h("fs").b(s))return s.hf(a,b) +return s.eB(a)}, +C4(a){var s=this.a +s.b=!0 +s.a.push(a) +return null}, +xM(a){return this.a.A(0,a)}} +A.fs.prototype={ +jy(a,b,c){this.Ua(0,b) +return!0}, +jx(a,b){return this.jy(0,b,null)}} +A.mN.prototype={ +eB(a){return this.c.$1(a)}} +A.Uv.prototype={ +ac5(a,b,c){if(a.uG(b,c))return new A.av(!0,a.pz(b,c)) +return B.In}} +A.jl.prototype={ +ag(){return new A.A0(A.aA(t.od),new A.J())}} +A.Ux.prototype={ +$1(a){var s=a.e +s.toString +t.L1.a(s) +return!1}, +$S:60} +A.UA.prototype={ +$1(a){var s,r=this,q=a.e +q.toString +s=A.akZ(t.L1.a(q),r.b,r.d) +if(s!=null){r.c.yT(a,null) +r.a.a=s +return!0}return!1}, +$S:60} +A.Uy.prototype={ +$1(a){var s,r=a.e +r.toString +s=A.akZ(t.L1.a(r),this.b,this.c) +if(s!=null){this.a.a=s +return!0}return!1}, +$S:60} +A.UB.prototype={ +$1(a){var s,r,q=this,p=a.e +p.toString +s=q.b +r=A.akZ(t.L1.a(p),s,q.d) +p=r!=null +if(p&&r.uG(s,q.c)){A.aoN(a) +q.a.a=r.pz(s,q.c)}return p}, +$S:60} +A.A0.prototype={ +ao(){this.aL() +this.ML()}, +a0z(a){this.al(new A.ace(this))}, +ML(){var s,r,q=this,p=q.a.d.gaF(0),o=A.er(p,A.o(p).h("j.E")),n=q.d.hF(o) +p=q.d +p.toString +s=o.hF(p) +for(p=n.gX(n),r=q.gJM();p.t();)p.gG(p).xM(r) +for(p=s.gX(s);p.t();)p.gG(p).C4(r) +q.d=o}, +aH(a){this.b4(a) +this.ML()}, +l(){var s,r,q,p,o=this +o.aC() +for(s=o.d,s=A.dm(s,s.r,A.o(s).c),r=o.gJM(),q=s.$ti.c;s.t();){p=s.d;(p==null?q.a(p):p).xM(r)}o.d=null}, +K(a){var s=this.a +return new A.A_(null,s.d,this.e,s.e,null)}} +A.ace.prototype={ +$0(){this.a.e=new A.J()}, +$S:0} +A.A_.prototype={ +bT(a){var s +if(this.w===a.w)s=!A.U_(a.r,this.r) +else s=!0 +return s}} +A.Lm.prototype={ +eB(a){a.afE() +return null}} +A.FB.prototype={ +nC(a){return this.c}, +eB(a){}} +A.pk.prototype={} +A.pw.prototype={} +A.iv.prototype={} +A.Fx.prototype={} +A.k1.prototype={} +A.IR.prototype={ +jy(a,b,c){var s,r,q,p,o,n=$.am.ai$.d.c +if(n==null||n.e==null)return!1 +for(s=t.v,r=0;r<2;++r){q=B.DT[r] +p=n.e +p.toString +o=A.al0(p,q,s) +if(o!=null&&o.uG(q,c)){this.e=o +this.f=q +return!0}}return!1}, +jx(a,b){return this.jy(0,b,null)}, +hf(a,b){var s,r=this.e +r===$&&A.a() +s=this.f +s===$&&A.a() +r.pz(s,b)}, +eB(a){return this.hf(a,null)}} +A.Pa.prototype={ +Kr(a,b,c){var s +a.ev(this.glQ()) +s=a.pz(b,c) +a.ev(null) +return s}, +hf(a,b){var s=this,r=A.al_(s.gx7(),A.o(s).c) +return r==null?s.ac7(a,s.b,b):s.Kr(r,a,b)}, +eB(a){return this.hf(a,null)}, +goa(){var s=this,r=A.al0(s.gx7(),null,A.o(s).c) +if(r!=null){r.ev(s.glQ()) +r.goa() +r.ev(null)}else s.glQ().goa() +return!0}, +jy(a,b,c){var s,r=this,q=A.al_(r.gx7(),A.o(r).c),p=q==null +if(!p)q.ev(r.glQ()) +s=(p?r.glQ():q).uG(b,c) +if(!p)q.ev(null) +return s}, +jx(a,b){return this.jy(0,b,null)}, +nC(a){var s,r=this,q=A.al_(r.gx7(),A.o(r).c),p=q==null +if(!p)q.ev(r.glQ()) +s=(p?r.glQ():q).nC(a) +if(!p)q.ev(null) +return s}} +A.Bk.prototype={ +Kr(a,b,c){var s +c.toString +a.ev(new A.Aj(c,this.e,new A.bg(A.b([],t.ot),t.wS),this.$ti.h("Aj<1>"))) +s=a.pz(b,c) +a.ev(null) +return s}, +ac7(a,b,c){var s=this.e +if(b==null)return s.hf(a,c) +else return s.hf(a,c)}, +glQ(){return this.e}, +gx7(){return this.f}} +A.Aj.prototype={ +ev(a){this.d.ev(a)}, +jx(a,b){return this.d.jy(0,b,this.c)}, +goa(){this.d.goa() +return!0}, +nC(a){return this.d.nC(a)}, +C4(a){var s +this.U9(a) +s=this.d.a +s.b=!0 +s.a.push(a)}, +xM(a){this.Ub(a) +this.d.a.A(0,a)}, +eB(a){return this.d.hf(a,this.c)}} +A.LB.prototype={} +A.Lz.prototype={} +A.Od.prototype={} +A.D4.prototype={ +ev(a){this.U8(a) +this.e.ev(a)}} +A.ug.prototype={ +ar(a){var s=new A.y5(this.e,!0,A.ai(),null,new A.aM(),A.ai(),this.$ti.h("y5<1>")) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sm(0,this.e) +b.sTT(!0)}} +A.zW.prototype={ +ag(){return new A.CM()}} +A.CM.prototype={ +ga2I(){$.am.toString +var s=$.az() +if(s.gD_()!=="/"){$.am.toString +s=s.gD_()}else{this.a.toString +$.am.toString +s=s.gD_()}return s}, +ZY(a){switch(this.d){case null:case void 0:case B.ch:case B.cS:return!0 +case B.b6:case B.e9:case B.fZ:A.amE(a.a) +return!0}}, +qK(a){this.d=a +this.We(a)}, +ao(){var s=this +s.aL() +s.a6Q() +$.am.toString +s.w=s.Lz($.az().c.f,s.a.go) +$.am.cb$.push(s) +s.d=$.am.go$}, +aH(a){this.b4(a) +this.N8(a)}, +l(){$.am.t2(this) +var s=this.e +if(s!=null)s.l() +this.aC()}, +Ii(){var s=this.e +if(s!=null)s.l() +this.f=this.e=null}, +N8(a){var s,r=this +r.a.toString +if(r.gNm()){r.Ii() +s=r.r==null +if(!s){r.a.toString +a.toString}if(s){s=r.a.c +r.r=new A.nl(r,t.TX)}}else{r.Ii() +r.r=null}}, +a6Q(){return this.N8(null)}, +gNm(){var s=this.a +if(s.Q==null){s=s.as +s=s==null?null:s.gb9(s) +s=s===!0 +if(!s)this.a.toString}else s=!0 +return s}, +a3F(a){var s=this,r=a.a,q=r==="/"&&s.a.Q!=null?new A.aiD(s):s.a.as.i(0,r) +if(q!=null)return s.a.f.$1$2(a,q,t.z) +s.a.toString +return null}, +a3W(a){return this.a.at.$1(a)}, +w7(){var s=0,r=A.C(t.y),q,p=this,o,n +var $async$w7=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:p.a.toString +o=p.r +n=o==null?null:o.gbu() +if(n==null){q=!1 +s=1 +break}q=n.QO() +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$w7,r)}, +qN(a){return this.a9s(a)}, +a9s(a){var s=0,r=A.C(t.y),q,p=this,o,n,m,l +var $async$qN=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:p.a.toString +o=p.r +n=o==null?null:o.gbu() +if(n==null){q=!1 +s=1 +break}m=a.goJ() +o=m.ghi(m).length===0?"/":m.ghi(m) +l=m.gmk() +l=l.gM(l)?null:m.gmk() +o=A.CI(m.gkG().length===0?null:m.gkG(),o,null,l,null).gnl() +o=n.Bl(A.tF(o,0,o.length,B.W,!1),null,t.X) +o.toString +n.mi(o) +q=!0 +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$qN,r)}, +Lz(a,b){this.a.toString +return A.aI2(a,b)}, +OT(a){var s=this,r=s.Lz(a,s.a.go) +if(!r.k(0,s.w))s.al(new A.aiF(s,r))}, +K(a){var s,r,q,p,o,n,m,l,k,j,i=this,h=null,g={} +g.a=null +s=i.a +s.toString +if(i.gNm()){s=i.r +r=i.ga2I() +q=i.a +p=q.ch +p.toString +g.a=A.aB4(!0,new A.xi(r,i.ga3E(),i.ga3V(),p,"nav",B.Ql,A.aJu(),!0,B.z,s),"Navigator Scope",!0,h,h,h,h) +s=q}else{s=i.a +s.toString}g.b=null +o=new A.fp(new A.aiE(g,i),h) +g.b=o +g.b=A.n_(o,h,B.c7,!0,s.db,h,h,B.aE) +r=s.dx +r=A.a3(255,r.gm(r)>>>16&255,r.gm(r)>>>8&255,r.gm(r)&255) +g=g.b +q=i.a +q.toString +p=i.w +p.toString +n=A.aER() +m=A.lq($.awP(),t.u,t.od) +l=t.ot +k=t.wS +m.n(0,B.xh,new A.Bk(new A.qY(new A.bg(A.b([],l),k)),a,!1,!1,!1,!1,new A.bg(A.b([],l),k),t.x5.h("Bk"))) +l=A.a6S() +k=t.a9 +j=A.b([],k) +B.b.L(j,i.a.fr) +j.push(B.zz) +k=A.b(j.slice(0),k) +return new A.yx(new A.z4(new A.cI(i.gZX(),A.amq(new A.Fn(A.Uw(m,A.alD(new A.KI(new A.z5(new A.wO(p,k,new A.KZ(s.cx,r,g,h),h),h),h),l)),h),"",n),h,t.w3),h),q.p2,h)}} +A.aiD.prototype={ +$1(a){var s=this.a.a.Q +s.toString +return s}, +$S:35} +A.aiF.prototype={ +$0(){this.a.w=this.b}, +$S:0} +A.aiE.prototype={ +$1(a){return this.b.a.CW.$2(a,this.a.a)}, +$S:35} +A.TJ.prototype={} +A.uV.prototype={ +F(){return"ConnectionState."+this.b}} +A.fY.prototype={ +j(a){var s=this +return"AsyncSnapshot("+s.a.j(0)+", "+A.h(s.b)+", "+A.h(s.c)+", "+A.h(s.d)+")"}, +k(a,b){var s=this +if(b==null)return!1 +if(s===b)return!0 +return s.$ti.b(b)&&b.a===s.a&&J.e(b.b,s.b)&&J.e(b.c,s.c)&&b.d==s.d}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.q3.prototype={ +ag(){return new A.AI(this.$ti.h("AI<1>"))}} +A.AI.prototype={ +ao(){var s=this +s.aL() +s.a.toString +s.e=new A.fY(B.kY,null,null,null,s.$ti.h("fY<1>")) +s.HV()}, +aH(a){var s,r=this +r.b4(a) +if(a.c===r.a.c)return +if(r.d!=null){r.d=null +s=r.e +s===$&&A.a() +r.e=new A.fY(B.kY,s.b,s.c,s.d,s.$ti)}r.HV()}, +K(a){var s,r=this.a +r.toString +s=this.e +s===$&&A.a() +return r.d.$2(a,s)}, +l(){this.d=null +this.aC()}, +HV(){var s,r=this,q=r.a +q.toString +s=r.d=new A.J() +q.c.ej(0,new A.aey(r,s),new A.aez(r,s),t.H) +q=r.e +q===$&&A.a() +if(q.a!==B.hC)r.e=new A.fY(B.AR,q.b,q.c,q.d,q.$ti)}} +A.aey.prototype={ +$1(a){var s=this.a +if(s.d===this.b)s.al(new A.aex(s,a))}, +$S(){return this.a.$ti.h("aY(1)")}} +A.aex.prototype={ +$0(){var s=this.a +s.e=new A.fY(B.hC,this.b,null,null,s.$ti.h("fY<1>"))}, +$S:0} +A.aez.prototype={ +$2(a,b){var s=this.a +if(s.d===this.b)s.al(new A.aew(s,a,b))}, +$S:38} +A.aew.prototype={ +$0(){var s=this.a +s.e=new A.fY(B.hC,null,this.b,this.c,s.$ti.h("fY<1>"))}, +$S:0} +A.pr.prototype={ +ag(){return new A.A5()}} +A.A5.prototype={ +ao(){this.aL() +this.MR()}, +aH(a){this.b4(a) +this.MR()}, +MR(){this.e=new A.cI(this.gY7(),this.a.c,null,t.Jc)}, +l(){var s,r,q=this.d +if(q!=null)for(q=A.hc(q,q.r);q.t();){s=q.d +r=this.d.i(0,s) +r.toString +s.J(0,r)}this.aC()}, +Y8(a){var s,r=this,q=a.a,p=r.d +if(p==null)p=r.d=A.E(t.I_,t.M) +p.n(0,q,r.ZH(q)) +p=r.d.i(0,q) +p.toString +q.a0(0,p) +if(!r.f){r.f=!0 +s=r.Jo() +if(s!=null)r.N4(s) +else $.bC.p2$.push(new A.acv(r))}return!1}, +Jo(){var s={},r=this.c +r.toString +s.a=null +r.bn(new A.acA(s)) +return t.xO.a(s.a)}, +N4(a){var s,r +this.c.toString +s=this.f +r=this.e +r===$&&A.a() +a.HS(t.Fw.a(A.aBE(r,s)))}, +ZH(a){var s=A.bj("callback"),r=new A.acz(this,a,s) +s.sco(r) +return r}, +K(a){var s=this.f,r=this.e +r===$&&A.a() +return new A.wC(s,r,null)}} +A.acv.prototype={ +$1(a){var s,r=this.a +if(r.c==null)return +s=r.Jo() +s.toString +r.N4(s)}, +$S:6} +A.acA.prototype={ +$1(a){this.a.a=a}, +$S:10} +A.acz.prototype={ +$0(){var s=this.a,r=this.b +s.d.A(0,r) +r.J(0,this.c.aP()) +if(s.d.a===0)if($.bC.R8$.a<3)s.al(new A.acx(s)) +else{s.f=!1 +A.e3(new A.acy(s))}}, +$S:0} +A.acx.prototype={ +$0(){this.a.f=!1}, +$S:0} +A.acy.prototype={ +$0(){var s=this.a +if(s.c!=null&&s.d.a===0)s.al(new A.acw())}, +$S:0} +A.acw.prototype={ +$0(){}, +$S:0} +A.qj.prototype={} +A.GW.prototype={} +A.mJ.prototype={ +pp(){var s=new A.GW($.aN()) +this.ft$=s +this.c.cz(new A.qj(s))}, +oI(){var s,r=this +if(r.goL()){if(r.ft$==null)r.pp()}else{s=r.ft$ +if(s!=null){s.ap() +s.dI() +r.ft$=null}}}, +K(a){if(this.goL()&&this.ft$==null)this.pp() +return B.Sv}} +A.OZ.prototype={ +K(a){throw A.c(A.jz("Widgets that mix AutomaticKeepAliveClientMixin into their State must call super.build() but must ignore the return value of the superclass."))}} +A.Ss.prototype={ +Gf(a,b){}, +oj(a){A.atd(this,new A.aim(this,a))}} +A.aim.prototype={ +$1(a){var s=a.z +if(s!=null&&s.p(0,this.a))a.bh()}, +$S:10} +A.ail.prototype={ +$1(a){A.atd(a,this.a)}, +$S:10} +A.St.prototype={ +bf(a){return new A.Ss(A.fx(null,null,null,t.W,t.X),this,B.a1)}} +A.h2.prototype={ +bT(a){return this.w!==a.w}} +A.HX.prototype={ +ar(a){var s=this.e +s=new A.Jg(B.c.a7(A.M(s,0,1)*255),s,!1,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sdk(0,this.e) +b.svC(!1)}} +A.v5.prototype={ +ar(a){var s=new A.y9(this.e,this.f,B.O,!1,!1,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sxu(this.e) +b.sPK(this.f) +b.smg(B.O) +b.cC=b.bK=!1}, +qP(a){a.sxu(null) +a.sPK(null)}} +A.pE.prototype={ +ar(a){var s=new A.J9(this.e,this.f,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sqr(this.e) +b.snz(this.f)}, +qP(a){a.sqr(null)}} +A.EO.prototype={ +ar(a){var s=new A.J8(this.e,this.f,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sqr(this.e) +b.snz(this.f)}, +qP(a){a.sqr(null)}} +A.Iy.prototype={ +ar(a){var s=this,r=new A.Jh(s.e,s.r,s.w,s.y,s.x,null,s.f,null,new A.aM(),A.ai()) +r.aw() +r.saG(null) +return r}, +aB(a,b){var s=this +b.sbr(0,s.e) +b.snz(s.f) +b.sa7S(0,s.r) +b.scA(0,s.w) +b.sae(0,s.x) +b.sbV(0,s.y)}} +A.Iz.prototype={ +ar(a){var s=this,r=new A.Ji(s.r,s.x,s.w,s.e,s.f,null,new A.aM(),A.ai()) +r.aw() +r.saG(null) +return r}, +aB(a,b){var s=this +b.sqr(s.e) +b.snz(s.f) +b.scA(0,s.r) +b.sae(0,s.w) +b.sbV(0,s.x)}} +A.L1.prototype={ +ar(a){var s=this,r=A.dX(a),q=new A.Js(s.w,null,new A.aM(),A.ai()) +q.aw() +q.saG(null) +q.sbD(0,s.e) +q.sfk(s.r) +q.sbS(r) +q.skE(s.x) +q.sR1(0,null) +return q}, +aB(a,b){var s=this +b.sbD(0,s.e) +b.sR1(0,null) +b.sfk(s.r) +b.sbS(A.dX(a)) +b.bK=s.w +b.skE(s.x)}} +A.G6.prototype={ +ar(a){var s=new A.yc(this.e,B.a3,A.dX(a),B.z,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sDA(this.e) +b.sfk(B.a3) +b.sbS(A.dX(a)) +if(B.z!==b.cT){b.cT=B.z +b.am() +b.aY()}}} +A.Gi.prototype={ +ar(a){var s=new A.Jc(this.e,this.f,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.saeO(this.e) +b.a_=this.f}} +A.cJ.prototype={ +ar(a){var s=new A.yj(this.e,A.dX(a),null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sce(0,this.e) +b.sbS(A.dX(a))}} +A.fm.prototype={ +ar(a){var s=new A.yk(this.f,this.r,this.e,A.dX(a),null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sfk(this.e) +b.saf3(this.f) +b.sabt(this.r) +b.sbS(A.dX(a))}} +A.kX.prototype={} +A.l2.prototype={ +ar(a){var s=new A.ya(this.e,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sD1(this.e)}} +A.wH.prototype={ +qf(a){var s,r,q=a.b +q.toString +t.Wz.a(q) +s=this.f +if(q.e!==s){q.e=s +r=a.d +if(r instanceof A.G)r.a5()}}} +A.v4.prototype={ +ar(a){var s=new A.y8(this.e,0,null,null,new A.aM(),A.ai()) +s.aw() +s.L(0,null) +return s}, +aB(a,b){b.sD1(this.e)}} +A.iS.prototype={ +ar(a){return A.arA(A.em(this.f,this.e))}, +aB(a,b){b.sNI(A.em(this.f,this.e))}, +cf(){var s,r,q,p,o=this.e,n=this.f +$label0$0:{s=1/0===o +if(s){r=1/0===n +q=n}else{q=null +r=!1}if(r){r="SizedBox.expand" +break $label0$0}if(0===o)r=0===(s?q:n) +else r=!1 +if(r){r="SizedBox.shrink" +break $label0$0}r="SizedBox" +break $label0$0}p=this.a +return p==null?r:r+"-"+p.j(0)}} +A.h_.prototype={ +ar(a){return A.arA(this.e)}, +aB(a,b){b.sNI(this.e)}} +A.H7.prototype={ +ar(a){var s=new A.Je(this.e,this.f,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.srG(0,this.e) +b.sEu(0,this.f)}} +A.xp.prototype={ +ar(a){var s=new A.yi(this.e,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sxi(this.e)}, +bf(a){return new A.P4(this,B.a1)}} +A.P4.prototype={} +A.pp.prototype={ +ar(a){var s=new A.y6(this.e,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sCl(0,this.e)}} +A.GQ.prototype={ +ar(a){var s=null,r=this.e +if(r===0)r=s +r=new A.yf(r,s,s,new A.aM(),A.ai()) +r.aw() +r.saG(s) +return r}, +aB(a,b){var s=this.e +b.sU4(s===0?null:s) +b.sU3(null)}} +A.Kp.prototype={ +ar(a){var s=a.aa(t.I) +s.toString +s=new A.Jq(this.e,s.w,null,A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){var s +b.sce(0,this.e) +s=a.aa(t.I) +s.toString +b.sbS(s.w)}} +A.H8.prototype={ +ar(a){var s=new A.yg(A.ak4(a,B.ap,!1),0,null,null,new A.aM(),A.ai()) +s.aw() +s.L(0,null) +return s}, +aB(a,b){b.sew(A.ak4(a,B.ap,!1))}} +A.zi.prototype={ +ar(a){var s=A.dX(a) +s=new A.yo(this.e,s,this.r,B.Z,A.ai(),0,null,null,new A.aM(),A.ai()) +s.aw() +s.L(0,null) +return s}, +aB(a,b){var s +b.sfk(this.e) +s=A.dX(a) +b.sbS(s) +s=this.r +if(b.au!==s){b.au=s +b.a5()}if(B.Z!==b.S){b.S=B.Z +b.am() +b.aY()}}} +A.lF.prototype={ +qf(a){var s,r,q,p=this,o=a.b +o.toString +t.B.a(o) +s=p.f +r=o.w!=s +if(r)o.w=s +s=p.r +if(o.e!=s){o.e=s +r=!0}s=p.w +if(o.f!=s){o.f=s +r=!0}s=p.x +if(o.r!=s){o.r=s +r=!0}s=p.y +if(o.x!=s){o.x=s +r=!0}if(r){q=a.d +if(q instanceof A.G)q.a5()}}} +A.IK.prototype={ +K(a){var s=this,r=a.aa(t.I) +r.toString +return A.aCU(s.f,s.x,null,null,s.c,r.w,s.d,s.r)}} +A.vW.prototype={ +ga3w(){switch(this.e.a){case 0:return!0 +case 1:var s=this.w +return s===B.bb||s===B.d8}}, +yc(a){var s=this.x +s=this.ga3w()?A.dX(a):null +return s}, +ar(a){var s=this +return A.aDg(B.z,s.w,s.e,s.f,s.r,s.z,s.yc(a),s.y)}, +aB(a,b){var s=this,r=s.e +if(b.E!==r){b.E=r +b.a5()}r=s.f +if(b.Z!==r){b.Z=r +b.a5()}r=s.r +if(b.a3!==r){b.a3=r +b.a5()}r=s.w +if(b.aj!==r){b.aj=r +b.a5()}r=s.yc(a) +if(b.au!=r){b.au=r +b.a5()}r=s.y +if(b.S!==r){b.S=r +b.a5()}if(B.z!==b.av){b.av=B.z +b.am() +b.aY()}}} +A.yz.prototype={} +A.EX.prototype={} +A.G9.prototype={ +qf(a){var s,r,q,p=a.b +p.toString +t.US.a(p) +s=this.f +r=p.e!==s +if(r)p.e=s +s=this.r +if(p.f!==s){p.f=s +r=!0}if(r){q=a.d +if(q instanceof A.G)q.a5()}}} +A.vM.prototype={} +A.Lt.prototype={ +ar(a){var s=A.dX(a) +s=new A.yq(B.aJ,B.cd,0,B.cd,0,B.jF,s,B.cc,B.z,A.ai(),0,null,null,new A.aM(),A.ai()) +s.aw() +s.L(0,null) +return s}, +aB(a,b){var s +b.swa(0,B.aJ) +b.sfk(B.cd) +b.sU_(0,0) +b.saep(B.cd) +b.saet(0) +b.sa9c(B.jF) +s=A.dX(a) +if(b.O!=s){b.O=s +b.a5()}if(b.af!==B.cc){b.af=B.cc +b.a5()}if(B.z!==b.av){b.av=B.z +b.am() +b.aY()}}} +A.Jv.prototype={ +ar(a){var s,r,q,p,o=this,n=null,m=o.r +if(m==null){m=a.aa(t.I) +m.toString +m=m.w}s=o.x +r=o.y +q=A.am_(a) +if(r.k(0,B.ao))r=new A.id(1) +p=s===B.aI?"\u2026":n +s=new A.lI(A.abe(p,q,o.z,o.as,o.e,o.f,m,o.ax,r,o.at),o.w,s,o.ch,!1,0,n,n,new A.aM(),A.ai()) +s.aw() +s.L(0,n) +s.smm(o.ay) +return s}, +aB(a,b){var s,r=this +b.soC(0,r.e) +b.sxT(0,r.f) +s=r.r +if(s==null){s=a.aa(t.I) +s.toString +s=s.w}b.sbS(s) +b.sTV(r.w) +b.sado(0,r.x) +b.sdE(r.y) +b.sxc(r.z) +b.syK(r.as) +b.sxV(r.at) +b.sxU(r.ax) +s=A.am_(a) +b.sx6(0,s) +b.smm(r.ay) +b.sTs(r.ch)}} +A.IW.prototype={ +ar(a){var s=this,r=s.d +r=r==null?null:r.d5(0) +r=new A.ye(r,s.e,s.f,s.r,s.w,s.x,s.y,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.CW,!1,null,!1,new A.aM(),A.ai()) +r.aw() +r.a6E() +return r}, +aB(a,b){var s=this,r=s.d +b.sfw(0,r==null?null:r.d5(0)) +b.aj=s.e +b.sbH(0,s.f) +b.sb3(0,s.r) +b.sTh(0,s.w) +b.sae(0,s.x) +b.sdk(0,s.y) +b.sa8p(s.Q) +b.sDA(s.as) +b.sfk(s.at) +b.saed(0,s.ax) +b.sa85(s.ay) +b.sacT(!1) +b.sbS(null) +b.swO(s.CW) +b.swR(!1) +b.skE(s.z)}, +qP(a){a.sfw(0,null)}} +A.Hc.prototype={ +ar(a){var s=this,r=null,q=new A.Jj(s.e,r,s.r,r,s.x,s.y,r,r,s.as,s.at,r,new A.aM(),A.ai()) +q.aw() +q.saG(r) +return q}, +aB(a,b){var s=this +b.c8=s.e +b.eT=null +b.cQ=s.r +b.cR=null +b.cB=s.x +b.fs=s.y +b.cS=b.hJ=null +b.b6=s.as +b.B=s.at}} +A.x7.prototype={ +ar(a){var s=this +return A.aDj(s.w,null,s.e,s.r,s.f,!0)}, +aB(a,b){var s,r=this +b.eT=r.e +b.cQ=r.f +b.cR=r.r +s=r.w +if(!b.cB.k(0,s)){b.cB=s +b.am()}if(b.B!==B.ae){b.B=B.ae +b.am()}}} +A.i1.prototype={ +ar(a){var s=new A.Jm(null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}} +A.q7.prototype={ +ar(a){var s=new A.yd(this.e,null,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sQb(this.e) +b.sE6(null)}} +A.DQ.prototype={ +ar(a){var s=new A.y3(!1,null,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sNv(!1) +b.sE6(null)}} +A.z_.prototype={ +ar(a){var s=this,r=new A.ym(s.e,s.f,s.r,!1,!1,s.JH(a),null,new A.aM(),A.ai()) +r.aw() +r.saG(null) +r.MN(r.B) +return r}, +JH(a){var s,r=this.e,q=r.rx +if(q!=null)return q +s=!0 +if(r.go==null){if(r.k1==null)r=r.p4!=null +else r=s +s=r}if(!s)return null +return A.dX(a)}, +aB(a,b){var s=this +b.sa8D(s.f) +b.saa2(s.r) +b.saa_(!1) +b.sa7Q(!1) +b.sRe(s.e) +b.sbS(s.JH(a))}} +A.x4.prototype={ +ar(a){var s=new A.Jf(null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}} +A.Ef.prototype={ +ar(a){var s=new A.J7(!0,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sa7R(!0)}} +A.vJ.prototype={ +ar(a){var s=new A.Jb(this.e,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.saa0(this.e)}} +A.wp.prototype={ +ar(a){var s=new A.Jd(this.e,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.sabI(0,this.e)}} +A.iF.prototype={ +K(a){return this.c}} +A.fp.prototype={ +K(a){return this.c.$1(a)}} +A.uT.prototype={ +ar(a){var s=new A.BB(this.e,B.ae,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){t.rj.a(b).sae(0,this.e)}} +A.BB.prototype={ +sae(a,b){if(b.k(0,this.c8))return +this.c8=b +this.am()}, +aE(a,b){var s,r,q,p,o=this,n=o.gv(0) +if(n.a>0&&n.b>0){n=a.gbO(0) +s=o.gv(0) +r=b.a +q=b.b +p=$.ap().bg() +p.sae(0,o.c8) +n.cP(new A.x(r,q,r+s.a,q+s.b),p)}n=o.C$ +if(n!=null)a.fE(n,b)}} +A.aiH.prototype={ +$1(a){var s=a==null?t.K.a(a):a +return this.a.kJ(s)}, +$S:117} +A.aiI.prototype={ +$1(a){var s=a==null?t.K.a(a):a +return this.a.At(s)}, +$S:117} +A.e1.prototype={ +w7(){return A.ce(!1,t.y)}, +qN(a){var s=null,r=a.goJ(),q=r.ghi(r).length===0?"/":r.ghi(r),p=r.gmk() +p=p.gM(p)?s:r.gmk() +q=A.CI(r.gkG().length===0?s:r.gkG(),q,s,p,s).gnl() +A.tF(q,0,q.length,B.W,!1) +return A.ce(!1,t.y)}, +OU(){}, +OW(){}, +OV(){}, +OT(a){}, +qK(a){}, +OX(a){}, +D9(){var s=0,r=A.C(t.s1),q +var $async$D9=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:q=B.jW +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$D9,r)}} +A.Lq.prototype={ +t2(a){if(a===this.dS$)this.dS$=null +return B.b.A(this.cb$,a)}, +wB(){var s=0,r=A.C(t.s1),q,p=this,o,n,m,l +var $async$wB=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:o=A.a8(p.cb$,!0,t.T),n=o.length,m=!1,l=0 +case 3:if(!(l=s.b&&s.c>=s.d) +else s=!0}else s=!1 +if(s)o=A.aBK(new A.h_(B.h3,p,p),0,0) +else{s=q.d +if(s!=null)o=new A.fm(s,p,p,o,p)}r=q.ga45() +if(r!=null)o=new A.cJ(r,o,p) +s=q.f +if(s!=null)o=new A.uT(s,o,p) +s=q.r +if(s!=null)o=A.ali(o,s,B.et) +s=q.x +if(s!=null)o=new A.h_(s,o,p) +s=q.y +if(s!=null)o=new A.cJ(s,o,p) +o.toString +return o}} +A.l4.prototype={ +ms(a,b,c){return A.Xe(c,this.w,null,this.y,this.x)}, +bT(a){return!J.e(this.w,a.w)||!J.e(this.x,a.x)||!J.e(this.y,a.y)}} +A.Xf.prototype={ +$1(a){var s=a.aa(t.Uf) +if(s==null)s=B.d9 +return A.Xe(this.e,s.w,this.a,this.d,s.x)}, +$S:348} +A.P_.prototype={ +K(a){throw A.c(A.jz("A DefaultSelectionStyle constructed with DefaultSelectionStyle.fallback cannot be incorporated into the widget tree, it is meant only to provide a fallback value returned by DefaultSelectionStyle.of() when no enclosing default selection style is present in a BuildContext."))}} +A.Fn.prototype={ +a07(){var s,r +switch(A.eF().a){case 3:s=A.lq($.ao7(),t.Vz,t.v) +for(r=$.ao5(),r=A.hc(r,r.r);r.t();)s.n(0,r.d,B.k) +return s +case 0:case 1:case 5:case 2:case 4:return $.ao7()}switch(A.eF().a){case 0:case 1:case 3:case 5:return null +case 2:return B.qP +case 4:return $.avA()}}, +K(a){var s=this.c,r=this.a07() +if(r!=null)s=A.amq(s,"",r) +return A.amq(s,"",A.aA_())}} +A.hJ.prototype={ +F(){return"DismissDirection."+this.b}} +A.vj.prototype={ +ag(){var s=null +return new A.An(new A.bz(s,t.C),s,s,s)}} +A.AB.prototype={ +F(){return"_FlingGestureKind."+this.b}} +A.An.prototype={ +ao(){var s,r,q=this +q.Xq() +s=q.gcK() +s.bl() +r=s.bJ$ +r.b=!0 +r.a.push(q.ga1_()) +s.bl() +s=s.c9$ +s.b=!0 +s.a.push(q.ga11()) +q.BL()}, +gcK(){var s,r=this,q=r.d +if(q===$){r.a.toString +s=A.dd(null,B.a7,null,null,r) +r.d!==$&&A.a1() +r.d=s +q=s}return q}, +goL(){var s=this.gcK().r +if(!(s!=null&&s.a!=null)){s=this.f +if(s==null)s=null +else{s=s.r +s=s!=null&&s.a!=null}s=s===!0}else s=!0 +return s}, +l(){this.gcK().l() +var s=this.f +if(s!=null)s.l() +this.Xp()}, +gfU(){var s=this.a.x +return s===B.Bg||s===B.l6||s===B.hI}, +pq(a){var s,r,q,p +if(a===0)return B.l8 +if(this.gfU()){s=this.c.aa(t.I) +s.toString +r=s.w +$label0$0:{q=B.P===r +if(q&&a<0){s=B.hI +break $label0$0}p=B.p===r +if(p&&a>0){s=B.hI +break $label0$0}if(!q)s=p +else s=!0 +if(s){s=B.l6 +break $label0$0}s=null}return s}return a>0?B.l7:B.Bh}, +gzZ(){this.a.toString +B.Go.i(0,this.pq(this.w)) +return 0.4}, +gKR(){var s=this.c.gv(0) +s.toString +return this.gfU()?s.a:s.b}, +a19(a){var s,r=this +if(r.x)return +r.y=!0 +s=r.gcK().r +if(s!=null&&s.a!=null){s=r.gcK().x +s===$&&A.a() +r.w=s*r.gKR()*J.dF(r.w) +r.gcK().eo(0)}else{r.w=0 +r.gcK().sm(0,0)}r.al(new A.ae2(r))}, +a1a(a){var s,r,q,p=this +if(p.y){s=p.gcK().r +s=s!=null&&s.a!=null}else s=!0 +if(s)return +s=a.c +s.toString +r=p.w +switch(p.a.x.a){case 1:case 0:p.w=r+s +break +case 4:s=r+s +if(s<0)p.w=s +break +case 5:s=r+s +if(s>0)p.w=s +break +case 2:q=p.c.aa(t.I) +q.toString +switch(q.w.a){case 0:s=p.w+s +if(s>0)p.w=s +break +case 1:s=p.w+s +if(s<0)p.w=s +break}break +case 3:q=p.c.aa(t.I) +q.toString +switch(q.w.a){case 0:s=p.w+s +if(s<0)p.w=s +break +case 1:s=p.w+s +if(s>0)p.w=s +break}break +case 6:p.w=0 +break}if(J.dF(r)!==J.dF(p.w))p.al(new A.ae3(p)) +s=p.gcK().r +if(!(s!=null&&s.a!=null))p.gcK().sm(0,Math.abs(p.w)/p.gKR())}, +a12(){this.a.toString}, +BL(){var s=this,r=J.dF(s.w),q=s.gcK(),p=s.gfU(),o=s.a +if(p){o.toString +p=new A.n(r,0)}else{o.toString +p=new A.n(0,r)}o=t.Ni +s.e=new A.b0(t.q.a(q),new A.aW(B.h,p,o),o.h("b0"))}, +ZZ(a){var s,r,q,p,o=this +if(o.w===0)return B.jH +s=a.a +r=s.a +q=s.b +if(o.gfU()){s=Math.abs(r) +if(s-Math.abs(q)<400||s<700)return B.jH +p=o.pq(r)}else{s=Math.abs(q) +if(s-Math.abs(r)<400||s<700)return B.jH +p=o.pq(q)}if(p===o.pq(o.w))return B.S1 +return B.S2}, +a18(a){var s,r,q,p=this +if(p.y){s=p.gcK().r +s=s!=null&&s.a!=null}else s=!0 +if(s)return +p.y=!1 +if(p.gcK().gaI(0)===B.T){p.py() +return}s=a.a +r=s.a +q=p.gfU()?r.a:r.b +switch(p.ZZ(s).a){case 1:if(p.gzZ()>=1){p.gcK().ei(0) +break}p.w=J.dF(q) +p.gcK().PB(Math.abs(q)*0.0033333333333333335) +break +case 2:p.w=J.dF(q) +p.gcK().PB(-Math.abs(q)*0.0033333333333333335) +break +case 0:if(p.gcK().gaI(0)!==B.F){s=p.gcK().x +s===$&&A.a() +if(s>p.gzZ())p.gcK().cp(0) +else p.gcK().ei(0)}break}}, +uz(a){return this.a10(a)}, +a10(a){var s=0,r=A.C(t.H),q=this +var $async$uz=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:s=a===B.T&&!q.y?2:3 +break +case 2:s=4 +return A.y(q.py(),$async$uz) +case 4:case 3:if(q.c!=null)q.oI() +return A.A(null,r)}}) +return A.B($async$uz,r)}, +py(){var s=0,r=A.C(t.H),q,p=this,o +var $async$py=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:if(p.gzZ()>=1){p.gcK().ei(0) +s=1 +break}s=3 +return A.y(p.zK(),$async$py) +case 3:o=b +if(p.c!=null)if(o)p.a6c() +else p.gcK().ei(0) +case 1:return A.A(q,r)}}) +return A.B($async$py,r)}, +zK(){var s=0,r=A.C(t.y),q,p=this +var $async$zK=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:p.a.toString +q=!0 +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$zK,r)}, +a6c(){var s,r=this +r.a.toString +s=r.pq(r.w) +r.a.w.$1(s)}, +K(a){var s,r,q,p,o,n,m,l=this,k=null +l.yO(a) +s=l.a +s.toString +r=l.r +if(r!=null){s=l.gfU()?B.ap:B.aJ +q=l.z +p=q.a +return new A.Ke(s,A.ot(k,q.b,p),r,k)}r=l.e +r===$&&A.a() +o=A.amu(new A.iF(s.c,l.as),r,k,!0) +if(s.x===B.l8)return o +s=l.gfU()?l.gJU():k +r=l.gfU()?l.gJV():k +q=l.gfU()?l.gJT():k +p=l.gfU()?k:l.gJU() +n=l.gfU()?k:l.gJV() +m=l.gfU()?k:l.gJT() +return A.Gn(l.a.ax,o,B.ar,!1,k,k,k,k,q,s,r,k,k,k,k,k,k,k,k,k,k,m,p,n)}} +A.ae2.prototype={ +$0(){this.a.BL()}, +$S:0} +A.ae3.prototype={ +$0(){this.a.BL()}, +$S:0} +A.D_.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.D0.prototype={ +ao(){this.aL() +if(this.goL())this.pp()}, +cN(){var s=this.ft$ +if(s!=null){s.ap() +s.dI() +this.ft$=null}this.p8()}} +A.XF.prototype={ +$1(a){var s=a.gqo(a).gfL().afh(0,0) +if(!s)a.gafl(a) +return s}, +$S:350} +A.XG.prototype={ +$1(a){return a.gqo(a)}, +$S:351} +A.FA.prototype={ +gb1(a){var s=this.a +if(s==null)s=null +else{s=s.c +s.toString}return s}} +A.pO.prototype={ +ag(){return new A.Av(A.xT(null),A.xT(null))}, +aap(a,b,c){return this.d.$3(a,b,c)}, +ael(a,b,c){return this.e.$3(a,b,c)}} +A.Av.prototype={ +ao(){var s,r=this +r.aL() +s=r.a.c +r.d=s.gaI(s) +s=r.a.c +s.bl() +s=s.bJ$ +s.b=!0 +s.a.push(r.gzh()) +r.J_()}, +HP(a){var s,r=this,q=r.d +q===$&&A.a() +s=r.YR(a,q) +r.d=s +if(q!==s)r.J_()}, +aH(a){var s,r,q=this +q.b4(a) +s=a.c +if(s!==q.a.c){r=q.gzh() +s.c4(r) +s=q.a.c +s.bl() +s=s.bJ$ +s.b=!0 +s.a.push(r) +r=q.a.c +q.HP(r.gaI(r))}}, +YR(a,b){switch(a.a){case 0:case 3:return a +case 1:switch(b.a){case 0:case 3:case 1:return a +case 2:return b}break +case 2:switch(b.a){case 0:case 3:case 2:return a +case 1:return b}break}}, +J_(){var s=this,r=s.d +r===$&&A.a() +switch(r.a){case 0:case 1:s.e.scr(0,s.a.c) +s.f.scr(0,B.bJ) +break +case 2:case 3:s.e.scr(0,B.cZ) +s.f.scr(0,new A.fM(s.a.c,new A.bg(A.b([],t.A),t.Q),0)) +break}}, +l(){this.a.c.c4(this.gzh()) +this.aC()}, +K(a){var s=this.a +return s.aap(a,this.e,s.ael(a,this.f,s.f))}} +A.iE.prototype={ +F(){return"KeyEventResult."+this.b}} +A.LV.prototype={} +A.Zq.prototype={ +ab(a){var s,r=this.a +if(r.ax===this){if(!r.giu()){s=r.w +s=s!=null&&s.r===r}else s=!0 +if(s)r.y3(B.jw) +s=r.w +if(s!=null){if(s.c===r)s.c=null +if(s.f===r)s.f=null +s.d.A(0,r)}s=r.Q +if(s!=null)s.a4T(0,r) +r.ax=null}}, +Fn(a){var s,r=this.a +if(r.ax===this){s=r.e +s.toString +a=A.alG(s,!0,!0);(a==null?r.e.f.d.b:a).v6(r)}}, +RK(){return this.Fn(null)}} +A.L9.prototype={ +F(){return"UnfocusDisposition."+this.b}} +A.cd.prototype={ +gdY(){var s,r,q +if(this.a)return!0 +for(s=this.gcn(),r=s.length,q=0;q"))}, +gcn(){var s,r,q=this.x +if(q==null){s=A.b([],t.bp) +r=this.Q +for(;r!=null;){s.push(r) +r=r.Q}this.x=s +q=s}return q}, +git(){if(!this.giu()){var s=this.w +if(s==null)s=null +else{s=s.c +s=s==null?null:B.b.p(s.gcn(),this)}s=s===!0}else s=!0 +return s}, +giu(){var s=this.w +return(s==null?null:s.c)===this}, +gfD(){return this.gey()}, +Ih(){var s,r,q,p,o=this.ay +if(o==null)return +this.ay=null +s=this.as +r=s.length +if(r!==0)for(q=0;q")).V(0,B.b.gos(r))}}b.Q=null +b.Ih() +B.b.A(this.as,b) +for(r=this.gcn(),q=r.length,p=0;p#"+s+q}, +$iae:1} +A.Zt.prototype={ +$1(a){return!a.gdY()&&a.b&&B.b.dA(a.gcn(),A.eG())}, +$S:26} +A.Zs.prototype={ +$1(a){return a.gey()===this.a}, +$S:26} +A.l9.prototype={ +gfD(){return this}, +ge7(){return this.b&&A.cd.prototype.ge7.call(this)}, +gti(){if(!(this.b&&B.b.dA(this.gcn(),A.eG())))return B.ka +return A.cd.prototype.gti.call(this)}, +yz(a){if(a.Q==null)this.v6(a) +if(this.git())a.i5(!0) +else a.lz()}, +i5(a){var s,r,q,p=this,o=p.fx +while(!0){if(o.length!==0){s=B.b.gP(o) +if(s.b&&B.b.dA(s.gcn(),A.eG())){s=B.b.gP(o) +r=s.ay +if(r==null){q=s.Q +r=s.ay=q==null?null:q.gfD()}s=r==null}else s=!0}else s=!1 +if(!s)break +o.pop()}o=A.jI(o) +if(!a||o==null){if(p.b&&B.b.dA(p.gcn(),A.eG())){p.lz() +p.KE(p)}return}o.i5(!0)}} +A.l8.prototype={ +F(){return"FocusHighlightMode."+this.b}} +A.Zr.prototype={ +F(){return"FocusHighlightStrategy."+this.b}} +A.LQ.prototype={ +qK(a){return this.a.$1(a)}} +A.w0.prototype={ +ga57(){return!0}, +Yq(a){var s,r,q=this +if(a===B.b6)if(q.c!==q.b)q.f=null +else{s=q.f +if(s!=null){s.ox() +q.f=null}}else{s=q.c +r=q.b +if(s!==r){q.r=r +q.f=s +q.NN()}}}, +pJ(){if(this.x)return +this.x=!0 +A.e3(this.ga7E())}, +NN(){var s,r,q,p,o,n,m,l,k,j=this +j.x=!1 +s=j.c +for(r=j.w,q=r.length,p=j.b,o=0;o")) +if(!r.gX(0).t())p=null +else p=b?r.gP(0):r.gH(0)}return p==null?a:p}, +J8(a,b){return this.A6(a,!1,b)}, +ac4(a){}, +Cx(a,b){}, +uU(a,b){var s,r,q,p,o,n,m,l=this,k=a.gfD() +k.toString +l.mR(k) +l.r3$.A(0,k) +s=A.jI(k.fx) +r=s==null +if(r){q=b?l.J8(a,!1):l.A6(a,!0,!1) +return l.nd(q,b?B.bw:B.bx,b)}if(r)s=k +p=A.alE(k,s) +if(b&&s===B.b.gP(p))switch(k.fr.a){case 1:s.tj() +return!1 +case 2:o=k.gey() +if(o!=null&&o!==$.am.ai$.d.b){s.tj() +k=o.e +k.toString +A.q_(k).uU(o,!0) +k=s.gey() +return(k==null?null:A.jI(k.fx))!==s}return l.nd(B.b.gH(p),B.bw,b) +case 0:return l.nd(B.b.gH(p),B.bw,b)}if(!b&&s===B.b.gH(p))switch(k.fr.a){case 1:s.tj() +return!1 +case 2:o=k.gey() +if(o!=null&&o!==$.am.ai$.d.b){s.tj() +k=o.e +k.toString +A.q_(k).uU(o,!1) +k=s.gey() +return(k==null?null:A.jI(k.fx))!==s}return l.nd(B.b.gP(p),B.bx,b) +case 0:return l.nd(B.b.gP(p),B.bx,b)}for(k=J.ak(b?p:new A.cm(p,A.Z(p).h("cm<1>"))),n=null;k.t();n=m){m=k.gG(k) +if(n===s)return l.nd(m,b?B.bw:B.bx,b)}return!1}} +A.Zx.prototype={ +$1(a){return a.b&&B.b.dA(a.gcn(),A.eG())&&!a.gdY()}, +$S:26} +A.Zz.prototype={ +$1(a){var s,r,q,p,o,n,m +for(s=a.c,r=s.length,q=this.b,p=this.a,o=0;o")) +if(!n.gM(0))o=n}m=J.akY(o,new A.Xz(new A.x(h.gaW(0).a,-1/0,h.gaW(0).c,1/0))) +if(!m.gM(0)){p=B.b.gH(A.aA8(h.gaW(0).gaQ(),m)) +break}p=B.b.gH(A.aA9(h.gaW(0).gaQ(),o)) +break +case B.bA:case B.bC:o=j.a65(b,h.gaW(0),i.gti()) +if(o.length===0)break +if(q!=null&&!q.d.gNV()){n=new A.aF(o,new A.XA(q),A.Z(o).h("aF<1>")) +if(!n.gM(0))o=n}m=J.akY(o,new A.XB(new A.x(-1/0,h.gaW(0).b,1/0,h.gaW(0).d))) +if(!m.gM(0)){p=B.b.gH(A.aA7(h.gaW(0).gaQ(),m)) +break}p=B.b.gH(A.aAa(h.gaW(0).gaQ(),o)) +break}if(p!=null){r=j.r3$ +l=r.i(0,i) +k=new A.rV(b,h) +if(l!=null)l.a.push(k) +else r.n(0,i,new A.N0(A.b([k],t.Kj))) +switch(b){case B.bz:case B.bC:j.a.$2$alignmentPolicy(p,B.bx) +break +case B.bB:case B.bA:j.a.$2$alignmentPolicy(p,B.bw) +break}return!0}return!1}} +A.agS.prototype={ +$1(a){return a.b===this.a}, +$S:356} +A.Xx.prototype={ +$2(a,b){var s=this.a +if(s.b)if(s.a)return B.c.b7(a.gaW(0).b,b.gaW(0).b) +else return B.c.b7(b.gaW(0).d,a.gaW(0).d) +else if(s.a)return B.c.b7(a.gaW(0).a,b.gaW(0).a) +else return B.c.b7(b.gaW(0).c,a.gaW(0).c)}, +$S:39} +A.Xu.prototype={ +$2(a,b){var s=a.gaW(0).gaQ(),r=b.gaW(0).gaQ(),q=this.a,p=A.alm(q,s,r) +if(p===0)return A.all(q,s,r) +return p}, +$S:39} +A.Xt.prototype={ +$2(a,b){var s=a.gaW(0).gaQ(),r=b.gaW(0).gaQ(),q=this.a,p=A.all(q,s,r) +if(p===0)return A.alm(q,s,r) +return p}, +$S:39} +A.Xv.prototype={ +$2(a,b){var s,r,q,p=this.a,o=a.gaW(0),n=b.gaW(0),m=o.a,l=p.a,k=o.c +m=Math.abs(m-l)"),s=new A.ay(s,new A.agN(),r),s=new A.bS(s,s.gq(0),r.h("bS")),r=r.h("aI.E");s.t();){q=s.d +if(q==null)q=r.a(q) +p=o.b +if(p==null){o.b=q +p=q}o.b=p.kx(q)}s=o.b +s.toString +return s}} +A.agN.prototype={ +$1(a){return a.b}, +$S:362} +A.agO.prototype={ +$2(a,b){var s +switch(this.a.a){case 1:s=B.c.b7(a.gaW(0).a,b.gaW(0).a) +break +case 0:s=B.c.b7(b.gaW(0).c,a.gaW(0).c) +break +default:s=null}return s}, +$S:363} +A.a6R.prototype={ +Zi(a){var s,r,q,p,o,n=B.b.gH(a).a,m=t.qi,l=A.b([],m),k=A.b([],t.jE) +for(s=a.length,r=0;r") +return A.a8(new A.aF(b,new A.a6V(new A.x(-1/0,s.b,1/0,s.d)),r),!0,r.h("j.E"))}, +$S:364} +A.a6V.prototype={ +$1(a){return!a.b.cW(this.a).gM(0)}, +$S:365} +A.w2.prototype={ +ag(){return new A.NI()}} +A.AG.prototype={} +A.NI.prototype={ +gbN(a){var s,r,q,p=this,o=p.d +if(o===$){s=p.a.c +r=A.b([],t.bp) +q=$.aN() +p.d!==$&&A.a1() +o=p.d=new A.AG(s,!1,!0,!0,!0,null,null,r,q)}return o}, +l(){this.gbN(0).l() +this.aC()}, +aH(a){var s=this +s.b4(a) +if(a.c!==s.a.c)s.gbN(0).fr=s.a.c}, +K(a){var s=null,r=this.gbN(0) +return A.w_(!1,!1,this.a.f,s,!0,!0,r,!1,s,s,s,s,s,!0)}} +A.Ju.prototype={ +eB(a){a.ag0(a.gbN(a))}} +A.nS.prototype={} +A.HO.prototype={ +eB(a){var s=$.am.ai$.d.c,r=s.e +r.toString +return A.q_(r).uU(s,!0)}, +Fu(a,b){return b?B.df:B.eC}} +A.o6.prototype={} +A.IN.prototype={ +eB(a){var s=$.am.ai$.d.c,r=s.e +r.toString +return A.q_(r).uU(s,!1)}, +Fu(a,b){return b?B.df:B.eC}} +A.Fv.prototype={ +eB(a){var s=$.am.ai$.d.c,r=s.e +r.toString +A.q_(r).abF(s,a.a)}} +A.NJ.prototype={} +A.Q3.prototype={ +Cx(a,b){var s +this.UC(a,b) +s=this.r3$.i(0,b) +if(s!=null){s=s.a +if(!!s.fixed$length)A.aa(A.a_("removeWhere")) +B.b.v4(s,new A.agS(a),!0)}}} +A.T4.prototype={} +A.T5.prototype={} +A.eW.prototype={ +gbu(){var s,r=$.am.ai$.x.i(0,this) +if(r instanceof A.ho){s=r.ok +s.toString +if(A.o(this).c.b(s))return s}return null}} +A.bz.prototype={ +j(a){var s,r=this,q=r.a +if(q!=null)s=" "+q +else s="" +if(A.r(r)===B.QA)return"[GlobalKey#"+A.b9(r)+s+"]" +return"["+("#"+A.b9(r))+s+"]"}} +A.nl.prototype={ +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return this.$ti.b(b)&&b.a===this.a}, +gu(a){return A.pc(this.a)}, +j(a){var s="GlobalObjectKey",r=B.d.Dr(s,">")?B.d.W(s,0,-8):s +return"["+r+" "+("#"+A.b9(this.a))+"]"}} +A.i.prototype={ +cf(){var s=this.a +return s==null?"Widget":"Widget-"+s.j(0)}, +k(a,b){if(b==null)return!1 +return this.UY(0,b)}, +gu(a){return A.J.prototype.gu.call(this,0)}} +A.aU.prototype={ +bf(a){return new A.Kx(this,B.a1)}} +A.a2.prototype={ +bf(a){var s=this.ag(),r=new A.ho(s,this,B.a1) +s.c=r +s.a=this +return r}} +A.af.prototype={ +ao(){}, +aH(a){}, +al(a){a.$0() +this.c.md()}, +cN(){}, +bL(){}, +l(){}, +bh(){}} +A.aP.prototype={} +A.dM.prototype={ +bf(a){return new A.lz(this,B.a1,A.o(this).h("lz"))}} +A.b3.prototype={ +bf(a){return A.aBy(this)}} +A.at.prototype={ +aB(a,b){}, +qP(a){}} +A.H4.prototype={ +bf(a){return new A.H3(this,B.a1)}} +A.b_.prototype={ +bf(a){return new A.z6(this,B.a1)}} +A.e9.prototype={ +bf(a){return A.aCg(this)}} +A.rY.prototype={ +F(){return"_ElementLifecycle."+this.b}} +A.O7.prototype={ +MK(a){a.bn(new A.afh(this)) +a.mp()}, +a6z(){var s,r=this.b,q=A.a8(r,!0,A.o(r).c) +B.b.en(q,A.anC()) +s=q +r.I(0) +try{r=s +new A.cm(r,A.Z(r).h("cm<1>")).V(0,this.ga6x())}finally{}}} +A.afh.prototype={ +$1(a){this.a.MK(a)}, +$S:10} +A.Vo.prototype={ +a6u(a){var s,r,q +try{a.Rs()}catch(q){s=A.a6(q) +r=A.aK(q) +A.ajD(A.bk("while rebuilding dirty elements"),s,r,new A.Vp(a))}}, +a_P(a){var s,r,q,p,o,n=this,m=n.e +B.b.en(m,A.anC()) +n.d=!1 +try{for(s=0;s0?r[a-1].as:s))break;--a}return a}} +A.Vp.prototype={ +$0(){var s=null,r=A.b([],t.F) +J.ek(r,A.iu("The element being rebuilt at the time was",this.a,!0,B.aP,s,s,s,B.aq,!1,!0,!0,B.bc,s)) +return r}, +$S:23} +A.Vn.prototype={ +G9(a){var s,r=this,q=a.gkn() +if(!r.c&&r.a!=null){r.c=!0 +r.a.$0()}if(!a.at){q.e.push(a) +a.at=!0}if(!q.a&&!q.b){q.a=!0 +s=q.c +if(s!=null)s.$0()}if(q.d!=null)q.d=!0}, +QG(a){try{a.$0()}finally{}}, +vG(a,b){var s=a.gkn(),r=b==null +if(r&&s.e.length===0)return +try{this.c=!0 +s.b=!0 +if(!r)try{b.$0()}finally{}s.a_P(a)}finally{this.c=s.b=!1}}, +a7V(a){return this.vG(a,null)}, +aab(){var s,r,q +try{this.QG(this.b.ga6y())}catch(q){s=A.a6(q) +r=A.aK(q) +A.ajD(A.pU("while finalizing the widget tree"),s,r,null)}finally{}}} +A.xl.prototype={ +Cm(){var s=this.a +this.b=new A.ag9(this,s==null?null:s.b)}} +A.ag9.prototype={ +cz(a){var s=this.a.QZ(a) +if(s)return +s=this.b +if(s!=null)s.cz(a)}} +A.b2.prototype={ +k(a,b){if(b==null)return!1 +return this===b}, +gaf2(){var s=this.e +s.toString +return s}, +gkn(){var s=this.r +s.toString +return s}, +gU(){for(var s=this;s!=null;)if(s.w===B.xs)break +else if(s instanceof A.bv)return s.gU() +else s=s.gou() +return null}, +gou(){var s={} +s.a=null +this.bn(new A.Yi(s)) +return s.a}, +a9n(a){var s=null,r=A.b([],t.F),q=A.b([],t.lX) +this.mr(new A.Yg(q)) +r.push(A.iu("The specific widget that could not find a "+a.j(0)+" ancestor was",this,!0,B.aP,s,s,s,B.aq,!1,!0,!0,B.bc,s)) +if(q.length!==0)r.push(A.aAF("The ancestors of this widget were",q)) +else r.push(A.bk('This widget is the root of the tree, so it has no ancestors, let alone a "'+a.j(0)+'" ancestor.')) +return r}, +a9m(a){var s=null +return A.iu(a,this,!0,B.aP,s,s,s,B.aq,!1,!0,!0,B.bc,s)}, +bn(a){}, +d2(a,b,c){var s,r,q=this +if(b==null){if(a!=null)q.w3(a) +return null}if(a!=null){s=a.e.k(0,b) +if(s){if(!J.e(a.c,c))q.Sk(a,c) +r=a}else{s=a.e +s.toString +if(A.r(s)===A.r(b)&&J.e(s.a,b.a)){if(!J.e(a.c,c))q.Sk(a,c) +a.aZ(0,b) +r=a}else{q.w3(a) +r=q.wL(b,c)}}}else r=q.wL(b,c) +return r}, +aeU(a1,a2,a3){var s,r,q,p,o,n,m,l,k=this,j=null,i=new A.Yj(a3),h=new A.Yk(j),g=a2.length,f=g-1,e=a1.length-1,d=t.W,c=A.b8(g,$.aol(),!1,d),b=j,a=0,a0=0 +while(!0){if(!(a0<=e&&a<=f))break +s=i.$1(a1[a0]) +r=a2[a] +if(s!=null){g=s.e +g.toString +g=!(A.r(g)===A.r(r)&&J.e(g.a,r.a))}else g=!0 +if(g)break +g=k.d2(s,r,h.$2(a,b)) +g.toString +c[a]=g;++a;++a0 +b=g}q=e +while(!0){g=a0<=q +if(!(g&&a<=f))break +s=i.$1(a1[q]) +r=a2[f] +if(s!=null){p=s.e +p.toString +p=!(A.r(p)===A.r(r)&&J.e(p.a,r.a))}else p=!0 +if(p)break;--q;--f}if(g){o=A.E(t.D2,d) +for(;a0<=q;){s=i.$1(a1[a0]) +if(s!=null){d=s.e.a +if(d!=null)o.n(0,d,s) +else{s.a=null +s.nH() +d=k.f.b +if(s.w===B.ce){s.cN() +s.bn(A.ajZ())}d.b.D(0,s)}}++a0}}else o=j +for(;a<=f;b=d){r=a2[a] +s=j +if(g){n=r.a +if(n!=null){m=o.i(0,n) +if(m!=null){d=m.e +d.toString +if(A.r(d)===A.r(r)&&J.e(d.a,n)){o.A(0,n) +s=m}}else s=m}}d=k.d2(s,r,h.$2(a,b)) +d.toString +c[a]=d;++a}f=a2.length-1 +while(!0){if(!(a0<=e&&a<=f))break +d=k.d2(a1[a0],a2[a],h.$2(a,b)) +d.toString +c[a]=d;++a;++a0 +b=d}if(g&&o.a!==0)for(g=o.gaF(0),d=A.o(g),g=new A.br(J.ak(g.a),g.b,d.h("br<1,2>")),d=d.y[1];g.t();){p=g.a +if(p==null)p=d.a(p) +if(!a3.p(0,p)){p.a=null +p.nH() +l=k.f.b +if(p.w===B.ce){p.cN() +p.bn(A.ajZ())}l.b.D(0,p)}}return c}, +eZ(a,b){var s,r,q,p=this +p.a=a +p.c=b +p.w=B.ce +s=a!=null +if(s){r=a.d +r===$&&A.a();++r}else r=1 +p.d=r +if(s){p.f=a.f +p.r=a.gkn()}q=p.e.a +if(q instanceof A.eW)p.f.x.n(0,q,p) +p.BI() +p.Cm()}, +aZ(a,b){this.e=b}, +Sk(a,b){new A.Yl(b).$1(a)}, +tn(a){this.c=a}, +MW(a){var s=a+1,r=this.d +r===$&&A.a() +if(r")),s=s.c;p.t();){r=p.d;(r==null?s.a(r):r).a4.A(0,q)}q.y=null +q.w=B.RT}, +mp(){var s=this,r=s.e,q=r==null?null:r.a +if(q instanceof A.eW){r=s.f.x +if(J.e(r.i(0,q),s))r.A(0,q)}s.z=s.e=null +s.w=B.xs}, +gv(a){var s=this.gU() +if(s instanceof A.H)return s.gv(0) +return null}, +nG(a,b){var s=this.z;(s==null?this.z=A.cA(t.IS):s).D(0,a) +a.Sg(this,b) +s=a.e +s.toString +return t.WB.a(s)}, +OQ(a){return this.nG(a,null)}, +aa(a){var s=this.y,r=s==null?null:s.i(0,A.bU(a)) +if(r!=null)return a.a(this.nG(r,null)) +this.Q=!0 +return null}, +ye(a){var s=this.jO(a) +if(s==null)s=null +else{s=s.e +s.toString}return a.h("0?").a(s)}, +jO(a){var s=this.y +return s==null?null:s.i(0,A.bU(a))}, +Cm(){var s=this.a +this.b=s==null?null:s.b}, +BI(){var s=this.a +this.y=s==null?null:s.y}, +Pz(a){var s,r,q=this.a +while(!0){s=q==null +if(!s){r=q.e +r.toString +r=A.r(r)!==A.bU(a)}else r=!1 +if(!r)break +q=q.a}if(s)s=null +else{s=q.e +s.toString}return a.h("0?").a(s)}, +r8(a){var s,r,q=this.a +for(;s=q==null,!s;){if(q instanceof A.ho){r=q.ok +r.toString +r=a.b(r)}else r=!1 +if(r)break +q=q.a}t.lE.a(q) +if(s)s=null +else{s=q.ok +s.toString}return a.h("0?").a(s)}, +wt(a){var s=this.a +for(;s!=null;){if(s instanceof A.bv&&a.b(s.gU()))return a.a(s.gU()) +s=s.a}return null}, +mr(a){var s=this.a +while(!0){if(!(s!=null&&a.$1(s)))break +s=s.a}}, +bh(){this.md()}, +cz(a){var s=this.b +if(s!=null)s.cz(a)}, +cf(){var s=this.e +s=s==null?null:s.cf() +return s==null?"#"+A.b9(this)+"(DEFUNCT)":s}, +md(){var s=this +if(s.w!==B.ce)return +if(s.as)return +s.as=!0 +s.f.G9(s)}, +xI(a){var s +if(this.w===B.ce)s=!this.as&&!a +else s=!0 +if(s)return +try{this.hV()}finally{}}, +Rs(){return this.xI(!1)}, +hV(){this.as=!1}, +$ia5:1} +A.Yi.prototype={ +$1(a){this.a.a=a}, +$S:10} +A.Yg.prototype={ +$1(a){this.a.push(a) +return!0}, +$S:33} +A.Yf.prototype={ +$1(a){var s=null +return A.iu("",a,!0,B.aP,s,s,s,B.aq,!1,!0,!0,B.hH,s)}, +$S:366} +A.Yj.prototype={ +$1(a){var s=this.a.p(0,a) +return s?null:a}, +$S:367} +A.Yk.prototype={ +$2(a,b){return new A.qe(b,a,t.Bc)}, +$S:368} +A.Yl.prototype={ +$1(a){var s +a.tn(this.a) +s=a.gou() +if(s!=null)this.$1(s)}, +$S:10} +A.Yd.prototype={ +$1(a){a.MW(this.a)}, +$S:10} +A.Yc.prototype={ +$1(a){a.MO()}, +$S:10} +A.Yh.prototype={ +$1(a){a.nH()}, +$S:10} +A.Ye.prototype={ +$1(a){a.qj(this.a)}, +$S:10} +A.G0.prototype={ +ar(a){var s=this.d,r=new A.yb(s,new A.aM(),A.ai()) +r.aw() +r.XV(s) +return r}} +A.uU.prototype={ +gou(){return this.ay}, +eZ(a,b){this.yU(a,b) +this.A8()}, +A8(){this.Rs()}, +hV(){var s,r,q,p,o,n,m=this,l=null +try{l=m.bs() +m.e.toString}catch(o){s=A.a6(o) +r=A.aK(o) +n=A.YR(A.ajD(A.bk("building "+m.j(0)),s,r,new A.WF())) +l=n}finally{m.lg()}try{m.ay=m.d2(m.ay,l,m.c)}catch(o){q=A.a6(o) +p=A.aK(o) +n=A.YR(A.ajD(A.bk("building "+m.j(0)),q,p,new A.WG())) +l=n +m.ay=m.d2(null,l,m.c)}}, +bn(a){var s=this.ay +if(s!=null)a.$1(s)}, +ir(a){this.ay=null +this.jW(a)}} +A.WF.prototype={ +$0(){var s=A.b([],t.F) +return s}, +$S:23} +A.WG.prototype={ +$0(){var s=A.b([],t.F) +return s}, +$S:23} +A.Kx.prototype={ +bs(){var s=this.e +s.toString +return t.gU.a(s).K(this)}, +aZ(a,b){this.mQ(0,b) +this.xI(!0)}} +A.ho.prototype={ +bs(){return this.ok.K(this)}, +A8(){this.ok.ao() +this.ok.bh() +this.Um()}, +hV(){var s=this +if(s.p1){s.ok.bh() +s.p1=!1}s.Un()}, +aZ(a,b){var s,r,q,p=this +p.mQ(0,b) +s=p.ok +r=s.a +r.toString +q=p.e +q.toString +s.a=t.d2.a(q) +s.aH(r) +p.xI(!0)}, +bL(){this.yS() +this.ok.bL() +this.md()}, +cN(){this.ok.cN() +this.GK()}, +mp(){var s=this +s.yV() +s.ok.l() +s.ok=s.ok.c=null}, +nG(a,b){return this.yT(a,b)}, +OQ(a){return this.nG(a,null)}, +bh(){this.GL() +this.p1=!0}} +A.xU.prototype={ +bs(){var s=this.e +s.toString +return t.yH.a(s).b}, +aZ(a,b){var s=this,r=s.e +r.toString +t.yH.a(r) +s.mQ(0,b) +s.FH(r) +s.xI(!0)}, +FH(a){this.oj(a)}} +A.lz.prototype={ +HS(a){var s=this.ay +if(s!=null)new A.a5K(a).$1(s)}, +oj(a){var s=this.e +s.toString +this.HS(this.$ti.h("dM<1>").a(s))}} +A.a5K.prototype={ +$1(a){var s +if(a instanceof A.bv)this.a.qf(a.gU()) +else if(a.gou()!=null){s=a.gou() +s.toString +this.$1(s)}}, +$S:10} +A.eZ.prototype={ +BI(){var s=this,r=s.a,q=r==null?null:r.y +if(q==null)q=B.Hp +r=s.e +r.toString +s.y=q.adG(0,A.r(r),s)}, +Gf(a,b){this.a4.n(0,a,b)}, +Sg(a,b){this.Gf(a,null)}, +QU(a,b){b.bh()}, +FH(a){var s=this.e +s.toString +if(t.WB.a(s).bT(a))this.Vc(a)}, +oj(a){var s,r,q +for(s=this.a4,r=A.o(s),s=new A.t5(s,s.zH(),r.h("t5<1>")),r=r.c;s.t();){q=s.d +this.QU(a,q==null?r.a(q):q)}}} +A.bv.prototype={ +gU(){var s=this.ay +s.toString +return s}, +gou(){return null}, +a_H(){var s,r=this.a +while(!0){s=r==null +if(!(!s&&!(r instanceof A.bv)))break +r=s?null:r.a}return t.c_.a(r)}, +a_G(){var s=this.a,r=A.b([],t.OM) +while(!0){if(!(s!=null&&!(s instanceof A.bv)))break +if(s instanceof A.lz)r.push(s) +s=s.a}return r}, +eZ(a,b){var s,r=this +r.yU(a,b) +s=r.e +s.toString +r.ay=t.F5.a(s).ar(r) +r.qj(b) +r.lg()}, +aZ(a,b){var s,r=this +r.mQ(0,b) +s=r.e +s.toString +t.F5.a(s).aB(r,r.gU()) +r.lg()}, +hV(){var s=this,r=s.e +r.toString +t.F5.a(r).aB(s,s.gU()) +s.lg()}, +cN(){this.GK()}, +mp(){var s=this,r=s.e +r.toString +t.F5.a(r) +s.yV() +r.qP(s.gU()) +s.ay.l() +s.ay=null}, +tn(a){var s,r=this,q=r.c +r.Uz(a) +s=r.CW +if(s!=null)s.jC(r.gU(),q,r.c)}, +qj(a){var s,r,q,p,o,n=this +n.c=a +s=n.CW=n.a_H() +if(s!=null)s.jt(n.gU(),a) +r=n.a_G() +for(s=r.length,q=t.IL,p=0;p"))}, +jt(a,b){var s=this.gU(),r=b.a +s.E8(0,a,r==null?null:r.gU())}, +jC(a,b,c){var s=this.gU(),r=c.a +s.xg(a,r==null?null:r.gU())}, +kZ(a,b){this.gU().A(0,a)}, +bn(a){var s,r,q,p,o=this.p1 +o===$&&A.a() +s=o.length +r=this.p2 +q=0 +for(;q") +j.d=new A.b0(t.q.a(q),new A.ib(new A.h0(new A.dg(o,1,B.a2)),p,n),n.h("b0"))}}if(s)s=!(isFinite(r.a)&&isFinite(r.b)) +else s=!0 +j.w=s}, +U0(a,b){var s,r,q,p=this +p.sacP(b) +s=p.f +switch(s.a.a){case 1:r=p.e +r===$&&A.a() +r.scr(0,new A.fM(s.gbI(0),new A.bg(A.b([],t.A),t.Q),0)) +q=!1 +break +case 0:r=p.e +r===$&&A.a() +r.scr(0,s.gbI(0)) +q=!0 +break +default:q=null}s=p.f +p.b=s.qC(s.gPP(),p.f.gxX()) +p.f.f.yG(q) +p.f.r.yF() +s=p.f.b +r=A.ama(p.gYM(),!1,!1) +p.r=r +s.abQ(0,r) +r=p.e +r===$&&A.a() +r.bl() +r=r.c9$ +r.b=!0 +r.a.push(p.gF0())}, +j(a){var s,r,q,p=this.f,o=p.d.b,n=p.e.b +p=A.h(p.f.a.c) +s=o.j(0) +r=n.j(0) +q=this.e +q===$&&A.a() +return"HeroFlight(for: "+p+", from: "+s+", to: "+r+" "+A.h(q.c)+")"}} +A.aeS.prototype={ +$2(a,b){var s,r=null,q=this.a,p=q.b +p===$&&A.a() +s=q.e +s===$&&A.a() +s=p.a8(0,s.gm(0)) +s.toString +p=q.f.c +return A.IJ(p.b-s.d,A.a0_(A.YY(b,r,q.d),!0,r),r,r,s.a,p.a-s.c,s.b,r)}, +$S:384} +A.aeT.prototype={ +$0(){var s,r=this.a +r.x=!1 +this.b.cx.J(0,this) +s=r.e +s===$&&A.a() +r.L2(s.gaI(0))}, +$S:0} +A.wc.prototype={ +qO(){var s,r,q,p=$.ik() +A.pX(this) +if(p.a.get(this).cx.a)return +p=this.b.gaF(0) +s=A.o(p).h("aF") +r=A.a8(new A.aF(p,new A.a_v(),s),!1,s.h("j.E")) +for(p=r.length,q=0;q"),a=t.k2;s.t();){a0=s.gG(s) +a1=a0.a +a2=a0.b +a3=k.i(0,a1) +a4=j.i(0,a1) +if(a3==null)a5=null +else{a0=o.id +if(a0==null)a0=A.aa(A.R("RenderBox was not laid out: "+A.r(o).j(0)+"#"+A.b9(o))) +a3.a.toString +a2.a.toString +a5=new A.aeR(b4,q,a0,b2,b3,a2,a3,p,r,b5,a4!=null)}if(a5!=null&&a5.gma()){k.A(0,a1) +if(a4!=null){a0=a4.f +a6=a0.a +if(a6===B.bP&&a5.a===B.bQ){a0=a4.e +a0===$&&A.a() +a0.scr(0,new A.fM(a5.gbI(0),new A.bg(A.b([],h),g),0)) +a0=a4.b +a0===$&&A.a() +a4.b=new A.yv(a0,a0.b,a0.a,a)}else{a6=a6===B.bQ&&a5.a===B.bP +a7=a4.e +if(a6){a7===$&&A.a() +a0=a5.gbI(0) +a6=a4.f.gbI(0).gm(0) +a7.scr(0,new A.b0(c.a(a0),new A.aW(a6,1,d),b)) +a0=a4.f +a6=a0.f +a7=a5.r +if(a6!==a7){a6.nP(!0) +a7.yF() +a0=a4.f +a0.toString +a6=a4.b +a6===$&&A.a() +a4.b=a0.qC(a6.b,a5.gxX())}else{a6=a4.b +a6===$&&A.a() +a4.b=a0.qC(a6.b,a6.a)}}else{a6=a4.b +a6===$&&A.a() +a7===$&&A.a() +a4.b=a0.qC(a6.a8(0,a7.gm(0)),a5.gxX()) +a4.c=null +a0=a5.a +a6=a4.e +if(a0===B.bQ)a6.scr(0,new A.fM(a5.gbI(0),new A.bg(A.b([],h),g),0)) +else a6.scr(0,a5.gbI(0)) +a4.f.f.nP(!0) +a4.f.r.nP(!0) +a5.f.yG(a0===B.bP) +a5.r.yF() +a0=a4.r.r.gbu() +if(a0!=null)a0.uK()}}a0=a4.f +if(a0!=null){a0=a0.Q +if(a0!=null){a6=a0.a +a0=a0.gnn() +a7=a6.bJ$ +a7.b=!0 +a8=a7.c +if(a8===$){a9=A.cA(a7.$ti.c) +a7.c!==$&&A.a1() +a7.c=a9 +a8=a9}if(a8.a>0){a8.b=a8.c=a8.d=a8.e=null +a8.a=0}if(B.b.A(a7.a,a0))a6.lV()}}a4.f=a5}else{a0=new A.kq(i,B.cZ) +a6=A.b([],h) +a7=new A.bg(a6,g) +b0=new A.o7(a7,new A.bg(A.b([],f),e),0) +b0.a=B.F +b0.b=0 +b0.bl() +a7.b=!0 +a6.push(a0.gJN()) +a0.e=b0 +a0.U0(0,a5) +j.n(0,a1,a0)}}else if(a4!=null)a4.w=!0}for(s=k.gaF(k),s=s.gX(s);s.t();)s.gG(s).Pm()}, +a1h(a){var s=this.b.A(0,a.f.f.a.c) +if(s!=null)s.l()}, +ZW(a,b,c,d,e){var s,r,q=e.e +q.toString +t.rA.a(q) +s=A.dL(e,null) +r=A.dL(d,null) +if(s==null||r==null)return q.e +return A.pl(b,new A.a_t(s,c,r.r,s.r,b,q),null)}, +l(){var s,r,q +for(s=this.b.gaF(0),r=A.o(s),s=new A.br(J.ak(s.a),s.b,r.h("br<1,2>")),r=r.y[1];s.t();){q=s.a;(q==null?r.a(q):q).l()}}} +A.a_v.prototype={ +$1(a){var s=a.f,r=!1 +if(s.y)if(s.a===B.bQ){s=a.e +s===$&&A.a() +s=s.gaI(0)===B.F}else s=r +else s=r +return s}, +$S:387} +A.a_u.prototype={ +$1(a){var s=this,r=s.b +if(r.a==null||s.c.a==null)return +s.a.Mf(r,s.c,s.d,s.e)}, +$S:6} +A.a_t.prototype={ +$2(a,b){var s=this,r=s.c,q=s.d,p=s.e +r=s.b===B.bP?new A.vv(r,q).a8(0,p.gm(p)):new A.vv(q,r).a8(0,p.gm(p)) +return A.x1(s.f.e,s.a.CJ(r))}, +$S:388} +A.lc.prototype={ +K(a){var s,r,q,p,o,n,m,l,k,j,i,h,g=this,f=null,e=a.aa(t.I) +e.toString +s=e.w +r=A.aqj(a) +e=g.d +q=e==null?r.a:e +if(q==null)q=14 +if(r.x===!0){e=A.dL(a,B.xz) +e=e==null?f:e.gdE() +p=q*(e==null?B.ao:e).a}else p=q +o=r.b +n=r.c +m=r.d +l=r.e +k=g.c +j=r.gdk(0) +if(j==null)j=1 +i=g.x +if(i==null){e=r.f +e.toString +i=e}if(j!==1)i=A.a3(B.c.a7(255*((i.gm(i)>>>24&255)/255*j)),i.gm(i)>>>16&255,i.gm(i)>>>8&255,i.gm(i)&255) +e=A.b([],t.uf) +if(o!=null)e.push(new A.iz("FILL",o)) +if(n!=null)e.push(new A.iz("wght",n)) +if(m!=null)e.push(new A.iz("GRAD",m)) +if(l!=null)e.push(new A.iz("opsz",l)) +h=A.amj(f,f,f,B.LL,f,f,!0,f,A.zE(f,A.fP(f,f,i,f,f,f,f,f,"MaterialIcons",f,f,p,f,e,f,f,1,!1,B.t,f,f,f,f,r.w,f,f),A.dN(k.a)),B.aH,s,f,B.ao,B.aE) +if(k.d)switch(s.a){case 0:e=new A.bi(new Float64Array(16)) +e.dF() +e.jR(0,-1,1,1) +h=A.amM(B.a3,h,f,e,!1) +break +case 1:break}return A.d0(f,new A.vJ(!0,A.ot(A.EB(h,f,f),p,p),f),!1,f,!1,f,f,f,f,g.z,f,f,f,f,f,f,f,f,f,f,f,f,f,f)}} +A.hQ.prototype={ +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.hQ&&b.a===this.a&&b.d===this.d&&A.dn(null,null)}, +gu(a){return A.P(this.a,"MaterialIcons",null,this.d,A.bN(B.EB),B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"IconData(U+"+B.d.op(B.f.iT(this.a,16).toUpperCase(),5,"0")+")"}} +A.ns.prototype={ +bT(a){return!this.w.k(0,a.w)}, +ms(a,b,c){return A.a_Y(c,this.w,null)}} +A.a_Z.prototype={ +$1(a){return A.a_Y(this.c,A.aqi(a).cd(this.b),this.a)}, +$S:389} +A.cB.prototype={ +qB(a,b,c,d,e,f,g,h,i){var s=this,r=h==null?s.a:h,q=c==null?s.b:c,p=i==null?s.c:i,o=d==null?s.d:d,n=f==null?s.e:f,m=b==null?s.f:b,l=e==null?s.gdk(0):e,k=g==null?s.w:g +return new A.cB(r,q,p,o,n,m,l,k,a==null?s.x:a)}, +fp(a){var s=null +return this.qB(s,a,s,s,s,s,s,s,s)}, +cd(a){return this.qB(a.x,a.f,a.b,a.d,a.gdk(0),a.e,a.w,a.a,a.c)}, +a1(a,b){return this}, +gdk(a){var s=this.r +if(s==null)s=null +else s=A.M(s,0,1) +return s}, +k(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.r(s))return!1 +return b instanceof A.cB&&b.a==s.a&&b.b==s.b&&b.c==s.c&&b.d==s.d&&b.e==s.e&&J.e(b.f,s.f)&&b.gdk(0)==s.gdk(0)&&A.dn(b.w,s.w)&&b.x==s.x}, +gu(a){var s=this,r=s.gdk(0),q=s.w +q=q==null?null:A.bN(q) +return A.P(s.a,s.b,s.c,s.d,s.e,s.f,r,q,s.x,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}} +A.O4.prototype={} +A.wk.prototype={ +ag(){return new A.AN()}} +A.AN.prototype={ +ao(){var s=this +s.aL() +$.am.cb$.push(s) +s.z=new A.FA(s)}, +l(){var s,r=this +$.am.t2(r) +r.a6d() +s=r.at +if(s!=null)s.l() +s=r.z +s===$&&A.a() +s.a=null +r.Bd(null) +r.aC()}, +bh(){var s,r=this +r.a6K() +r.Lx() +s=r.c +s.toString +if(A.asj(s))r.a30() +else r.Mj(!0) +r.d_()}, +aH(a){var s=this +s.b4(a) +if(s.r)s.a.toString +if(!s.a.c.k(0,a.c))s.Lx()}, +a6K(){var s=this.c +s.toString +s=A.dL(s,B.S8) +s=s==null?null:s.Q +if(s==null){s=$.K3.wn$ +s===$&&A.a() +s=(s.a&2)!==0}this.w=s}, +Lx(){var s,r,q,p,o=this,n=o.z +n===$&&A.a() +s=o.a +r=s.c +q=o.c +q.toString +p=s.w +o.a7_(new A.yH(n,r,t.JE).a1(0,A.anx(q,p!=null?new A.K(s.r,p):null)))}, +a0f(a){var s=this,r=s.ax +if(r==null||a){s.as=s.Q=null +s.a.toString +r=s.ax=new A.hT(s.ga1p(),null,null)}r.toString +return r}, +uu(){return this.a0f(!1)}, +a1q(a,b){this.al(new A.afd(this,a,b))}, +Bd(a){var s=this.e +$.bC.p2$.push(new A.afe(s)) +this.e=a}, +a7_(a){var s,r,q=this,p=q.d +if(p==null)s=null +else{s=p.a +if(s==null)s=p}r=a.a +if(s===(r==null?a:r))return +if(q.r){p.toString +p.J(0,q.uu())}q.a.toString +q.al(new A.aff(q)) +q.al(new A.afg(q)) +q.d=a +if(q.r)a.a0(0,q.uu())}, +a30(){var s,r=this +if(r.r)return +s=r.d +s.toString +s.a0(0,r.uu()) +s=r.at +if(s!=null)s.l() +r.at=null +r.r=!0}, +Mj(a){var s,r,q=this +if(!q.r)return +s=!1 +if(a)if(q.at==null){s=q.d +s=(s==null?null:s.a)!=null}if(s){s=q.d.a +if(s.x)A.aa(A.R(u.V)) +r=new A.qc(s) +r.u7(s) +q.at=r}s=q.d +s.toString +s.J(0,q.uu()) +q.r=!1}, +a6d(){return this.Mj(!1)}, +K(a){var s,r,q,p,o,n,m,l,k=this,j=null +if(k.Q!=null)k.a.toString +s=k.e +r=s==null +q=r?j:s.a +p=r?j:s.c +o=k.a +n=o.r +m=o.w +s=r?j:s.b +if(s==null)s=1 +o=o.as +r=k.w +r===$&&A.a() +l=new A.IW(q,p,n,m,s,j,j,B.dc,j,o,B.a3,B.de,j,!1,r,!1,j) +l=A.d0(j,l,!1,j,!1,j,j,j,!0,"",j,j,j,j,j,j,j,j,j,j,j,j,j,j) +return l}} +A.afd.prototype={ +$0(){var s,r=this.a +r.Bd(this.b) +r.as=r.Q=r.f=null +s=r.x +r.x=s==null?0:s+1 +r.y=B.eB.yp(r.y,this.c)}, +$S:0} +A.afe.prototype={ +$1(a){var s=this.a +if(s!=null)s.a.l() +return null}, +$S:6} +A.aff.prototype={ +$0(){this.a.Bd(null)}, +$S:0} +A.afg.prototype={ +$0(){var s=this.a +s.x=s.f=null +s.y=!1}, +$S:0} +A.SU.prototype={} +A.Fh.prototype={ +ee(a){var s=A.Xd(this.a,this.b,a) +s.toString +return s}} +A.vv.prototype={ +ee(a){var s=A.Y8(this.a,this.b,a) +s.toString +return s}} +A.mM.prototype={ +ee(a){return A.pu(this.a,this.b,a)}} +A.oA.prototype={ +ee(a){var s=A.aV(this.a,this.b,a) +s.toString +return s}} +A.GM.prototype={} +A.qd.prototype={ +gln(){var s,r=this,q=r.d +if(q===$){s=A.dd(null,r.a.d,null,null,r) +r.d!==$&&A.a1() +r.d=s +q=s}return q}, +gfR(){var s,r=this,q=r.e +if(q===$){s=r.gln() +q=r.e=A.dI(r.a.c,s,null)}return q}, +ao(){var s,r=this +r.aL() +s=r.gln() +s.bl() +s=s.bJ$ +s.b=!0 +s.a.push(new A.a0x(r)) +r.Iz()}, +aH(a){var s,r=this +r.b4(a) +if(r.a.c!==a.c){r.gfR().l() +s=r.gln() +r.e=A.dI(r.a.c,s,null)}r.gln().e=r.a.d +if(r.Iz()){r.rd(new A.a0w(r)) +s=r.gln() +s.sm(0,0) +s.cp(0)}}, +l(){this.gfR().l() +this.gln().l() +this.Wp()}, +a71(a,b){if(a==null)return +a.sCp(a.a8(0,this.gfR().gm(0))) +a.snO(0,b)}, +Iz(){var s={} +s.a=!1 +this.rd(new A.a0v(s,this)) +return s.a}} +A.a0x.prototype={ +$1(a){if(a===B.T)this.a.a.toString}, +$S:7} +A.a0w.prototype={ +$3(a,b,c){this.a.a71(a,b) +return a}, +$S:159} +A.a0v.prototype={ +$3(a,b,c){var s +if(b!=null){if(a==null)a=c.$1(b) +s=a.b +if(!J.e(b,s==null?a.a:s))this.a.a=!0 +else if(a.b==null)a.snO(0,a.a)}else a=null +return a}, +$S:159} +A.pm.prototype={ +ao(){this.UJ() +var s=this.gln() +s.bl() +s=s.c9$ +s.b=!0 +s.a.push(this.ga0C())}, +a0D(){this.al(new A.UD())}} +A.UD.prototype={ +$0(){}, +$S:0} +A.u8.prototype={ +ag(){return new A.LG(null,null)}} +A.LG.prototype={ +rd(a){this.CW=t.Dh.a(a.$3(this.CW,this.a.w,new A.acg()))}, +K(a){var s=this.CW +s.toString +s=s.a8(0,this.gfR().gm(0)) +return A.n_(this.a.r,null,B.c7,!0,s,null,null,B.aE)}} +A.acg.prototype={ +$1(a){return new A.oA(t.em.a(a),null)}, +$S:392} +A.ua.prototype={ +ag(){return new A.LH(null,null)}} +A.LH.prototype={ +rd(a){var s=this,r=s.CW +s.a.toString +s.CW=t.eJ.a(a.$3(r,B.ag,new A.ach())) +s.cx=t.ir.a(a.$3(s.cx,s.a.z,new A.aci())) +r=t.YJ +s.cy=r.a(a.$3(s.cy,s.a.Q,new A.acj())) +s.db=r.a(a.$3(s.db,s.a.at,new A.ack()))}, +K(a){var s,r,q,p=this,o=p.a.x,n=p.CW +n.toString +n=n.a8(0,p.gfR().gm(0)) +s=p.cx +s.toString +s=s.a8(0,p.gfR().gm(0)) +r=p.a.Q +q=p.db +q.toString +q=q.a8(0,p.gfR().gm(0)) +q.toString +return new A.Iy(B.b7,o,n,s,r,q,p.a.r,null)}} +A.ach.prototype={ +$1(a){return new A.mM(t.m3.a(a),null)}, +$S:393} +A.aci.prototype={ +$1(a){return new A.aW(A.bA(a),null,t.H7)}, +$S:93} +A.acj.prototype={ +$1(a){return new A.is(t.n8.a(a),null)}, +$S:55} +A.ack.prototype={ +$1(a){return new A.is(t.n8.a(a),null)}, +$S:55} +A.t8.prototype={ +l(){var s=this,r=s.dQ$ +if(r!=null)r.J(0,s.gno()) +s.dQ$=null +s.aC()}, +bL(){this.e0() +this.de() +this.np()}} +A.h6.prototype={ +bf(a){return new A.wr(A.fx(null,null,null,t.W,t.X),this,B.a1,A.o(this).h("wr"))}} +A.wr.prototype={ +Sg(a,b){var s=this.a4,r=this.$ti,q=r.h("bd<1>?").a(s.i(0,a)),p=q==null +if(!p&&q.gM(q))return +if(b==null)s.n(0,a,A.cA(r.c)) +else{p=p?A.cA(r.c):q +p.D(0,r.c.a(b)) +s.n(0,a,p)}}, +QU(a,b){var s,r=this.$ti,q=r.h("bd<1>?").a(this.a4.i(0,b)) +if(q==null)return +if(!q.gM(q)){s=this.e +s.toString +s=r.h("h6<1>").a(s).FF(a,q) +r=s}else r=!0 +if(r)b.bh()}} +A.iC.prototype={ +bT(a){return a.f!==this.f}, +bf(a){var s=new A.t9(A.fx(null,null,null,t.W,t.X),this,B.a1,A.o(this).h("t9")) +this.f.a0(0,s.gAG()) +return s}} +A.t9.prototype={ +aZ(a,b){var s,r,q=this,p=q.e +p.toString +s=q.$ti.h("iC<1>").a(p).f +r=b.f +if(s!==r){p=q.gAG() +s.J(0,p) +r.a0(0,p)}q.Vb(0,b)}, +bs(){var s,r=this +if(r.dR){s=r.e +s.toString +r.GO(r.$ti.h("iC<1>").a(s)) +r.dR=!1}return r.Va()}, +a2v(){this.dR=!0 +this.md()}, +oj(a){this.GO(a) +this.dR=!1}, +mp(){var s=this,r=s.e +r.toString +s.$ti.h("iC<1>").a(r).f.J(0,s.gAG()) +s.yV()}} +A.cY.prototype={} +A.a0C.prototype={ +$1(a){var s,r,q +if(a===this.a)return!1 +if(a instanceof A.eZ){s=a.e +s.toString +s=s instanceof A.cY}else s=!1 +if(s){s=a.e +s.toString +t.og.a(s) +r=A.r(s) +q=this.b +if(!q.p(0,r)){q.D(0,r) +this.c.push(s)}}return!0}, +$S:33} +A.W5.prototype={} +A.Ma.prototype={ +K(a){var s,r,q,p=this.d +for(s=this.c,r=s.length,q=0;qs.b?B.Hl:B.Hk}, +vW(a,b,c,d){var s=this,r=b==null?s.gdE():b,q=a==null?s.r:a,p=d==null?s.w:d,o=c==null?s.f:c +return new A.x2(s.a,s.b,r,s.e,o,q,p,s.x,!1,s.z,s.Q,s.as,s.at,s.ax,s.ay,s.ch,s.CW,s.cx,!1)}, +a8Y(a,b){return this.vW(a,null,null,b)}, +Ou(a){return this.vW(null,a,null,null)}, +CJ(a){return this.vW(a,null,null,null)}, +a9_(a,b){return this.vW(null,null,a,b)}, +RF(a,b,c,d){var s,r,q,p,o,n,m=this,l=null +if(!(b||d||c||a))return m +s=m.r +r=b?0:l +q=d?0:l +p=c?0:l +r=s.lL(a?0:l,r,p,q) +q=m.w +p=b?Math.max(0,q.a-s.a):l +o=d?Math.max(0,q.b-s.b):l +n=c?Math.max(0,q.c-s.c):l +return m.a8Y(r,q.lL(a?Math.max(0,q.d-s.d):l,p,n,o))}, +ae7(a){var s=this,r=null,q=s.w,p=s.f,o=Math.max(0,q.d-p.d) +q=q.lL(o,r,r,r) +return s.a9_(p.lL(0,r,r,r),q)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.x2)if(b.a.k(0,r.a))if(b.b===r.b)if(b.gdE().a===r.gdE().a)if(b.e===r.e)if(b.r.k(0,r.r))if(b.w.k(0,r.w))if(b.f.k(0,r.f))if(b.x.k(0,r.x))if(b.as===r.as)if(b.at===r.at)if(b.ax===r.ax)if(b.Q===r.Q)if(b.z===r.z)if(b.ay===r.ay)if(b.ch===r.ch)if(b.CW.k(0,r.CW))s=A.dn(b.cx,r.cx) +return s}, +gu(a){var s=this +return A.P(s.a,s.b,s.gdE().a,s.e,s.r,s.w,s.f,!1,s.as,s.at,s.ax,s.Q,s.z,s.ay,s.ch,s.CW,A.bN(s.cx),!1,B.a,B.a)}, +j(a){var s=this +return"MediaQueryData("+B.b.bw(A.b(["size: "+s.a.j(0),"devicePixelRatio: "+B.c.R(s.b,1),"textScaler: "+s.gdE().j(0),"platformBrightness: "+s.e.j(0),"padding: "+s.r.j(0),"viewPadding: "+s.w.j(0),"viewInsets: "+s.f.j(0),"systemGestureInsets: "+s.x.j(0),"alwaysUse24HourFormat: false","accessibleNavigation: "+s.z,"highContrast: "+s.as,"onOffSwitchLabels: "+s.at,"disableAnimations: "+s.ax,"invertColors: "+s.Q,"boldText: "+s.ay,"navigationMode: "+s.ch.b,"gestureSettings: "+s.CW.j(0),"displayFeatures: "+A.h(s.cx),"supportsShowingSystemContextMenu: false"],t.s),", ")+")"}} +A.iI.prototype={ +bT(a){return!this.w.k(0,a.w)}, +FF(a,b){return b.jd(0,new A.a4d(this,a))}} +A.a4e.prototype={ +$1(a){var s=A.bM(a,null,t.w).w,r=s.gdE(),q=r.a,p=A.M(q,this.a,this.b) +return A.x1(this.c,s.Ou(p===q?r:new A.id(p)))}, +$S:398} +A.a4d.prototype={ +$1(a){var s=this,r=!1 +if(a instanceof A.dT)switch(a.a){case 0:r=!s.a.w.a.k(0,s.b.w.a) +break +case 1:r=s.a.w.goo(0)!==s.b.w.goo(0) +break +case 2:r=s.a.w.b!==s.b.w.b +break +case 3:r=s.a.w.gdE().a!==s.b.w.gdE().a +break +case 4:r=!s.a.w.gdE().k(0,s.b.w.gdE()) +break +case 5:r=s.a.w.e!==s.b.w.e +break +case 6:r=!s.a.w.r.k(0,s.b.w.r) +break +case 7:r=!s.a.w.f.k(0,s.b.w.f) +break +case 9:r=!s.a.w.w.k(0,s.b.w.w) +break +case 12:r=s.a.w.Q!==s.b.w.Q +break +case 13:r=s.a.w.as!==s.b.w.as +break +case 14:r=s.a.w.at!==s.b.w.at +break +case 15:r=s.a.w.ax!==s.b.w.ax +break +case 16:r=s.a.w.ay!==s.b.w.ay +break +case 17:r=s.a.w.ch!==s.b.w.ch +break +case 18:r=!s.a.w.CW.k(0,s.b.w.CW) +break +case 19:r=s.a.w.cx!==s.b.w.cx +break +case 8:r=!s.a.w.x.k(0,s.b.w.x) +break +case 11:r=s.a.w.z!==s.b.w.z +break +case 10:break +case 20:break +default:r=null}return r}, +$S:399} +A.HM.prototype={ +F(){return"NavigationMode."+this.b}} +A.B5.prototype={ +ag(){return new A.OA()}} +A.OA.prototype={ +ao(){this.aL() +$.am.cb$.push(this)}, +bh(){this.d_() +this.a6N() +this.q_()}, +aH(a){var s,r=this +r.b4(a) +s=r.a +s.toString +if(r.e==null||a.c!==s.c)r.q_()}, +a6N(){var s,r=this +r.a.toString +s=r.c +s.toString +s=A.dL(s,null) +r.d=s +r.e=null}, +q_(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this,d=null,c=e.a.c,b=e.d,a=c.gjF(),a0=$.bq(),a1=a0.d +if(a1==null){a1=self.window.devicePixelRatio +if(a1===0)a1=1}a1=a.dr(0,a1) +a=a0.d +if(a==null){a=self.window.devicePixelRatio +if(a===0)a=1}s=b==null +r=s?d:b.gdE().a +if(r==null)r=c.b.c.e +q=r===1?B.ao:new A.id(r) +p=s?d:b.e +if(p==null)p=c.b.c.d +o=a0.d +if(o==null){o=self.window.devicePixelRatio +if(o===0)o=1}o=A.Y7(B.cL,o) +n=a0.d +if(n==null){n=self.window.devicePixelRatio +if(n===0)n=1}n=A.Y7(B.cL,n) +m=c.ay +l=a0.d +if(l==null){l=self.window.devicePixelRatio +if(l===0)l=1}l=A.Y7(m,l) +a0=a0.d +if(a0==null){a0=self.window.devicePixelRatio +if(a0===0)a0=1}a0=A.Y7(B.cL,a0) +m=s?d:b.z +if(m==null)m=(c.b.c.a.a&1)!==0 +k=s?d:b.Q +if(k==null)k=(c.b.c.a.a&2)!==0 +j=s?d:b.ax +if(j==null)j=(c.b.c.a.a&4)!==0 +i=s?d:b.ay +if(i==null)i=(c.b.c.a.a&8)!==0 +h=s?d:b.as +if(h==null)h=(c.b.c.a.a&32)!==0 +g=s?d:b.at +c=g==null?(c.b.c.a.a&64)!==0:g +g=s&&d +b=s?d:b.ch +if(b==null)b=B.iF +s=s&&d +f=new A.x2(a1,a,q,p,l,o,n,a0,g===!0,m,k,h,c,j,i,b,new A.ve(d),B.Ew,s===!0) +if(!f.k(0,e.e))e.al(new A.ag_(e,f))}, +OU(){this.q_()}, +OW(){if(this.d==null)this.q_()}, +OV(){if(this.d==null)this.q_()}, +l(){$.am.t2(this) +this.aC()}, +K(a){var s=this.e +s.toString +return A.x1(this.a.e,s)}} +A.ag_.prototype={ +$0(){this.a.e=this.b}, +$S:0} +A.SX.prototype={} +A.Hz.prototype={ +K(a){var s,r,q,p,o,n,m,l,k,j=this,i=null +switch(A.eF().a){case 1:case 3:case 5:s=!1 +break +case 0:case 2:case 4:s=!0 +break +default:s=i}r=j.d&&s +q=new A.a4E(j,a) +p=r&&j.r!=null?q:i +o=r&&j.r!=null?q:i +n=r?j.r:i +if(r&&j.r!=null){m=a.aa(t.I) +m.toString +m=m.w}else m=i +l=j.c +k=A.d0(i,A.a4K(new A.h_(B.h3,l==null?i:new A.uT(l,i,i),i),B.c6,i,i,i),!1,i,!1,i,i,i,i,n,i,i,o,i,i,p,j.x,i,i,i,i,m,i,i) +return A.az2(new A.vJ(!r,new A.OK(k,q,i),i))}} +A.a4E.prototype={ +$0(){if(this.a.d)A.ar1(this.b) +else A.zr(B.Lz)}, +$S:0} +A.rL.prototype={ +eX(a){if(this.a4==null)return!1 +return this.p_(a)}, +PZ(a){}, +Q_(a,b){var s=this.a4 +if(s!=null)this.dT("onAnyTapUp",s)}, +wF(a,b,c){}} +A.LN.prototype={ +CC(){var s=t.S +return new A.rL(B.aW,18,B.bO,A.E(s,t.Y),A.cA(s),null,null,A.aku(),A.E(s,t.Au))}, +Qf(a){a.a4=this.a}} +A.OK.prototype={ +K(a){return new A.lG(this.c,A.as([B.QV,new A.LN(this.d)],t.u,t.xR),B.ae,!1,null)}} +A.HN.prototype={ +K(a){var s,r,q=this,p=a.aa(t.I) +p.toString +s=A.b([],t.E) +r=q.c +if(r!=null)s.push(A.a1n(r,B.fU)) +r=q.d +if(r!=null)s.push(A.a1n(r,B.fV)) +r=q.e +if(r!=null)s.push(A.a1n(r,B.fW)) +return new A.v4(new A.aii(q.f,q.r,p.w),s,null)}} +A.Cy.prototype={ +F(){return"_ToolbarSlot."+this.b}} +A.aii.prototype={ +xx(a){var s,r,q,p,o,n,m,l,k,j,i,h=this +if(h.b.i(0,B.fU)!=null){s=a.a +r=a.b +q=h.d8(B.fU,new A.aq(0,s,r,r)).a +switch(h.f.a){case 0:s-=q +break +case 1:s=0 +break +default:s=null}h.eF(B.fU,new A.n(s,0))}else q=0 +if(h.b.i(0,B.fW)!=null){p=h.d8(B.fW,A.Vb(a)) +switch(h.f.a){case 0:s=0 +break +case 1:s=a.a-p.a +break +default:s=null}o=p.a +h.eF(B.fW,new A.n(s,(a.b-p.b)/2))}else o=0 +if(h.b.i(0,B.fV)!=null){s=a.a +r=h.e +n=Math.max(s-q-o-r*2,0) +m=h.d8(B.fV,A.Vb(a).a8P(n)) +l=q+r +if(h.d){k=m.a +j=(s-k)/2 +i=s-o +if(j+k>i)j=i-k-r +else if(j")),s=s.c;q.t();){r=q.d +if(r==null)r=s.a(r) +if(r.a===this)return!1 +r=r.d.a +if(r<=10&&r>=1)return!0}return!1}, +gQn(){var s=this.a +if(s==null)s=null +else{s=s.Jb(A.at8(this)) +s=s==null?null:s.gQs()}return s===!0}} +A.a83.prototype={ +$1(a){var s,r=this.a.a +if(r==null)s=null +else{r.a.toString +s=!0}if(s===!0){r=r.y.gey() +if(r!=null)r.ox()}}, +$S:18} +A.a82.prototype={ +$1(a){var s=this.a.a +if(s!=null){s=s.y.gey() +if(s!=null)s.ox()}}, +$S:18} +A.i2.prototype={ +j(a){var s=this.a +s=s==null?"none":'"'+s+'"' +return"RouteSettings("+s+", "+A.h(this.b)+")"}} +A.nR.prototype={} +A.no.prototype={ +bT(a){return a.f!=this.f}} +A.a81.prototype={} +A.L4.prototype={} +A.Fo.prototype={} +A.xi.prototype={ +ag(){var s=null,r=A.b([],t.uD),q=$.aN(),p=t.Tp +return new A.iJ(new A.NT(r,q),A.aA(t.Ez),new A.NV(q),A.lr(s,p),A.lr(s,p),A.alC(!0,"Navigator",!0,!0,s,s,!1),new A.yt(0,q,t.dZ),new A.ez(!1,q),A.aA(t.S),s,A.E(t.yb,t.M),s,!0,s,s,s)}, +adc(a,b){return this.as.$2(a,b)}} +A.a5h.prototype={ +$1(a){return a==null}, +$S:400} +A.e2.prototype={ +F(){return"_RouteLifecycle."+this.b}} +A.QM.prototype={} +A.fU.prototype={ +gda(){var s,r +if(this.c){s=t.sd.a(this.a.b) +s.gda() +r=A.h(s.gda()) +return"p+"+r}r=this.b +if(r!=null)return"r+"+r.gRT() +return null}, +aaY(a,b,c,d){var s,r,q,p=this,o=p.d,n=p.a +n.a=b +n.m8() +s=p.d +if(s===B.xC||s===B.jM){s=n.p1 +r=s.gbu()!=null +if(r)n.a.a.toString +if(r){r=n.a.y.gey() +if(r!=null)r.yz(s.gbu().f)}q=n.Wa() +p.d=B.xD +q.So(new A.ahi(p,b))}else{if(c instanceof A.fD){s=n.ay +s.toString +r=c.ay.x +r===$&&A.a() +s.sm(0,r)}n.VK(c) +p.d=B.e8}if(a){n.z3(null) +n.ii()}s=o===B.SE||o===B.jM +r=b.w +if(s)r.dJ(0,new A.Bf(n,d)) +else r.dJ(0,new A.th(n,d))}, +DI(a){var s=this +s.a.qM(a) +s.f=new A.p1(new ($.Ub())(a)) +if(s.w!=null)a.e.a.aT(0,new A.ahh(s),t.P)}, +aaX(a,b){var s,r=this +r.d=B.SA +s=r.a +if((s.d.a.a&30)!==0)return!0 +if(!s.lU(r.x)){r.d=B.e8 +return!1}s.rP(!0,r.x) +if(r.c){t.sd.a(s.b) +a.a.toString}r.x=null +return!0}, +a8t(a,b,c){var s=this +if(s.d.a>=10)return +s.y=!c +s.x=b +s.d=B.SG}, +a8u(a,b,c){return this.a8t(0,b,c,t.z)}, +l(){var s,r,q,p,o,n,m,l=this,k={} +l.d=B.SC +s=l.a +r=s.f +q=new A.ahf() +p=new A.aF(r,q,A.Z(r).h("aF<1>")) +if(!p.gX(0).t()){l.d=B.fL +s.l() +return}k.a=p.gq(0) +o=s.a +o.f.D(0,l) +for(s=B.b.gX(r),q=new A.ki(s,q);q.t();){r=s.gG(0) +n=A.bj("listener") +m=new A.ahg(k,l,r,n,o) +n.b=m +r=r.e +if(r!=null)r.a0(0,m)}}, +gaf4(){var s=this.d.a +return s<=7&&s>=1}, +gQs(){var s=this.d.a +return s<=10&&s>=1}} +A.ahi.prototype={ +$0(){var s=this.a +if(s.d===B.xD){s.d=B.e8 +this.b.uq()}}, +$S:0} +A.ahh.prototype={ +$1(a){var s=0,r=A.C(t.P),q=this,p,o +var $async$$1=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:p=A.eF() +s=B.au===p?3:4 +break +case 3:o=q.a.w +s=5 +return A.y(A.q4(B.bd,null,t.H),$async$$1) +case 5:B.cT.lb(0,B.li.xY(o)) +s=2 +break +case 4:if(B.av===p){B.cT.lb(0,B.li.xY(q.a.w)) +s=2 +break}s=2 +break +case 2:return A.A(null,r)}}) +return A.B($async$$1,r)}, +$S:401} +A.ahf.prototype={ +$1(a){return a.gQS()}, +$S:402} +A.ahg.prototype={ +$0(){var s=this,r=s.a;--r.a +s.c.J(0,s.d.aP()) +if(r.a===0)return A.e3(new A.ahe(s.b,s.e))}, +$S:0} +A.ahe.prototype={ +$0(){var s=this.a +if(!this.b.f.A(0,s))return +s.d=B.fL +s.a.l()}, +$S:0} +A.ahj.prototype={ +$1(a){return a.a===this.a}, +$S:47} +A.mi.prototype={} +A.th.prototype={ +me(a){a.uS(this.b,this.a,B.bP,!1)}} +A.tg.prototype={ +me(a){var s=$.ik() +A.pX(a) +if(!s.a.get(a).cx.a)a.uS(this.a,this.b,B.bQ,!1)}} +A.Be.prototype={ +me(a){}} +A.Bf.prototype={ +me(a){var s=this.a,r=s.gjw() +if(r)a.uS(this.b,s,B.bP,!1)}} +A.NT.prototype={ +L(a,b){B.b.L(this.a,b) +if(J.jk(b))this.ap()}, +i(a,b){return this.a[b]}, +gX(a){var s=this.a +return new J.c2(s,s.length,A.Z(s).h("c2<1>"))}, +j(a){return A.lj(this.a,"[","]")}, +$iae:1} +A.iJ.prototype={ +a1o(){var s,r,q=this,p=q.O7(),o=A.bj("routeBlocksPop"),n=!p +if(n){s=q.pE(A.ij()) +o.sco(s!=null&&s.a.gkW()===B.cG)}else o.sco(!1) +r=new A.lv(!n||o.aP()) +n=$.bC +switch(n.R8$.a){case 4:q.c.cz(r) +break +case 0:case 2:case 3:case 1:n.p2$.push(new A.a5e(q,r)) +break}}, +ao(){var s,r,q,p,o=this +o.aL() +for(s=o.a.y,r=0;!1;++r){q=s[r] +p=$.ik() +A.pW(q) +p.a.set(q,o)}o.as=o.a.y +s=o.c.jO(t.mS) +if(s==null)s=null +else{s=s.e +s.toString}t._I.a(s) +o.BH(s==null?null:s.f) +o.a.toString +B.iH.wQ("selectSingleEntryHistory",t.H) +$.eb.wl$.a0(0,o.gLc()) +o.e.a0(0,o.gK_())}, +a4O(){var s=this.e,r=A.jI(new A.aF(s,A.ij(),A.o(s).h("aF"))) +if(r!=null)r.w=$.eb.wl$.a}, +jH(a,b){var s,r,q,p,o,n,m,l=this +l.or(l.at,"id") +s=l.r +l.or(s,"history") +l.Jj() +l.d=new A.bz(null,t.ku) +r=l.e +r.L(0,s.RU(null,l)) +l.a.toString +q=r.a +p=0 +for(;!1;++p){o=B.Eu[p] +n=l.c +n.toString +m=new A.fU(o.CO(n),null,!0,B.jK,B.ba,new A.p1(new ($.Ub())(B.ba)),B.ba) +q.push(m) +r.ap() +n=s.RU(m,l) +B.b.L(q,n) +if(B.b.gb9(n))r.ap()}if(s.y==null){s=l.a +q=s.r +r.L(0,J.kK(s.adc(l,q),new A.a5g(l),t.Ez))}l.uq()}, +Dc(a){var s,r=this +r.VC(a) +s=r.r +if(r.bB$!=null)s.aZ(0,r.e) +else s.I(0)}, +gda(){return this.a.z}, +bh(){var s,r,q,p,o,n=this +n.Wu() +s=n.c.aa(t.mS) +n.BH(s==null?null:s.f) +for(r=n.e.a,q=A.Z(r),r=new J.c2(r,r.length,q.h("c2<1>")),q=q.c;r.t();){p=r.d +p=(p==null?q.a(p):p).a +p.Hk() +o=p.p4 +o===$&&A.a() +o=o.r.gbu() +if(o!=null)o.uK() +p=p.p1 +if(p.gbu()!=null)p.gbu().Ji()}}, +Jj(){var s,r,q +this.f.A5(new A.a5d(),!0) +for(s=this.e,r=s.a;!s.gM(0);){q=r.pop() +s.ap() +A.ar0(q,!1)}}, +BH(a){var s,r,q=this +if(q.Q!=a){if(a!=null)$.ik().n(0,a,q) +s=q.Q +if(s==null)s=null +else{r=$.ik() +A.pX(s) +s=r.a.get(s)}if(s===q){s=$.ik() +r=q.Q +r.toString +s.n(0,r,null)}q.Q=a +q.MZ()}}, +MZ(){var s=this,r=s.Q,q=s.a +if(r!=null)s.as=B.b.a6(q.y,A.b([r],t.tc)) +else s.as=q.y}, +aH(a){var s,r,q,p,o,n,m=this +m.Wv(a) +s=a.y +if(s!==m.a.y){for(r=0;!1;++r){q=s[r] +p=$.ik() +A.pW(q) +p.a.set(q,null)}for(s=m.a.y,r=0;!1;++r){q=s[r] +p=$.ik() +A.pW(q) +p.a.set(q,m)}m.MZ()}m.a.toString +for(s=m.e.a,p=A.Z(s),s=new J.c2(s,s.length,p.h("c2<1>")),p=p.c;s.t();){o=s.d +o=(o==null?p.a(o):o).a +o.Hk() +n=o.p4 +n===$&&A.a() +n=n.r.gbu() +if(n!=null)n.uK() +o=o.p1 +if(o.gbu()!=null)o.gbu().Ji()}}, +cN(){var s,r,q,p,o=this.as +o===$&&A.a() +s=o.length +r=0 +for(;r")),r=r.c;s.t();){q=s.d +B.b.L(p,(q==null?r.a(q):q).a.f)}return p}, +Aa(b1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9=this,b0=null +a9.ch=!0 +s=a9.e +r=s.gq(0)-1 +q=s.a +p=q[r] +o=r>0?q[r-1]:b0 +n=A.b([],t.uD) +$label0$1:for(m=a9.x,l=a9.w,k=t.A,j=t.Q,i=t.c,h=t.wi,g=b0,f=g,e=!1,d=!1;r>=0;){c=!0 +b=!0 +switch(p.d.a){case 1:a=a9.k5(r-1,A.ij()) +a0=a>=0?q[a]:b0 +a0=a0==null?b0:a0.a +a1=p.a +a1.a=a9 +a1.Hp() +a2=A.dR.prototype.gbI.call(a1,0) +a3=new A.o7(new A.bg(A.b([],k),j),new A.bg(A.b([],i),h),0) +a3.c=a2 +if(a2==null){a3.a=B.F +a3.b=0}a1.k2=a3 +a2=A.dR.prototype.gyt.call(a1) +a3=new A.o7(new A.bg(A.b([],k),j),new A.bg(A.b([],i),h),0) +a3.c=a2 +a1.k3=a3 +p.d=B.SD +l.dJ(0,new A.th(a1,a0)) +continue $label0$1 +case 2:if(e||f==null){a0=p.a +a1=a0.p1 +a2=a1.gbu()!=null +if(a2)a0.a.a.toString +if(a2){a2=a0.a.y +a4=a2.ay +if(a4==null){a3=a2.Q +a4=a2.ay=a3==null?b0:a3.gfD()}if(a4!=null){a1=a1.gbu().f +if(a1.Q==null)a4.v6(a1) +if(a4.git())a1.i5(!0) +else a1.lz()}}a0.W8() +p.d=B.e8 +if(f==null){a0.z3(b0) +a0.ii()}continue $label0$1}break +case 3:case 4:case 6:a0=o==null?b0:o.a +a=a9.k5(r-1,A.ij()) +a1=a>=0?q[a]:b0 +a1=a1==null?b0:a1.a +p.aaY(f==null,a9,a0,a1) +if(p.d===B.e8)continue $label0$1 +break +case 5:if(!d&&g!=null)p.DI(g) +d=b +break +case 7:if(!d&&g!=null)p.DI(g) +d=b +e=c +break +case 8:a=a9.k5(r,A.Do()) +a0=a>=0?q[a]:b0 +if(!p.aaX(a9,a0==null?b0:a0.a))continue $label0$1 +if(!d){if(g!=null)p.DI(g) +g=p.a}a0=p.a +a=a9.k5(r,A.Do()) +a1=a>=0?q[a]:b0 +m.dJ(0,new A.tg(a0,a1==null?b0:a1.a)) +if(p.d===B.jL)continue $label0$1 +e=c +break +case 11:break +case 9:a0=p.a +a1=p.x +if(a1==null)a1=b0 +a0=a0.d.a +if((a0.a&30)!==0)A.aa(A.R("Future already completed")) +a0.k_(a1) +p.x=null +p.d=B.Sz +continue $label0$1 +case 10:if(!d){if(g!=null){a0=p.a +a0.Ho(g) +a0.ii() +a0.KG()}g=b0}a=a9.k5(r,A.Do()) +a0=a>=0?q[a]:b0 +a0=a0==null?b0:a0.a +p.d=B.SB +if(p.y)m.dJ(0,new A.Be(p.a,a0)) +continue $label0$1 +case 12:if(!e&&f!=null)break +if(p.c)a9.a.toString +p.d=B.jL +continue $label0$1 +case 13:p=B.b.f3(q,r) +s.ap() +n.push(p) +p=f +break +case 14:case 15:case 0:break}--r +a5=r>0?q[r-1]:b0 +f=p +p=o +o=a5}a9.a_Q() +a9.a_S() +a9.a.toString +a6=a9.pE(A.ij()) +a7=a6==null?b0:a6.a.b.a +if(a7!=null&&a7!==a9.ax){A.aEe(!1,b0,A.j0(a7,0,b0)) +a9.ax=a7}for(q=n.length,a8=0;a8=0;){s=l[k] +r=s.d.a +if(!(r<=12&&r>=3)){--k +continue}q=this.a0s(k+1,A.av9()) +r=q==null +p=r?m:q.a +if(p!=s.r){if(!((r?m:q.a)==null&&J.e(s.f.a.deref(),s.r))){p=s.a +p.z3(r?m:q.a) +p.ii()}s.r=r?m:q.a}--k +o=this.k5(k,A.av9()) +n=o>=0?l[o]:m +r=n==null +p=r?m:n.a +if(p!=s.e){p=s.a +p.VG(r?m:n.a) +p.ii() +s.e=r?m:n.a}}}, +JC(a,b){a=this.k5(a,b) +return a>=0?this.e.a[a]:null}, +k5(a,b){var s=this.e.a +while(!0){if(!(a>=0&&!b.$1(s[a])))break;--a}return a}, +a0s(a,b){var s=this.e,r=s.a +while(!0){if(!(a?") +q=r.a(this.a.w.$1(s)) +return q==null&&!b?r.a(this.a.x.$1(s)):q}, +Bl(a,b,c){return this.v9(a,!1,b,c)}, +adC(a){var s=this.e +s.a.push(A.an3(a,B.xC,!1,null)) +s.ap() +this.uq() +this.zn() +return a.d.a}, +mi(a){return this.adC(a,t.X)}, +O7(){var s=this.e.gX(0),r=new A.ki(s,A.ij()) +if(!r.t())return!1 +s=s.gG(0).a.jl$ +if(s!=null&&s.length!==0)return!0 +if(!r.t())return!1 +return!0}, +rH(a){var s=0,r=A.C(t.y),q,p=this,o,n +var $async$rH=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)$async$outer:switch(s){case 0:n=p.pE(A.ij()) +if(n==null){q=!1 +s=1 +break}o=n.a +s=3 +return A.y(o.ho(),$async$rH) +case 3:if(c===B.cG){q=!0 +s=1 +break}if(p.c==null){q=!0 +s=1 +break}if(n!==p.pE(A.ij())){q=!0 +s=1 +break}switch(o.gkW().a){case 2:q=!1 +s=1 +break $async$outer +case 0:p.F5(a) +q=!0 +s=1 +break $async$outer +case 1:o.rP(!1,a) +q=!0 +s=1 +break $async$outer}case 1:return A.A(q,r)}}) +return A.B($async$rH,r)}, +acW(a){return this.rH(a,t.X)}, +QO(){return this.rH(null,t.X)}, +R7(a){var s=this,r=s.e.QC(0,A.ij()) +if(r.c)s.a.toString +r.x=a +r.d=B.SF +s.Aa(!1) +s.zn()}, +fG(){return this.R7(null,t.X)}, +F5(a){return this.R7(a,t.X)}, +Px(a){var s,r=this,q=r.e.a,p=B.b.abJ(q,A.at8(a),0) +q=q[p] +if(q.c&&q.d.a<8){s=r.JC(p-1,A.Do()) +s=s==null?null:s.a +r.x.dJ(0,new A.tg(a,s))}q.d=B.jL +if(!r.ch)r.Aa(!1)}, +sNl(a){this.CW=a +this.cx.sm(0,a>0)}, +a9v(){var s,r,q,p,o,n,m=this +m.sNl(m.CW+1) +if(m.CW===1){s=m.e +r=m.k5(s.gq(0)-1,A.Do()) +q=s.a[r].a +s=q.jl$ +p=!(s!=null&&s.length!==0)&&r>0?m.JC(r-1,A.Do()).a:null +s=m.as +s===$&&A.a() +o=s.length +n=0 +for(;n")),r=r.c;s.t();){q=s.d +if(q==null)q=r.a(q) +if(a.$1(q))return q}return null}, +pE(a){var s,r,q,p,o +for(s=this.e.a,r=A.Z(s),s=new J.c2(s,s.length,r.h("c2<1>")),r=r.c,q=null;s.t();){p=s.d +o=p==null?r.a(p):p +if(a.$1(o))q=o}return q}, +K(a){var s,r,q=this,p=null,o=q.ga1Q(),n=A.q_(a),m=q.bB$,l=q.d +l===$&&A.a() +s=q.a.ax +if(l.gbu()==null){r=q.gHM() +r=J.lk(r.slice(0),A.Z(r).c)}else r=B.Ev +return new A.no(p,new A.cI(new A.a5f(q,a),A.wM(B.br,new A.DQ(!1,A.alD(A.w_(!0,p,A.abH(m,new A.qw(r,s,l)),p,p,p,q.y,!1,p,p,p,p,p,!0),n),p),o,q.ga3u(),p,p,o),p,t.w3),p)}} +A.a5e.prototype={ +$1(a){var s=this.a.c +if(s==null)return +s.cz(this.b)}, +$S:6} +A.a5g.prototype={ +$1(a){var s,r,q=a.b.a +if(q!=null){s=this.a.at +r=s.y +if(r==null)r=s.$ti.h("bI.T").a(r) +s.VB(0,r+1) +q=new A.OQ(r,q,null,B.jN)}else q=null +return A.an3(a,B.jK,!1,q)}, +$S:405} +A.a5d.prototype={ +$1(a){a.d=B.fL +a.a.l() +return!0}, +$S:47} +A.a5c.prototype={ +$0(){var s=this.a +if(s!=null)s.sNv(!0)}, +$S:0} +A.a5f.prototype={ +$1(a){if(a.a||!this.a.O7())return!1 +this.b.cz(B.GO) +return!0}, +$S:120} +A.BT.prototype={ +F(){return"_RouteRestorationType."+this.b}} +A.QE.prototype={ +gQu(){return!0}, +vT(){return A.b([this.a.a],t.jl)}} +A.OQ.prototype={ +vT(){var s=this,r=s.WO(),q=A.b([s.c,s.d],t.jl),p=s.e +if(p!=null)q.push(p) +B.b.L(r,q) +return r}, +CO(a){var s=a.Bl(this.d,this.e,t.z) +s.toString +return s}, +gRT(){return this.c}} +A.acn.prototype={ +gQu(){return!1}, +vT(){A.aCB(this.d)}, +CO(a){var s=a.c +s.toString +return this.d.$2(s,this.e)}, +gRT(){return this.c}} +A.NV.prototype={ +aZ(a0,a1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c=this,b=null,a=c.y==null +if(a)c.y=A.E(t.N,t.UX) +s=t.jl +r=A.b([],s) +q=c.y +q.toString +p=J.ah(q,null) +if(p==null)p=B.eQ +o=A.E(t.ob,t.UX) +q=c.y +q.toString +n=J.ayO(J.akT(q)) +for(q=a1.a,m=A.Z(q),q=new J.c2(q,q.length,m.h("c2<1>")),m=m.c,l=b,k=a,j=!0;q.t();){i=q.d +h=i==null?m.a(i):i +if(h.d.a>7){i=h.a +i.c.sm(0,b) +continue}if(h.c){k=k||r.length!==J.cc(p) +if(r.length!==0){g=l==null?b:l.gda() +o.n(0,g,r) +n.A(0,g)}j=h.gda()!=null +i=h.a +f=j?h.gda():b +i.c.sm(0,f) +if(j){r=A.b([],s) +i=c.y +i.toString +p=J.ah(i,h.gda()) +if(p==null)p=B.eQ}else{r=B.eQ +p=B.eQ}l=h +continue}if(j){i=h.b +i=i==null?b:i.gQu() +j=i===!0}else j=!1 +i=h.a +f=j?h.gda():b +i.c.sm(0,f) +if(j){i=h.b +f=i.b +i=f==null?i.b=i.vT():f +if(!k){f=J.ax(p) +e=f.gq(p) +d=r.length +k=e<=d||!J.e(f.i(p,d),i)}else k=!0 +B.b.D(r,i)}}k=k||r.length!==J.cc(p) +c.a_E(r,l,o,n) +if(k||n.gb9(n)){c.y=o +c.ap()}}, +a_E(a,b,c,d){var s +if(a.length!==0){s=b==null?null:b.gda() +c.n(0,s,a) +d.A(0,s)}}, +I(a){if(this.y==null)return +this.y=null +this.ap()}, +RU(a,b){var s,r,q,p=A.b([],t.uD) +if(this.y!=null)s=a!=null&&a.gda()==null +else s=!0 +if(s)return p +s=this.y +s.toString +r=J.ah(s,a==null?null:a.gda()) +if(r==null)return p +for(s=J.ak(r);s.t();){q=A.aFw(s.gG(s)) +p.push(new A.fU(q.CO(b),q,!1,B.jK,B.ba,new A.p1(new ($.Ub())(B.ba)),B.ba))}return p}, +w_(){return null}, +o3(a){a.toString +return J.ayA(t.f.a(a),new A.af3(),t.ob,t.UX)}, +Qe(a){this.y=a}, +oE(){return this.y}, +gnN(a){return this.y!=null}} +A.af3.prototype={ +$2(a,b){return new A.bo(A.cL(a),A.hV(t.j.a(b),!0,t.K),t.qE)}, +$S:406} +A.lv.prototype={ +j(a){return"NavigationNotification canHandlePop: "+this.a}} +A.ag7.prototype={ +$2(a,b){if(!a.a)a.J(0,b)}, +$S:44} +A.Bg.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.Bh.prototype={ +aH(a){this.b4(a) +this.qQ()}, +bh(){var s,r,q,p,o=this +o.d_() +s=o.bB$ +r=o.goz() +q=o.c +q.toString +q=A.qR(q) +o.h8$=q +p=o.nm(q,r) +if(r){o.jH(s,o.ez$) +o.ez$=!1}if(p)if(s!=null)s.l()}, +l(){var s,r=this +r.h7$.V(0,new A.ag7()) +s=r.bB$ +if(s!=null)s.l() +r.bB$=null +r.Wt()}} +A.SS.prototype={} +A.HP.prototype={ +j(a){var s=A.b([],t.s) +this.cw(s) +return"Notification("+B.b.bw(s,", ")+")"}, +cw(a){}} +A.cI.prototype={ +bf(a){return new A.Bi(this,B.a1,this.$ti.h("Bi<1>"))}} +A.Bi.prototype={ +QZ(a){var s,r=this.e +r.toString +s=this.$ti +s.h("cI<1>").a(r) +if(s.c.b(a))return r.d.$1(a) +return!1}, +oj(a){}} +A.h9.prototype={} +A.T0.prototype={} +A.jS.prototype={ +skT(a){var s +if(this.b===a)return +this.b=a +s=this.f +if(s!=null)s.IN()}, +srD(a){if(this.c)return +this.c=!0 +this.f.IN()}, +gQS(){var s=this.e +return(s==null?null:s.a)!=null}, +a0(a,b){var s=this.e +if(s!=null)s.a0(0,b)}, +J(a,b){var s=this.e +if(s!=null)s.J(0,b)}, +hY(a){var s,r=this.f +r.toString +this.f=null +if(r.c==null)return +B.b.A(r.d,this) +s=$.bC +if(s.R8$===B.iW)s.p2$.push(new A.a5w(r)) +else r.KC()}, +md(){var s=this.r.gbu() +if(s!=null)s.uK()}, +l(){var s,r=this +r.w=!0 +if(!r.gQS()){s=r.e +if(s!=null){s.O$=$.aN() +s.S$=0}r.e=null}}, +j(a){var s=this,r=A.b9(s),q=s.b,p=s.c,o=s.w?"(DISPOSED)":"" +return"#"+r+"(opaque: "+q+"; maintainState: "+p+")"+o}, +$iae:1} +A.a5w.prototype={ +$1(a){this.a.KC()}, +$S:6} +A.kr.prototype={ +ag(){return new A.Bj()}} +A.Bj.prototype={ +a44(a,b){var s,r,q,p=this.e +if(p==null)p=this.e=new A.nC(t.oM) +s=p.b===0?null:p.gP(0) +r=b.a +while(!0){q=s==null +if(!(!q&&s.a>r))break +s=s.gRc()}if(q){p.AM(p.c,b,!0) +p.c=b}else s.h9$.AM(s.ha$,b,!1)}, +gB7(){var s,r=this,q=r.f +if(q===$){s=r.zR(!1) +r.f!==$&&A.a1() +r.f=s +q=s}return q}, +zR(a){return new A.jc(this.ZI(a),t.bm)}, +ZI(a){var s=this +return function(){var r=a +var q=0,p=2,o,n,m,l +return function $async$zR(b,c,d){if(c===1){o=d +q=p}while(true)switch(q){case 0:l=s.e +if(l==null||l.b===0){q=1 +break}n=r?l.gP(0):l.gH(0) +case 3:if(!(n!=null)){q=4 +break}m=n.d +n=r?n.gRc():n.gkO(0) +q=m!=null?5:6 +break +case 5:q=7 +return b.b=m,1 +case 7:case 6:q=3 +break +case 4:case 1:return 0 +case 2:return b.c=o,3}}}}, +ao(){var s,r=this +r.aL() +r.a.c.e.sm(0,r) +s=r.c.wt(t.im) +s.toString +r.d=s}, +aH(a){var s,r=this +r.b4(a) +if(a.d!==r.a.d){s=r.c.wt(t.im) +s.toString +r.d=s}}, +l(){var s,r=this,q=r.a.c.e +if(q!=null)q.sm(0,null) +q=r.a.c +if(q.w){s=q.e +if(s!=null){s.O$=$.aN() +s.S$=0}q.e=null}r.e=null +r.aC()}, +K(a){var s=this.a,r=s.e,q=this.d +q===$&&A.a() +return new A.rv(r,new A.oV(q,this,s.c.a.$1(a),null),null)}, +uK(){this.al(new A.agg())}} +A.agg.prototype={ +$0(){}, +$S:0} +A.qw.prototype={ +ag(){return new A.qy(A.b([],t.fy),null,null)}} +A.qy.prototype={ +ao(){this.aL() +this.abR(0,this.a.c)}, +AN(a,b){return this.d.length}, +abQ(a,b){b.f=this +this.al(new A.a5B(this,null,null,b))}, +abR(a,b){var s,r=b.length +if(r===0)return +for(s=0;s"),s=new A.cm(s,r),s=new A.bS(s,s.gq(0),r.h("bS")),r=r.h("aI.E"),q=!0,p=0;s.t();){o=s.d +if(o==null)o=r.a(o) +if(q){++p +m.push(new A.kr(o,n,!0,o.r)) +o=o.b +q=!o}else if(o.c)m.push(new A.kr(o,n,!1,o.r))}s=t.MV +return new A.Cx(m.length-p,n.a.d,A.a8(new A.cm(m,s),!1,s.h("aI.E")),null)}} +A.a5B.prototype={ +$0(){var s=this,r=s.a +B.b.js(r.d,r.AN(s.b,s.c),s.d)}, +$S:0} +A.a5A.prototype={ +$0(){var s=this,r=s.a +B.b.E9(r.d,r.AN(s.b,s.c),s.d)}, +$S:0} +A.a5C.prototype={ +$0(){var s,r,q=this,p=q.a,o=p.d +B.b.I(o) +s=q.b +B.b.L(o,s) +r=q.c +r.xN(s) +B.b.E9(o,p.AN(q.d,q.e),r)}, +$S:0} +A.a5z.prototype={ +$0(){}, +$S:0} +A.a5y.prototype={ +$0(){}, +$S:0} +A.Cx.prototype={ +bf(a){return new A.RW(A.cA(t.W),this,B.a1)}, +ar(a){var s=a.aa(t.I) +s.toString +s=new A.mo(s.w,this.e,this.f,A.ai(),0,null,null,new A.aM(),A.ai()) +s.aw() +s.L(0,null) +return s}, +aB(a,b){var s=this.e +if(b.a3!==s){b.a3=s +if(!b.au)b.mU()}s=a.aa(t.I) +s.toString +b.sbS(s.w) +s=this.f +if(s!==b.aj){b.aj=s +b.am() +b.aY()}}} +A.RW.prototype={ +gU(){return t.im.a(A.fF.prototype.gU.call(this))}, +jt(a,b){var s,r +this.GS(a,b) +s=a.b +s.toString +t.i9.a(s) +r=this.e +r.toString +s.at=t.yI.a(t.f2.a(r).c[b.b]).c}, +jC(a,b,c){this.GT(a,b,c)}} +A.oW.prototype={ +dX(a){if(!(a.b instanceof A.dP))a.b=new A.dP(null,null,B.h)}, +h3(a){var s,r,q,p,o,n +for(s=this.ll(),s=s.gX(s),r=t.B,q=null;s.t();){p=s.gG(s) +o=p.b +o.toString +r.a(o) +n=p.mu(a) +o=o.a +q=A.pt(q,n==null?null:n+o.b)}return q}, +d8(a,b){var s,r=a.b +r.toString +t.B.a(r) +s=this.gFr().gBh() +if(!r.gm9()){a.bU(b,!0) +r.a=B.h}else A.arE(a,r,this.gv(0),s)}, +cV(a,b){var s,r,q,p=this.zu(),o=p.gX(p) +p=t.B +s=!1 +while(!0){if(!(!s&&o.t()))break +r=o.gG(o) +q=r.b +q.toString +s=a.ns(new A.ah_(r),p.a(q).a,b)}return s}, +aE(a,b){var s,r,q,p,o,n +for(s=this.ll(),s=s.gX(s),r=t.B,q=b.a,p=b.b;s.t();){o=s.gG(s) +n=o.b +n.toString +n=r.a(n).a +a.fE(o,new A.n(n.a+q,n.b+p))}}} +A.ah_.prototype={ +$2(a,b){return this.a.c3(a,b)}, +$S:19} +A.tC.prototype={ +Sn(a){var s=this.at +if(s==null)s=null +else{s=s.e +s=s==null?null:s.a.gB7().V(0,a)}return s}} +A.mo.prototype={ +gFr(){return this}, +dX(a){if(!(a.b instanceof A.tC))a.b=new A.tC(null,null,B.h)}, +ah(a){var s,r,q,p,o +this.Xx(a) +s=this.T$ +for(r=t.i9;s!=null;){q=s.b +q.toString +r.a(q) +p=q.at +if(p==null)o=null +else{p=p.e +o=p==null?null:new A.ku(p.a.gB7().a())}if(o!=null)for(;o.t();)o.b.ah(a) +s=q.a2$}}, +ab(a){var s,r,q +this.Xy(0) +s=this.T$ +for(r=t.i9;s!=null;){q=s.b +q.toString +r.a(q) +q.Sn(A.aJw()) +s=q.a2$}}, +f1(){return this.bn(this.gRy())}, +gBh(){var s=this.E +return s==null?this.E=B.bo.a1(0,this.Z):s}, +sbS(a){var s=this +if(s.Z===a)return +s.Z=a +s.E=null +if(!s.au)s.mU()}, +z8(a){var s=this +s.au=!0 +s.kk(a) +s.am() +s.au=!1 +a.B.a5()}, +Bc(a){var s=this +s.au=!0 +s.qU(a) +s.am() +s.au=!1}, +a5(){if(!this.au)this.mU()}, +guo(){var s,r,q,p,o=this +if(o.a3===A.ab.prototype.gqq.call(o))return null +s=A.ab.prototype.gaae.call(o,0) +for(r=o.a3,q=t.B;r>0;--r){p=s.b +p.toString +s=q.a(p).a2$}return s}, +aS(a){return A.a7B(this.guo(),new A.ah1(a))}, +aR(a){return A.a7B(this.guo(),new A.ah0(a))}, +d6(a,b){var s,r,q,p,o=a.gqm() +if(o.gwS(o))s=a.gqm() +else{o=this.A7() +s=o.az(B.y,a,o.gbE())}r=A.kR(s) +q=this.gBh() +for(o=new A.ku(this.ll().a()),p=null;o.t();)p=A.pt(p,A.at7(o.b,s,r,q,b)) +return p}, +bP(a){var s=a.a,r=a.b,q=A.M(1/0,s,r),p=a.c,o=a.d,n=A.M(1/0,p,o) +if(isFinite(q)&&isFinite(n))return new A.K(A.M(1/0,s,r),A.M(1/0,p,o)) +s=this.A7() +return s.az(B.y,a,s.gbE())}, +ll(){return new A.jc(this.Z5(),t.bm)}, +Z5(){var s=this +return function(){var r=0,q=1,p,o,n,m,l,k +return function $async$ll(a,b,c){if(b===1){p=c +r=q}while(true)switch(r){case 0:k=s.guo() +o=t.i9 +case 2:if(!(k!=null)){r=3 +break}r=4 +return a.b=k,1 +case 4:n=k.b +n.toString +o.a(n) +m=n.at +if(m==null)l=null +else{m=m.e +l=m==null?null:new A.ku(m.a.gB7().a())}r=l!=null?5:6 +break +case 5:case 7:if(!l.t()){r=8 +break}r=9 +return a.b=l.b,1 +case 9:r=7 +break +case 8:case 6:k=n.a2$ +r=2 +break +case 3:return 0 +case 1:return a.c=p,3}}}}, +zu(){return new A.jc(this.Z4(),t.bm)}, +Z4(){var s=this +return function(){var r=0,q=1,p,o,n,m,l,k,j,i,h +return function $async$zu(a,b,c){if(b===1){p=c +r=q}while(true)switch(r){case 0:i=s.a3===A.ab.prototype.gqq.call(s)?null:s.cg$ +h=s.dh$-s.a3 +o=t.i9 +case 2:if(!(i!=null)){r=3 +break}n=i.b +n.toString +o.a(n) +m=n.at +l=null +if(!(m==null)){m=m.e +if(!(m==null)){m=m.a +k=m.r +if(k===$){j=m.zR(!0) +m.r!==$&&A.a1() +m.r=j +k=j}m=new A.ku(k.a()) +l=m}}r=l!=null?4:5 +break +case 4:case 6:if(!l.t()){r=7 +break}r=8 +return a.b=l.b,1 +case 8:r=6 +break +case 7:case 5:r=9 +return a.b=i,1 +case 9:--h +i=h<=0?null:n.bF$ +r=2 +break +case 3:return 0 +case 1:return a.c=p,3}}}}, +gj1(){return!1}, +bb(){var s,r,q=this,p=t.k,o=p.a(A.G.prototype.gN.call(q)),n=A.M(1/0,o.a,o.b) +o=A.M(1/0,o.c,o.d) +if(isFinite(n)&&isFinite(o)){p=p.a(A.G.prototype.gN.call(q)) +q.id=new A.K(A.M(1/0,p.a,p.b),A.M(1/0,p.c,p.d)) +s=null}else{s=q.A7() +q.d8(s,p.a(A.G.prototype.gN.call(q))) +q.id=s.gv(0)}r=A.kR(q.gv(0)) +for(p=new A.ku(q.ll().a());p.t();){o=p.b +if(o!==s)q.d8(o,r)}}, +A7(){var s,r,q,p=this,o=p.a3===A.ab.prototype.gqq.call(p)?null:p.cg$ +for(s=t.i9;o!=null;){r=o.b +r.toString +s.a(r) +q=r.at +q=q==null?null:q.d +if(q===!0&&!r.gm9())return o +o=r.bF$}throw A.c(A.Gc(A.b([A.pU("Overlay was given infinite constraints and cannot be sized by a suitable child."),A.bk("The constraints given to the overlay ("+p.gN().j(0)+") would result in an illegal infinite size ("+p.gN().gqm().j(0)+"). To avoid that, the Overlay tried to size itself to one of its children, but no suitable non-positioned child that belongs to an OverlayEntry with canSizeOverlay set to true could be found."),A.FZ("Try wrapping the Overlay in a SizedBox to give it a finite size or use an OverlayEntry with canSizeOverlay set to true.")],t.F)))}, +aE(a,b){var s,r,q=this,p=q.S +if(q.aj!==B.z){s=q.cx +s===$&&A.a() +r=q.gv(0) +p.saN(0,a.kY(s,b,new A.x(0,0,0+r.a,0+r.b),A.oW.prototype.giF.call(q),q.aj,p.a))}else{p.saN(0,null) +q.WJ(a,b)}}, +l(){this.S.saN(0,null) +this.fc()}, +bn(a){var s,r,q=this.T$ +for(s=t.i9;q!=null;){a.$1(q) +r=q.b +r.toString +s.a(r) +r.Sn(a) +q=r.a2$}}, +fH(a){var s,r,q=this.guo() +for(s=t.i9;q!=null;){a.$1(q) +r=q.b +r.toString +q=s.a(r).a2$}}, +lT(a){var s +switch(this.aj.a){case 0:return null +case 1:case 2:case 3:s=this.gv(0) +return new A.x(0,0,0+s.a,0+s.b)}}} +A.ah1.prototype={ +$1(a){return a.az(B.ac,this.a,a.gbk())}, +$S:29} +A.ah0.prototype={ +$1(a){return a.az(B.ax,this.a,a.gbt())}, +$S:29} +A.a5x.prototype={ +j(a){return"OverlayPortalController"+(this.a!=null?"":" DETACHED")}} +A.xr.prototype={ +ag(){return new A.P8()}} +A.P8.prototype={ +a0g(a,b){var s,r,q=this,p=q.f,o=A.asY("marker",new A.agh(q,!1)) +if(p!=null)if(q.e){s=o.pQ() +s=p.b===s.r&&p.c===s.f +r=s}else r=!0 +else r=!1 +q.e=!1 +if(r)return p +return q.f=new A.mj(a,o.pQ().r,o.pQ().f)}, +ao(){this.aL() +this.M4(this.a.c)}, +M4(a){var s,r=a.b,q=this.d +if(q!=null)s=r!=null&&r>q +else s=!0 +if(s)this.d=r +a.b=null +a.a=this}, +bh(){this.d_() +this.e=!0}, +aH(a){var s,r,q=this +q.b4(a) +if(!q.e)q.a.toString +s=a.c +r=q.a.c +if(s!==r){s.a=null +q.M4(r)}}, +l(){this.a.c.a=null +this.f=null +this.aC()}, +TQ(a,b){this.al(new A.agj(this,b)) +this.f=null}, +abv(){this.al(new A.agi(this)) +this.f=null}, +K(a){var s,r,q=this,p=null,o=q.d +if(o==null)return new A.tj(p,q.a.e,p,p) +q.a.toString +s=q.a0g(o,!1) +r=q.a +return new A.tj(new A.MW(new A.fp(r.d,p),p),r.e,s,p)}} +A.agh.prototype={ +$0(){var s=this.a.c +s.toString +return A.aFu(s,this.b)}, +$S:407} +A.agj.prototype={ +$0(){this.a.d=this.b}, +$S:0} +A.agi.prototype={ +$0(){this.a.d=null}, +$S:0} +A.mj.prototype={ +HF(a){var s,r=this +r.d=a +r.b.a44(0,r) +s=r.c +s.am() +s.iA() +s.aY()}, +Lm(a){var s,r=this +r.d=null +s=r.b.e +if(s!=null)s.A(0,r) +s=r.c +s.am() +s.iA() +s.aY()}, +j(a){var s=A.b9(this) +return"_OverlayEntryLocation["+s+"] "}} +A.oV.prototype={ +bT(a){return a.f!==this.f||a.r!==this.r}} +A.tj.prototype={ +bf(a){return new A.P7(this,B.a1)}, +ar(a){var s=new A.BH(null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}} +A.P7.prototype={ +gU(){return t.SN.a(A.bv.prototype.gU.call(this))}, +eZ(a,b){var s,r=this +r.u0(a,b) +s=r.e +s.toString +t.eU.a(s) +r.p2=r.d2(r.p2,s.d,null) +r.p1=r.d2(r.p1,s.c,s.e)}, +aZ(a,b){var s=this +s.p6(0,b) +s.p2=s.d2(s.p2,b.d,null) +s.p1=s.d2(s.p1,b.c,b.e)}, +ir(a){this.p2=null +this.jW(a)}, +bn(a){var s=this.p2,r=this.p1 +if(s!=null)a.$1(s) +if(r!=null)a.$1(r)}, +bL(){var s,r,q +this.yS() +s=this.p1 +if(s!=null){r=t.Kp.a(s.gU()) +if(r!=null){q=s.c +q.toString +t.Vl.a(q) +q.c.z8(r) +q.d=r}}}, +cN(){var s,r,q=this.p1 +if(q!=null){s=t.Kp.a(q.gU()) +if(s!=null){r=q.c +r.toString +t.Vl.a(r) +r.c.Bc(s) +r.d=null}}this.Hf()}, +jt(a,b){var s=t.SN +if(b!=null){s=s.a(A.bv.prototype.gU.call(this)) +t.Lj.a(a) +s.B=a +b.HF(a) +b.c.z8(a)}else s.a(A.bv.prototype.gU.call(this)).saG(a)}, +jC(a,b,c){var s=b.c,r=c.c +if(s!==r){s.Bc(a) +r.z8(a)}if(b.b!==c.b||b.a!==c.a){b.Lm(a) +c.HF(a)}}, +kZ(a,b){if(b==null){t.SN.a(A.bv.prototype.gU.call(this)).saG(null) +return}t.Lj.a(a) +b.Lm(a) +b.c.Bc(a) +t.SN.a(A.bv.prototype.gU.call(this)).B=null}} +A.MW.prototype={ +ar(a){var s,r=a.wt(t.SN) +r.toString +s=new A.mn(r,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return r.B=s}, +aB(a,b){}} +A.mn.prototype={ +ll(){var s=this.C$ +return s==null?B.yx:A.aBC(1,new A.agU(s),t.x)}, +zu(){return this.ll()}, +gFr(){var s=this.d +return s instanceof A.mo?s:A.aa(A.jz(A.h(s)+" of "+this.j(0)+" is not a _RenderTheater"))}, +f1(){this.B.ml(this) +this.Hh()}, +gj1(){return!0}, +a5(){this.a_=!0 +this.mU()}, +d6(a,b){var s=this.C$ +if(s==null)return null +return A.at7(s,a.gqm(),a,this.gFr().gBh(),b)}, +acw(){var s,r=t.gW.a(this.d) +if(r==null||this.y==null)return +s=t.k.a(A.G.prototype.gN.call(r)) +this.He(A.kR(new A.K(A.M(1/0,s.a,s.b),A.M(1/0,s.c,s.d))),!1)}, +bU(a,b){var s,r=this,q=r.a_||!t.k.a(A.G.prototype.gN.call(r)).k(0,a) +r.ak=!0 +r.He(a,b) +r.a_=r.ak=!1 +if(q){s=r.d +s.toString +t.im.a(s).Ed(new A.agV(r),t.k)}}, +hh(a){return this.bU(a,!1)}, +oq(){var s=t.k.a(A.G.prototype.gN.call(this)) +this.id=new A.K(A.M(1/0,s.a,s.b),A.M(1/0,s.c,s.d))}, +bb(){var s,r=this +if(r.ak){r.a_=!1 +return}s=r.C$ +if(s==null){r.a_=!1 +return}r.d8(s,t.k.a(A.G.prototype.gN.call(r))) +r.a_=!1}, +cM(a,b){var s,r=a.b +r.toString +s=t.G.a(r).a +b.aq(0,s.a,s.b)}} +A.agU.prototype={ +$1(a){return this.a}, +$S:408} +A.agV.prototype={ +$1(a){var s=this.a +s.a_=!0 +s.mU()}, +$S:409} +A.BH.prototype={ +f1(){this.Hh() +var s=this.B +if(s!=null&&s.y!=null)this.ml(s)}, +bb(){this.u2() +var s=this.B +if(s!=null)s.acw()}, +fH(a){var s +this.mV(a) +s=this.B +if(s!=null)a.$1(s)}} +A.P9.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.T6.prototype={} +A.T7.prototype={} +A.D6.prototype={ +ah(a){var s,r,q +this.eq(a) +s=this.T$ +for(r=t.B;s!=null;){s.ah(a) +q=s.b +q.toString +s=r.a(q).a2$}}, +ab(a){var s,r,q +this.e_(0) +s=this.T$ +for(r=t.B;s!=null;){s.ab(0) +q=s.b +q.toString +s=r.a(q).a2$}}} +A.T8.prototype={} +A.w9.prototype={ +ag(){var s=t.y +return new A.AL(A.as([!1,!0,!0,!0],s,s),null,null)}, +kQ(a){return A.Dr().$1(a)}} +A.AL.prototype={ +ao(){var s,r,q=this +q.aL() +s=q.a +r=s.f +q.d=A.asW(A.aX(s.e),r,q) +r=q.a +s=r.f +s=A.asW(A.aX(r.e),s,q) +q.e=s +r=q.d +r.toString +q.f=new A.B6(A.b([r,s],t.Eo))}, +aH(a){var s,r=this +r.b4(a) +if(!a.f.k(0,r.a.f)||A.aX(a.e)!==A.aX(r.a.e)){s=r.d +s.toString +s.sae(0,r.a.f) +s=r.d +s.toString +s.sNX(A.aX(r.a.e)) +s=r.e +s.toString +s.sae(0,r.a.f) +s=r.e +s.toString +s.sNX(A.aX(r.a.e))}}, +AB(a){var s,r,q,p,o,n,m,l,k,j,i=this +if(!i.a.kQ(a))return!1 +s=a.a +r=s.e +if(A.aX(r)!==A.aX(i.a.e))return!1 +q=i.d +q.toString +p=s.c +p.toString +o=s.a +o.toString +q.e=-Math.min(p-o,q.d) +o=i.e +o.toString +s=s.b +s.toString +o.e=-Math.min(s-p,o.d) +if(a instanceof A.iL){s=a.e +if(s<0)n=q +else if(s>0)n=o +else n=null +m=n===q +q=i.c +q.cz(new A.xs(m,0)) +q=i.w +q.n(0,m,!0) +q.i(0,m).toString +n.d=0 +i.w.i(0,m).toString +q=a.f +if(q!==0){s=n.c +if(s!=null)s.aA(0) +n.c=null +l=A.M(Math.abs(q),100,1e4) +s=n.r +if(n.a===B.fJ)r=0.3 +else{r=n.w +r===$&&A.a() +q=r.a +q=r.b.a8(0,q.gm(q)) +r=q}s.a=r +r.toString +s.b=A.M(l*0.00006,r,0.5) +r=n.x +s=n.y +s===$&&A.a() +q=s.a +r.a=s.b.a8(0,q.gm(q)) +r.b=Math.min(0.025+75e-8*l*l,1) +r=n.b +r===$&&A.a() +r.e=A.cP(0,B.c.a7(0.15+l*0.02)) +r.m4(0,0) +n.at=0.5 +n.a=B.S6}else{q=a.d +if(q!=null){p=a.b.gU() +p.toString +t.x.a(p) +k=p.gv(0) +j=p.l8(q.d) +switch(A.aX(r).a){case 0:n.toString +r=k.b +n.Rf(0,Math.abs(s),k.a,A.M(j.b,0,r),r) +break +case 1:n.toString +r=k.a +n.Rf(0,Math.abs(s),k.b,A.M(j.a,0,r),r) +break}}}}else{if(!(a instanceof A.k7&&a.d!=null))s=a instanceof A.hl&&a.d!=null +else s=!0 +if(s){if(q.a===B.fK)q.lw(B.da) +s=i.e +if(s.a===B.fK)s.lw(B.da)}}i.r=A.r(a) +return!1}, +l(){this.d.l() +this.e.l() +this.Xs()}, +K(a){var s=this,r=null,q=s.a,p=s.d,o=s.e,n=q.e,m=s.f +return new A.cI(s.gAA(),new A.i1(A.v6(new A.i1(q.w,r),new A.NQ(p,o,n,m),r,r),r),r,t.WA)}} +A.t4.prototype={ +F(){return"_GlowState."+this.b}} +A.AK.prototype={ +sae(a,b){if(this.ay.k(0,b))return +this.ay=b +this.ap()}, +sNX(a){if(this.ch===a)return +this.ch=a +this.ap()}, +l(){var s=this,r=s.b +r===$&&A.a() +r.l() +r=s.f +r===$&&A.a() +r.l() +r=s.z +r===$&&A.a() +r.w.cS$.A(0,r) +r.Hn() +r=s.c +if(r!=null)r.aA(0) +s.dI()}, +Rf(a,b,c,d,e){var s,r,q,p=this,o=p.c +if(o!=null)o.aA(0) +p.ax=p.ax+b/200 +o=p.r +s=p.w +s===$&&A.a() +r=s.b +s=s.a +o.a=r.a8(0,s.gm(s)) +o.b=Math.min(r.a8(0,s.gm(s))+b/c*0.8,0.5) +q=Math.min(c,e*0.20096189432249995) +s=p.x +r=p.y +r===$&&A.a() +o=r.b +r=r.a +s.a=o.a8(0,r.gm(r)) +s.b=Math.max(1-1/(0.7*Math.sqrt(p.ax*q)),A.fV(o.a8(0,r.gm(r)))) +r=d/e +p.as=r +if(r!==p.at){o=p.z +o===$&&A.a() +if(!o.gacl())o.le(0)}else{o=p.z +o===$&&A.a() +o.eo(0) +p.Q=null}o=p.b +o===$&&A.a() +o.e=B.l9 +if(p.a!==B.fK){o.m4(0,0) +p.a=B.fK}else{o=o.r +if(!(o!=null&&o.a!=null))p.ap()}p.c=A.cb(B.l9,new A.aeP(p))}, +zr(a){var s=this +if(a!==B.T)return +switch(s.a.a){case 1:s.lw(B.da) +break +case 3:s.a=B.fJ +s.ax=0 +break +case 2:case 0:break}}, +lw(a){var s,r,q=this,p=q.a +if(p===B.xt||p===B.fJ)return +p=q.c +if(p!=null)p.aA(0) +q.c=null +p=q.r +s=q.w +s===$&&A.a() +r=s.a +p.a=s.b.a8(0,r.gm(r)) +p.b=0 +p=q.x +r=q.y +r===$&&A.a() +s=r.a +p.a=r.b.a8(0,s.gm(s)) +p.b=0 +p=q.b +p===$&&A.a() +p.e=a +p.m4(0,0) +q.a=B.xt}, +a6m(a){var s,r=this,q=r.Q +if(q!=null){q=q.a +s=r.as +r.at=s-(s-r.at)*Math.pow(2,-(a.a-q)/$.awZ().a) +r.ap()}if(A.Dp(r.as,r.at,0.001)){q=r.z +q===$&&A.a() +q.eo(0) +r.Q=null}else r.Q=a}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j=this,i=j.w +i===$&&A.a() +s=i.a +if(J.e(i.b.a8(0,s.gm(s)),0))return +s=b.a +r=b.b +q=s>r?r/s:1 +p=s*3/2 +o=Math.min(r,s*0.20096189432249995) +r=j.y +r===$&&A.a() +n=r.a +n=r.b.a8(0,n.gm(n)) +r=j.at +m=$.ap().bg() +l=j.ay +k=i.a +m.sae(0,A.a3(B.c.a7(255*i.b.a8(0,k.gm(k))),l.gm(l)>>>16&255,l.gm(l)>>>8&255,l.gm(l)&255)) +a.c5(0) +a.aq(0,0,j.d+j.e) +a.em(0,1,n*q) +a.kp(new A.x(0,0,0+s,0+o)) +a.ik(new A.n(s/2*(0.5+r),o-p),p,m) +a.bG(0)}, +j(a){return"_GlowController(color: "+this.ay.j(0)+", axis: "+this.ch.b+")"}} +A.aeP.prototype={ +$0(){return this.a.lw(B.hJ)}, +$S:0} +A.NQ.prototype={ +KW(a,b,c,d,e){var s +if(c==null)return +switch(A.mx(d,e).a){case 0:c.aE(a,b) +break +case 2:a.c5(0) +a.aq(0,0,b.b) +a.em(0,1,-1) +c.aE(a,b) +a.bG(0) +break +case 3:a.c5(0) +a.l2(0,1.5707963267948966) +a.em(0,1,-1) +c.aE(a,new A.K(b.b,b.a)) +a.bG(0) +break +case 1:a.c5(0) +s=b.a +a.aq(0,s,0) +a.l2(0,1.5707963267948966) +c.aE(a,new A.K(b.b,s)) +a.bG(0) +break}}, +aE(a,b){var s=this,r=s.d +s.KW(a,b,s.b,r,B.lp) +s.KW(a,b,s.c,r,B.lo)}, +hZ(a){return a.b!=this.b||a.c!=this.c}, +j(a){return"_GlowingOverscrollIndicatorPainter("+A.h(this.b)+", "+A.h(this.c)+")"}} +A.RA.prototype={ +F(){return"_StretchDirection."+this.b}} +A.zm.prototype={ +ag(){return new A.Co(null,null)}, +kQ(a){return A.Dr().$1(a)}} +A.Co.prototype={ +glB(){var s,r,q,p,o,n=this,m=null,l=n.d +if(l===$){s=t.H7 +r=new A.aW(0,0,s) +q=new A.Cn(r,B.jS,B.jR,$.aN()) +p=A.dd(m,m,m,m,n) +p.bl() +o=p.bJ$ +o.b=!0 +o.a.push(q.gzq()) +q.a!==$&&A.bx() +q.a=p +p=A.dI(B.kv,p,m) +p.a.a0(0,q.geE()) +q.c!==$&&A.bx() +q.c=p +t.q.a(p) +q.b!==$&&A.bx() +q.b=new A.b0(p,r,s.h("b0")) +n.d!==$&&A.a1() +n.d=q +l=q}return l}, +AB(a){var s,r,q,p,o,n,m,l=this +if(!l.a.kQ(a))return!1 +s=a.a +if(A.aX(s.e)!==A.aX(l.a.c))return!1 +if(a instanceof A.iL){l.f=a +J.T(l.e) +r=a.e +q=l.c +q.cz(new A.xs(r<0,0)) +l.w=!0 +r=l.r+=r +q=a.f +if(q!==0){s=l.glB() +r=l.r +p=A.M(Math.abs(q),1,1e4) +q=s.d +o=s.b +o===$&&A.a() +n=o.a +q.a=o.b.a8(0,n.gm(n)) +q.b=Math.min(0.016+1.01/p,1) +q=s.a +q===$&&A.a() +q.e=A.cP(0,B.c.a7(Math.max(p*0.02,50))) +q.m4(0,0) +s.e=B.SH +s.r=r>0?B.jR:B.xF}else if(a.d!=null){s=s.d +s.toString +m=A.M(Math.abs(r)/s,0,1) +l.glB().adB(0,m,l.r)}}else if(a instanceof A.k7||a instanceof A.hl){l.r=0 +s=l.glB() +if(s.e===B.jT)s.lw(B.hK)}l.e=a +return!1}, +a_Y(a){var s +switch(a.a){case 0:s=this.a.c +break +case 1:s=A.auS(this.a.c) +break +default:s=null}switch(s.a){case 0:s=B.xI +break +case 2:s=B.xH +break +case 3:s=B.xN +break +case 1:s=B.jV +break +default:s=null}return s}, +l(){this.glB().l() +this.XD()}, +K(a){var s={},r=A.bM(a,B.xv,t.w).w +s.a=null +return new A.cI(this.gAA(),A.pl(this.glB(),new A.ahS(s,this,r.a),null),null,t.WA)}} +A.ahS.prototype={ +$2(a,b){var s,r,q,p,o,n,m,l=this,k=l.b,j=k.glB().b +j===$&&A.a() +s=j.a +s=j.b.a8(0,s.gm(s)) +r=1 +q=1 +switch(A.aX(k.a.c).a){case 0:r=1+s +l.a.a=l.c.a +break +case 1:q=1+s +l.a.a=l.c.b +break}p=k.a_Y(k.glB().r) +j=k.f +if(j==null)o=null +else{j=j.a.d +j.toString +o=j}if(o==null)o=l.a.a +j=A.a48(r,q,1) +s=s===0 +n=s?null:B.dc +k=k.a +m=A.amM(p,k.f,n,j,!0) +return A.Ws(m,!s&&o!==l.a.a?k.e:B.z,null)}, +$S:410} +A.tA.prototype={ +F(){return"_StretchState."+this.b}} +A.Cn.prototype={ +adB(a,b,c){var s,r,q,p=this,o=c>0?B.jR:B.xF +if(p.r!==o&&p.e===B.jU)return +p.r=o +p.f=b +s=p.d +r=p.b +r===$&&A.a() +q=r.a +s.a=r.b.a8(0,q.gm(q)) +q=p.f +s.b=0.016*q+0.016*(1-Math.exp(-q*8.237217661997105)) +q=p.a +q===$&&A.a() +q.e=B.hK +if(p.e!==B.jT){q.m4(0,0) +p.e=B.jT}else{s=q.r +if(!(s!=null&&s.a!=null))p.ap()}}, +zr(a){var s=this +if(a!==B.T)return +switch(s.e.a){case 1:s.lw(B.hK) +break +case 3:s.e=B.jS +s.f=0 +break +case 2:case 0:break}}, +lw(a){var s,r,q=this,p=q.e +if(p===B.jU||p===B.jS)return +p=q.d +s=q.b +s===$&&A.a() +r=s.a +p.a=s.b.a8(0,r.gm(r)) +p.b=0 +p=q.a +p===$&&A.a() +p.e=a +p.m4(0,0) +q.e=B.jU}, +l(){var s=this.a +s===$&&A.a() +s.l() +s=this.c +s===$&&A.a() +s.l() +this.dI()}, +j(a){return"_StretchController()"}} +A.xs.prototype={ +cw(a){this.Wx(a) +a.push("side: "+(this.a?"leading edge":"trailing edge"))}} +A.Bl.prototype={ +cw(a){var s,r +this.yW(a) +s=this.e9$ +r=s===0?"local":"remote" +a.push("depth: "+s+" ("+r+")")}} +A.D2.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.D8.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.Cl.prototype={ +k(a,b){if(b==null)return!1 +if(J.T(b)!==A.r(this))return!1 +return b instanceof A.Cl&&A.dn(b.a,this.a)}, +gu(a){return A.bN(this.a)}, +j(a){return"StorageEntryIdentifier("+B.b.bw(this.a,":")+")"}} +A.I4.prototype={ +HL(a){var s=A.b([],t.g8) +if(A.ara(a,s))a.mr(new A.a5D(s)) +return s}, +Ss(a,b){var s,r=this +if(r.a==null)r.a=A.E(t.K,t.z) +s=r.HL(a) +if(s.length!==0)r.a.n(0,new A.Cl(s),b)}, +Rr(a){var s +if(this.a==null)return null +s=this.HL(a) +return s.length!==0?this.a.i(0,new A.Cl(s)):null}} +A.a5D.prototype={ +$1(a){return A.ara(a,this.a)}, +$S:33} +A.qA.prototype={ +K(a){return this.c}} +A.I2.prototype={ +a7B(a,b,c){var s=t.gQ.a(B.b.gan(this.f)) +if(s.O!=null){s.O=a +return A.ce(null,t.H)}return s.ic(s.mx(a),b,c)}, +QA(a){var s=t.gQ.a(B.b.gan(this.f)) +if(s.O!=null){s.O=a +return}s.eC(s.mx(a))}, +OI(a,b,c){var s=null,r=$.aN() +r=new A.mk(this.as,this.ax,B.fi,a,b,!0,s,new A.ez(!1,r),r) +r.Hv(b,s,!0,c,a) +r.Hw(b,s,s,!0,c,a) +return r}, +ah(a){this.VQ(a) +t.gQ.a(a).stq(this.ax)}} +A.I3.prototype={} +A.mk.prototype={ +qX(a,b,c,d,e,f){return this.W_(a,b,c,d,e,null)}, +stq(a){var s,r=this +if(r.af===a)return +s=r.grR(0) +r.af=a +if(s!=null)r.DE(r.mx(s))}, +guF(){var s=this.ax +s.toString +return Math.max(0,s*(this.af-1)/2)}, +tB(a,b){var s=Math.max(0,a-this.guF())/(b*this.af),r=B.c.S0(s) +if(Math.abs(s-r)<1e-10)return r +return s}, +mx(a){var s=this.ax +s.toString +return a*s*this.af+this.guF()}, +grR(a){var s,r,q=this,p=q.at +if(p!=null)s=!(q.z!=null&&q.Q!=null) +else s=!0 +if(s)p=null +else{s=q.O +if(s==null){p.toString +s=q.z +s.toString +r=q.Q +r.toString +r=A.M(p,s,r) +s=q.ax +s.toString +s=q.tB(r,s) +p=s}else p=s}return p}, +G8(){var s,r,q=this,p=q.w,o=p.c +o.toString +o=A.a5E(o) +if(o!=null){p=p.c +p.toString +s=q.O +if(s==null){s=q.at +s.toString +r=q.ax +r.toString +r=q.tB(s,r) +s=r}o.Ss(p,s)}}, +RW(){var s,r,q +if(this.at==null){s=this.w +r=s.c +r.toString +r=A.a5E(r) +if(r==null)q=null +else{s=s.c +s.toString +q=r.Rr(s)}if(q!=null)this.S=q}}, +G7(){var s,r=this,q=r.O +if(q==null){q=r.at +q.toString +s=r.ax +s.toString +s=r.tB(q,s) +q=s}r.w.r.sm(0,q) +q=$.eb.m0$ +q===$&&A.a() +q.PE()}, +RV(a,b){if(b)this.S=a +else this.eC(this.mx(a))}, +qh(a){var s,r,q,p,o=this,n=o.ax +n=n!=null?n:null +if(a===n)return!0 +o.VW(a) +s=o.at +s=s!=null?s:null +if(s==null)r=o.S +else if(n===0){q=o.O +q.toString +r=q}else{n.toString +r=o.tB(s,n)}p=o.mx(r) +o.O=a===0?r:null +if(p!==s){o.at=p +return!1}return!0}, +kh(a){var s +this.W0(a) +if(!(a instanceof A.mk))return +s=a.O +if(s!=null)this.O=s}, +qd(a,b){var s=a+this.guF() +return this.VU(s,Math.max(s,b-this.guF()))}, +hD(){var s,r,q,p,o,n=this,m=null,l=m,k=n.z +if(k!=null&&n.Q!=null){k.toString +l=k}k=m +if(n.z!=null&&n.Q!=null){k=n.Q +k.toString}s=n.at +s=s!=null?s:m +r=n.ax +r=r!=null?r:m +q=n.w +p=q.a.c +o=n.af +q=q.f +q===$&&A.a() +return new A.I3(o,l,k,s,r,p,q)}} +A.AH.prototype={ +je(a){return new A.AH(!1,this.ig(a))}, +gnt(){return this.b}} +A.qz.prototype={ +je(a){return new A.qz(this.ig(a))}, +a0k(a){var s,r +if(a instanceof A.mk){s=a.grR(0) +s.toString +return s}s=a.at +s.toString +r=a.ax +r.toString +return s/r}, +a0n(a,b){var s +if(a instanceof A.mk)return a.mx(b) +s=a.ax +s.toString +return b*s}, +nD(a,b){var s,r,q,p,o,n=this +if(b<=0){s=a.at +s.toString +r=a.z +r.toString +r=s<=r +s=r}else s=!1 +if(!s)if(b>=0){s=a.at +s.toString +r=a.Q +r.toString +r=s>=r +s=r}else s=!1 +else s=!0 +if(s)return n.VS(a,b) +q=n.tg(a) +p=n.a0k(a) +s=q.c +if(b<-s)p-=0.5 +else if(b>s)p+=0.5 +o=n.a0n(a,B.c.S0(p)) +s=a.at +s.toString +if(o!==s){s=n.gmN() +r=a.at +r.toString +return new A.lN(o,A.ty(s,r-o,b),q)}return null}} +A.xu.prototype={ +ag(){return new A.Pc()}} +A.Pc.prototype={ +ao(){var s,r=this +r.aL() +r.Kh() +s=r.e +s===$&&A.a() +r.d=s.as}, +l(){if(this.a.r==null){var s=this.e +s===$&&A.a() +s.l()}this.aC()}, +Kh(){var s=this.a.r +this.e=s==null?A.ar9(0,1):s}, +aH(a){var s=this,r=a.r +if(r!=s.a.r){if(r==null){r=s.e +r===$&&A.a() +r.l()}s.Kh()}s.b4(a)}, +a06(a){var s,r +this.a.toString +switch(0){case 0:s=a.aa(t.I) +s.toString +r=A.akz(s.w) +this.a.toString +return r}}, +K(a){var s,r,q,p=this,o=null,n=p.a06(a),m=p.a.w +m=new A.qz(B.r6.ig(m)) +m=new A.AH(!1,o).ig(m) +s=p.a.Q +r=p.e +r===$&&A.a() +q=A.yJ(a).Ot(!1) +return new A.cI(new A.agk(p),A.amo(n,B.Z,r,s,B.ae,new A.AH(!1,m),o,q,o,new A.agl(p,n)),o,t.WA)}} +A.agk.prototype={ +$1(a){if(a.e9$===0)this.a.a.toString +return!1}, +$S:34} +A.agl.prototype={ +$2(a,b){var s=this.a,r=s.a,q=r.as +s=s.e +s===$&&A.a() +return A.asE(0,this.b,0,B.zB,null,q,b,A.b([new A.Kk(s.ax,!0,r.z,null)],t.E))}, +$S:411} +A.xt.prototype={ +gkT(){return!0}, +gvD(){return!1}, +Cu(a){return a instanceof A.fC}, +O8(a){return a instanceof A.fC}} +A.a4f.prototype={} +A.a63.prototype={} +A.Fm.prototype={ +AW(a){return this.a3l(a)}, +a3l(a){var s=0,r=A.C(t.H),q,p=this,o,n,m +var $async$AW=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:n=A.cj(a.b) +m=p.a +if(!m.a9(0,n)){s=1 +break}m=m.i(0,n) +m.toString +o=a.a +if(o==="Menu.selectedCallback"){m.gafV().$0() +m.gadh() +o=$.am.ai$.d.c.e +o.toString +A.ayT(o,m.gadh(),t.v)}else if(o==="Menu.opened")m.gafU(m).$0() +else if(o==="Menu.closed")m.gafT(m).$0() +case 1:return A.A(q,r)}}) +return A.B($async$AW,r)}} +A.Gz.prototype={ +K(a){return A.aBp(this,a)}} +A.xN.prototype={} +A.xO.prototype={ +ag(){return new A.Bq()}, +a6e(a,b){return this.c.$2(a,b)}, +a3B(a){return this.d.$1(a)}} +A.Bq.prototype={ +K(a){var s,r,q=this,p=null,o=q.e +if(o==null)return B.KC +if(!q.f)return new A.Pi(new A.agr(o),p,p) +s=q.r +if(s==null)s=q.r=q.a.a6e(a,o) +r=q.w +s.toString +return A.w_(!1,p,s,p,p,p,r,!0,p,q.ga1k(),p,p,p,p)}, +ao(){var s=this +s.w=A.alC(!0,"PlatformView(id: "+A.h(s.d)+")",!0,!0,null,null,!1) +s.L4() +s.aL()}, +aH(a){var s,r=this +r.b4(a) +if(r.a.e!==a.e){s=r.e +if(s!=null)A.aGU(s) +r.r=null +r.L4()}}, +L4(){var s=this,r=$.ayc().a++ +s.d=r +s.e=s.a.a3B(new A.xN(r,s.ga3N()))}, +a3O(a){if(this.c!=null)this.al(new A.agq(this))}, +a1l(a){var s +if(!a){s=this.e +if(s!=null)s.Cz()}B.r4.ed("TextInput.setPlatformViewClient",A.as(["platformViewId",this.d],t.N,t.z),t.H)}, +l(){var s=this,r=s.e +if(r!=null)r.l() +s.e=null +r=s.w +if(r!=null)r.l() +s.w=null +s.aC()}} +A.agr.prototype={ +$2(a,b){}, +$S:412} +A.agq.prototype={ +$0(){this.a.f=!0}, +$S:0} +A.qC.prototype={ +ar(a){var s=new A.IF(this.d,null,null,null,new A.aM(),A.ai()) +s.aw() +s.sQ6(this.f) +s.N0(this.e,s.E.gP_()) +return s}, +aB(a,b){b.sCE(0,this.d) +b.sQ6(this.f) +b.N0(this.e,b.E.gP_())}} +A.Pj.prototype={ +bb(){this.Vj() +$.bC.p2$.push(new A.ags(this))}} +A.ags.prototype={ +$1(a){var s=this.a,r=s.gv(0),q=A.bH(s.aU(0,null),B.h) +s.c8.$2(r,q)}, +$S:6} +A.Pi.prototype={ +ar(a){var s=new A.Pj(this.e,B.h3,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){b.c8=this.e}} +A.ajd.prototype={ +$1(a){this.a.l()}, +$S:6} +A.qH.prototype={ +bT(a){return this.f!=a.f}} +A.lL.prototype={ +ag(){return new A.QF(null,A.E(t.yb,t.M),null,!0,null)}} +A.QF.prototype={ +gda(){return this.a.d}, +jH(a,b){}, +K(a){return A.abH(this.bB$,this.a.c)}} +A.zR.prototype={ +bT(a){return a.f!=this.f}} +A.yx.prototype={ +ag(){return new A.BS()}} +A.BS.prototype={ +bh(){var s,r=this +r.d_() +s=r.c +s.toString +r.r=A.qR(s) +r.AS() +if(r.d==null){r.a.toString +r.d=!1}}, +aH(a){this.b4(a) +this.AS()}, +gKw(){this.a.toString +return!1}, +AS(){var s,r=this +if(r.gKw()&&!r.w){r.w=!0;++$.iP.fr$ +s=$.eb.m0$ +s===$&&A.a() +s.gaen().aT(0,new A.ah9(r),t.P)}}, +a4W(){var s,r=this +r.e=!1 +r.f=null +s=$.eb.m0$ +s===$&&A.a() +s.J(0,r.gBe()) +r.AS()}, +l(){if(this.e){var s=$.eb.m0$ +s===$&&A.a() +s.J(0,this.gBe())}this.aC()}, +K(a){var s,r,q=this,p=q.d +p.toString +if(p&&q.gKw())return B.jm +p=q.r +if(p==null)p=q.f +s=q.a +r=s.d +return A.abH(p,new A.lL(s.c,r,null))}} +A.ah9.prototype={ +$1(a){var s,r=this.a +r.w=!1 +if(r.c!=null){s=$.eb.m0$ +s===$&&A.a() +s.a0(0,r.gBe()) +r.al(new A.ah8(r,a))}$.iP.NJ()}, +$S:413} +A.ah8.prototype={ +$0(){var s=this.a +s.f=this.b +s.e=!0 +s.d=!1}, +$S:0} +A.dO.prototype={ +gnN(a){return!0}, +l(){var s=this,r=s.c +if(r!=null){r=r.h7$.A(0,s) +r.toString +s.J(0,r) +s.c=s.b=null}s.dI() +s.a=!0}} +A.iQ.prototype={ +Dc(a){}, +or(a,b){var s,r,q=this,p=q.bB$ +p=p==null?null:J.u6(p.gkb(),b) +s=p===!0 +r=s?a.o3(J.ah(q.bB$.gkb(),b)):a.w_() +if(a.b==null){a.b=b +a.c=q +p=new A.a7W(q,a) +a.a0(0,p) +q.h7$.n(0,a,p)}a.Qe(r) +if(!s&&a.gnN(a)&&q.bB$!=null)q.BO(a)}, +qQ(){var s,r,q=this +if(q.h8$!=null){s=q.bB$ +s=s==null?null:s.e +s=s==q.gda()||q.goz()}else s=!0 +if(s)return +r=q.bB$ +if(q.nm(q.h8$,!1))if(r!=null)r.l()}, +goz(){var s,r,q=this +if(q.ez$)return!0 +if(q.gda()==null)return!1 +s=q.c +s.toString +r=A.qR(s) +if(r!=q.h8$){if(r==null)s=null +else{s=r.c +s=s==null?null:s.d +s=s===!0}s=s===!0}else s=!1 +return s}, +nm(a,b){var s,r,q=this +if(q.gda()==null||a==null)return q.M_(null,b) +if(b||q.bB$==null){s=q.gda() +s.toString +return q.M_(a.a8e(s,q),b)}s=q.bB$ +s.toString +r=q.gda() +r.toString +s.ae8(r) +r=q.bB$ +r.toString +a.kk(r) +return!1}, +M_(a,b){var s,r=this,q=r.bB$ +if(a==q)return!1 +r.bB$=a +if(!b){if(a!=null){s=r.h7$ +new A.aZ(s,A.o(s).h("aZ<1>")).V(0,r.ga6O())}r.Dc(q)}return!0}, +BO(a){var s,r,q=a.gnN(a),p=this.bB$ +if(q){if(p!=null){q=a.b +q.toString +s=a.oE() +if(!J.e(J.ah(p.gkb(),q),s)||!J.u6(p.gkb(),q)){J.eI(p.gkb(),q,s) +p.na()}}}else if(p!=null){q=a.b +q.toString +r=J.u6(p.gkb(),q) +J.kL(p.gkb(),q) +if(J.eJ(p.gkb()))J.kL(p.a,"v") +if(r)p.na()}}} +A.a7W.prototype={ +$0(){var s=this.a +if(s.bB$==null)return +s.BO(this.b)}, +$S:0} +A.aiR.prototype={ +$2(a,b){if(!a.a)a.J(0,b)}, +$S:44} +A.T9.prototype={ +aH(a){this.b4(a) +this.qQ()}, +bh(){var s,r,q,p,o=this +o.d_() +s=o.bB$ +r=o.goz() +q=o.c +q.toString +q=A.qR(q) +o.h8$=q +p=o.nm(q,r) +if(r){o.jH(s,o.ez$) +o.ez$=!1}if(p)if(s!=null)s.l()}, +l(){var s,r=this +r.h7$.V(0,new A.aiR()) +s=r.bB$ +if(s!=null)s.l() +r.bB$=null +r.aC()}} +A.bI.prototype={ +sm(a,b){var s=this.y +if(b==null?s!=null:b!==s){this.y=b +this.De(s)}}, +Qe(a){this.y=a}} +A.ie.prototype={ +w_(){return this.cy}, +De(a){this.ap()}, +o3(a){return A.o(this).h("ie.T").a(a)}, +oE(){var s=this.y +return s==null?A.o(this).h("bI.T").a(s):s}} +A.BQ.prototype={ +o3(a){return this.WM(a)}, +oE(){var s=this.WN() +s.toString +return s}} +A.yt.prototype={} +A.ys.prototype={} +A.aiS.prototype={ +$2(a,b){if(!a.a)a.J(0,b)}, +$S:44} +A.lM.prototype={ +goJ(){return this.b}} +A.Jz.prototype={ +ag(){return new A.ts(new A.QC($.aN()),null,A.E(t.yb,t.M),null,!0,null,this.$ti.h("ts<1>"))}} +A.a8_.prototype={ +F(){return"RouteInformationReportingType."+this.b}} +A.ts.prototype={ +gda(){return this.a.r}, +ao(){var s,r=this +r.aL() +s=r.a.c +if(s!=null)s.a0(0,r.guC()) +r.a.f.a7m(r.gAu()) +r.a.e.a0(0,r.gAz())}, +jH(a,b){var s,r,q=this,p=q.f +q.or(p,"route") +s=p.y +r=s==null +if((r?A.o(p).h("bI.T").a(s):s)!=null){p=r?A.o(p).h("bI.T").a(s):s +p.toString +q.v0(p,new A.ahq(q))}else{p=q.a.c +if(p!=null)q.v0(p.a,new A.ahr(q))}}, +a5r(){var s=this +if(s.w||s.a.c==null)return +s.w=!0 +$.bC.p2$.push(s.ga5_())}, +a50(a){var s,r,q,p=this +if(p.c==null)return +p.w=!1 +s=p.f +r=s.y +q=r==null +if((q?A.o(s).h("bI.T").a(r):r)!=null){s=q?A.o(s).h("bI.T").a(r):r +s.toString +r=p.a.c +r.toString +q=p.e +q.toString +r.ag1(s,q)}p.e=B.vV}, +a5a(){this.a.e.gafH() +this.a.toString +return null}, +uQ(){var s=this +s.f.sm(0,s.a5a()) +if(s.e==null)s.e=B.vV +s.a5r()}, +bh(){var s,r,q,p=this +p.r=!0 +p.Xz() +s=p.f +r=s.y +q=r==null?A.o(s).h("bI.T").a(r):r +if(q==null){s=p.a.c +q=s==null?null:s.a}if(q!=null&&p.r)p.v0(q,new A.ahp(p)) +p.r=!1 +p.uQ()}, +aH(a){var s,r,q,p=this +p.XA(a) +s=p.a.c +r=a.c +p.d=new A.J() +if(s!=r){s=r==null +if(!s)r.J(0,p.guC()) +q=p.a.c +if(q!=null)q.a0(0,p.guC()) +s=s?null:r.a +r=p.a.c +if(s!=(r==null?null:r.a))p.K5()}s=a.f +if(p.a.f!==s){r=p.gAu() +s.ae5(r) +p.a.f.a7m(r)}p.a.toString +s=p.gAz() +a.e.J(0,s) +p.a.e.a0(0,s) +p.uQ()}, +l(){var s,r=this +r.f.l() +s=r.a.c +if(s!=null)s.J(0,r.guC()) +r.a.f.ae5(r.gAu()) +r.a.e.J(0,r.gAz()) +r.d=null +r.XB()}, +v0(a,b){var s,r,q=this +q.r=!1 +q.d=new A.J() +s=q.a.d +s.toString +r=q.c +r.toString +s.afY(a,r).aT(0,q.a4E(q.d,b),t.H)}, +a4E(a,b){return new A.ahn(this,a,b)}, +K5(){var s=this +s.r=!0 +s.v0(s.a.c.a,new A.ahk(s))}, +a0H(){var s=this +s.d=new A.J() +return s.a.e.afZ().aT(0,s.a1X(s.d),t.y)}, +a1X(a){return new A.ahl(this,a)}, +LC(){this.al(new A.aho()) +this.uQ() +return new A.cv(null,t.b5)}, +a1Y(){this.al(new A.ahm()) +this.uQ()}, +K(a){var s=this.bB$,r=this.a,q=r.c,p=r.f,o=r.d +r=r.e +return A.abH(s,new A.QN(q,p,o,r,this,new A.fp(r.gafD(),null),null))}} +A.ahq.prototype={ +$0(){return this.a.a.e.gafk()}, +$S(){return this.a.$ti.h("a7<~>(1)()")}} +A.ahr.prototype={ +$0(){return this.a.a.e.gafj()}, +$S(){return this.a.$ti.h("a7<~>(1)()")}} +A.ahp.prototype={ +$0(){return this.a.a.e.gTC()}, +$S(){return this.a.$ti.h("a7<~>(1)()")}} +A.ahn.prototype={ +$1(a){var s=0,r=A.C(t.H),q,p=this,o,n +var $async$$1=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=p.a +n=p.b +if(o.d!=n){s=1 +break}s=3 +return A.y(p.c.$0().$1(a),$async$$1) +case 3:if(o.d==n)o.LC() +case 1:return A.A(q,r)}}) +return A.B($async$$1,r)}, +$S(){return this.a.$ti.h("a7<~>(1)")}} +A.ahk.prototype={ +$0(){return this.a.a.e.gTC()}, +$S(){return this.a.$ti.h("a7<~>(1)()")}} +A.ahl.prototype={ +$1(a){var s=this.a +if(this.b!=s.d)return new A.cv(!0,t.d9) +s.LC() +return new A.cv(a,t.d9)}, +$S:415} +A.aho.prototype={ +$0(){}, +$S:0} +A.ahm.prototype={ +$0(){}, +$S:0} +A.QN.prototype={ +bT(a){return!0}} +A.QC.prototype={ +w_(){return null}, +De(a){this.ap()}, +o3(a){var s,r +if(a==null)return null +t.Dn.a(a) +s=J.bP(a) +r=A.cL(s.gH(a)) +if(r==null)return null +return new A.lM(A.j0(r,0,null),s.gP(a))}, +oE(){var s,r=this,q=r.y,p=q==null +if((p?A.o(r).h("bI.T").a(q):q)==null)q=null +else{q=(p?A.o(r).h("bI.T").a(q):q).goJ().j(0) +s=r.y +q=[q,(s==null?A.o(r).h("bI.T").a(s):s).c]}return q}} +A.tJ.prototype={ +aH(a){this.b4(a) +this.qQ()}, +bh(){var s,r,q,p,o=this +o.d_() +s=o.bB$ +r=o.goz() +q=o.c +q.toString +q=A.qR(q) +o.h8$=q +p=o.nm(q,r) +if(r){o.jH(s,o.ez$) +o.ez$=!1}if(p)if(s!=null)s.l()}, +l(){var s,r=this +r.h7$.V(0,new A.aiS()) +s=r.bB$ +if(s!=null)s.l() +r.bB$=null +r.aC()}} +A.qx.prototype={ +m8(){var s,r=this,q=A.ama(r.gYI(),!1,!1) +r.p4=q +r.grD() +s=A.ama(r.gYK(),r.gkT(),!0) +r.RG=s +B.b.L(r.f,A.b([q,s],t.fy)) +r.VM()}, +lU(a){var s=this +s.VH(a) +if(s.ay.gaI(0)===B.F&&!s.at)s.a.Px(s) +return!0}, +l(){var s,r,q +for(s=this.f,r=s.length,q=0;q"))}} +A.mh.prototype={ +ao(){var s,r,q=this +q.aL() +s=A.b([],t.Eo) +r=q.a.c.k2 +if(r!=null)s.push(r) +r=q.a.c.k3 +if(r!=null)s.push(r) +q.e=new A.B6(s)}, +aH(a){this.b4(a) +this.N_()}, +bh(){this.d_() +this.d=null +this.N_()}, +N_(){var s,r,q=this.a.c,p=q.id +p=p!=null?p:q.a.a.Q +s=this.f +s.fr=p +r=q.gjw() +if(r)this.a.c.a.a.toString +if(r){r=q.a.y.gey() +if(r!=null)r.yz(s)}}, +Ji(){this.al(new A.ag0(this))}, +l(){this.f.l() +this.r.l() +this.aC()}, +gM8(){var s=this.a.c.k2 +if((s==null?null:s.gaI(0))!==B.bp){s=this.a.c.a +s=s==null?null:s.cx.a +s=s===!0}else s=!0 +return s}, +K(a){var s,r,q,p,o,n=this,m=null +n.f.sdY(!n.a.c.gjw()) +s=n.a.c +r=s.gjw() +q=n.a.c +if(!q.gDX()){q=q.jl$ +q=q!=null&&q.length!==0}else q=!0 +p=n.a.c +p=p.gDX()||p.wo$>0 +o=n.a.c +return A.pl(s.c,new A.ag4(n),new A.B8(r,q,p,s,new A.xp(o.k1,new A.qA(new A.fp(new A.ag5(n),m),o.p3,m),m),m))}} +A.ag0.prototype={ +$0(){this.a.d=null}, +$S:0} +A.ag4.prototype={ +$2(a,b){var s=this.a.a.c.c.a +b.toString +return new A.lL(b,s,null)}, +$S:417} +A.ag5.prototype={ +$1(a){var s,r=null,q=A.as([B.xe,new A.N3(a,new A.bg(A.b([],t.ot),t.wS))],t.u,t.od),p=this.a,o=p.e +o===$&&A.a() +s=p.d +if(s==null)s=p.d=new A.i1(new A.fp(new A.ag2(p),r),p.a.c.p2) +return A.Uw(q,new A.qH(p.r,B.ap,B.Jr,A.asU(new A.i1(new A.nE(new A.ag3(p),s,o,r),r),p.f,!0),r))}, +$S:418} +A.ag3.prototype={ +$2(a,b){var s,r,q=this.a,p=q.a.c,o=p.k2 +o.toString +s=p.k3 +s.toString +r=p.a +r=r==null?null:r.cx +if(r==null)r=new A.ez(!1,$.aN()) +return p.O5(a,o,s,new A.nE(new A.ag1(q),b,r,null))}, +$S:83} +A.ag1.prototype={ +$2(a,b){var s=this.a,r=s.gM8() +s.f.slF(!r) +return A.a0_(b,r,null)}, +$S:419} +A.ag2.prototype={ +$1(a){var s,r=this.a.a.c,q=r.k2 +q.toString +s=r.k3 +s.toString +return r.O1(a,q,s)}, +$S:35} +A.fD.prototype={ +al(a){var s,r=this.p1 +if(r.gbu()!=null){r=r.gbu() +if(r.a.c.gjw()){s=!r.gM8() +if(s)r.a.c.a.a.toString}else s=!1 +if(s){s=r.a.c.a.y.gey() +if(s!=null)s.yz(r.f)}r.al(a)}else a.$0()}, +O5(a,b,c,d){return d}, +m8(){var s=this +s.Hp() +s.k2=A.xT(A.dR.prototype.gbI.call(s,0)) +s.k3=A.xT(A.dR.prototype.gyt.call(s))}, +gadw(){var s,r=this +if(r.gEg())return!1 +s=r.jl$ +if(s!=null&&s.length!==0)return!1 +if(r.k4.length!==0||r.gkW()===B.cG)return!1 +if(r.k2.gaI(0)!==B.T)return!1 +if(r.k3.gaI(0)!==B.F)return!1 +if(r.a.cx.a)return!1 +return!0}, +sxi(a){var s,r=this +if(r.k1===a)return +r.al(new A.a4H(r,a)) +s=r.k2 +s.toString +s.scr(0,r.k1?B.cZ:A.dR.prototype.gbI.call(r,0)) +s=r.k3 +s.toString +s.scr(0,r.k1?B.bJ:A.dR.prototype.gyt.call(r)) +r.ii()}, +ho(){var s=0,r=A.C(t.oj),q,p=this,o,n,m +var $async$ho=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:p.p1.gbu() +o=A.a8(p.k4,!0,t.Ev),n=o.length,m=0 +case 3:if(!(m")),!1,r,!1,r,r,r,r,r,r,r,r,r,r,r,r,r,r,B.Hi,r,r,r,r):q}, +j(a){return"ModalRoute("+this.b.j(0)+", animation: "+A.h(this.ax)+")"}} +A.a4H.prototype={ +$0(){this.a.k1=this.b}, +$S:0} +A.a4F.prototype={ +$1(a){var s=this.a.p2,r=$.am.ai$.x.i(0,s) +r=r==null?null:r.e!=null +if(r!==!0)return +s=$.am.ai$.x.i(0,s) +if(s!=null)s.cz(this.b)}, +$S:6} +A.a4G.prototype={ +$0(){}, +$S:0} +A.xQ.prototype={ +gkT(){return!1}, +grD(){return!0}} +A.oS.prototype={ +ho(){var s=0,r=A.C(t.oj),q,p=this,o +var $async$ho=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:o=p.jl$ +if(o!=null&&o.length!==0){q=B.fh +s=1 +break}q=p.VO() +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$ho,r)}, +gkW(){var s=this.jl$ +if(s!=null&&s.length!==0)return B.fh +return A.cn.prototype.gkW.call(this)}, +lU(a){var s,r,q=this,p=q.jl$ +if(p!=null&&p.length!==0){s=p.pop() +s.b=null +s.afs() +r=s.c&&--q.wo$===0 +if(q.jl$.length===0||r)q.ii() +return!1}q.W9(a) +return!0}} +A.JD.prototype={ +K(a){var s,r,q,p=A.bM(a,B.bF,t.w).w.r,o=Math.max(p.a,0),n=this.d,m=n?p.b:0 +m=Math.max(m,0) +s=Math.max(p.c,0) +r=this.f +q=r?p.d:0 +return new A.cJ(new A.aL(o,m,s,Math.max(q,0)),A.aqS(this.x,a,r,!0,!0,n),null)}} +A.JQ.prototype={ +RP(){}, +P1(a,b){if(b!=null)b.cz(new A.yM(null,a,b,0))}, +P2(a,b,c){b.cz(A.amn(b,null,null,a,c))}, +wc(a,b,c){b.cz(new A.iL(null,c,0,a,b,0))}, +P0(a,b){b.cz(new A.k7(null,a,b,0))}, +qe(){}, +l(){this.b=!0}, +j(a){return"#"+A.b9(this)}} +A.ld.prototype={ +qe(){this.a.f8(0)}, +gj0(){return!1}, +ghS(){return!1}, +geK(){return 0}} +A.a_y.prototype={ +gj0(){return!1}, +ghS(){return!1}, +geK(){return 0}, +l(){this.c.$0() +this.u3()}} +A.a8B.prototype={ +Yh(a,b){var s,r,q=this +if(b==null)return a +if(a===0){s=!1 +if(q.d!=null)if(q.r==null){s=q.e +s=b.a-s.a>5e4}if(s)q.r=0 +return 0}else{s=q.r +if(s==null)return a +else{s+=a +q.r=s +r=q.d +r.toString +if(Math.abs(s)>r){q.r=null +s=Math.abs(a) +if(s>24)return a +else return Math.min(r/3,s)*J.dF(a)}else return 0}}}, +aZ(a,b){var s,r,q,p,o,n=this +n.x=b +s=b.c +s.toString +r=s===0 +if(!r)n.e=b.a +q=b.a +p=!1 +if(n.f)if(r)if(q!=null){r=n.e +r=q.a-r.a>2e4}else r=!0 +else r=p +else r=p +if(r)n.f=!1 +o=n.Yh(s,q) +if(o===0)return +s=n.a +if(A.Dg(s.w.a.c))o=-o +s.FG(o>0?B.iX:B.iY) +r=s.at +r.toString +s.z2(r-s.r.Ck(s,o))}, +Pl(a,b){var s,r,q=this,p=b.b +p.toString +s=-p +if(A.Dg(q.a.w.a.c))s=-s +q.x=b +if(q.f){p=q.c +r=Math.abs(s)>Math.abs(p)*0.5 +if(J.dF(s)===J.dF(p)&&r)s+=p}q.a.f8(s)}, +l(){this.x=null +this.b.$0()}, +j(a){return"#"+A.b9(this)}} +A.Y0.prototype={ +P1(a,b){var s=t.uL.a(this.c.x) +if(b!=null)b.cz(new A.yM(s,a,b,0))}, +P2(a,b,c){b.cz(A.amn(b,null,t.zk.a(this.c.x),a,c))}, +wc(a,b,c){b.cz(new A.iL(t.zk.a(this.c.x),c,0,a,b,0))}, +P0(a,b){var s=this.c.x +b.cz(new A.k7(s instanceof A.eR?s:null,a,b,0))}, +gj0(){var s=this.c +return(s==null?null:s.w)!==B.bv}, +ghS(){return!0}, +geK(){return 0}, +l(){this.c=null +this.u3()}, +j(a){return"#"+A.b9(this)+"("+A.h(this.c)+")"}} +A.Ec.prototype={ +RP(){var s=this.a,r=this.c +r===$&&A.a() +s.f8(r.geK())}, +qe(){var s=this.a,r=this.c +r===$&&A.a() +s.f8(r.geK())}, +Bz(){var s=this.c +s===$&&A.a() +s=s.x +s===$&&A.a() +if(!(Math.abs(this.a.z2(s))<1e-10)){s=this.a +s.h0(new A.ld(s))}}, +Bn(){if(!this.b)this.a.f8(0)}, +wc(a,b,c){var s=this.c +s===$&&A.a() +b.cz(new A.iL(null,c,s.geK(),a,b,0))}, +ghS(){return!0}, +geK(){var s=this.c +s===$&&A.a() +return s.geK()}, +l(){var s=this.c +s===$&&A.a() +s.l() +this.u3()}, +j(a){var s=A.b9(this),r=this.c +r===$&&A.a() +return"#"+s+"("+r.j(0)+")"}, +gj0(){return this.d}} +A.FO.prototype={ +Bz(){var s=this.a,r=this.d +r===$&&A.a() +r=r.x +r===$&&A.a() +if(s.z2(r)!==0){s=this.a +s.h0(new A.ld(s))}}, +Bn(){var s,r +if(!this.b){s=this.a +r=this.d +r===$&&A.a() +s.f8(r.geK())}}, +wc(a,b,c){var s=this.d +s===$&&A.a() +b.cz(new A.iL(null,c,s.geK(),a,b,0))}, +gj0(){return!0}, +ghS(){return!0}, +geK(){var s=this.d +s===$&&A.a() +return s.geK()}, +l(){var s=this.c +s===$&&A.a() +s.eS(0) +s=this.d +s===$&&A.a() +s.l() +this.u3()}, +j(a){var s=A.b9(this),r=this.d +r===$&&A.a() +return"#"+s+"("+r.j(0)+")"}} +A.yH.prototype={ +t5(a,b,c,d){var s,r=this +if(b.a==null){s=$.jU.nT$ +s===$&&A.a() +s=s.a.i(0,c)!=null||s.b.i(0,c)!=null}else s=!0 +if(s){r.b.t5(a,b,c,d) +return}s=r.a +if(s.gb1(0)==null)return +s=s.gb1(0) +s.toString +if(A.aDE(s)){$.bC.yr(new A.a8x(r,a,b,c,d)) +return}r.b.t5(a,b,c,d)}, +wY(a,b){return this.b.wY(a,b)}, +x3(a,b){return this.b.x3(a,b)}, +EE(a){return this.b.EE(a)}} +A.a8x.prototype={ +$1(a){var s=this +A.e3(new A.a8w(s.a,s.b,s.c,s.d,s.e))}, +$S:6} +A.a8w.prototype={ +$0(){var s=this +return s.a.t5(s.b,s.c,s.d,s.e)}, +$S:0} +A.JR.prototype={ +vX(a,b,c,d,e,f,g){return new A.aiJ(this,g!==!1,c!==!1,d,e,a,b,f)}, +Ot(a){var s=null +return this.vX(s,s,s,s,s,s,a)}, +hr(a){return A.eF()}, +gkt(){return B.wn}, +l7(a){switch(this.hr(a).a){case 4:case 2:return B.iD +case 3:case 5:case 0:case 1:return B.cy}}, +grY(){return A.bX([B.bW,B.cq],t.r)}, +vH(a,b,c){var s=null +switch(this.hr(a).a){case 3:case 4:case 5:return A.aDc(b,c.b,B.bd,s,s,A.Dr(),B.r,s,s,s,s,B.da,s) +case 0:case 1:case 2:return b}}, +vF(a,b,c){switch(this.hr(a).a){case 2:case 3:case 4:case 5:return b +case 0:case 1:return A.aqa(c.a,b,B.i)}}, +y6(a){switch(this.hr(a).a){case 2:return new A.a8y() +case 4:return new A.a8z() +case 0:case 1:case 3:case 5:return new A.a8A()}}, +my(a){switch(this.hr(a).a){case 2:return B.ya +case 4:return B.yb +case 0:case 1:case 3:case 5:return B.A0}}, +yD(a){return!1}, +j(a){return"ScrollBehavior"}} +A.a8y.prototype={ +$1(a){return A.aBs(a.gck(a))}, +$S:420} +A.a8z.prototype={ +$1(a){var s=a.gck(a),r=t.av +return new A.qo(A.b8(20,null,!1,r),s,A.b8(20,null,!1,r))}, +$S:421} +A.a8A.prototype={ +$1(a){return new A.i9(a.gck(a),A.b8(20,null,!1,t.av))}, +$S:136} +A.aiJ.prototype={ +gkt(){var s=this.f +return s==null?B.wn:s}, +grY(){var s=this.w +return s==null?A.bX([B.bW,B.cq],t.r):s}, +l7(a){var s=this.a.l7(a) +return s}, +vF(a,b,c){if(this.c)return this.a.vF(a,b,c) +return b}, +vH(a,b,c){if(this.b)return this.a.vH(a,b,c) +return b}, +vX(a,b,c,d,e,f,g){var s=this,r=g==null?s.b:g,q=c==null?s.c:c,p=s.gkt(),o=s.grY() +return s.a.vX(p,s.r,q,s.d,s.e,o,r)}, +Ot(a){var s=null +return this.vX(s,s,s,s,s,s,a)}, +hr(a){var s=this.a.hr(a) +return s}, +my(a){var s=this.a.my(a) +return s}, +yD(a){var s=this,r=!0 +if(A.r(a.a)===A.r(s.a))if(a.b===s.b)if(a.c===s.c)if(A.tZ(a.gkt(),s.gkt())){r=A.tZ(a.grY(),s.grY()) +r=!r}return r}, +y6(a){return this.a.y6(a)}, +j(a){return"_WrappedScrollBehavior"}} +A.yI.prototype={ +bT(a){var s=this.f,r=a.f +if(A.r(s)===A.r(r))s=s!==r&&s.yD(r) +else s=!0 +return s}} +A.qZ.prototype={ +ic(a,b,c){return this.a7A(a,b,c)}, +a7A(a,b,c){var s=0,r=A.C(t.H),q=this,p,o,n +var $async$ic=A.D(function(d,e){if(d===1)return A.z(e,r) +while(true)switch(s){case 0:n=A.b([],t.mo) +for(p=q.f,o=0;o#"+A.b9(this)+"("+B.b.bw(s,", ")+")"}} +A.a9N.prototype={ +gqY(){return null}, +j(a){var s=A.b([],t.s) +this.cw(s) +return"#"+A.b9(this)+"("+B.b.bw(s,", ")+")"}, +cw(a){var s,r,q +try{s=this.gqY() +if(s!=null)a.push("estimated child count: "+A.h(s))}catch(q){r=A.a6(q) +a.push("estimated child count: EXCEPTION ("+J.T(r).j(0)+")")}}} +A.tu.prototype={} +A.a9M.prototype={ +PA(a){return null}, +Cs(a,b){var s,r,q,p,o,n,m,l,k=null +if(b>=0)p=b>=this.b +else p=!0 +if(p)return k +s=null +try{s=this.a.$2(a,b)}catch(o){r=A.a6(o) +q=A.aK(o) +n=new A.bD(r,q,"widgets library",A.bk("building"),k,!1) +A.df(n) +s=A.YR(n)}if(s==null)return k +if(s.a!=null){p=s.a +p.toString +m=new A.tu(p)}else m=k +p=s +s=new A.i1(p,k) +l=A.anm(s,b) +if(l!=null)s=new A.wp(l,s,k) +p=s +s=new A.pr(new A.tv(p,k),k) +return new A.iF(s,m)}, +gqY(){return this.b}, +Go(a){return!0}} +A.a9O.prototype={ +a_K(a){var s,r,q,p=null,o=this.r +if(!o.a9(0,a)){s=o.i(0,p) +s.toString +for(r=this.f,q=s;q=this.f.length)return o +s=this.f[b] +r=s.a +q=r!=null?new A.tu(r):o +s=new A.i1(s,o) +p=A.anm(s,b) +s=p!=null?new A.wp(p,s,o):s +return new A.iF(new A.pr(new A.tv(s,o),o),q)}, +gqY(){return this.f.length}, +Go(a){return this.f!==a.f}} +A.tv.prototype={ +ag(){return new A.C8(null)}} +A.C8.prototype={ +goL(){return this.r}, +acz(a){return new A.ahD(this,a)}, +vk(a,b){var s,r=this +if(b){s=r.d;(s==null?r.d=A.aA(t.x9):s).D(0,a)}else{s=r.d +if(s!=null)s.A(0,a)}s=r.d +s=s==null?null:s.a!==0 +s=s===!0 +if(r.r!==s){r.r=s +r.oI()}}, +bh(){var s,r,q,p=this +p.d_() +s=p.c +s.toString +r=A.yV(s) +s=p.f +if(s!=r){if(s!=null){q=p.e +if(q!=null)new A.aZ(q,A.o(q).h("aZ<1>")).V(0,s.gos(s))}p.f=r +if(r!=null){s=p.e +if(s!=null)new A.aZ(s,A.o(s).h("aZ<1>")).V(0,r.ghy(r))}}}, +D(a,b){var s,r=this,q=r.acz(b) +b.a0(0,q) +s=r.e;(s==null?r.e=A.E(t.x9,t.M):s).n(0,b,q) +r.f.D(0,b) +if(b.gm(b).c!==B.by)r.vk(b,!0)}, +A(a,b){var s=this.e +if(s==null)return +s=s.A(0,b) +s.toString +b.J(0,s) +this.f.A(0,b) +this.vk(b,!1)}, +l(){var s,r,q=this,p=q.e +if(p!=null){for(p=A.hc(p,p.r);p.t();){s=p.d +q.f.A(0,s) +r=q.e.i(0,s) +r.toString +s.J(0,r)}q.e=null}q.d=null +q.aC()}, +K(a){var s=this +s.yO(a) +if(s.f==null)return s.a.c +return A.arQ(s.a.c,s)}} +A.ahD.prototype={ +$0(){var s=this.b,r=this.a +if(s.gm(s).c!==B.by)r.vk(s,!0) +else r.vk(s,!1)}, +$S:0} +A.Te.prototype={ +ao(){this.aL() +if(this.r)this.pp()}, +cN(){var s=this.ft$ +if(s!=null){s.ap() +s.dI() +this.ft$=null}this.p8()}} +A.i3.prototype={ +hD(){var s=this,r=null,q=s.gDZ()?s.gfC():r,p=s.gDZ()?s.gfB():r,o=s.gQ1()?s.gcu():r,n=s.gQ3()?s.gtp():r,m=s.gew(),l=s.gnI(s) +return new A.vV(q,p,o,n,m,l)}, +grQ(){var s=this +return s.gcu()s.gfB()}, +gNV(){var s=this +return s.gcu()===s.gfC()||s.gcu()===s.gfB()}, +gm_(){var s=this +return s.gtp()-A.M(s.gfC()-s.gcu(),0,s.gtp())-A.M(s.gcu()-s.gfB(),0,s.gtp())}} +A.vV.prototype={ +gfC(){var s=this.a +s.toString +return s}, +gfB(){var s=this.b +s.toString +return s}, +gDZ(){return this.a!=null&&this.b!=null}, +gcu(){var s=this.c +s.toString +return s}, +gQ1(){return this.c!=null}, +gtp(){var s=this.d +s.toString +return s}, +gQ3(){return this.d!=null}, +j(a){var s=this +return"FixedScrollMetrics("+B.c.R(Math.max(s.gcu()-s.gfC(),0),1)+"..["+B.c.R(s.gm_(),1)+"].."+B.c.R(Math.max(s.gfB()-s.gcu(),0),1)+")"}, +gew(){return this.e}, +gnI(a){return this.f}} +A.Nx.prototype={} +A.fb.prototype={} +A.Ll.prototype={ +QZ(a){if(t.rS.b(a))++a.e9$ +return!1}} +A.ev.prototype={ +cw(a){this.X4(a) +a.push(this.a.j(0))}} +A.yM.prototype={ +cw(a){var s +this.p7(a) +s=this.d +if(s!=null)a.push(s.j(0))}} +A.hl.prototype={ +cw(a){var s +this.p7(a) +a.push("scrollDelta: "+A.h(this.e)) +s=this.d +if(s!=null)a.push(s.j(0))}} +A.iL.prototype={ +cw(a){var s,r=this +r.p7(a) +a.push("overscroll: "+B.c.R(r.e,1)) +a.push("velocity: "+B.c.R(r.f,1)) +s=r.d +if(s!=null)a.push(s.j(0))}} +A.k7.prototype={ +cw(a){var s +this.p7(a) +s=this.d +if(s!=null)a.push(s.j(0))}} +A.Lf.prototype={ +cw(a){this.p7(a) +a.push("direction: "+this.d.j(0))}} +A.C_.prototype={ +cw(a){var s,r +this.yW(a) +s=this.e9$ +r=s===0?"local":"remote" +a.push("depth: "+s+" ("+r+")")}} +A.BZ.prototype={ +bT(a){return this.f!==a.f}} +A.mf.prototype={ +acy(a,b){return this.a.$1(b)}} +A.yL.prototype={ +ag(){return new A.JU(new A.nC(t.z_))}} +A.JU.prototype={ +J(a,b){var s,r,q=this.d +q.toString +q=A.aFe(q,q.$ti.c) +s=q.$ti.c +for(;q.t();){r=q.c +if(r==null)r=s.a(r) +if(J.e(r.a,b)){q=r.h9$ +q.toString +q.MI(A.o(r).h("fB.E").a(r)) +return}}}, +KN(a){var s,r,q,p,o,n,m,l,k=this.d +if(k.b===0)return +p=A.a8(k,!0,t.Sx) +for(k=p.length,o=0;oMath.max(Math.abs(s.a),Math.abs(s.b))}return s.Ru(a,b,c)}, +qc(a,b){var s=this.a +s=s==null?null:s.qc(a,b) +return s==null?0:s}, +vB(a,b,c,d){var s=this.a +if(s==null){s=b.c +s.toString +return s}return s.vB(a,b,c,d)}, +nD(a,b){var s=this.a +return s==null?null:s.nD(a,b)}, +gmN(){var s=this.a +s=s==null?null:s.gmN() +return s==null?$.awp():s}, +tg(a){var s=this.a +s=s==null?null:s.tg(a) +if(s==null){s=a.w.f +s===$&&A.a() +s=new A.zK(1/s,1/(0.05*s))}return s}, +gEx(){var s=this.a +s=s==null?null:s.gEx() +return s==null?18:s}, +gxe(){var s=this.a +s=s==null?null:s.gxe() +return s==null?50:s}, +grF(){var s=this.a +s=s==null?null:s.grF() +return s==null?8000:s}, +Cw(a){var s=this.a +s=s==null?null:s.Cw(a) +return s==null?0:s}, +gDk(){var s=this.a +return s==null?null:s.gDk()}, +gnt(){return!0}, +j(a){var s=this.a +if(s==null)return"ScrollPhysics" +return"ScrollPhysics -> "+s.j(0)}} +A.IV.prototype={ +je(a){return new A.IV(this.ig(a))}, +vB(a,b,c,d){var s,r,q,p,o,n,m=d===0,l=c.a +l.toString +s=b.a +s.toString +if(l===s){r=c.b +r.toString +q=b.b +q.toString +q=r===q +r=q}else r=!1 +p=r?!1:m +r=c.c +r.toString +q=b.c +q.toString +if(r!==q){q=!1 +if(isFinite(l)){o=c.b +o.toString +if(isFinite(o))if(isFinite(s)){q=b.b +q.toString +q=isFinite(q)}}if(q)m=!1 +p=!1}q=ro}else o=!0 +if(o)m=!1 +if(p){if(q&&s>l)return s-(l-r) +l=c.b +l.toString +if(r>l){q=b.b +q.toString +q=q0&&b<0))n=p>0&&b>0 +else n=!0 +s=a.ax +if(n){s.toString +m=this.PO((o-Math.abs(b))/s)}else{s.toString +m=this.PO(o/s)}l=J.dF(b) +if(n&&this.b===B.w_)return l*Math.abs(b) +return l*A.az6(o,Math.abs(b),m)}, +qc(a,b){return 0}, +nD(a,b){var s,r,q,p,o,n,m,l=this.tg(a) +if(Math.abs(b)>=l.c||a.grQ()){s=this.gmN() +r=a.at +r.toString +q=a.z +q.toString +p=a.Q +p.toString +switch(this.b.a){case 1:o=1400 +break +case 0:o=0 +break +default:o=null}n=new A.Va(q,p,s,l) +if(rp){n.f=new A.lN(p,A.ty(s,r-p,b),B.bk) +n.r=-1/0}else{r=n.e=A.aB9(0.135,r,b,o) +m=r.gwr() +if(b>0&&m>p){q=r.S4(p) +n.r=q +n.f=new A.lN(p,A.ty(s,p-p,Math.min(r.e8(0,q),5000)),B.bk)}else if(b<0&&mr)q=r +else q=o +r=a.z +r.toString +if(s0){r=a.at +r.toString +p=a.Q +p.toString +p=r>=p +r=p}else r=!1 +if(r)return o +if(b<0){r=a.at +r.toString +p=a.z +p.toString +p=r<=p +r=p}else r=!1 +if(r)return o +r=a.at +r.toString +r=new A.Wl(r,b,n) +p=$.akD() +s=p*0.35*Math.pow(s/2223.8657884799995,1/(p-1)) +r.e=s +r.f=b*s/p +return r}} +A.DV.prototype={ +je(a){return new A.DV(this.ig(a))}, +jV(a){return!0}} +A.oh.prototype={ +F(){return"ScrollPositionAlignmentPolicy."+this.b}} +A.k8.prototype={ +Hv(a,b,c,d,e){if(d!=null)this.kh(d) +this.RW()}, +gfC(){var s=this.z +s.toString +return s}, +gfB(){var s=this.Q +s.toString +return s}, +gDZ(){return this.z!=null&&this.Q!=null}, +gcu(){var s=this.at +s.toString +return s}, +gQ1(){return this.at!=null}, +gtp(){var s=this.ax +s.toString +return s}, +gQ3(){return this.ax!=null}, +kh(a){var s=this,r=a.z +if(r!=null&&a.Q!=null){r.toString +s.z=r +r=a.Q +r.toString +s.Q=r}r=a.at +if(r!=null)s.at=r +r=a.ax +if(r!=null)s.ax=r +s.fr=a.fr +a.fr=null +if(A.r(a)!==A.r(s))s.fr.RP() +s.w.yA(s.fr.gj0()) +s.dy.sm(0,s.fr.ghS())}, +gnI(a){var s=this.w.f +s===$&&A.a() +return s}, +TD(a){var s,r,q,p=this,o=p.at +o.toString +if(a!==o){s=p.r.qc(p,a) +o=p.at +o.toString +r=a-s +p.at=r +if(r!==o){if(p.grQ())p.w.yA(!1) +p.BS() +p.GD() +r=p.at +r.toString +p.Dd(r-o)}if(Math.abs(s)>1e-10){o=p.fr +o.toString +r=p.hD() +q=$.am.ai$.x.i(0,p.w.Q) +q.toString +o.wc(r,q,s) +return s}}return 0}, +CL(a){var s=this.at +s.toString +this.at=s+a +this.ch=!0}, +DE(a){var s=this,r=s.at +r.toString +s.as=a-r +s.at=a +s.BS() +s.GD() +$.bC.p2$.push(new A.a8F(s))}, +G8(){var s,r=this.w,q=r.c +q.toString +q=A.a5E(q) +if(q!=null){r=r.c +r.toString +s=this.at +s.toString +q.Ss(r,s)}}, +RW(){var s,r,q +if(this.at==null){s=this.w +r=s.c +r.toString +r=A.a5E(r) +if(r==null)q=null +else{s=s.c +s.toString +q=r.Rr(s)}if(q!=null)this.at=q}}, +RV(a,b){if(b)this.at=a +else this.eC(a)}, +G7(){var s=this.at +s.toString +this.w.r.sm(0,s) +s=$.eb.m0$ +s===$&&A.a() +s.PE()}, +qh(a){if(this.ax!==a){this.ax=a +this.ch=!0}return!0}, +qd(a,b){var s,r,q,p,o=this +if(!A.Dp(o.z,a,0.001)||!A.Dp(o.Q,b,0.001)||o.ch||o.db!==A.aX(o.gew())){o.z=a +o.Q=b +o.db=A.aX(o.gew()) +s=o.ay?o.hD():null +o.ch=!1 +o.CW=!0 +if(o.ay){r=o.cx +r.toString +s.toString +r=!o.a93(r,s)}else r=!1 +if(r)return!1 +o.ay=!0}if(o.CW){o.VV() +o.w.Tx(o.r.jV(o)) +o.CW=!1}s=o.hD() +if(o.cx!=null){r=Math.max(s.gcu()-s.gfC(),0) +q=o.cx +p=!1 +if(r===Math.max(q.gcu()-q.gfC(),0))if(s.gm_()===o.cx.gm_()){r=Math.max(s.gfB()-s.gcu(),0) +q=o.cx +r=r===Math.max(q.gfB()-q.gcu(),0)&&s.e===o.cx.e}else r=p +else r=p +r=!r}else r=!0 +if(r){if(!o.cy){A.e3(o.ga9w()) +o.cy=!0}o.cx=o.hD()}return!0}, +a93(a,b){var s=this,r=s.r.vB(s.fr.ghS(),b,a,s.fr.geK()),q=s.at +q.toString +if(r!==q){s.at=r +return!1}return!0}, +qe(){this.fr.qe() +this.BS()}, +BS(){var s,r,q,p,o,n,m=this,l=m.w +switch(l.a.c.a){case 0:s=B.Ik +break +case 2:s=B.Ip +break +case 3:s=B.Il +break +case 1:s=B.Iq +break +default:s=null}r=s.a +q=null +p=s.b +q=p +s=A.aA(t._S) +o=m.at +o.toString +n=m.z +n.toString +if(o>n)s.D(0,q) +o=m.at +o.toString +n=m.Q +n.toString +if(on)k=n +break +default:k=null}n=p.at +n.toString +if(k===n){s=1 +break}if(e.a===B.r.a){p.eC(k) +s=1 +break}q=p.ic(k,d,e) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$qX,r)}, +rK(a,b,c,d){var s,r=this.z +r.toString +s=this.Q +s.toString +b=A.M(b,r,s) +return this.Wd(0,b,c,d)}, +h0(a){var s,r,q=this,p=q.fr +if(p!=null){s=p.gj0() +r=q.fr.ghS() +if(r&&!a.ghS())q.D6() +q.fr.l()}else{r=!1 +s=!1}q.fr=a +if(s!==a.gj0())q.w.yA(q.fr.gj0()) +q.dy.sm(0,q.fr.ghS()) +if(!r&&q.fr.ghS())q.Da()}, +Da(){var s=this.fr +s.toString +s.P1(this.hD(),$.am.ai$.x.i(0,this.w.Q))}, +Dd(a){var s,r,q=this.fr +q.toString +s=this.hD() +r=$.am.ai$.x.i(0,this.w.Q) +r.toString +q.P2(s,r,a)}, +D6(){var s,r,q=this,p=q.fr +p.toString +s=q.hD() +r=$.am.ai$.x.i(0,q.w.Q) +r.toString +p.P0(s,r) +q.G7() +q.G8()}, +a9x(){var s,r,q +this.cy=!1 +s=this.w.Q +if($.am.ai$.x.i(0,s)!=null){r=this.hD() +q=$.am.ai$.x.i(0,s) +q.toString +s=$.am.ai$.x.i(0,s) +if(s!=null)s.cz(new A.of(r,q,0))}}, +l(){var s=this,r=s.fr +if(r!=null)r.l() +s.fr=null +r=s.dy +r.O$=$.aN() +r.S$=0 +s.dI()}, +cw(a){var s,r,q=this +q.Wc(a) +s=q.z +s=s==null?null:B.c.R(s,1) +r=q.Q +r=r==null?null:B.c.R(r,1) +a.push("range: "+A.h(s)+".."+A.h(r)) +r=q.ax +a.push("viewport: "+A.h(r==null?null:B.c.R(r,1)))}} +A.a8F.prototype={ +$1(a){this.a.as=0}, +$S:6} +A.of.prototype={ +NS(){return A.amn(this.b,this.e9$,null,this.a,null)}, +cw(a){this.X3(a) +a.push(this.a.j(0))}} +A.BY.prototype={ +cw(a){var s,r +this.yW(a) +s=this.e9$ +r=s===0?"local":"remote" +a.push("depth: "+s+" ("+r+")")}} +A.QT.prototype={} +A.oi.prototype={ +Hw(a,b,c,d,e,f){var s=this +if(s.at==null&&c!=null)s.at=c +if(s.fr==null)s.h0(new A.ld(s))}, +gew(){return this.w.a.c}, +kh(a){var s,r=this +r.VT(a) +r.fr.a=r +r.k4=a.k4 +s=a.ok +if(s!=null){r.ok=s +s.a=r +a.ok=null}}, +h0(a){var s,r=this +r.k3=0 +r.VX(a) +s=r.ok +if(s!=null)s.l() +r.ok=null +if(!r.fr.ghS())r.FG(B.fi)}, +f8(a){var s,r,q,p=this,o=p.r.nD(p,a) +if(o!=null){if(!p.grQ()){s=p.fr +s=s==null?null:s.gj0() +s=s!==!1}else s=!1 +s=new A.Ec(s,p) +r=A.al3(null,0,p.w) +r.bl() +q=r.c9$ +q.b=!0 +q.a.push(s.gBy()) +r.eo(0) +r.z=B.an +r.vd(o).a.a.fI(s.gBm()) +s.c=r +p.h0(s)}else p.h0(new A.ld(p))}, +FG(a){var s,r,q,p=this +if(p.k4===a)return +p.k4=a +s=p.hD() +r=p.w.Q +q=$.am.ai$.x.i(0,r) +q.toString +r=$.am.ai$.x.i(0,r) +if(r!=null)r.cz(new A.Lf(a,s,q,0))}, +ic(a,b,c){var s,r,q,p=this,o=p.at +o.toString +if(A.Dp(a,o,p.r.tg(p).a)){p.eC(a) +return A.ce(null,t.H)}o=p.at +o.toString +s=new A.FO(p) +r=new A.b1(new A.a9($.ad,t.U),t.h) +s.c=r +o=A.al3("DrivenScrollActivity",o,p.w) +o.bl() +q=o.c9$ +q.b=!0 +q.a.push(s.gBy()) +o.z=B.an +o.jZ(a,b,c).a.a.fI(s.gBm()) +s.d!==$&&A.bx() +s.d=o +p.h0(s) +return r.a}, +eC(a){var s,r,q=this +q.h0(new A.ld(q)) +s=q.at +s.toString +if(s!==a){q.DE(a) +q.Da() +r=q.at +r.toString +q.Dd(r-s) +q.D6()}q.f8(0)}, +F4(a){var s,r,q,p,o=this +if(a===0){o.f8(0) +return}s=o.at +s.toString +r=o.z +r.toString +r=Math.max(s+a,r) +q=o.Q +q.toString +p=Math.min(r,q) +if(p!==s){o.h0(new A.ld(o)) +o.FG(-a>0?B.iX:B.iY) +s=o.at +s.toString +o.dy.sm(0,!0) +o.DE(p) +o.Da() +r=o.at +r.toString +o.Dd(r-s) +o.D6() +o.f8(0)}}, +wJ(a){var s=this,r=s.fr.geK(),q=new A.a_y(a,s) +s.h0(q) +s.k3=r +return q}, +P8(a,b){var s,r,q=this,p=q.r,o=p.Cw(q.k3) +p=p.gDk() +s=p==null?null:0 +r=new A.a8B(q,b,o,p,a.a,o!==0,s,a.d,a) +q.h0(new A.Y0(r,q)) +return q.ok=r}, +l(){var s=this.ok +if(s!=null)s.l() +this.ok=null +this.VZ()}} +A.Va.prototype={ +Bs(a){var s,r=this,q=r.r +q===$&&A.a() +if(a>q){if(!isFinite(q))q=0 +r.w=q +q=r.f +q===$&&A.a() +s=q}else{r.w=0 +q=r.e +q===$&&A.a() +s=q}s.a=r.a +return s}, +dq(a,b){return this.Bs(b).dq(0,b-this.w)}, +e8(a,b){return this.Bs(b).e8(0,b-this.w)}, +kM(a){return this.Bs(a).kM(a-this.w)}, +j(a){return"BouncingScrollSimulation(leadingExtent: "+A.h(this.b)+", trailingExtent: "+A.h(this.c)+")"}} +A.Wl.prototype={ +dq(a,b){var s,r=this.e +r===$&&A.a() +s=A.M(b/r,0,1) +r=this.f +r===$&&A.a() +return this.b+r*(1-Math.pow(1-s,$.akD()))}, +e8(a,b){var s=this.e +s===$&&A.a() +return this.c*Math.pow(1-A.M(b/s,0,1),$.akD()-1)}, +kM(a){var s=this.e +s===$&&A.a() +return a>=s}} +A.JW.prototype={ +F(){return"ScrollViewKeyboardDismissBehavior."+this.b}} +A.JV.prototype={ +a7W(a,b,c,d){return A.asE(0,c,this.Q,B.zA,null,this.ch,b,d)}, +K(a){var s,r,q,p,o,n,m,l,k,j=this,i=null,h=j.a7T(a),g=j.cy,f=A.dL(a,i) +if(f!=null){s=f.r +r=s.a8T(0,0) +q=s.a8V(0,0) +s=j.c===B.ap +g=s?q:r +h=A.x1(h,f.CJ(s?r:q))}p=A.b([g!=null?new A.Kp(g,h,i):h],t.E) +s=j.c +o=A.ak4(a,s,!1) +n=j.f +n=A.arn(a,s) +m=n?A.IP(a):j.e +l=A.amo(o,j.ch,m,j.at,j.CW,j.r,j.ay,i,j.as,new A.a8G(j,o,p)) +k=n&&m!=null?A.arm(l):l +if(j.ax===B.IK)return new A.cI(new A.a8H(a),k,i,t.kj) +else return k}} +A.a8G.prototype={ +$2(a,b){return this.a.a7W(a,b,this.b,this.c)}, +$S:425} +A.a8H.prototype={ +$1(a){var s,r=A.aq6(this.a) +if(a.d!=null&&!r.giu()&&r.git()){s=$.am.ai$.d.c +if(s!=null)s.tj()}return!1}, +$S:426} +A.Em.prototype={} +A.H9.prototype={ +a7T(a){return new A.Ko(this.ry,null)}} +A.ahy.prototype={ +$2(a,b){if(!a.a)a.J(0,b)}, +$S:44} +A.yO.prototype={ +ag(){var s=null,r=t.C +return new A.yP(new A.QD($.aN()),new A.bz(s,r),new A.bz(s,t.hA),new A.bz(s,r),B.qL,s,A.E(t.yb,t.M),s,!0,s,s,s)}, +af_(a,b){return this.f.$2(a,b)}} +A.a8O.prototype={ +$1(a){return null}, +$S:427} +A.C0.prototype={ +bT(a){return this.r!==a.r}} +A.yP.prototype={ +gOP(){var s,r=this +switch(r.a.c.a){case 0:s=r.d.at +s.toString +s=new A.n(0,-s) +break +case 2:s=r.d.at +s.toString +s=new A.n(0,s) +break +case 3:s=r.d.at +s.toString +s=new A.n(-s,0) +break +case 1:s=r.d.at +s.toString +s=new A.n(s,0) +break +default:s=null}return s}, +gpn(){var s=this.a.d +if(s==null){s=this.x +s.toString}return s}, +gda(){return this.a.Q}, +N6(){var s,r,q,p=this,o=p.a.as +if(o==null){o=p.c +o.toString +o=A.yJ(o)}p.w=o +s=p.c +s.toString +s=o.my(s) +p.e=s +o=p.a +r=o.e +if(r!=null)p.e=r.je(s) +else{o=o.as +if(o!=null){s=p.c +s.toString +p.e=o.my(s).je(p.e)}}q=p.d +if(q!=null){p.gpn().qI(0,q) +A.e3(q.gkr())}o=p.gpn() +s=p.e +s.toString +p.d=o.OI(s,p,q) +s=p.gpn() +o=p.d +o.toString +s.ah(o)}, +jH(a,b){var s,r,q,p=this.r +this.or(p,"offset") +s=p.y +r=s==null +if((r?A.o(p).h("bI.T").a(s):s)!=null){q=this.d +q.toString +p=r?A.o(p).h("bI.T").a(s):s +p.toString +q.RV(p,b)}}, +ao(){if(this.a.d==null)this.x=A.amm(null,null) +this.aL()}, +bh(){var s=this,r=s.c +r.toString +r=A.dL(r,B.xy) +s.y=r==null?null:r.CW +r=s.c +r.toString +r=A.dL(r,B.e7) +r=r==null?null:r.b +if(r==null){r=s.c +r.toString +A.asC(r).toString +r=$.bq().d +if(r==null){r=self.window.devicePixelRatio +if(r===0)r=1}}s.f=r +s.N6() +s.X6()}, +a5X(a){var s,r,q=this,p=null,o=q.a.as,n=o==null,m=a.as,l=m==null +if(n!==l)return!0 +if(!n&&!l&&o.yD(m))return!0 +o=q.a +s=o.e +if(s==null){o=o.as +if(o==null)s=p +else{n=q.c +n.toString +n=o.my(n) +s=n}}r=a.e +if(r==null)if(l)r=p +else{o=q.c +o.toString +o=m.my(o) +r=o}do{o=s==null +n=o?p:A.r(s) +m=r==null +if(n!=(m?p:A.r(r)))return!0 +s=o?p:s.a +r=m?p:r.a}while(s!=null||r!=null) +o=q.a.d +o=o==null?p:A.r(o) +n=a.d +return o!=(n==null?p:A.r(n))}, +aH(a){var s,r,q=this +q.X7(a) +s=a.d +if(q.a.d!=s){if(s==null){s=q.x +s.toString +r=q.d +r.toString +s.qI(0,r) +q.x.l() +q.x=null}else{r=q.d +r.toString +s.qI(0,r) +if(q.a.d==null)q.x=A.amm(null,null)}s=q.gpn() +r=q.d +r.toString +s.ah(r)}if(q.a5X(a))q.N6()}, +l(){var s,r=this,q=r.a.d +if(q!=null){s=r.d +s.toString +q.qI(0,s)}else{q=r.x +if(q!=null){s=r.d +s.toString +q.qI(0,s)}q=r.x +if(q!=null)q.l()}r.d.l() +r.r.l() +r.X8()}, +Tx(a){var s,r,q=this +if(a===q.ay)s=!a||A.aX(q.a.c)===q.ch +else s=!1 +if(s)return +if(!a){q.at=B.qL +q.LM()}else{switch(A.aX(q.a.c).a){case 1:q.at=A.as([B.jt,new A.cR(new A.a8K(q),new A.a8L(q),t.ok)],t.u,t.xR) +break +case 0:q.at=A.as([B.jv,new A.cR(new A.a8M(q),new A.a8N(q),t.Uv)],t.u,t.xR) +break}a=!0}q.ay=a +q.ch=A.aX(q.a.c) +s=q.Q +if(s.gbu()!=null){s=s.gbu() +s.Bv(q.at) +if(!s.a.f){r=s.c.gU() +r.toString +t.Wx.a(r) +s.e.a7J(r)}}}, +yA(a){var s,r=this +if(r.ax===a)return +r.ax=a +s=r.as +if($.am.ai$.x.i(0,s)!=null){s=$.am.ai$.x.i(0,s).gU() +s.toString +t.f1.a(s).sQb(r.ax)}}, +a17(a){this.cx=this.d.wJ(this.ga_d())}, +a5v(a){this.CW=this.d.P8(a,this.ga_b())}, +a5w(a){var s=this.CW +if(s!=null)s.aZ(0,a)}, +a5u(a){var s=this.CW +if(s!=null)s.Pl(0,a)}, +LM(){if($.am.ai$.x.i(0,this.Q)==null)return +var s=this.cx +if(s!=null)s.a.f8(0) +s=this.CW +if(s!=null)s.a.f8(0)}, +a_e(){this.cx=null}, +a_c(){this.CW=null}, +Mp(a){var s,r=this.d,q=r.at +q.toString +s=r.z +s.toString +s=Math.max(q+a,s) +r=r.Q +r.toString +return Math.min(s,r)}, +L5(a){var s,r,q=$.eb.r1$ +q===$&&A.a() +q=q.a.gaF(0) +s=A.er(q,A.o(q).h("j.E")) +q=this.w +q===$&&A.a() +q=q.grY() +r=s.jd(0,q.gji(q))&&a.gck(a)===B.cF +q=this.a +switch((r?A.aIV(A.aX(q.c)):A.aX(q.c)).a){case 0:q=a.goR().a +break +case 1:q=a.goR().b +break +default:q=null}return A.Dg(this.a.c)?-q:q}, +a4L(a){var s,r,q,p,o=this +if(t.Mj.b(a)&&o.d!=null){s=o.e +if(s!=null){r=o.d +r.toString +r=!s.jV(r) +s=r}else s=!1 +if(s){a.l_(!0) +return}q=o.L5(a) +p=o.Mp(q) +if(q!==0){s=o.d.at +s.toString +s=p!==s}else s=!1 +if(s){$.dY.E$.Rz(0,a,o.ga1O()) +return}a.l_(!0)}else if(t.xb.b(a))o.d.F4(0)}, +a1P(a){var s,r=this,q=r.L5(a),p=r.Mp(q) +if(q!==0){s=r.d.at +s.toString +s=p!==s}else s=!1 +if(s)r.d.F4(q)}, +a21(a){var s,r +if(a.e9$===0){s=$.am.ai$.x.i(0,this.z) +r=s==null?null:s.gU() +if(r!=null)r.aY()}return!1}, +K(a){var s,r,q,p,o,n,m,l,k,j,i=this,h=null,g=i.d +g.toString +s=i.at +r=i.a +q=r.x +p=i.ax +q=A.wM(B.br,new A.lG(A.d0(h,A.a0_(r.af_(a,g),p,i.as),!1,h,!0,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h,h),s,q,!1,i.Q),h,h,h,i.ga4K(),h) +i.a.toString +s=i.d +s.toString +r=i.e.gnt() +p=i.a +o=p.y +p=p.c +n=i.gpn() +m=i.a.at +l=new A.JX(p,n,m) +p=i.w +p===$&&A.a() +k=p.vH(a,p.vF(a,new A.cI(i.ga20(),new A.QU(s,r,o,new A.C0(i,g,q,h),i.z),h,t.ji),l),l) +j=A.yV(a) +if(j!=null){g=i.d +g.toString +k=new A.C2(i,g,k,j,h)}return k}} +A.a8K.prototype={ +$0(){var s=this.a.w +s===$&&A.a() +return A.asA(null,s.gkt())}, +$S:114} +A.a8L.prototype={ +$1(a){var s,r,q=this.a +a.ay=q.gJS() +a.ch=q.gLO() +a.CW=q.gLP() +a.cx=q.gLN() +a.cy=q.gLL() +s=q.e +a.db=s==null?null:s.gEx() +s=q.e +a.dx=s==null?null:s.gxe() +s=q.e +a.dy=s==null?null:s.grF() +s=q.w +s===$&&A.a() +r=q.c +r.toString +a.fx=s.y6(r) +a.at=q.a.z +r=q.w +s=q.c +s.toString +a.ax=r.l7(s) +a.b=q.y +a.c=q.w.gkt()}, +$S:113} +A.a8M.prototype={ +$0(){var s=this.a.w +s===$&&A.a() +return A.alQ(null,s.gkt())}, +$S:131} +A.a8N.prototype={ +$1(a){var s,r,q=this.a +a.ay=q.gJS() +a.ch=q.gLO() +a.CW=q.gLP() +a.cx=q.gLN() +a.cy=q.gLL() +s=q.e +a.db=s==null?null:s.gEx() +s=q.e +a.dx=s==null?null:s.gxe() +s=q.e +a.dy=s==null?null:s.grF() +s=q.w +s===$&&A.a() +r=q.c +r.toString +a.fx=s.y6(r) +a.at=q.a.z +r=q.w +s=q.c +s.toString +a.ax=r.l7(s) +a.b=q.y +a.c=q.w.gkt()}, +$S:164} +A.C2.prototype={ +ag(){return new A.QV()}} +A.QV.prototype={ +ao(){var s,r,q,p +this.aL() +s=this.a +r=s.c +s=s.d +q=t.x9 +p=t.i +q=new A.C1(r,new A.Y6(r,30),s,A.E(q,p),A.E(q,p),A.b([],t.D1),A.aA(q),B.w5,$.aN()) +s.a0(0,q.gLG()) +this.d=q}, +aH(a){var s,r +this.b4(a) +s=this.a.d +if(a.d!==s){r=this.d +r===$&&A.a() +r.sbR(0,s)}}, +l(){var s=this.d +s===$&&A.a() +s.l() +this.aC()}, +K(a){var s=this.a,r=s.f,q=this.d +q===$&&A.a() +return new A.oj(r,s.e,q,null)}} +A.C1.prototype={ +sbR(a,b){var s,r=this.id +if(b===r)return +s=this.gLG() +r.J(0,s) +this.id=b +b.a0(0,s)}, +a5p(){if(this.fr)return +this.fr=!0 +$.bC.p2$.push(new A.ahv(this))}, +w6(){var s=this,r=s.b,q=A.qn(r,A.Z(r).c) +r=s.k1 +r.Fl(r,new A.ahw(q)) +r=s.k2 +r.Fl(r,new A.ahx(q)) +s.GU()}, +wy(a){var s=this +s.k1.I(0) +s.k2.I(0) +s.fy=s.fx=null +s.go=!1 +return s.GX(a)}, +kI(a){var s,r,q,p,o,n,m=this +if(m.fy==null&&m.fx==null)m.go=m.JK(a.b) +s=A.TO(m.dx) +r=a.b +q=a.c +p=-s.a +o=-s.b +if(a.a===B.c5){r=m.fy=m.Kf(r) +a=A.a8V(new A.n(r.a+p,r.b+o),q)}else{r=m.fx=m.Kf(r) +a=A.a8W(new A.n(r.a+p,r.b+o),q)}n=m.H_(a) +if(n===B.j2){m.dy.e=!1 +return n}if(m.go){r=m.dy +r.U1(A.aDe(a.b,0,0)) +if(r.e)return B.j2}return n}, +Kf(a){var s,r,q,p=this.dx,o=p.c.gU() +o.toString +t.x.a(o) +s=o.l8(a) +if(!this.go){r=s.b +if(r<0||s.a<0)return A.bH(o.aU(0,null),B.h) +if(r>o.gv(0).b||s.a>o.gv(0).a)return B.H4}q=A.TO(p) +return A.bH(o.aU(0,null),new A.n(s.a+q.a,s.b+q.b))}, +BG(a,b){var s,r,q,p=this,o=p.dx,n=A.TO(o) +o=o.c.gU() +o.toString +t.x.a(o) +s=o.aU(0,null) +r=p.d +if(r!==-1)q=p.fx==null||b +else q=!1 +if(q){r=J.fW(p.b[r]).a +r.toString +p.fx=A.bH(s,A.bH(J.akU(p.b[p.d],o),r.a.a6(0,new A.n(0,-r.b/2))).a6(0,n))}r=p.c +if(r!==-1){r=J.fW(p.b[r]).b +r.toString +p.fy=A.bH(s,A.bH(J.akU(p.b[p.c],o),r.a.a6(0,new A.n(0,-r.b/2))).a6(0,n))}}, +MX(){return this.BG(!0,!0)}, +wC(a){var s=this.GY(a) +if(this.d!==-1)this.MX() +return s}, +wD(a){var s,r=this +r.go=r.JK(a.gG4()) +s=r.GZ(a) +r.MX() +return s}, +DK(a){var s=this,r=s.UW(a),q=a.ghR() +s.BG(a.ghR(),!q) +if(s.go)s.Kx(a.ghR()) +return r}, +DJ(a){var s=this,r=s.UV(a),q=a.ghR() +s.BG(a.ghR(),!q) +if(s.go)s.Kx(a.ghR()) +return r}, +Kx(a){var s,r,q,p,o,n,m,l,k=this,j=k.b +if(a){s=j[k.c] +r=s.gm(s).b +q=s.gm(s).b.b}else{s=j[k.d] +r=s.gm(s).a +j=s.gm(s).a +q=j==null?null:j.b}if(q==null||r==null)return +j=k.dx +p=j.c.gU() +p.toString +t.x.a(p) +o=A.bH(s.aU(0,p),r.a) +n=p.gv(0).a +p=p.gv(0).b +switch(j.a.c.a){case 0:m=o.b +l=m-q +if(m>=p&&l<=0)return +if(m>p){j=k.id +n=j.at +n.toString +j.eC(n+p-m) +return}if(l<0){j=k.id +p=j.at +p.toString +j.eC(p+0-l)}return +case 1:r=o.a +if(r>=n&&r<=0)return +if(r>n){j=k.id +p=j.at +p.toString +j.eC(p+r-n) +return}if(r<0){j=k.id +p=j.at +p.toString +j.eC(p+r)}return +case 2:m=o.b +l=m-q +if(m>=p&&l<=0)return +if(m>p){j=k.id +n=j.at +n.toString +j.eC(n+m-p) +return}if(l<0){j=k.id +p=j.at +p.toString +j.eC(p+l)}return +case 3:r=o.a +if(r>=n&&r<=0)return +if(r>n){j=k.id +p=j.at +p.toString +j.eC(p+n-r) +return}if(r<0){j=k.id +p=j.at +p.toString +j.eC(p+0-r)}return}}, +JK(a){var s,r=this.dx.c.gU() +r.toString +t.x.a(r) +s=r.l8(a) +return new A.x(0,0,0+r.gv(0).a,0+r.gv(0).b).p(0,s)}, +cO(a,b){var s,r,q=this +switch(b.a.a){case 0:s=q.dx.d.at +s.toString +q.k1.n(0,a,s) +q.kv(a) +break +case 1:s=q.dx.d.at +s.toString +q.k2.n(0,a,s) +q.kv(a) +break +case 6:case 7:q.kv(a) +s=q.dx +r=s.d.at +r.toString +q.k1.n(0,a,r) +s=s.d.at +s.toString +q.k2.n(0,a,s) +break +case 2:q.k2.A(0,a) +q.k1.A(0,a) +break +case 3:case 4:case 5:s=q.dx +r=s.d.at +r.toString +q.k2.n(0,a,r) +s=s.d.at +s.toString +q.k1.n(0,a,s) +break}return q.GV(a,b)}, +kv(a){var s,r,q,p,o,n,m=this,l=m.dx,k=l.d.at +k.toString +s=m.k1 +r=s.i(0,a) +q=m.fx +if(q!=null)p=r==null||Math.abs(k-r)>1e-10 +else p=!1 +if(p){o=A.TO(l) +a.kq(A.a8W(new A.n(q.a+-o.a,q.b+-o.b),null)) +q=l.d.at +q.toString +s.n(0,a,q)}s=m.k2 +n=s.i(0,a) +q=m.fy +if(q!=null)k=n==null||Math.abs(k-n)>1e-10 +else k=!1 +if(k){o=A.TO(l) +a.kq(A.a8V(new A.n(q.a+-o.a,q.b+-o.b),null)) +l=l.d.at +l.toString +s.n(0,a,l)}}, +l(){var s=this +s.k1.I(0) +s.k2.I(0) +s.fr=!1 +s.dy.e=!1 +s.GW()}} +A.ahv.prototype={ +$1(a){var s=this.a +if(!s.fr)return +s.fr=!1 +s.vl()}, +$S:6} +A.ahw.prototype={ +$2(a,b){return!this.a.p(0,a)}, +$S:122} +A.ahx.prototype={ +$2(a,b){return!this.a.p(0,a)}, +$S:122} +A.QU.prototype={ +ar(a){var s=this.e,r=new A.Qs(s,this.f,this.r,null,new A.aM(),A.ai()) +r.aw() +r.saG(null) +s.a0(0,r.gQL()) +return r}, +aB(a,b){b.snt(this.f) +b.sbR(0,this.e) +b.sTt(this.r)}} +A.Qs.prototype={ +sbR(a,b){var s,r=this,q=r.B +if(b===q)return +s=r.gQL() +q.J(0,s) +r.B=b +b.a0(0,s) +r.aY()}, +snt(a){if(a===this.a_)return +this.a_=a +this.aY()}, +sTt(a){if(a==this.ak)return +this.ak=a +this.aY()}, +dO(a){var s,r,q=this +q.fb(a) +a.a=!0 +if(q.B.ay){a.be(B.Jd,q.a_) +s=q.B +r=s.at +r.toString +a.bm=r +a.e=!0 +r=s.Q +r.toString +a.E=r +s=s.z +s.toString +a.Z=s +a.sTn(q.ak)}}, +qi(a,b,c){var s,r,q,p,o,n,m,l=this +if(c.length!==0){s=B.b.gH(c).dy +s=!(s!=null&&s.p(0,B.wl))}else s=!0 +if(s){l.bK=null +l.Hd(a,b,c) +return}s=l.bK +if(s==null)s=l.bK=A.K5(null,l.gmJ()) +s.saW(0,a.e) +s=l.bK +s.toString +r=t.QF +q=A.b([s],r) +p=A.b([],r) +for(s=c.length,o=null,n=0;n#"+A.b9(r)+"("+B.b.bw(q,", ")+")"}, +gu(a){return A.P(this.a,this.b,null,this.d,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +k(a,b){var s,r=this +if(b==null)return!1 +if(r===b)return!0 +if(J.T(b)!==A.r(r))return!1 +s=!1 +if(b instanceof A.JX)if(b.a===r.a)if(b.b===r.b)s=b.d===r.d +return s}} +A.a8J.prototype={ +$2(a,b){if(b!=null)this.a.push(a+b.j(0))}, +$S:431} +A.Y6.prototype={ +B3(a,b){var s +switch(b.a){case 0:s=a.a +break +case 1:s=a.b +break +default:s=null}return s}, +a6_(a,b){var s +switch(b.a){case 0:s=a.a +break +case 1:s=a.b +break +default:s=null}return s}, +U1(a){var s=this,r=s.a.gOP() +s.d=a.aq(0,r.a,r.b) +if(s.e)return +s.nf()}, +nf(){var s=0,r=A.C(t.H),q,p=this,o,n,m,l,k,j,i,h,g,f,e,d,c +var $async$nf=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:d=p.a +c=d.c.gU() +c.toString +t.x.a(c) +o=A.e_(c.aU(0,null),new A.x(0,0,0+c.gv(0).a,0+c.gv(0).b)) +c=p.e=!0 +n=d.gOP() +m=o.a +l=o.b +k=p.B3(new A.n(m+n.a,l+n.b),A.aX(d.a.c)) +j=k+p.a6_(new A.K(o.c-m,o.d-l),A.aX(d.a.c)) +l=p.d +l===$&&A.a() +i=p.B3(new A.n(l.a,l.b),A.aX(d.a.c)) +l=p.d +h=p.B3(new A.n(l.c,l.d),A.aX(d.a.c)) +g=null +switch(d.a.c.a){case 0:case 3:if(h>j){m=d.d +l=m.at +l.toString +m=m.z +m.toString +m=l>m}else m=!1 +if(m){f=Math.min(h-j,20) +m=d.d +l=m.z +l.toString +m=m.at +m.toString +g=Math.max(l,m-f)}else{if(im}else m=!1 +if(m){f=Math.min(k-i,20) +m=d.d +l=m.z +l.toString +m=m.at +m.toString +g=Math.max(l,m-f)}else{if(h>j){m=d.d +l=m.at +l.toString +m=m.Q +m.toString +m=l>>24&255)/255*this.r.gm(0))),r.gm(r)>>>16&255,r.gm(r)>>>8&255,r.gm(r)&255)) +return s}, +KY(a){var s,r,q=this +if(a){s=$.ap().bg() +r=q.c +s.sae(0,A.a3(B.c.a7(255*((r.gm(r)>>>24&255)/255*q.r.gm(0))),r.gm(r)>>>16&255,r.gm(r)>>>8&255,r.gm(r)&255)) +s.scH(0,B.X) +s.sep(1) +return s}s=$.ap().bg() +r=q.b +s.sae(0,A.a3(B.c.a7(255*((r.gm(r)>>>24&255)/255*q.r.gm(0))),r.gm(r)>>>16&255,r.gm(r)>>>8&255,r.gm(r)&255)) +return s}, +a4e(){return this.KY(!1)}, +a4b(a,b){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e=this,d=null +e.gBi() +switch(e.gBi().a){case 0:s=e.f +r=e.cy +r===$&&A.a() +q=new A.K(s,r) +s+=2*e.x +r=e.db.d +r.toString +p=e.dx +p=p===B.H||p===B.J +o=e.Q +n=new A.K(s,r-(p?o.gb_(0)+o.gb5(0):o.gbQ())) +r=e.x +m=r+e.Q.a +o=e.cx +o===$&&A.a() +r=m-r +l=e.gpF() +k=new A.n(r,l) +j=k.a6(0,new A.n(s,0)) +i=e.db.d +i.toString +p=e.dx +p=p===B.H||p===B.J +h=e.Q +p=p?h.gb_(0)+h.gb5(0):h.gbQ() +g=new A.n(r+s,l+(i-p)) +f=o +break +case 1:s=e.f +r=e.cy +r===$&&A.a() +q=new A.K(s,r) +r=e.x +p=e.db.d +p.toString +o=e.dx +o=o===B.H||o===B.J +l=e.Q +o=o?l.gb_(0)+l.gb5(0):l.gbQ() +n=new A.K(s+2*r,p-o) +o=e.f +p=e.x +m=b.a-o-p-e.Q.c +o=e.cx +o===$&&A.a() +p=m-p +r=e.gpF() +k=new A.n(p,r) +s=e.db.d +s.toString +l=e.dx +l=l===B.H||l===B.J +i=e.Q +g=new A.n(p,r+(s-(l?i.gb_(0)+i.gb5(0):i.gbQ()))) +j=k +f=o +break +case 2:s=e.cy +s===$&&A.a() +q=new A.K(s,e.f) +s=e.db.d +s.toString +r=e.dx +r=r===B.H||r===B.J +p=e.Q +r=r?p.gb_(0)+p.gb5(0):p.gbQ() +p=e.f +o=e.x +p+=2*o +n=new A.K(s-r,p) +r=e.cx +r===$&&A.a() +f=o+e.Q.b +o=e.gpF() +s=f-e.x +k=new A.n(o,s) +j=k.a6(0,new A.n(0,p)) +l=e.db.d +l.toString +i=e.dx +i=i===B.H||i===B.J +h=e.Q +g=new A.n(o+(l-(i?h.gb_(0)+h.gb5(0):h.gbQ())),s+p) +m=r +break +case 3:s=e.cy +s===$&&A.a() +q=new A.K(s,e.f) +s=e.db.d +s.toString +r=e.dx +r=r===B.H||r===B.J +p=e.Q +r=r?p.gb_(0)+p.gb5(0):p.gbQ() +p=e.f +o=e.x +n=new A.K(s-r,p+2*o) +r=e.cx +r===$&&A.a() +f=b.b-p-o-e.Q.d +o=e.gpF() +p=f-e.x +k=new A.n(o,p) +s=e.db.d +s.toString +l=e.dx +l=l===B.H||l===B.J +i=e.Q +g=new A.n(o+(s-(l?i.gb_(0)+i.gb5(0):i.gbQ())),p) +j=k +m=r +break +default:g=d +j=g +k=j +n=k +q=n +f=q +m=f}s=k.a +r=k.b +e.ch=new A.x(s,r,s+n.a,r+n.b) +e.CW=new A.x(m,f,m+q.a,f+q.b) +if(e.r.gm(0)!==0){s=e.ch +s.toString +a.cP(s,e.a4e()) +a.hG(j,g,e.KY(!0)) +s=e.y +if(s!=null){r=e.CW +r.toString +a.dg(A.a6y(r,s),e.gKX()) +return}s=e.CW +s.toString +a.cP(s,e.gKX()) +return}}, +aE(a,b){var s,r,q,p,o,n,m,l,k,j,i,h=this,g=h.dx,f=!0 +if(g!=null){s=h.db +if(s!=null){f=s.b +f.toString +s=s.a +s.toString +s=f<=s +f=s}}if(f)return +f=h.db.d +f.toString +g=g===B.H||g===B.J +s=h.Q +g=g?s.gb_(0)+s.gb5(0):s.gbQ() +if(f-g-2*h.w<=0)return +g=h.db +f=g.b +f.toString +if(f==1/0||f==-1/0)return +g=g.gm_() +f=h.dx +f=f===B.H||f===B.J +s=h.Q +f=f?s.gb_(0)+s.gb5(0):s.gbQ() +s=h.db +r=s.b +r.toString +q=s.a +q.toString +s=s.d +s.toString +p=h.dx +p=p===B.H||p===B.J +o=h.Q +p=p?o.gb_(0)+o.gb5(0):o.gbQ() +n=A.M((g-f)/(r-q+s-p),0,1) +p=h.db.d +p.toString +g=h.dx +g=g===B.H||g===B.J +f=h.Q +g=g?f.gb_(0)+f.gb5(0):f.gbQ() +g=Math.min(p-g-2*h.w,h.at) +p=h.db.d +p.toString +f=h.dx +f=f===B.H||f===B.J +s=h.Q +f=f?s.gb_(0)+s.gb5(0):s.gbQ() +m=Math.max(g,(p-f-2*h.w)*n) +f=h.db.gm_() +p=h.db.d +p.toString +g=h.as +s=h.dx +s=s===B.H||s===B.J +r=h.Q +s=s?r.gb_(0)+r.gb5(0):r.gbQ() +l=Math.min(g,p-s-2*h.w) +g=h.dx +g=g===B.J||g===B.aU +s=h.db +if((g?Math.max(s.gfB()-s.gcu(),0):Math.max(s.gcu()-s.gfC(),0))>0){g=h.dx +g=g===B.J||g===B.aU +s=h.db +s=(g?Math.max(s.gcu()-s.gfC(),0):Math.max(s.gfB()-s.gcu(),0))>0 +g=s}else g=!1 +k=g?l:l*(1-A.M(1-f/p,0,0.2)/0.2) +g=h.db.d +g.toString +f=h.dx +f=f===B.H||f===B.J +s=h.Q +f=f?s.gb_(0)+s.gb5(0):s.gbQ() +f=A.M(m,k,g-f-2*h.w) +h.cy=f +g=h.db +s=g.b +s.toString +r=g.a +r.toString +j=s-r +if(j>0){s=g.c +s.toString +i=A.M((s-r)/j,0,1)}else i=0 +s=h.dx +r=s===B.J +q=r||s===B.aU?1-i:i +g=g.d +g.toString +s=s===B.H||r +r=h.Q +s=s?r.gb_(0)+r.gb5(0):r.gbQ() +h.cx=q*(g-s-2*h.w-f)+(h.gpF()+h.w) +return h.a4b(a,b)}, +G3(a){var s,r,q,p,o=this,n=o.db,m=n.b +m.toString +s=n.a +s.toString +n=n.d +n.toString +r=o.dx +r=r===B.H||r===B.J +q=o.Q +r=r?q.gb_(0)+q.gb5(0):q.gbQ() +q=o.w +p=o.cy +p===$&&A.a() +return(m-s)*a/(n-r-2*q-p)}, +E4(a){var s,r,q=this +if(q.CW==null)return null +s=!0 +if(!q.ay)if(q.r.gm(0)!==0){s=q.db +r=s.a +r.toString +s=s.b +s.toString +s=r===s}if(s)return!1 +return q.ch.p(0,a)}, +Q7(a,b,c){var s,r,q,p=this,o=p.ch +if(o==null)return!1 +if(p.ay)return!1 +s=p.db +r=s.a +r.toString +s=s.b +s.toString +if(r===s)return!1 +q=o.kx(A.qM(p.CW.gaQ(),24)) +if(p.r.gm(0)===0){if(c&&b===B.cF)return q.p(0,a) +return!1}switch(b.a){case 0:case 4:return q.p(0,a) +case 1:case 2:case 3:case 5:return o.p(0,a)}}, +abC(a,b){return this.Q7(a,b,!1)}, +Q8(a,b){var s,r,q=this +if(q.CW==null)return!1 +if(q.ay)return!1 +if(q.r.gm(0)===0)return!1 +s=q.db +r=s.a +r.toString +s=s.b +s.toString +if(r===s)return!1 +switch(b.a){case 0:case 4:s=q.CW +return s.kx(A.qM(s.gaQ(),24)).p(0,a) +case 1:case 2:case 3:case 5:return q.CW.p(0,a)}}, +hZ(a){var s=this,r=!0 +if(s.a.k(0,a.a))if(s.b.k(0,a.b))if(s.c.k(0,a.c))if(s.e==a.e)if(s.f===a.f)if(s.r===a.r)if(s.w===a.w)if(s.x===a.x)if(J.e(s.y,a.y))if(s.Q.k(0,a.Q))if(s.as===a.as)if(s.at===a.at)r=s.ay!==a.ay +return r}, +Gp(a){return!1}, +gGc(){return null}, +j(a){return"#"+A.b9(this)}} +A.a8S.prototype={ +$1(a){var s,r +if(a!=null){s=a.b +s.toString +r=a.a +r.toString +r=s>r +s=r}else s=!1 +return s}, +$S:432} +A.qL.prototype={ +ag(){return A.aDd(t.jU)}, +kQ(a){return this.cx.$1(a)}} +A.iO.prototype={ +gi8(){var s=this.a.d +return s}, +gmL(){var s=this.a.e +return s===!0}, +gM9(){if(this.gmL())this.a.toString +return!1}, +glW(){this.a.toString +return!0}, +ao(){var s,r,q,p,o=this,n=null +o.aL() +s=A.dd(n,o.a.ay,n,n,o) +s.bl() +r=s.bJ$ +r.b=!0 +r.a.push(o.ga74()) +o.x=s +s=o.y=A.dI(B.aV,s,n) +r=o.a +q=r.w +if(q==null)q=6 +p=r.r +r=r.db +r=new A.yQ(B.ho,B.M,B.M,n,q,s,0,0,p,n,B.as,18,18,r,$.aN()) +s.a.a0(0,r.geE()) +o.CW!==$&&A.bx() +o.CW=r}, +bh(){this.d_()}, +a75(a){if(a!==B.F)if(this.gi8()!=null)this.glW()}, +tm(){var s,r=this,q=r.CW +q===$&&A.a() +r.a.toString +q.sae(0,B.ho) +r.a.toString +q.saeK(null) +if(r.gM9()){r.a.toString +s=B.A4}else s=B.M +q.sSa(s) +if(r.gM9()){r.a.toString +s=B.AN}else s=B.M +q.sS9(s) +s=r.c.aa(t.I) +s.toString +q.sbS(s.w) +s=r.a.w +q.sFs(s==null?6:s) +q.st0(r.a.r) +r.a.toString +s=r.c +s.toString +s=A.bM(s,B.bF,t.w).w +q.sce(0,s.r) +q.sys(r.a.db) +r.a.toString +q.sEs(0) +r.a.toString +q.sbr(0,null) +r.a.toString +q.sCR(0) +r.a.toString +q.sEy(0,18) +r.a.toString +q.sQR(18) +q.sQa(!r.glW())}, +aH(a){var s,r=this +r.b4(a) +s=r.a.e +if(s!=a.e)if(s===!0){s=r.w +if(s!=null)s.aA(0) +s=r.x +s===$&&A.a() +s.z=B.an +s.jZ(1,B.a2,null)}else{s=r.x +s===$&&A.a() +s.ei(0)}}, +uR(){var s,r=this +if(!r.gmL()){s=r.w +if(s!=null)s.aA(0) +r.w=A.cb(r.a.ch,new A.a6N(r))}}, +a_i(){this.as=null}, +a_k(){this.ax=null}, +a0p(a){var s,r,q,p,o,n=this,m=B.b.gan(n.r.f),l=A.bj("primaryDeltaFromDragStart"),k=A.bj("primaryDeltaFromLastDragUpdate"),j=m.w +switch(j.a.c.a){case 0:s=a.b +l.b=n.d.b-s +k.b=n.e.b-s +break +case 1:s=a.a +l.b=s-n.d.a +k.b=s-n.e.a +break +case 2:s=a.b +l.b=s-n.d.b +k.b=s-n.e.b +break +case 3:s=a.a +l.b=n.d.a-s +k.b=n.e.a-s +break}s=n.CW +s===$&&A.a() +r=n.f +r.toString +q=s.G3(r+l.aP()) +if(l.aP()>0){r=m.at +r.toString +r=qr}else r=!1 +else r=!0 +if(r){r=m.at +r.toString +q=r+s.G3(k.aP())}s=m.at +s.toString +if(q!==s){p=q-m.r.qc(m,q) +s=n.c +s.toString +s=A.yJ(s) +r=n.c +r.toString +switch(s.hr(r).a){case 1:case 3:case 4:case 5:s=m.z +s.toString +r=m.Q +r.toString +p=A.M(p,s,r) +break +case 2:case 0:break}o=A.Dg(j.a.c) +j=m.at +if(o){j.toString +j=p-j}else{j.toString +j-=p}return j}return null}, +DV(){var s,r=this +r.r=r.gi8() +if(r.ay==null)return +s=r.w +if(s!=null)s.aA(0) +r.ax=B.b.gan(r.r.f).wJ(r.ga_j())}, +wH(a){var s,r,q,p,o,n,m,l=this +if(l.ay==null)return +s=l.w +if(s!=null)s.aA(0) +s=l.x +s===$&&A.a() +s.cp(0) +r=B.b.gan(l.r.f) +s=$.am.ai$.x.i(0,l.z).gU() +s.toString +s=A.bH(t.x.a(s).aU(0,null),a) +l.as=r.P8(new A.hL(null,s,null),l.ga_h()) +l.e=l.d=a +s=l.CW +s===$&&A.a() +q=s.db +p=q.b +p.toString +o=q.a +o.toString +n=p-o +if(n>0){p=q.c +p.toString +m=A.M(p/n,0,1)}else m=0 +q=q.d +q.toString +p=s.dx +p=p===B.H||p===B.J +o=s.Q +p=p?o.gb_(0)+o.gb5(0):o.gbQ() +o=s.w +s=s.cy +s===$&&A.a() +l.f=m*(q-p-2*o-s)}, +abk(a){var s,r,q,p,o,n=this +if(J.e(n.e,a))return +s=B.b.gan(n.r.f) +if(!s.r.jV(s))return +r=n.ay +if(r==null)return +if(n.as==null)return +q=n.a0p(a) +if(q==null)return +switch(r.a){case 0:p=new A.n(q,0) +break +case 1:p=new A.n(0,q) +break +default:p=null}o=$.am.ai$.x.i(0,n.z).gU() +o.toString +o=A.bH(t.x.a(o).aU(0,null),a) +n.as.aZ(0,new A.hM(null,p,q,o)) +n.e=a}, +wG(a,b){var s,r,q,p,o,n=this,m=n.ay +if(m==null)return +n.uR() +n.e=n.r=null +if(n.as==null)return +s=n.c +s.toString +s=A.yJ(s) +r=n.c +r.toString +q=s.hr(r) +$label0$0:{if(B.av===q||B.au===q){s=b.a +s=new A.hs(new A.n(-s.a,-s.b)) +break $label0$0}s=B.cK +break $label0$0}r=$.am.ai$.x.i(0,n.z).gU() +r.toString +r=A.bH(t.x.a(r).aU(0,null),a) +switch(m.a){case 0:p=s.a.a +break +case 1:p=s.a.b +break +default:p=null}o=n.as +if(o!=null)o.Pl(0,new A.eR(s,p,r)) +n.r=n.f=n.e=n.d=null}, +a2u(a){var s,r,q,p,o,n=this,m=n.gi8() +n.r=m +s=B.b.gan(m.f) +if(!s.r.jV(s))return +m=s.w +switch(A.aX(m.a.c).a){case 1:r=n.CW +r===$&&A.a() +r=r.cx +r===$&&A.a() +q=a.c.b>r?B.H:B.J +break +case 0:r=n.CW +r===$&&A.a() +r=r.cx +r===$&&A.a() +q=a.c.a>r?B.bG:B.aU +break +default:q=null}m=$.am.ai$.x.i(0,m.Q) +m.toString +p=A.i4(m) +p.toString +o=A.arO(p,new A.eu(q,B.iZ)) +m=B.b.gan(n.r.f) +r=B.b.gan(n.r.f).at +r.toString +m.rK(0,r+o,B.l_,B.aW)}, +Br(a){var s,r,q=this.gi8() +if(q==null)return!0 +s=q.f +r=s.length +if(r>1)return!1 +return r===0||A.aX(B.b.gan(s).gew())===a}, +a5A(a){var s,r,q=this,p=q.a +p.toString +if(!p.kQ(a.NS()))return!1 +if(q.gmL()){p=q.x +p===$&&A.a() +p=!p.gaI(0).grq()}else p=!1 +if(p){p=q.x +p===$&&A.a() +p.cp(0)}s=a.a +p=s.e +if(q.Br(A.aX(p))){r=q.CW +r===$&&A.a() +r.el(0,s,p)}if(A.aX(p)!==q.ay)q.al(new A.a6L(q,s)) +p=q.at +r=s.b +r.toString +if(p!==r>0)q.al(new A.a6M(q)) +return!1}, +a5C(a){var s,r,q,p=this +if(!p.a.kQ(a))return!1 +s=a.a +r=s.b +r.toString +q=s.a +q.toString +if(r<=q){r=p.x +r===$&&A.a() +if(r.gaI(0).grq())p.x.ei(0) +r=s.e +if(p.Br(A.aX(r))){q=p.CW +q===$&&A.a() +q.el(0,s,r)}return!1}if(a instanceof A.hl||a instanceof A.iL){r=p.x +r===$&&A.a() +if(!r.gaI(0).grq())p.x.cp(0) +r=p.w +if(r!=null)r.aA(0) +r=s.e +if(p.Br(A.aX(r))){q=p.CW +q===$&&A.a() +q.el(0,s,r)}}else if(a instanceof A.k7)if(p.as==null)p.uR() +return!1}, +a2m(a){this.DV()}, +Ar(a){var s=$.am.ai$.x.i(0,this.z).gU() +s.toString +return t.x.a(s).l8(a)}, +a2q(a){this.wH(this.Ar(a.b))}, +a2s(a){this.abk(this.Ar(a.d))}, +a2o(a){this.wG(this.Ar(a.c),a.a)}, +a2k(){if($.am.ai$.x.i(0,this.ch)==null)return +var s=this.ax +if(s!=null)s.a.f8(0) +s=this.as +if(s!=null)s.a.f8(0)}, +a2H(a){var s=this +a.ay=s.ga2l() +a.ch=s.ga2p() +a.CW=s.ga2r() +a.cx=s.ga2n() +a.cy=s.ga2j() +a.b=B.B8 +a.at=B.Bj}, +ga_X(){var s,r=this,q=A.E(t.u,t.xR),p=!1 +if(r.glW())if(r.gi8()!=null)if(r.gi8().f.length===1){s=B.b.gan(r.gi8().f) +if(s.z!=null&&s.Q!=null){p=B.b.gan(r.gi8().f).Q +p.toString +p=p>0}}if(!p)return q +switch(r.ay){case B.aJ:q.n(0,B.QY,new A.cR(new A.a6H(r),r.gKk(),t.lh)) +break +case B.ap:q.n(0,B.QZ,new A.cR(new A.a6I(r),r.gKk(),t.Pw)) +break +case null:case void 0:return q}q.n(0,B.QX,new A.cR(new A.a6J(r),new A.a6K(r),t.Bk)) +return q}, +Qr(a,b,c){var s,r=this.z +if($.am.ai$.x.i(0,r)==null)return!1 +s=A.anj(r,a) +r=this.CW +r===$&&A.a() +return r.Q7(s,b,!0)}, +DL(a){var s,r=this +if(r.Qr(a.gbR(a),a.gck(a),!0)){r.Q=!0 +s=r.x +s===$&&A.a() +s.cp(0) +s=r.w +if(s!=null)s.aA(0)}else if(r.Q){r.Q=!1 +r.uR()}}, +DM(a){this.Q=!1 +this.uR()}, +LQ(a){var s=A.aX(B.b.gan(this.r.f).gew())===B.aJ?a.goR().a:a.goR().b +return A.Dg(B.b.gan(this.r.f).w.a.c)?s*-1:s}, +LR(a){var s,r=B.b.gan(this.r.f).at +r.toString +s=B.b.gan(this.r.f).z +s.toString +s=Math.max(r+a,s) +r=B.b.gan(this.r.f).Q +r.toString +return Math.min(s,r)}, +a5y(a){var s,r,q,p=this +p.r=p.gi8() +s=p.LQ(a) +r=p.LR(s) +if(s!==0){q=B.b.gan(p.r.f).at +q.toString +q=r!==q}else q=!1 +if(q)B.b.gan(p.r.f).F4(s)}, +a5E(a){var s,r,q,p,o,n=this +n.r=n.gi8() +s=n.CW +s===$&&A.a() +s=s.E4(a.gef()) +r=!1 +if(s===!0){s=n.r +if(s!=null)s=s.f.length!==0 +else s=r}else s=r +if(s){q=B.b.gan(n.r.f) +if(t.Mj.b(a)){if(!q.r.jV(q))return +p=n.LQ(a) +o=n.LR(p) +if(p!==0){s=q.at +s.toString +s=o!==s}else s=!1 +if(s)$.dY.E$.Rz(0,a,n.ga5x())}else if(t.xb.b(a)){s=q.at +s.toString +q.eC(s)}}}, +l(){var s=this,r=s.x +r===$&&A.a() +r.l() +r=s.w +if(r!=null)r.aA(0) +r=s.CW +r===$&&A.a() +r.r.a.J(0,r.geE()) +r.dI() +r=s.y +r===$&&A.a() +r.l() +s.Wy()}, +K(a){var s,r,q=this,p=null +q.tm() +s=q.ga_X() +r=q.CW +r===$&&A.a() +return new A.cI(q.ga5z(),new A.cI(q.ga5B(),new A.i1(A.wM(B.br,new A.lG(A.a4K(A.v6(new A.i1(q.a.c,p),r,q.z,p),B.d_,p,new A.a6O(q),new A.a6P(q)),s,p,!1,q.ch),p,p,p,q.ga5D(),p),p),p,t.WA),p,t.ji)}} +A.a6N.prototype={ +$0(){var s=this.a,r=s.x +r===$&&A.a() +r.ei(0) +s.w=null}, +$S:0} +A.a6L.prototype={ +$0(){this.a.ay=A.aX(this.b.e)}, +$S:0} +A.a6M.prototype={ +$0(){var s=this.a +s.at=!s.at}, +$S:0} +A.a6H.prototype={ +$0(){var s=this.a,r=t.S +return new A.mb(s.z,B.ar,B.cy,A.U0(),B.bn,A.E(r,t.GY),A.E(r,t.o),B.h,A.b([],t.t),A.E(r,t.Y),A.cA(r),s,null,A.U1(),A.E(r,t.Au))}, +$S:434} +A.a6I.prototype={ +$0(){var s=this.a,r=t.S +return new A.mr(s.z,B.ar,B.cy,A.U0(),B.bn,A.E(r,t.GY),A.E(r,t.o),B.h,A.b([],t.t),A.E(r,t.Y),A.cA(r),s,null,A.U1(),A.E(r,t.Au))}, +$S:435} +A.a6J.prototype={ +$0(){var s=this.a,r=t.S +return new A.jd(s.z,B.aW,18,B.bO,A.E(r,t.Y),A.cA(r),s,null,A.aku(),A.E(r,t.Au))}, +$S:436} +A.a6K.prototype={ +$1(a){a.a4=this.a.ga2t()}, +$S:437} +A.a6O.prototype={ +$1(a){var s +switch(a.gck(a).a){case 1:case 4:s=this.a +if(s.glW())s.DM(a) +break +case 2:case 3:case 5:case 0:break}}, +$S:64} +A.a6P.prototype={ +$1(a){var s +switch(a.gck(a).a){case 1:case 4:s=this.a +if(s.glW())s.DL(a) +break +case 2:case 3:case 5:case 0:break}}, +$S:438} +A.jd.prototype={ +eX(a){return A.aHr(this.jo,a)&&this.W6(a)}} +A.mr.prototype={ +Eh(a){return!1}, +eX(a){return A.au2(this.B,a)&&this.GI(a)}} +A.mb.prototype={ +Eh(a){return!1}, +eX(a){return A.au2(this.B,a)&&this.GI(a)}} +A.tp.prototype={ +bL(){this.e0() +this.de() +this.fi()}, +l(){var s=this,r=s.b6$ +if(r!=null)r.J(0,s.geR()) +s.b6$=null +s.aC()}} +A.qs.prototype={ +D(a,b){this.Q.D(0,b) +this.LI()}, +A(a,b){var s,r,q=this +if(q.Q.A(0,b))return +s=B.b.hP(q.b,b) +B.b.f3(q.b,s) +r=q.c +if(s<=r)q.c=r-1 +r=q.d +if(s<=r)q.d=r-1 +b.J(0,q.gAC()) +q.LI()}, +LI(){var s,r +if(!this.y){this.y=!0 +s=new A.a5_(this) +r=$.bC +if(r.R8$===B.vY)A.e3(s) +else r.p2$.push(s)}}, +a_O(){var s,r,q,p,o,n,m,l,k=this,j=k.Q,i=A.a8(j,!0,A.o(j).c) +B.b.en(i,k.gqu()) +s=k.b +k.b=A.b([],t.D1) +r=k.d +q=k.c +j=k.gAC() +p=0 +o=0 +while(!0){n=i.length +if(!(pMath.min(n,l))k.kv(m) +m.a0(0,j) +B.b.D(k.b,m);++p}}k.c=q +k.d=r +k.Q=A.aA(t.x9)}, +w6(){this.vl()}, +vl(){var s=this,r=s.T7() +if(!s.at.k(0,r)){s.at=r +s.ap()}s.a6G()}, +gqu(){return A.aJF()}, +a25(){if(this.x)return +this.vl()}, +T7(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this,c=null,b=d.c +if(b===-1||d.d===-1||d.b.length===0)return new A.lO(c,c,B.by,B.ic,d.b.length!==0) +if(!d.as){b=d.HK(d.d,b) +d.d=b +d.c=d.HK(d.c,b)}s=J.fW(d.b[d.d]) +b=d.c +r=d.d +q=b>=r +while(!0){if(!(r!==d.c&&s.a==null))break +r+=q?1:-1 +s=J.fW(d.b[r])}b=s.a +if(b!=null){p=d.b[r] +o=d.a.gU() +o.toString +n=A.bH(p.aU(0,t.x.a(o)),b.a) +m=isFinite(n.a)&&isFinite(n.b)?new A.ol(n,b.b,b.c):c}else m=c +l=J.fW(d.b[d.c]) +k=d.c +while(!0){if(!(k!==d.d&&l.b==null))break +k+=q?-1:1 +l=J.fW(d.b[k])}b=l.b +if(b!=null){p=d.b[k] +o=d.a.gU() +o.toString +j=A.bH(p.aU(0,t.x.a(o)),b.a) +i=isFinite(j.a)&&isFinite(j.b)?new A.ol(j,b.b,b.c):c}else i=c +h=A.b([],t.AO) +g=d.gabo()?new A.x(0,0,0+d.gOm().a,0+d.gOm().b):c +for(f=d.d;f<=d.c;++f){e=J.fW(d.b[f]).d +b=new A.ay(e,new A.a50(d,f,g),A.Z(e).h("ay<1,x>")).GP(0,new A.a51()) +B.b.L(h,A.a8(b,!0,b.$ti.h("j.E")))}return new A.lO(m,i,!s.k(0,l)?B.j3:s.c,h,!0)}, +HK(a,b){var s=b>a +while(!0){if(!(a!==b&&J.fW(this.b[a]).c!==B.j3))break +a+=s?1:-1}return a}, +iL(a,b){return}, +a6G(){var s,r=this,q=null,p=r.e,o=r.r,n=r.d +if(n===-1||r.c===-1){n=r.f +if(n!=null){n.iL(q,q) +r.f=null}n=r.w +if(n!=null){n.iL(q,q) +r.w=null}return}if(!J.e(r.b[n],r.f)){n=r.f +if(n!=null)n.iL(q,q)}if(!J.e(r.b[r.c],r.w)){n=r.w +if(n!=null)n.iL(q,q)}n=r.b +s=r.d +n=r.f=n[s] +if(s===r.c){r.w=n +n.iL(p,o) +return}n.iL(p,q) +n=r.b[r.c] +r.w=n +n.iL(q,o)}, +Jf(){var s,r,q,p=this,o=p.d,n=o===-1 +if(n&&p.c===-1)return +if(n||p.c===-1){if(n)o=p.c +n=p.b +new A.aF(n,new A.a4W(p,o),A.Z(n).h("aF<1>")).V(0,new A.a4X(p)) +return}n=p.c +s=Math.min(o,n) +r=Math.max(o,n) +for(q=0;n=p.b,q=s&&q<=r)continue +p.cO(n[q],B.d2)}}, +wC(a){var s,r,q,p=this +for(s=p.b,r=s.length,q=0;q")).V(0,new A.a4Z(i)) +i.d=i.c=r}return B.x}else if(s===B.u){i.d=i.c=r-1 +return B.x}}return B.x}, +wD(a){return this.K7(a)}, +PY(a){return this.K7(a)}, +wy(a){var s,r,q,p=this +for(s=p.b,r=s.length,q=0;q0&&r===B.w))break;--s +r=p.cO(p.b[s],a)}if(a.ghR())p.c=s +else p.d=s +return r}, +DJ(a){var s,r,q,p=this +if(p.d===-1){a.gwa(a) +$label0$0:{}p.d=p.c=null}s=a.ghR()?p.c:p.d +r=p.cO(p.b[s],a) +switch(a.gwa(a)){case B.j0:if(r===B.w)if(s>0){--s +r=p.cO(p.b[s],a.a8N(B.fl))}break +case B.j1:if(r===B.u){q=p.b +if(s=0&&a==null))break +a0=d.b=a1.cO(a3[b],a6) +switch(a0.a){case 2:case 3:case 4:a=a0 +break +case 0:if(c===!1){++b +a=B.x}else if(b===a1.b.length-1)a=a0 +else{++b +c=!0}break +case 1:if(c===!0){--b +a=B.x}else if(b===0)a=a0 +else{--b +c=!1}break}}if(a7)a1.c=b +else a1.d=b +a1.Jf() +a.toString +return a}, +Og(a,b){return this.gqu().$2(a,b)}} +A.a5_.prototype={ +$1(a){var s=this.a +if(!s.y)return +s.y=!1 +if(s.Q.a!==0)s.a_O() +s.w6()}, +$0(){return this.$1(null)}, +$S:439} +A.a50.prototype={ +$1(a){var s,r=this.a,q=r.b[this.b] +r=r.a.gU() +r.toString +s=A.e_(q.aU(0,t.x.a(r)),a) +r=this.c +r=r==null?null:r.cW(s) +return r==null?s:r}, +$S:440} +A.a51.prototype={ +$1(a){return a.gwS(0)&&!a.gM(0)}, +$S:441} +A.a4W.prototype={ +$1(a){return a!==this.a.b[this.b]}, +$S:49} +A.a4X.prototype={ +$1(a){return this.a.cO(a,B.d2)}, +$S:32} +A.a4Y.prototype={ +$1(a){return a!==this.a.b[this.b]}, +$S:49} +A.a4Z.prototype={ +$1(a){return this.a.cO(a,B.d2)}, +$S:32} +A.OP.prototype={} +A.oj.prototype={ +ag(){return new A.R1(A.aA(t.M),null,!1)}} +A.R1.prototype={ +ao(){var s,r,q,p=this +p.aL() +s=p.a +r=s.e +if(r!=null){q=p.c +q.toString +r.a=q +s=s.c +if(s!=null)p.smm(s)}}, +aH(a){var s,r,q,p,o,n=this +n.b4(a) +s=a.e +if(s!=n.a.e){r=s==null +if(!r){s.a=null +n.d.V(0,s.gRE(s))}q=n.a.e +if(q!=null){p=n.c +p.toString +q.a=p +n.d.V(0,q.gvw(q))}s=r?null:s.at +r=n.a.e +if(!J.e(s,r==null?null:r.at))for(s=n.d,s=A.a8(s,!1,A.o(s).c),r=s.length,o=0;oq.guO()){o=q.Z +s=q.guO() +r=q.Z.at +r.toString +o.CL(s-r)}else{o=q.Z +s=o.at +s.toString +if(s<0)o.CL(0-s)}q.Z.qh(q.ga78()) +q.Z.qd(0,q.guO())}, +pO(a){var s,r=this +switch(r.E.a){case 0:s=new A.n(0,a-r.C$.gv(0).b+r.gv(0).b) +break +case 3:s=new A.n(a-r.C$.gv(0).a+r.gv(0).a,0) +break +case 1:s=new A.n(-a,0) +break +case 2:s=new A.n(0,-a) +break +default:s=null}return s}, +M7(a){var s,r,q=this +switch(q.a3.a){case 0:return!1 +case 1:case 2:case 3:s=a.a +if(!(s<0)){r=a.b +s=r<0||s+q.C$.gv(0).a>q.gv(0).a||r+q.C$.gv(0).b>q.gv(0).b}else s=!0 +return s}}, +aE(a,b){var s,r,q,p,o,n=this +if(n.C$!=null){s=n.Z.at +s.toString +r=n.pO(s) +s=new A.agZ(n,r) +q=n.aj +if(n.M7(r)){p=n.cx +p===$&&A.a() +o=n.gv(0) +q.saN(0,a.kY(p,b,new A.x(0,0,0+o.a,0+o.b),s,n.a3,q.a))}else{q.saN(0,null) +s.$2(a,b)}}}, +l(){this.aj.saN(0,null) +this.fc()}, +cM(a,b){var s,r=this.Z.at +r.toString +s=this.pO(r) +b.aq(0,s.a,s.b)}, +lT(a){var s=this,r=s.Z.at +r.toString +r=s.M7(s.pO(r)) +if(r){r=s.gv(0) +return new A.x(0,0,0+r.a,0+r.b)}return null}, +cV(a,b){var s,r=this +if(r.C$!=null){s=r.Z.at +s.toString +return a.ns(new A.agY(r),r.pO(s),b)}return!1}, +mw(a,b,c,d){var s,r,q,p,o,n,m,l,k,j,i=this,h=null +A.aX(i.E) +if(d==null)d=a.giH() +if(!(a instanceof A.H)){s=i.Z.at +s.toString +return new A.qS(s,d)}r=A.e_(a.aU(0,i.C$),d) +q=i.C$.gv(0) +switch(i.E.a){case 0:s=r.d +s=new A.oU(i.gv(0).b,q.b-s,s-r.b) +break +case 3:s=r.c +s=new A.oU(i.gv(0).a,q.a-s,s-r.a) +break +case 1:s=r.a +s=new A.oU(i.gv(0).a,s,r.c-s) +break +case 2:s=r.b +s=new A.oU(i.gv(0).b,s,r.d-s) +break +default:s=h}p=s.a +o=h +n=h +m=s.b +l=s.c +n=l +o=m +k=p +j=o-(k-n)*b +return new A.qS(j,r.cX(i.pO(j)))}, +yi(a,b,c){return this.mw(a,b,null,c)}, +f9(a,b,c,d){var s=this +if(!s.Z.r.gnt())return s.u_(a,b,c,d) +s.u_(a,null,c,A.arG(a,b,c,s.Z,d,s))}, +oV(){return this.f9(B.aA,null,B.r,null)}, +mK(a,b){return this.f9(B.aA,a,B.r,b)}, +D2(a){var s,r,q=this,p=q.guO(),o=q.Z.at +o.toString +s=p-o +switch(q.E.a){case 0:q.gv(0) +q.gv(0) +p=q.gv(0) +o=q.gv(0) +r=q.Z.at +r.toString +return new A.x(0,0-s,0+p.a,0+o.b+r) +case 1:q.gv(0) +p=q.Z.at +p.toString +q.gv(0) +return new A.x(0-p,0,0+q.gv(0).a+s,0+q.gv(0).b) +case 2:q.gv(0) +q.gv(0) +p=q.Z.at +p.toString +return new A.x(0,0-p,0+q.gv(0).a,0+q.gv(0).b+s) +case 3:q.gv(0) +q.gv(0) +p=q.gv(0) +o=q.Z.at +o.toString +return new A.x(0-s,0,0+p.a+o,0+q.gv(0).b)}}, +$iJ4:1} +A.agZ.prototype={ +$2(a,b){var s=this.a.C$ +s.toString +a.fE(s,b.a6(0,this.b))}, +$S:17} +A.agY.prototype={ +$2(a,b){return this.a.C$.c3(a,b)}, +$S:19} +A.D5.prototype={ +ah(a){var s +this.eq(a) +s=this.C$ +if(s!=null)s.ah(a)}, +ab(a){var s +this.e_(0) +s=this.C$ +if(s!=null)s.ab(0)}} +A.Tf.prototype={} +A.Tg.prototype={} +A.Kq.prototype={} +A.ou.prototype={ +bf(a){return A.as5(this,!1)}} +A.Ko.prototype={ +bf(a){return A.as5(this,!0)}, +ar(a){var s=new A.Jp(t.Gt.a(a),A.E(t.S,t.x),0,null,null,A.ai()) +s.aw() +return s}} +A.ra.prototype={ +gU(){return t.Ss.a(A.bv.prototype.gU.call(this))}, +aZ(a,b){var s,r,q=this.e +q.toString +t.M0.a(q) +this.p6(0,b) +s=b.d +r=q.d +if(s!==r)q=A.r(s)!==A.r(r)||s.Go(r) +else q=!1 +if(q)this.hV()}, +hV(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=null,a1={} +a.Hg() +a.p3=null +a1.a=!1 +try{i=t.S +s=A.amv(i,t.Dv) +r=A.fx(a0,a0,a0,i,t.i) +i=a.e +i.toString +q=t.M0.a(i) +p=new A.a9S(a1,a,s,q,r) +for(i=a.p2,h=i.$ti.h("ks<1,eB<1,2>>"),h=A.a8(new A.ks(i,h),!0,h.h("j.E")),g=h.length,f=t.MR,e=a.p1,d=0;d>")).V(0,p) +if(!a1.a&&a.R8){b=i.QB() +k=b==null?-1:b +j=k+1 +J.eI(s,j,i.i(0,j)) +p.$1(j)}}finally{a.p4=null +a.gU()}}, +a99(a,b){this.f.vG(this,new A.a9P(this,b,a))}, +d2(a,b,c){var s,r,q,p,o=null +if(a==null)s=o +else{s=a.gU() +s=s==null?o:s.b}r=t.MR +r.a(s) +q=this.Uy(a,b,c) +if(q==null)p=o +else{p=q.gU() +p=p==null?o:p.b}r.a(p) +if(s!=p&&s!=null&&p!=null)p.a=s.a +return q}, +ir(a){this.p2.A(0,a.c) +this.jW(a)}, +RC(a){var s,r=this +r.gU() +s=a.b +s.toString +s=t.D.a(s).b +s.toString +r.f.vG(r,new A.a9T(r,s))}, +Pp(a,b,c,d,e){var s,r,q=this.e +q.toString +s=t.M0 +r=s.a(q).d.gqY() +q=this.e +q.toString +s.a(q) +d.toString +q=A.aE_(b,c,d,e,r) +return q}, +gqq(){var s,r=this.e +r.toString +s=t.M0.a(r).d.gqY() +return s}, +qL(){var s=this.p2 +s.aaf() +s.QB() +s=this.e +s.toString +t.M0.a(s)}, +D4(a){var s=a.b +s.toString +t.D.a(s).b=this.p4}, +jt(a,b){this.gU().yQ(0,t.x.a(a),this.p3)}, +jC(a,b,c){this.gU().xg(t.x.a(a),this.p3)}, +kZ(a,b){this.gU().A(0,t.x.a(a))}, +bn(a){var s=this.p2,r=s.$ti.h("oY<1,2>") +r=A.eL(new A.oY(s,r),r.h("j.E"),t.W) +B.b.V(A.a8(r,!0,A.o(r).h("j.E")),a)}} +A.a9S.prototype={ +$1(a){var s,r,q,p,o=this,n=o.b +n.p4=a +q=n.p2 +if(q.i(0,a)!=null&&!J.e(q.i(0,a),o.c.i(0,a))){q.n(0,a,n.d2(q.i(0,a),null,a)) +o.a.a=!0}s=n.d2(o.c.i(0,a),o.d.d.Cs(n,a),a) +if(s!=null){p=o.a +p.a=p.a||!J.e(q.i(0,a),s) +q.n(0,a,s) +q=s.gU().b +q.toString +r=t.D.a(q) +if(a===0)r.a=0 +else{q=o.e +if(q.a9(0,a))r.a=q.i(0,a)}if(!r.c)n.p3=t.Qv.a(s.gU())}else{o.a.a=!0 +q.A(0,a)}}, +$S:13} +A.a9Q.prototype={ +$0(){return null}, +$S:37} +A.a9R.prototype={ +$0(){return this.a.p2.i(0,this.b)}, +$S:447} +A.a9P.prototype={ +$0(){var s,r,q,p=this,o=p.a +o.p3=p.b==null?null:t.Qv.a(o.p2.i(0,p.c-1).gU()) +s=null +try{q=o.e +q.toString +r=t.M0.a(q) +q=o.p4=p.c +s=o.d2(o.p2.i(0,q),r.d.Cs(o,q),q)}finally{o.p4=null}q=p.c +o=o.p2 +if(s!=null)o.n(0,q,s) +else o.A(0,q)}, +$S:0} +A.a9T.prototype={ +$0(){var s,r,q=this +try{s=q.a +r=s.p4=q.b +s.d2(s.p2.i(0,r),null,r)}finally{q.a.p4=null}q.a.p2.A(0,q.b)}, +$S:0} +A.wC.prototype={ +qf(a){var s,r,q=a.b +q.toString +t.Cl.a(q) +s=this.f +if(q.r4$!==s){q.r4$=s +r=a.d +if(r instanceof A.G&&!s)r.a5()}}} +A.Kk.prototype={ +K(a){var s=this.c,r=A.M(1-s,0,1) +return new A.Rm(r/2,new A.Rl(s,this.e,null),null)}} +A.Rl.prototype={ +ar(a){var s=new A.Jn(this.f,t.Gt.a(a),A.E(t.S,t.x),0,null,null,A.ai()) +s.aw() +return s}, +aB(a,b){b.stq(this.f)}} +A.Rm.prototype={ +ar(a){var s=new A.Qu(this.e,null,A.ai()) +s.aw() +return s}, +aB(a,b){b.stq(this.e)}} +A.Qu.prototype={ +stq(a){var s=this +if(s.dB===a)return +s.dB=a +s.ea=null +s.a5()}, +geH(){return this.ea}, +a63(){var s,r,q=this +if(q.ea!=null&&J.e(q.ct,t.p.a(A.G.prototype.gN.call(q))))return +s=t.p +r=s.a(A.G.prototype.gN.call(q)).y*q.dB +q.ct=s.a(A.G.prototype.gN.call(q)) +switch(A.aX(s.a(A.G.prototype.gN.call(q)).a).a){case 0:s=new A.aL(r,0,r,0) +break +case 1:s=new A.aL(0,r,0,r) +break +default:s=null}q.ea=s +return}, +bb(){this.a63() +this.Hj()}} +A.ze.prototype={ +F(){return"SnapshotMode."+this.b}} +A.zd.prototype={ +sCg(a){if(a===this.a)return +this.a=a +this.ap()}} +A.Kt.prototype={ +ar(a){var s=new A.tr(A.bM(a,B.e7,t.w).w.b,this.w,this.e,this.f,!0,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){t.xL.a(b) +b.sCE(0,this.e) +b.sad0(0,this.f) +b.snI(0,A.bM(a,B.e7,t.w).w.b) +b.sxu(this.w) +b.sa7L(!0)}} +A.tr.prototype={ +snI(a,b){var s,r=this +if(b===r.B)return +r.B=b +s=r.b8 +if(s==null)return +else{s.l() +r.b8=null +r.am()}}, +sxu(a){var s,r=this,q=r.a_ +if(a===q)return +s=r.geg() +q.J(0,s) +r.a_=a +if(A.r(q)!==A.r(r.a_)||r.a_.hZ(q))r.am() +if(r.y!=null)r.a_.a0(0,s)}, +sCE(a,b){var s,r,q=this,p=q.ak +if(b===p)return +s=q.guY() +p.J(0,s) +r=q.ak.a +q.ak=b +if(q.y!=null){b.a0(0,s) +if(r!==q.ak.a)q.KQ()}}, +sad0(a,b){if(b===this.bK)return +this.bK=b +this.am()}, +sa7L(a){return}, +ah(a){var s=this +s.ak.a0(0,s.guY()) +s.a_.a0(0,s.geg()) +s.p9(a)}, +ab(a){var s,r=this +r.eW=!1 +r.ak.J(0,r.guY()) +r.a_.J(0,r.geg()) +s=r.b8 +if(s!=null)s.l() +r.cT=r.b8=null +r.mW(0)}, +l(){var s,r=this +r.ak.J(0,r.guY()) +r.a_.J(0,r.geg()) +s=r.b8 +if(s!=null)s.l() +r.cT=r.b8=null +r.fc()}, +KQ(){var s,r=this +r.eW=!1 +s=r.b8 +if(s!=null)s.l() +r.cT=r.b8=null +r.am()}, +a46(){var s,r=this,q=A.ar6(B.h),p=r.gv(0),o=new A.jV(q,new A.x(0,0,0+p.a,0+p.b)) +r.fP(o,B.h) +o.lf() +if(r.bK!==B.KM&&!q.u4()){q.l() +if(r.bK===B.KL)throw A.c(A.jz("SnapshotWidget used with a child that contains a PlatformView.")) +r.eW=!0 +return null}p=r.gv(0) +s=q.aeE(new A.x(0,0,0+p.a,0+p.b),r.B) +q.l() +r.fu=r.gv(0) +return s}, +aE(a,b){var s,r,q,p,o=this +if(o.gv(0).gM(0)){s=o.b8 +if(s!=null)s.l() +o.cT=o.b8=null +return}if(!o.ak.a||o.eW){s=o.b8 +if(s!=null)s.l() +o.cT=o.b8=null +o.a_.rT(a,b,o.gv(0),A.f4.prototype.giF.call(o)) +return}if(!o.gv(0).k(0,o.fu)&&o.fu!=null){s=o.b8 +if(s!=null)s.l() +o.b8=null}if(o.b8==null){o.b8=o.a46() +o.cT=o.gv(0).ad(0,o.B)}s=o.b8 +r=o.a_ +if(s==null)r.rT(a,b,o.gv(0),A.f4.prototype.giF.call(o)) +else{s=o.gv(0) +q=o.b8 +q.toString +p=o.cT +p.toString +r.R3(a,b,s,q,p,o.B)}}} +A.Ks.prototype={} +A.MU.prototype={ +gcI(a){return A.aa(A.lw(this,A.ll(B.Ls,"gafu",1,[],[],0)))}, +scI(a,b){A.aa(A.lw(this,A.ll(B.Lx,"safo",2,[b],[],0)))}, +gc0(){return A.aa(A.lw(this,A.ll(B.Lt,"gafv",1,[],[],0)))}, +sc0(a){A.aa(A.lw(this,A.ll(B.Lq,"safq",2,[a],[],0)))}, +gj8(){return A.aa(A.lw(this,A.ll(B.Lu,"gafw",1,[],[],0)))}, +sj8(a){A.aa(A.lw(this,A.ll(B.Lp,"safr",2,[a],[],0)))}, +gkc(){return A.aa(A.lw(this,A.ll(B.Lv,"gafx",1,[],[],0)))}, +skc(a){A.aa(A.lw(this,A.ll(B.Lr,"saft",2,[a],[],0)))}, +Lj(a){return A.aa(A.lw(this,A.ll(B.Lw,"afy",0,[a],[],0)))}, +a0(a,b){}, +J(a,b){}, +$iae:1} +A.KI.prototype={ +ar(a){var s=new A.Jr(new A.vN(new WeakMap()),A.aA(t.Cn),A.E(t.X,t.m2),B.br,null,new A.aM(),A.ai()) +s.aw() +s.saG(null) +return s}, +aB(a,b){}} +A.Jr.prototype={ +c3(a,b){var s,r,q=this +if(!q.gv(0).p(0,b))return!1 +s=q.cV(a,b)||q.B===B.ae +if(s){r=new A.kS(b,q) +q.c8.n(0,r,a) +a.D(0,r)}return s}, +is(a,b){var s,r,q,p,o,n,m,l,k,j=this +if(!t.pY.b(a))return +s=j.eT +if(s.a===0)return +A.pX(b) +r=j.c8.a.get(b) +if(r==null)return +q=j.a0r(s,r.a) +p=t.Cn +o=A.a9p(q,q.gB0(),A.o(q).c,p).Ze() +p=A.aA(p) +for(q=o.gX(o),n=j.cQ;q.t();){m=q.gG(q) +m.gTd(m) +m=n.i(0,m.gTd(m)) +m.toString +p.L(0,m)}l=s.hF(p) +for(s=l.gX(l),k=!1;s.t();){q=s.gG(s) +if(q.gafG())k=!0 +q.gafX().$1(a)}for(s=A.dm(p,p.r,p.$ti.c),q=s.$ti.c;s.t();){p=s.d;(p==null?q.a(p):p).gafW().$1(a)}if(k){s=$.dY.bm$.nr(0,a.gbi(),new A.Ng()) +s.a.ly(s.b,s.c,B.bN)}}, +a0r(a,b){var s,r,q,p,o=A.aA(t.zE) +for(s=b.length,r=this.eT,q=0;q=0&&i==null))break +h=l.b=g.cO(s[j],a) +switch(h.a){case 2:case 3:case 4:i=h +break +case 0:if(k===!1){++j +i=B.x}else if(j===g.b.length-1)i=h +else{++j +k=!0}break +case 1:if(k===!0){--j +i=B.x}else if(j===0)i=h +else{--j +k=!1}break}}if(b)g.c=j +else g.d=j +g.Mt() +i.toString +return i}, +Ms(a7,a8){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2=this,a3=null,a4=a2.at,a5=a8?a4.b!=null:a4.a!=null,a6=a8?a4.a!=null:a4.b!=null +$label0$0:{s=a3 +r=a3 +a4=!1 +if(a8){if(a5){a4=a6 +r=a4 +s=r}q=a5 +p=q +o=p +n=o}else{o=a3 +n=o +p=!1 +q=!1}m=0 +if(a4){a4=a2.c +break $label0$0}l=a3 +a4=!1 +if(a8){if(a8){k=n +j=a8 +i=j}else{k=a5 +o=k +n=o +i=!0 +j=!0}if(k){if(q)a4=r +else{a4=a6 +r=a4 +q=!0}l=!1===a4 +a4=l}}else{j=a8 +i=j +k=!1}if(a4){a4=a2.c +break $label0$0}h=a3 +a4=!1 +if(a8){if(j)g=o +else{g=a5 +o=g +j=!0}h=!1===g +g=h +if(g)if(p)a4=s +else{if(q)a4=r +else{a4=a6 +r=a4 +q=!0}s=!0===a4 +a4=s +p=!0}}if(a4){a4=a2.d +break $label0$0}a4=!1 +if(a8)if(h)if(k)a4=l +else{if(q)a4=r +else{a4=a6 +r=a4 +q=!0}l=!1===a4 +a4=l +k=!0}if(a4){a4=m +break $label0$0}f=!1===a8 +a4=f +g=!1 +if(a4){if(i)a4=n +else{if(j)a4=o +else{a4=a5 +o=a4 +j=!0}n=!0===a4 +a4=n +i=!0}if(a4)if(p)a4=s +else{if(q)a4=r +else{a4=a6 +r=a4 +q=!0}s=!0===a4 +a4=s +p=!0}else a4=g}else a4=g +if(a4){a4=a2.d +break $label0$0}a4=!1 +if(f){if(i)g=n +else{if(j)g=o +else{g=a5 +o=g +j=!0}n=!0===g +g=n}if(g)if(k)a4=l +else{if(q)a4=r +else{a4=a6 +r=a4 +q=!0}l=!1===a4 +a4=l +k=!0}}if(a4){a4=a2.d +break $label0$0}a4=!1 +if(f){if(a8){g=h +e=a8}else{if(j)g=o +else{g=a5 +o=g +j=!0}h=!1===g +g=h +e=!0}if(g)if(p)a4=s +else{if(q)a4=r +else{a4=a6 +r=a4 +q=!0}s=!0===a4 +a4=s}}else e=a8 +if(a4){a4=a2.c +break $label0$0}a4=!1 +if(f){if(e)g=h +else{h=!1===(j?o:a5) +g=h}if(g)if(k)a4=l +else{l=!1===(q?r:a6) +a4=l}}if(a4){a4=m +break $label0$0}a4=a3}d=A.bj("currentSelectableResult") +c=a3 +b=a4 +a=c +while(!0){a4=a2.b +if(!(b=0&&a==null))break +a0=d.b=a2.cO(a4[b],a7) +switch(a0.a){case 2:case 3:case 4:a=a0 +break +case 0:if(c===!1){++b +a=B.x}else if(b===a2.b.length-1)a=a0 +else{++b +c=!0}break +case 1:if(c===!0){--b +a=B.x}else if(b===0)a=a0 +else{--b +c=!1}break}}a4=a2.c +m=a2.d +a1=a4>=m +if(a8){if(c!=null)if(!(!a1&&c&&b>=m))m=a1&&!c&&b<=m +else m=!0 +else m=!1 +if(m)a2.d=a4 +a2.c=b}else{if(c!=null)if(!(!a1&&!c&&b<=a4))a4=a1&&c&&b>=a4 +else a4=!0 +else a4=!1 +if(a4)a2.c=m +a2.d=b}a2.Mt() +a.toString +return a}, +gqu(){return A.aJX()}, +Mt(){var s,r,q,p=this,o=p.d,n=o===-1 +if(n&&p.c===-1)return +if(n||p.c===-1){if(n)o=p.c +n=p.b +new A.aF(n,new A.ahz(p,o),A.Z(n).h("aF<1>")).V(0,new A.ahA(p)) +return}n=p.c +s=Math.min(o,n) +r=Math.max(o,n) +for(q=0;n=p.b,q=s&&q<=r)continue +p.cO(n[q],B.d2)}}, +A(a,b){this.dy.A(0,b) +this.fr.A(0,b) +this.UX(0,b)}, +BJ(){var s,r,q,p,o=this,n=o.d +if(n!==-1&&J.fW(o.b[n]).c!==B.by){s=o.b[o.d] +r=s.gm(s).a.a.a6(0,new A.n(0,-s.gm(s).a.b/2)) +o.fx=A.bH(s.aU(0,null),r)}n=o.c +if(n!==-1&&J.fW(o.b[n]).c!==B.by){q=o.b[o.c] +p=q.gm(q).b.a.a6(0,new A.n(0,-q.gm(q).b.b/2)) +o.fy=A.bH(q.aU(0,null),p)}}, +wC(a){var s,r,q,p,o,n,m=this,l=m.GY(a) +for(s=m.b,r=s.length,q=m.dy,p=m.fr,o=0;o"))}} +A.tH.prototype={ +ao(){var s,r=this +r.aL() +s=r.a.c +r.d=s.gm(s) +r.a.c.a0(0,r.gBY())}, +aH(a){var s,r,q=this +q.b4(a) +s=a.c +if(s!==q.a.c){r=q.gBY() +s.J(0,r) +s=q.a.c +q.d=s.gm(s) +q.a.c.a0(0,r)}}, +l(){this.a.c.J(0,this.gBY()) +this.aC()}, +a77(){this.al(new A.aiz(this))}, +K(a){var s,r=this.a +r.toString +s=this.d +s===$&&A.a() +return r.d.$3(a,s,r.e)}} +A.aiz.prototype={ +$0(){var s=this.a,r=s.a.c +s.d=r.gm(r)}, +$S:0} +A.zU.prototype={ +ag(){return new A.Sz(A.Zu(!0,null,!1),A.a6S())}} +A.Sz.prototype={ +ao(){this.aL() +$.am.cb$.push(this)}, +l(){$.am.t2(this) +this.d.l() +this.aC()}, +OX(a){var s,r=this +if(a.a!==r.a.c.a)return +switch(a.b.a){case 1:switch(a.c.a){case 1:s=r.e.J8(r.d,!0) +break +case 2:s=r.e.A6(r.d,!0,!0) +break +case 0:s=r.d +break +default:s=null}s.ox() +break +case 0:$.am.ai$.d.b.i5(!1) +break}}, +K(a){var s=this.a,r=s.c,q=s.e,p=s.f +return new A.IZ(r,new A.B5(r,A.alD(A.asU(s.d,this.d,!1),this.e),null),q,p,null)}} +A.IZ.prototype={ +K(a){var s=this,r=s.c,q=s.e,p=s.f +return new A.Bu(r,new A.a6Q(s),q,p,new A.Am(r,q,p,t.DC))}} +A.a6Q.prototype={ +$2(a,b){var s=this.a +return new A.p0(s.c,new A.Bo(b,s.d,null),null)}, +$S:448} +A.Bu.prototype={ +bf(a){return new A.Q2(this,B.a1)}, +ar(a){return this.f}} +A.Q2.prototype={ +gj6(){var s=this.e +s.toString +t.bR.a(s) +return s.e}, +gU(){return t.Ju.a(A.bv.prototype.gU.call(this))}, +C_(){var s,r,q,p,o,n,m,l=this +try{n=l.e +n.toString +s=t.bR.a(n).d.$2(l,l.gj6()) +l.bm=l.d2(l.bm,s,null)}catch(m){r=A.a6(m) +q=A.aK(m) +n=A.bk("building "+l.j(0)) +p=new A.bD(r,q,"widgets library",n,null,!1) +A.df(p) +o=A.YR(p) +l.bm=l.d2(null,o,l.c)}}, +eZ(a,b){var s,r=this +r.u0(a,b) +s=t.Ju +r.gj6().sFo(s.a(A.bv.prototype.gU.call(r))) +r.HW() +r.C_() +s.a(A.bv.prototype.gU.call(r)).F8() +if(r.gj6().at!=null)s.a(A.bv.prototype.gU.call(r)).tK()}, +HX(a){var s,r,q,p=this +if(a==null)a=A.asD(p) +s=p.gj6() +a.CW.D(0,s) +r=a.cx +if(r!=null)s.ah(r) +s=$.iP +s.toString +r=t.Ju.a(A.bv.prototype.gU.call(p)) +q=r.go +s.dx$.n(0,q.a,r) +r.svU(A.aEL(q)) +p.E=a}, +HW(){return this.HX(null)}, +IM(){var s,r=this,q=r.E +if(q!=null){s=$.iP +s.toString +s.dx$.A(0,t.Ju.a(A.bv.prototype.gU.call(r)).go.a) +s=r.gj6() +q.CW.A(0,s) +if(q.cx!=null)s.ab(0) +r.E=null}}, +bh(){var s,r=this +r.GL() +if(r.E==null)return +s=A.asD(r) +if(s!==r.E){r.IM() +r.HX(s)}}, +hV(){this.Hg() +this.C_()}, +bL(){var s=this +s.yS() +s.gj6().sFo(t.Ju.a(A.bv.prototype.gU.call(s))) +s.HW()}, +cN(){this.IM() +this.gj6().sFo(null) +this.Hf()}, +aZ(a,b){this.p6(0,b) +this.C_()}, +bn(a){var s=this.bm +if(s!=null)a.$1(s)}, +ir(a){this.bm=null +this.jW(a)}, +jt(a,b){t.Ju.a(A.bv.prototype.gU.call(this)).saG(a)}, +jC(a,b,c){}, +kZ(a,b){t.Ju.a(A.bv.prototype.gU.call(this)).saG(null)}, +mp(){var s=this,r=s.gj6(),q=s.e +q.toString +if(r!==t.bR.a(q).e){r=s.gj6() +q=r.at +if(q!=null)q.l() +r.at=null +B.b.I(r.r) +B.b.I(r.z) +B.b.I(r.Q) +r.ch.I(0)}s.Vq()}} +A.p0.prototype={ +bT(a){return this.f!==a.f}} +A.Bo.prototype={ +bT(a){return this.f!==a.f}} +A.Am.prototype={ +k(a,b){var s=this +if(b==null)return!1 +if(J.T(b)!==A.r(s))return!1 +return s.$ti.b(b)&&b.a===s.a&&b.b===s.b&&b.c===s.c}, +gu(a){return A.P(this.a,this.b,this.c,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a)}, +j(a){return"[_DeprecatedRawViewKey "+("#"+A.b9(this.a))+"]"}} +A.TG.prototype={} +A.oI.prototype={ +ar(a){var s=this,r=s.e,q=A.asF(a,r),p=s.y,o=A.ai() +if(p==null)p=250 +o=new A.yp(s.r,r,q,s.w,p,s.z,s.Q,o,0,null,null,new A.aM(),A.ai()) +o.aw() +o.L(0,null) +r=o.T$ +if(r!=null)o.dC=r +return o}, +aB(a,b){var s=this,r=s.e +b.sew(r) +r=A.asF(a,r) +b.sa9d(r) +b.sa7z(s.r) +b.skR(0,s.w) +b.sa7Z(s.y) +b.sa8_(s.z) +b.snz(s.Q)}, +bf(a){return new A.SA(A.cA(t.W),this,B.a1)}} +A.SA.prototype={ +gU(){return t.E1.a(A.fF.prototype.gU.call(this))}, +eZ(a,b){var s=this +s.E=!0 +s.US(a,b) +s.MQ() +s.E=!1}, +aZ(a,b){var s=this +s.E=!0 +s.UU(0,b) +s.MQ() +s.E=!1}, +MQ(){var s=this,r=s.e +r.toString +t.Dg.a(r) +r=t.E1 +if(!s.gOb(0).gM(0)){r.a(A.fF.prototype.gU.call(s)).saQ(t.IT.a(s.gOb(0).gH(0).gU())) +s.Z=0}else{r.a(A.fF.prototype.gU.call(s)).saQ(null) +s.Z=null}}, +jt(a,b){var s=this +s.GS(a,b) +if(!s.E&&b.b===s.Z)t.E1.a(A.fF.prototype.gU.call(s)).saQ(t.IT.a(a))}, +jC(a,b,c){this.GT(a,b,c)}, +kZ(a,b){var s=this +s.UT(a,b) +if(!s.E&&t.E1.a(A.fF.prototype.gU.call(s)).dC===a)t.E1.a(A.fF.prototype.gU.call(s)).saQ(null)}} +A.TH.prototype={} +A.TI.prototype={} +A.ac5.prototype={ +$1(a){var s,r,q=this,p=a.a,o=p==null?null:p.r +$label0$0:{if(typeof o=="number"){p=o!==B.b.gP(q.b) +s=o}else{s=null +p=!1}if(p){p=s +break $label0$0}p=null +break $label0$0}r=p!=null +if(r)q.b.push(p) +a.af0(q) +if(r)q.b.pop() +return!0}, +$S:70} +A.c_.prototype={ +F(){return"WidgetState."+this.b}} +A.Ln.prototype={$ibs:1} +A.CL.prototype={ +a1(a,b){return this.c.$1(b)}} +A.Lo.prototype={ +qE(a){return this.a1(0,A.aA(t.EK)).qE(a)}, +$ibs:1} +A.Nl.prototype={ +a1(a,b){if(b.p(0,B.S))return B.c6 +return B.dY}, +glO(){return"WidgetStateMouseCursor(clickable)"}} +A.Oq.prototype={ +a1(a,b){var s,r=this,q=r.a,p=q==null?null:q.a1(0,b) +q=r.b +s=q==null?null:q.a1(0,b) +q=p==null +if(q&&s==null)return null +if(q){q=s.a +return A.aG(new A.cy(A.a3(0,q.gm(q)>>>16&255,q.gm(q)>>>8&255,q.gm(q)&255),0,B.a4,-1),s,r.c)}if(s==null){q=p.a +return A.aG(p,new A.cy(A.a3(0,q.gm(q)>>>16&255,q.gm(q)>>>8&255,q.gm(q)&255),0,B.a4,-1),r.c)}return A.aG(p,s,r.c)}, +$ibs:1} +A.bs.prototype={} +A.AV.prototype={ +a1(a,b){var s,r=this,q=r.a,p=q==null?null:q.a1(0,b) +q=r.b +s=q==null?null:q.a1(0,b) +return r.d.$3(p,s,r.c)}, +$ibs:1} +A.bF.prototype={ +a1(a,b){return this.a.$1(b)}, +$ibs:1} +A.dl.prototype={ +a1(a,b){return this.a}, +j(a){var s="WidgetStatePropertyAll(",r=this.a +if(typeof r=="number")return s+A.ih(r)+")" +else return s+A.h(r)+")"}, +$ibs:1} +A.Lp.prototype={ +el(a,b,c){var s=this.a +if(c?J.ek(s,b):J.kL(s,b))this.ap()}} +A.rI.prototype={ +ag(){return new A.SE()}} +A.SE.prototype={ +bh(){var s,r,q=this +q.d_() +s=q.a +s.toString +r=q.d +if(r!=null)B.b.A(r.k4,s.d) +s=q.c +s.toString +s=q.d=A.HA(s,t.X) +r=q.a +r.toString +if(s!=null)s.k4.push(r.d)}, +aH(a){var s,r=this +r.b4(a) +s=a.d +if(!J.e(r.a.d,s)&&r.d!=null){B.b.A(r.d.k4,s) +s=r.a +s.toString +r.d.k4.push(s.d)}}, +l(){var s,r=this.a +r.toString +s=this.d +if(s!=null)B.b.A(s.k4,r.d) +this.aC()}, +K(a){return this.a.c}} +A.Zm.prototype={ +cc(){var s=0,r=A.C(t.bo),q +var $async$cc=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:q=$.U6().cc() +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$cc,r)}} +A.a4o.prototype={ +iw(a){return this.abL(a)}, +abL(a){var s=0,r=A.C(t.bo),q,p +var $async$iw=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:p=t.N +s=3 +return A.y(B.ct.cJ("init",A.as(["key",a],p,p),!1,t.S),$async$iw) +case 3:q=c +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$iw,r)}, +hk(a,b,c,d,e){return this.adU(a,b,c,d,e)}, +adU(a,b,c,d,e){var s=0,r=A.C(t.qU),q,p=this,o +var $async$hk=A.D(function(f,g){if(f===1)return A.z(g,r) +while(true)switch(s){case 0:s=3 +return A.y(B.ct.cJ("recognizeByBuffer",A.as(["bytes",a,"width",b,"height",c,"stride",d,"format",e],t.N,t.K),!1,t.j),$async$hk) +case 3:o=g +if(o==null||J.eJ(o)){q=A.b([],t.uE) +s=1 +break}q=p.LA(o) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$hk,r)}, +hl(a){return this.adX(a)}, +adX(a){var s=0,r=A.C(t.qU),q,p=this,o,n +var $async$hl=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:o=t.N +s=3 +return A.y(B.ct.cJ("recognizeByFile",A.as(["filename",a],o,o),!1,t.j),$async$hl) +case 3:n=c +if(n==null||J.eJ(n)){q=A.b([],t.uE) +s=1 +break}q=p.LA(n) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$hl,r)}, +LA(a){var s,r,q,p,o,n,m,l,k,j=A.b([],t.uE) +for(s=J.ak(a),r=t.d0;s.t();){q=s.gG(s) +p=A.b([],r) +o=J.ax(q) +if(o.gq(q)===2||o.gq(q)===3)for(n=0;n") +p.cv(0,A.a8(new A.ay(q,new A.a0c(),s),!0,s.h("aI.E")))}}, +$S:42} +A.a0c.prototype={ +$1(a){var s=self.URL.createObjectURL(a),r=a.name,q=a.size +return A.zZ(s,new A.dJ(A.X9(a.lastModified,0,!1),0,!1),q,a.type,r)}, +$S:450} +A.a0e.prototype={ +$1(a){this.a.cv(0,A.b([],t.FQ))}, +$S:42} +A.a0f.prototype={ +$1(a){var s=this.a +if((s.a.a&30)===0)s.jh(a)}, +$S:42} +A.a0n.prototype={ +t4(a,b,c,d){return this.aei(a,b,c,d)}, +aei(a,a0,a1,a2){var s=0,r=A.C(t.rx),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e,d,c,b +var $async$t4=A.D(function(a3,a4){if(a3===1){o=a4 +s=p}while(true)switch(s){case 0:q=a +s=1 +break +p=4 +j=a.c +j===$&&A.a() +s=7 +return A.y(n.acH(j),$async$t4) +case 7:m=a4 +i=m +h=i.width +g=i.height +f=new A.K(h,g) +e=Math.max(1,1) +if(e>1)f=new A.K(B.c.fQ(h,e),B.c.fQ(g,e)) +h=self +d=h.document.createElement("canvas") +d.width=B.c.Y(f.a) +d.height=B.c.Y(f.b) +g=d.getContext("2d") +if(g==null)g=t.m.a(g) +g.drawImage(i,0,0) +l=d +s=8 +return A.y(n.FJ(a,l,a2),$async$t4) +case 8:k=a4 +h.URL.revokeObjectURL(j) +q=k +s=1 +break +p=2 +s=6 +break +case 4:p=3 +b=o +q=a +s=1 +break +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$t4,r)}, +acH(a){var s,r=new A.a9($.ad,t.XC),q=new A.b1(r,t.m_),p=self.document.createElement("img") +p.src=a +s=t.Ds.c +A.oO(p,"load",new A.a0o(q,p),!1,s) +A.oO(p,"error",new A.a0p(p,q),!1,s) +return r}, +FJ(a,b,c){return this.af6(a,b,c)}, +af6(a,b,c){var s=0,r=A.C(t.rx),q,p,o,n,m +var $async$FJ=A.D(function(d,e){if(d===1)return A.z(e,r) +while(true)switch(s){case 0:p=Math.min(100,100) +o=new A.a9($.ad,t.lL) +n=A.b6(new A.a0q(new A.b1(o,t.na),a)) +m=a.a +if(m==null)m="" +b.toBlob(n,m,p/100) +q=o +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$FJ,r)}} +A.a0o.prototype={ +$1(a){this.a.cv(0,this.b)}, +$S:14} +A.a0p.prototype={ +$1(a){this.a.remove() +this.b.jh("Error while loading image.")}, +$S:14} +A.a0q.prototype={ +$1(a){var s=this.b +this.a.cv(0,A.zZ(self.URL.createObjectURL(a),new A.dJ(Date.now(),0,!1),a.size,s.a,"scaled_"+s.b))}, +$S:42} +A.a4p.prototype={ +a0c(a,b,c,d,e,f){var s=t.N +return B.GD.cJ("pickImage",A.as(["source",f.a,"maxWidth",c,"maxHeight",b,"imageQuality",a,"cameraDevice",d.a,"requestFullMetadata",!0],s,t.z),!1,s)}, +jP(a,b){return this.SR(a,b)}, +SR(a,b){var s=0,r=A.C(t.ju),q,p=this,o +var $async$jP=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:s=3 +return A.y(p.a0c(a.c,a.b,a.a,a.e,!0,b),$async$jP) +case 3:o=d +q=o!=null?A.zZ(o,null,null,null,null):null +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$jP,r)}} +A.a0a.prototype={} +A.Ev.prototype={ +F(){return"CameraDevice."+this.b}} +A.GK.prototype={} +A.a08.prototype={ +XM(a,b,c,d){}} +A.GL.prototype={ +F(){return"ImageSource."+this.b}} +A.vt.prototype={ +aK(a){var s,r,q=this.x,p=q.i(0,a) +if(p!=null)return p +s=this.oQ(a) +r=this.b.$1(a).aK(s) +if(q.a>4)q.I(0) +q.n(0,a,r) +return r}, +oQ(b1){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4,a5,a6,a7,a8=this,a9=b1.e,b0=a8.w +if(b0!=null){s=b0.$1(b1) +r=s.a +q=s.b +p=s.c +o=s.d +n=s.e +m=a8.e.$1(b1).oQ(b1) +l=!0 +if(o!==B.bl)if(!(o===B.c9&&!b1.d)){b0=o===B.Qj&&b1.d +l=b0}k=l?r:q +j=l?q:r +i=b1.d?1:-1 +h=k.r.eM(0,a9) +g=j.r.eM(0,a9) +f=k.c.$1(b1) +e=A.mW(m,f)>=h?f:A.vu(m,h) +d=j.c.$1(b1) +c=A.mW(m,d)>=g?d:A.vu(m,g) +if(!((c-e)*i>=p)){a9=p*i +c=A.a47(0,100,e+a9) +e=(c-e)*i>=p?e:A.a47(0,100,c-a9)}b=60 +if(50<=e&&e<60){a9=p*i +if(i>0){c=Math.max(c,60+a9) +e=b}else{c=Math.min(c,49+a9) +e=49}}else if(50<=c&&c<60)if(n){a9=p*i +if(i>0){c=Math.max(c,60+a9) +e=b}else{c=Math.min(c,49+a9) +e=49}}else c=i>0?60:49 +return a8.a===k.a?e:c}else{a=a8.c.$1(b1) +b0=a8.e +if(b0==null)return a +m=b0.$1(b1).oQ(b1) +a0=a8.r.eM(0,a9) +a=A.mW(m,a)>=a0?a:A.vu(m,a0) +if(a8.d&&50<=a&&a<60)a=A.mW(49,m)>=a0?49:60 +a9=a8.f +if(a9!=null){a1=b0.$1(b1).oQ(b1) +a2=a9.$1(b1).oQ(b1) +a3=Math.max(a1,a2) +a4=Math.min(a1,a2) +if(A.mW(a3,a)>=a0&&A.mW(a4,a)>=a0)return a +a5=A.apd(a0,a3) +a6=A.apc(a0,a4) +a7=[] +if(a5!==-1)a7.push(a5) +if(a6!==-1)a7.push(a6) +if(B.c.a7(a1)<60||B.c.a7(a2)<60)return a5<0?100:a5 +if(a7.length===1)return a7[0] +return a6<0?0:a6}return a}}} +A.d2.prototype={} +A.a1D.prototype={ +$1(a){return a.x}, +$S:3} +A.a1E.prototype={ +$1(a){return a.d?6:98}, +$S:4} +A.a1W.prototype={ +$1(a){return a.x}, +$S:3} +A.a1X.prototype={ +$1(a){return a.d?90:10}, +$S:4} +A.a1V.prototype={ +$1(a){return $.aoa()}, +$S:5} +A.a3K.prototype={ +$1(a){return a.x}, +$S:3} +A.a3L.prototype={ +$1(a){return a.d?6:98}, +$S:4} +A.a3G.prototype={ +$1(a){return a.x}, +$S:3} +A.a3H.prototype={ +$1(a){return a.d?6:new A.eO(87,87,80,75).eM(0,a.e)}, +$S:4} +A.a3u.prototype={ +$1(a){return a.x}, +$S:3} +A.a3v.prototype={ +$1(a){return a.d?new A.eO(24,24,29,34).eM(0,a.e):98}, +$S:4} +A.a3C.prototype={ +$1(a){return a.x}, +$S:3} +A.a3D.prototype={ +$1(a){return a.d?new A.eO(4,4,2,0).eM(0,a.e):100}, +$S:4} +A.a3A.prototype={ +$1(a){return a.x}, +$S:3} +A.a3B.prototype={ +$1(a){var s=a.e +return a.d?new A.eO(10,10,11,12).eM(0,s):new A.eO(96,96,96,95).eM(0,s)}, +$S:4} +A.a3E.prototype={ +$1(a){return a.x}, +$S:3} +A.a3F.prototype={ +$1(a){var s=a.e +return a.d?new A.eO(12,12,16,20).eM(0,s):new A.eO(94,94,92,90).eM(0,s)}, +$S:4} +A.a3w.prototype={ +$1(a){return a.x}, +$S:3} +A.a3x.prototype={ +$1(a){var s=a.e +return a.d?new A.eO(17,17,21,25).eM(0,s):new A.eO(92,92,88,85).eM(0,s)}, +$S:4} +A.a3y.prototype={ +$1(a){return a.x}, +$S:3} +A.a3z.prototype={ +$1(a){var s=a.e +return a.d?new A.eO(22,22,26,30).eM(0,s):new A.eO(90,90,84,80).eM(0,s)}, +$S:4} +A.a2z.prototype={ +$1(a){return a.x}, +$S:3} +A.a2A.prototype={ +$1(a){return a.d?90:10}, +$S:4} +A.a2y.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a3I.prototype={ +$1(a){return a.y}, +$S:3} +A.a3J.prototype={ +$1(a){return a.d?30:90}, +$S:4} +A.a2w.prototype={ +$1(a){return a.y}, +$S:3} +A.a2x.prototype={ +$1(a){return a.d?80:30}, +$S:4} +A.a2v.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a1T.prototype={ +$1(a){return a.x}, +$S:3} +A.a1U.prototype={ +$1(a){return a.d?90:20}, +$S:4} +A.a1O.prototype={ +$1(a){return a.x}, +$S:3} +A.a1P.prototype={ +$1(a){return a.d?20:95}, +$S:4} +A.a1N.prototype={ +$1(a){return $.akG()}, +$S:5} +A.a2T.prototype={ +$1(a){return a.y}, +$S:3} +A.a2U.prototype={ +$1(a){return a.d?60:50}, +$S:4} +A.a2S.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a2Q.prototype={ +$1(a){return a.y}, +$S:3} +A.a2R.prototype={ +$1(a){return a.d?30:80}, +$S:4} +A.a2P.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a3s.prototype={ +$1(a){return a.x}, +$S:3} +A.a3t.prototype={ +$1(a){return 0}, +$S:4} +A.a3a.prototype={ +$1(a){return a.x}, +$S:3} +A.a3b.prototype={ +$1(a){return 0}, +$S:4} +A.a37.prototype={ +$1(a){return a.f}, +$S:3} +A.a38.prototype={ +$1(a){if(a.c===B.Y)return a.d?100:0 +return a.d?80:40}, +$S:4} +A.a36.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a39.prototype={ +$1(a){return new A.dQ($.Dw(),$.Dv(),10,B.bl,!1)}, +$S:11} +A.a2f.prototype={ +$1(a){return a.f}, +$S:3} +A.a2g.prototype={ +$1(a){if(a.c===B.Y)return a.d?10:90 +return a.d?20:100}, +$S:4} +A.a2e.prototype={ +$1(a){return $.Dv()}, +$S:5} +A.a2W.prototype={ +$1(a){return a.f}, +$S:3} +A.a2X.prototype={ +$1(a){var s=a.c +if(s===B.cb||s===B.ca){s=a.b.c +s===$&&A.a() +return s}if(s===B.Y)return a.d?85:25 +return a.d?30:90}, +$S:4} +A.a2V.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a2Y.prototype={ +$1(a){return new A.dQ($.Dw(),$.Dv(),10,B.bl,!1)}, +$S:11} +A.a24.prototype={ +$1(a){return a.f}, +$S:3} +A.a25.prototype={ +$1(a){var s=a.c +if(s===B.cb||s===B.ca)return A.vu($.Dw().c.$1(a),4.5) +if(s===B.Y)return a.d?0:100 +return a.d?90:10}, +$S:4} +A.a23.prototype={ +$1(a){return $.Dw()}, +$S:5} +A.a1R.prototype={ +$1(a){return a.f}, +$S:3} +A.a1S.prototype={ +$1(a){return a.d?40:80}, +$S:4} +A.a1Q.prototype={ +$1(a){return $.akG()}, +$S:5} +A.a3p.prototype={ +$1(a){return a.r}, +$S:3} +A.a3q.prototype={ +$1(a){return a.d?80:40}, +$S:4} +A.a3o.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a3r.prototype={ +$1(a){return new A.dQ($.Dz(),$.U9(),10,B.bl,!1)}, +$S:11} +A.a2t.prototype={ +$1(a){return a.r}, +$S:3} +A.a2u.prototype={ +$1(a){if(a.c===B.Y)return a.d?10:100 +else return a.d?20:100}, +$S:4} +A.a2s.prototype={ +$1(a){return $.U9()}, +$S:5} +A.a3d.prototype={ +$1(a){return a.r}, +$S:3} +A.a3e.prototype={ +$1(a){var s=a.d,r=s?30:90,q=a.c +if(q===B.Y)return s?30:85 +if(!(q===B.cb||q===B.ca))return r +q=a.r +return A.aC2(q.a,q.b,r,!s)}, +$S:4} +A.a3c.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a3f.prototype={ +$1(a){return new A.dQ($.Dz(),$.U9(),10,B.bl,!1)}, +$S:11} +A.a2i.prototype={ +$1(a){return a.r}, +$S:3} +A.a2j.prototype={ +$1(a){var s=a.c +if(!(s===B.cb||s===B.ca))return a.d?90:10 +return A.vu($.Dz().c.$1(a),4.5)}, +$S:4} +A.a2h.prototype={ +$1(a){return $.Dz()}, +$S:5} +A.a3Z.prototype={ +$1(a){return a.w}, +$S:3} +A.a4_.prototype={ +$1(a){if(a.c===B.Y)return a.d?90:25 +return a.d?80:40}, +$S:4} +A.a3Y.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a40.prototype={ +$1(a){return new A.dQ($.DC(),$.Ua(),10,B.bl,!1)}, +$S:11} +A.a2N.prototype={ +$1(a){return a.w}, +$S:3} +A.a2O.prototype={ +$1(a){if(a.c===B.Y)return a.d?10:90 +return a.d?20:100}, +$S:4} +A.a2M.prototype={ +$1(a){return $.Ua()}, +$S:5} +A.a3N.prototype={ +$1(a){return a.w}, +$S:3} +A.a3O.prototype={ +$1(a){var s=a.c +if(s===B.Y)return a.d?60:49 +if(!(s===B.cb||s===B.ca))return a.d?30:90 +s=a.b.c +s===$&&A.a() +s=A.aln(a.w.aK(s)).c +s===$&&A.a() +return s}, +$S:4} +A.a3M.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a3P.prototype={ +$1(a){return new A.dQ($.DC(),$.Ua(),10,B.bl,!1)}, +$S:11} +A.a2C.prototype={ +$1(a){return a.w}, +$S:3} +A.a2D.prototype={ +$1(a){var s=a.c +if(s===B.Y)return a.d?0:100 +if(!(s===B.cb||s===B.ca))return a.d?90:10 +return A.vu($.DC().c.$1(a),4.5)}, +$S:4} +A.a2B.prototype={ +$1(a){return $.DC()}, +$S:5} +A.a1K.prototype={ +$1(a){return a.z}, +$S:3} +A.a1L.prototype={ +$1(a){return a.d?80:40}, +$S:4} +A.a1J.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a1M.prototype={ +$1(a){return new A.dQ($.U8(),$.U7(),10,B.bl,!1)}, +$S:11} +A.a21.prototype={ +$1(a){return a.z}, +$S:3} +A.a22.prototype={ +$1(a){return a.d?20:100}, +$S:4} +A.a20.prototype={ +$1(a){return $.U7()}, +$S:5} +A.a1G.prototype={ +$1(a){return a.z}, +$S:3} +A.a1H.prototype={ +$1(a){return a.d?30:90}, +$S:4} +A.a1F.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a1I.prototype={ +$1(a){return new A.dQ($.U8(),$.U7(),10,B.bl,!1)}, +$S:11} +A.a1Z.prototype={ +$1(a){return a.z}, +$S:3} +A.a2_.prototype={ +$1(a){return a.d?90:10}, +$S:4} +A.a1Y.prototype={ +$1(a){return $.U8()}, +$S:5} +A.a33.prototype={ +$1(a){return a.f}, +$S:3} +A.a34.prototype={ +$1(a){return a.c===B.Y?40:90}, +$S:4} +A.a32.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a35.prototype={ +$1(a){return new A.dQ($.Dx(),$.Dy(),10,B.c9,!0)}, +$S:11} +A.a3_.prototype={ +$1(a){return a.f}, +$S:3} +A.a30.prototype={ +$1(a){return a.c===B.Y?30:80}, +$S:4} +A.a2Z.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a31.prototype={ +$1(a){return new A.dQ($.Dx(),$.Dy(),10,B.c9,!0)}, +$S:11} +A.a2b.prototype={ +$1(a){return a.f}, +$S:3} +A.a2d.prototype={ +$1(a){return a.c===B.Y?100:10}, +$S:4} +A.a2a.prototype={ +$1(a){return $.Dy()}, +$S:5} +A.a2c.prototype={ +$1(a){return $.Dx()}, +$S:5} +A.a27.prototype={ +$1(a){return a.f}, +$S:3} +A.a29.prototype={ +$1(a){return a.c===B.Y?90:30}, +$S:4} +A.a26.prototype={ +$1(a){return $.Dy()}, +$S:5} +A.a28.prototype={ +$1(a){return $.Dx()}, +$S:5} +A.a3l.prototype={ +$1(a){return a.r}, +$S:3} +A.a3m.prototype={ +$1(a){return a.c===B.Y?80:90}, +$S:4} +A.a3k.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a3n.prototype={ +$1(a){return new A.dQ($.DA(),$.DB(),10,B.c9,!0)}, +$S:11} +A.a3h.prototype={ +$1(a){return a.r}, +$S:3} +A.a3i.prototype={ +$1(a){return a.c===B.Y?70:80}, +$S:4} +A.a3g.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a3j.prototype={ +$1(a){return new A.dQ($.DA(),$.DB(),10,B.c9,!0)}, +$S:11} +A.a2p.prototype={ +$1(a){return a.r}, +$S:3} +A.a2r.prototype={ +$1(a){return 10}, +$S:4} +A.a2o.prototype={ +$1(a){return $.DB()}, +$S:5} +A.a2q.prototype={ +$1(a){return $.DA()}, +$S:5} +A.a2l.prototype={ +$1(a){return a.r}, +$S:3} +A.a2n.prototype={ +$1(a){return a.c===B.Y?25:30}, +$S:4} +A.a2k.prototype={ +$1(a){return $.DB()}, +$S:5} +A.a2m.prototype={ +$1(a){return $.DA()}, +$S:5} +A.a3V.prototype={ +$1(a){return a.w}, +$S:3} +A.a3W.prototype={ +$1(a){return a.c===B.Y?40:90}, +$S:4} +A.a3U.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a3X.prototype={ +$1(a){return new A.dQ($.DD(),$.DE(),10,B.c9,!0)}, +$S:11} +A.a3R.prototype={ +$1(a){return a.w}, +$S:3} +A.a3S.prototype={ +$1(a){return a.c===B.Y?30:80}, +$S:4} +A.a3Q.prototype={ +$1(a){return a.d?$.dD():$.dE()}, +$S:5} +A.a3T.prototype={ +$1(a){return new A.dQ($.DD(),$.DE(),10,B.c9,!0)}, +$S:11} +A.a2J.prototype={ +$1(a){return a.w}, +$S:3} +A.a2L.prototype={ +$1(a){return a.c===B.Y?100:10}, +$S:4} +A.a2I.prototype={ +$1(a){return $.DE()}, +$S:5} +A.a2K.prototype={ +$1(a){return $.DD()}, +$S:5} +A.a2F.prototype={ +$1(a){return a.w}, +$S:3} +A.a2H.prototype={ +$1(a){return a.c===B.Y?90:30}, +$S:4} +A.a2E.prototype={ +$1(a){return $.DE()}, +$S:5} +A.a2G.prototype={ +$1(a){return $.DD()}, +$S:5} +A.eO.prototype={ +eM(a,b){var s,r=this +if(b<0.5)return A.am3(r.b,r.c,b/0.5) +else{s=r.d +if(b<1)return A.am3(r.c,s,(b-0.5)/0.5) +else return s}}} +A.zL.prototype={ +F(){return"TonePolarity."+this.b}} +A.dQ.prototype={} +A.i8.prototype={ +F(){return"Variant."+this.b}} +A.Vy.prototype={} +A.eX.prototype={ +k(a,b){var s,r +if(b==null)return!1 +if(!(b instanceof A.eX))return!1 +s=b.d +s===$&&A.a() +r=this.d +r===$&&A.a() +return s===r}, +gu(a){var s=this.d +s===$&&A.a() +return B.f.gu(s)}, +j(a){var s,r,q=this.a +q===$&&A.a() +q=B.f.j(B.c.a7(q)) +s=this.b +s===$&&A.a() +s=B.c.a7(s) +r=this.c +r===$&&A.a() +return"H"+q+" C"+s+" T"+B.f.j(B.c.a7(r))}} +A.ac1.prototype={} +A.oD.prototype={ +aK(a){var s=this.d +if(s.a9(0,a)){s=s.i(0,a) +s.toString +return A.eY(s)}else return A.eY(A.nm(this.a,this.b,a))}, +k(a,b){if(b==null)return!1 +if(b instanceof A.oD)return this.a===b.a&&this.b===b.b +return!1}, +gu(a){var s=A.P(this.a,this.b,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a,B.a) +return s}, +j(a){return"TonalPalette.of("+A.h(this.a)+", "+A.h(this.b)+")"}} +A.JH.prototype={} +A.JI.prototype={} +A.JJ.prototype={} +A.JK.prototype={} +A.JL.prototype={} +A.JM.prototype={} +A.JN.prototype={} +A.JO.prototype={} +A.JP.prototype={} +A.aaF.prototype={ +a7y(a2,a3){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a=this,a0=a.a,a1=a0.a +a1===$&&A.a() +s=B.c.a7(a1) +r=a.gm6()[s] +q=a.xL(r) +a1=t.DU +p=A.b([r],a1) +for(o=0,n=0;n<360;++n,q=l){m=B.f.bo(s+n,360) +l=a.xL(a.gm6()[m]) +o+=Math.abs(l-q)}k=o/a3 +q=a.xL(r) +for(j=1,i=0;p.length=g*k +e=1 +while(!0){if(!(f&&g=(g+e)*k;++e}++j +if(j>360){for(;p.length=a1?B.f.bo(b,a1):b])}for(a0=a2-c-1+1,n=1;n=a1?B.f.bo(b,a1):b])}return d}, +ga8s(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d=this,c=d.f +if(c!=null)return c +c=B.b.gH(d.gjr()).a +c===$&&A.a() +s=d.giR().i(0,B.b.gH(d.gjr())) +s.toString +r=B.b.gP(d.gjr()).a +r===$&&A.a() +q=d.giR().i(0,B.b.gP(d.gjr())) +q.toString +p=q-s +q=d.a +o=q.a +o===$&&A.a() +n=A.ase(c,o,r) +if(n)m=r +else m=c +if(n)l=c +else l=r +k=d.gm6()[B.c.a7(q.a)] +j=1-d.gabP() +for(i=1000,h=0;h<=360;++h){g=B.c.bo(m+h,360) +if(g<0)g+=360 +if(!A.ase(m,g,l))continue +f=d.gm6()[B.c.a7(g)] +c=d.d.i(0,f) +c.toString +e=Math.abs(j-(c-s)/p) +if(e=0)return p +p=q.giR().i(0,B.b.gH(q.gjr())) +p.toString +s=q.giR().i(0,B.b.gP(q.gjr())) +s.toString +r=s-p +s=q.giR().i(0,q.a) +s.toString +return q.e=r===0?0.5:(s-p)/r}, +gjr(){var s,r=this,q=r.b +if(q.length!==0)return q +s=A.hV(r.gm6(),!0,t.bq) +s.push(r.a) +B.b.en(s,new A.aaG(r.giR())) +return r.b=s}, +giR(){var s,r,q,p,o,n,m,l,k,j,i,h,g,f,e,d,c,b,a,a0,a1,a2,a3,a4=this,a5=a4.d +if(a5.a!==0)return a5 +a5=t.bq +s=A.hV(a4.gm6(),!0,a5) +s.push(a4.a) +a5=A.E(a5,t.i) +for(r=s.length,q=0;q>>16&255 +l=n>>>8&255 +k=n&255 +j=A.iH(A.b([A.c7(p),A.c7(l),A.c7(k)],r),$.hF) +i=A.Vz(j[0],j[1],j[2],o) +m.a=i.a +m.b=i.b +m.c=116*A.l1(A.iH(A.b([A.c7(p),A.c7(l),A.c7(k)],r),$.hF)[1]/100)-16 +s.push(m)}return this.c=A.hV(s,!1,t.bq)}} +A.aaG.prototype={ +$2(a,b){var s=this.a,r=s.i(0,a) +r.toString +s=s.i(0,b) +s.toString +return B.c.b7(r,s)}, +$S:455} +A.DP.prototype={ +K(a){var s,r=null,q=t.w,p=t.E,o=A.ck(r,A.hj(A.b([A.wl("images/logo-dlr.png",r,r,A.bM(a,r,q).w.a.a-80)],p),B.N,B.U,B.at),r,r,r,r,r,B.BU,r),n=A.ck(r,B.zV,r,r,r,r,r,B.BV,r),m=A.ck(r,A.aqN(B.Q5,B.cl,44,208,new A.Ul()),r,r,r,r,r,B.BY,r),l=A.bM(a,r,q).w +l=A.ck(r,A.jt(A.b([new A.cJ(B.lc,A.nv(!1,r,!0,A.bJ("Dynamsoft Label Recognizer overview >",r,r,A.fP(r,r,B.cl,r,r,r,r,r,r,r,r,16,r,r,r,r,r,!0,r,r,r,r,r,r,r,r)),r,!0,r,r,r,r,r,r,r,r,r,new A.Um(),r,r,r,r),r),A.ck(r,r,B.bK,r,r,1,r,r,r),new A.cJ(B.lc,A.nv(!1,r,!0,A.bJ("Contact us >",r,r,A.fP(r,r,B.cl,r,r,r,r,r,r,r,r,16,r,r,r,r,r,!0,r,r,r,r,r,r,r,r)),r,!0,r,r,r,r,r,r,r,r,r,new A.Un(),r,r,r,r),r)],p),B.bb,B.U),r,r,B.eb,r,r,B.BP,l.a.a-30) +s=A.bM(a,r,q).w +s=A.ck(r,A.hj(A.b([B.Q1,A.pV(A.ck(r,r,r,r,r,r,r,r,r)),A.bJ("2.2.20",r,r,A.fP(r,r,B.kR,r,r,r,r,r,r,r,r,15,r,r,r,r,r,!0,r,r,r,r,r,r,r,r))],p),B.N,B.U,B.at),r,r,B.eb,49,r,B.ld,s.a.a-30) +q=A.bM(a,r,q).w +q=A.ck(r,A.hj(A.b([A.nv(!1,r,!0,B.PY,r,!0,r,r,r,r,r,r,r,r,r,new A.Uo(),r,r,r,r),A.pV(A.ck(r,r,r,r,r,r,r,r,r))],p),B.N,B.U,B.at),r,r,B.eb,49,r,B.ld,q.a.a-30) +return A.yC(A.UE(r,B.bK,!0,r,A.bJ("About",r,r,A.fP(r,r,B.kW,r,r,r,r,r,r,r,r,22,r,r,r,r,r,!0,r,r,r,r,r,r,r,r))),A.amr(A.jt(A.b([o,n,m,new A.cJ(B.BJ,l,r),new A.cJ(B.BK,s,r),new A.cJ(B.BL,q,r)],p),B.N,B.U),r,B.ar,r,r,B.ap),r,r)}} +A.Ul.prototype={ +$0(){A.tW("https://www.dynamsoft.com/downloads/")}, +$S:0} +A.Um.prototype={ +$0(){A.tW("https://www.dynamsoft.com/label-recognition/overview/")}, +$S:0} +A.Un.prototype={ +$0(){A.tW("https://www.dynamsoft.com/company/about/")}, +$S:0} +A.Uo.prototype={ +$0(){A.tW("https://github.com/yushulx/flutter-MRZ-scanner")}, +$S:0} +A.VH.prototype={ +u5(){var s=0,r=A.C(t.H),q,p=this,o +var $async$u5=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:if(p.c.length===1){s=1 +break}p.w=!0 +s=3 +return A.y(p.tr(),$async$u5) +case 3:o=p.b +if(o!=null)o.l() +p.b=null +o=p.y===0?1:0 +p.y=o +p.mo(o) +case 1:return A.A(q,r)}}) +return A.B($async$u5,r)}, +tr(){var s=0,r=A.C(t.H),q=this,p +var $async$tr=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:p=t.z +case 2:if(!!0){s=3 +break}if(!q.z){s=3 +break}s=4 +return A.y(A.q4(B.Bn,null,p),$async$tr) +case 4:s=2 +break +case 3:return A.A(null,r)}}) +return A.B($async$tr,r)}, +tV(){var s=0,r=A.C(t.H),q,p=this,o +var $async$tV=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:p.w=!0 +s=3 +return A.y(p.tr(),$async$tV) +case 3:o=p.b +if(o==null){s=1 +break}o.l() +p.b=null +p.x=null +case 1:return A.A(q,r)}}) +return A.B($async$tV,r)}, +ts(){var s=0,r=A.C(t.H),q,p=this,o,n,m +var $async$ts=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:p.z=!0 +case 3:if(!!0){s=4 +break}if(!!(p.b==null||p.w||J.e(p.ax.$0(),!1))){s=4 +break}s=5 +return A.y(p.b.jI(),$async$ts) +case 5:o=b +$.Uj() +n=o.c +n===$&&A.a() +s=6 +return A.y($.U6().hl(n),$async$ts) +case 6:m=b +if(m==null||!p.ax.$0()){s=1 +break}p.f=m +p.at.$0() +p.aaR(m) +s=3 +break +case 4:p.z=!1 +case 1:return A.A(q,r)}}) +return A.B($async$ts,r)}, +aaR(a){var s,r,q,p,o=J.ax(a) +if(o.gb9(a)){s=null +try{for(o=o.gX(a);o.t();){r=o.gG(o) +if(J.cc(r)===2){if(J.ah(r,0).a>=70&&J.ah(r,1).a>=70){s=r +break}}else if(J.cc(r)===3)if(J.ah(r,0).a>=70&&J.ah(r,1).a>=70&&J.ah(r,2).a>=70){s=r +break}}}catch(p){q=A.a6(p) +A.mC(q)}if(!this.w&&s!=null){this.w=!0 +o=s +this.ay.$1(o)}}}, +yH(){var s=0,r=A.C(t.H),q=this +var $async$yH=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:q.f=null +q.w=!1 +q.at.$0() +q.ts() +return A.A(null,r)}}) +return A.B($async$yH,r)}, +wM(){var s=0,r=A.C(t.H),q,p=2,o,n=this,m,l,k,j,i,h,g,f +var $async$wM=A.D(function(a,b){if(a===1){o=b +s=p}while(true)switch(s){case 0:p=4 +if($.am==null)A.asH() +$.am.toString +s=7 +return A.y(A.ans(),$async$wM) +case 7:m=b +for(j=J.ak(m),i=n.c;j.t();){l=j.gG(j) +A.anQ(l.a) +h=l.a +if(A.aky(h.toLowerCase(),"front",0)){if(n.Q)continue +n.Q=!0 +i.push(l)}else{h=l.a +if(A.aky(h.toLowerCase(),"back",0)){if(n.as)continue +n.as=!0 +i.push(l)}else i.push(l)}}j=i.length +if(j===0){s=1 +break}if(j>1){n.y=1 +n.mo(1)}else n.mo(n.y) +p=2 +s=6 +break +case 4:p=3 +f=o +j=A.a6(f) +if(j instanceof A.mO){k=j +A.mC(k)}else throw f +s=6 +break +case 3:s=2 +break +case 6:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$wM,r)}, +T3(){var s=null,r=this.b +if(r==null||!r.a.a||this.w)return A.ck(s,B.Q7,s,s,s,s,s,s,s) +r.toString +return new A.Ew(r,s)}, +mo(a){return this.aeI(a)}, +aeI(a){var s=0,r=A.C(t.H),q=1,p,o=this,n,m,l,k,j,i +var $async$mo=A.D(function(b,c){if(b===1){p=c +s=q}while(true)switch(s){case 0:k=o.c[a] +j=new A.Eu(new A.Hs(B.Iu,null,null,null,!1),new A.uD(!1,!1,!1,!1,!1,!1,null,null,null,B.Ca,B.hM,B.hQ,!1,!1,B.eu,null,null,k),$.aN()) +o.b=j +q=3 +s=6 +return A.y(j.i6(k),$async$mo) +case 6:if(o.ax.$0()){o.d=o.b.a.x +o.yH()}q=1 +s=5 +break +case 3:q=2 +i=p +k=A.a6(i) +if(k instanceof A.mO){n=k +switch(n.a){case"CameraAccessDenied":k=o.a.aa(t.Pu) +k.toString +k.f.ld(A.ov(null,null,null,null,null,B.Z,null,A.bJ("You have denied camera access.",null,null,null),null,B.bM,null,null,null,null,null,null,null,null,null)) +break +case"CameraAccessDeniedWithoutPrompt":k=o.a.aa(t.Pu) +k.toString +k.f.ld(A.ov(null,null,null,null,null,B.Z,null,A.bJ("Please go to Settings app to enable camera access.",null,null,null),null,B.bM,null,null,null,null,null,null,null,null,null)) +break +case"CameraAccessRestricted":k=o.a.aa(t.Pu) +k.toString +k.f.ld(A.ov(null,null,null,null,null,B.Z,null,A.bJ("Camera access is restricted.",null,null,null),null,B.bM,null,null,null,null,null,null,null,null,null)) +break +case"AudioAccessDenied":k=o.a.aa(t.Pu) +k.toString +k.f.ld(A.ov(null,null,null,null,null,B.Z,null,A.bJ("You have denied audio access.",null,null,null),null,B.bM,null,null,null,null,null,null,null,null,null)) +break +case"AudioAccessDeniedWithoutPrompt":k=o.a.aa(t.Pu) +k.toString +k.f.ld(A.ov(null,null,null,null,null,B.Z,null,A.bJ("Please go to Settings app to enable audio access.",null,null,null),null,B.bM,null,null,null,null,null,null,null,null,null)) +break +case"AudioAccessRestricted":k=o.a.aa(t.Pu) +k.toString +k.f.ld(A.ov(null,null,null,null,null,B.Z,null,A.bJ("Audio access is restricted.",null,null,null),null,B.bM,null,null,null,null,null,null,null,null,null)) +break +default:k=n +j=k.a +k=k.b +j="Error: "+j +A.mC(j+(k==null?"":"\nError Message: "+k)) +l=o.a.aa(t.Pu) +l.toString +l.f.ld(A.ov(null,null,null,null,null,B.Z,null,A.bJ(j+"\n"+A.h(k),null,null,null),null,B.bM,null,null,null,null,null,null,null,null,null)) +break}}else throw i +s=5 +break +case 2:s=1 +break +case 5:return A.A(null,r) +case 1:return A.z(p,r)}}) +return A.B($async$mo,r)}} +A.mP.prototype={ +ag(){return new A.A9()}} +A.A9.prototype={ +ao(){var s,r=this +r.aL() +$.am.cb$.push(r) +s=r.c +s.toString +s=new A.VH(s,A.b([],t.X5),r.gadY(),r.gacj(),r.gad5(r)) +r.d=s +s.wM()}, +ad6(a,b){var s,r,q={} +q.a=null +s=J.ax(b) +if(s.gq(b)===2){r=A.aqL(s.i(b,0).b,s.i(b,1).b) +q.a=r +r.y=s.i(b,0).b+"\n"+s.i(b,1).b}else if(s.gq(b)===3){r=A.aqK(s.i(b,0).b,s.i(b,1).b,s.i(b,2).b) +q.a=r +r.y=s.i(b,0).b+"\n"+s.i(b,1).b+"\n"+s.i(b,2).b}s=this.c +s.toString +A.ar2(s,A.wZ(new A.adr(q),null,t.z))}, +adZ(){this.al(new A.ads())}, +ack(){return this.c!=null}, +l(){$.am.t2(this) +var s=this.d +s===$&&A.a() +s.tV() +this.aC()}, +qK(a){var s,r=this.d +r===$&&A.a() +s=r.b +if(s==null||!s.a.a)return +if(a===B.cS)s.l() +else if(a===B.b6)r.mo(0)}, +a96(){var s,r,q,p,o=null,n=this.d +n===$&&A.a() +s=n.b!=null&&n.d!=null +r=t.E +if(s){s=n.d +q=s.a +p=s.b +return A.b([A.ot(n.T3(),p,q),A.IJ(0,A.v6(o,o,o,new A.I1(this.d.f,o)),o,o,0,0,0,o)],r)}else return A.b([B.hn],r)}, +K(a){var s=null,r=A.UE(s,B.o,s,B.hT,B.Qb),q=A.b([],t.E),p=this.d +p===$&&A.a() +if(p.b!=null&&p.d!=null)q.push(A.IJ(0,new A.G6(B.h4,A.re(B.bo,this.a96(),B.cI),s),s,s,0,0,0,s)) +q.push(B.Ic) +p=t.w +q.push(A.IJ((A.bM(a,s,p).w.a.b-123)/2,B.Q6,s,s,(A.bM(a,s,p).w.a.a-369)/2,s,s,s)) +return new A.rI(A.yC(r,A.re(B.bo,q,B.cI),s,A.ar7(A.aAU(B.o,B.Cv,!1,new A.adp(this)),0.5)),new A.adq(),s)}} +A.adr.prototype={ +$1(a){var s=this.a.a +s.toString +return new A.k5(s,!1,null)}, +$S:88} +A.ads.prototype={ +$0(){}, +$S:0} +A.adq.prototype={ +$0(){var s=0,r=A.C(t.y),q +var $async$$0=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:q=!0 +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$$0,r)}, +$S:58} +A.adp.prototype={ +$0(){var s=this.a.d +s===$&&A.a() +s.u5()}, +$S:0} +A.SJ.prototype={} +A.I1.prototype={ +aE(a,b){var s,r,q,p=$.ap().bg() +p.sae(0,B.cr) +p.sep(5) +p.scH(0,B.X) +s=this.b +if(s!=null)for(s=J.ak(s);s.t();)for(r=J.ak(s.gG(s));r.t();){q=r.gG(r) +a.hG(new A.n(q.c,q.d),new A.n(q.e,q.f),p) +a.hG(new A.n(q.e,q.f),new A.n(q.r,q.w),p) +a.hG(new A.n(q.r,q.w),new A.n(q.x,q.y),p) +a.hG(new A.n(q.x,q.y),new A.n(q.c,q.d),p)}}, +hZ(a){return!0}} +A.wd.prototype={ +ag(){var s=J.nw(0,t.Gw) +return new A.NU(s)}} +A.NU.prototype={ +ao(){this.aL() +this.x0()}, +x0(){var s=0,r=A.C(t.H),q=this,p,o,n,m,l,k,j,i,h,g,f,e,d,c +var $async$x0=A.D(function(a,b){if(a===1)return A.z(b,r) +while(true)switch(s){case 0:s=2 +return A.y(A.r6(),$async$x0) +case 2:c=b.yj("mrz_data") +if(c!=null){p=q.e +B.b.I(p) +for(o=c.length,n=0;n") +return A.yC(p,new A.zt(o,B.DZ,p),A.ot(new A.zs(A.a8(new A.ay(s,new A.ai9(q),r),!0,r.h("aI.E")),o,B.cr,new A.aia(q),p),83,p),p)}} +A.aia.prototype={ +$1(a){var s=this.a +s.al(new A.ai8(s,a))}, +$S:13} +A.ai8.prototype={ +$0(){this.a.f=this.b}, +$S:0} +A.ai9.prototype={ +$1(a){var s=this.a +return new A.nP(a,B.b.hP(s.e,a)===s.f,null)}, +$S:461} +A.nP.prototype={ +K(a){var s=null,r=this.d,q=this.c,p=A.wl(r?q.c:q.b,s,32,48) +return new A.KF(A.jt(A.b([p,A.bJ(q.a,B.aI,s,A.fP(s,s,r?B.cl:B.d5,s,s,s,s,s,s,s,s,9,s,s,s,s,s,!0,s,s,s,s,s,s,s,s))],t.E),B.N,B.dD),s)}} +A.l3.prototype={} +A.Tl.prototype={ +l(){var s=this,r=s.dQ$ +if(r!=null)r.J(0,s.gno()) +s.dQ$=null +s.aC()}, +bL(){this.e0() +this.de() +this.np()}} +A.WS.prototype={ +aco(a){var s,r,q,p,o,n,m,l,k +for(s=a.gX(0),r=new A.ki(s,new A.WV()),q=this.a,p=!1,o=!1,n="";r.t();){m=s.gG(0) +if(q.ob(m)&&o){l=A.aCw(m,q) +k=n.charCodeAt(0)==0?n:n +n=B.d.W(k,0,q.oB(k,!0)) +l.b=n +if(q.xh(n))l.e[0]=q.gtL() +n=""+l.j(0)}else if(q.oA(m)>0){o=!q.ob(m) +n=""+m}else{if(!(m.length!==0&&q.CD(m[0])))if(p)n+=q.gtL() +n+=m}p=q.xh(m)}return n.charCodeAt(0)==0?n:n}} +A.WV.prototype={ +$1(a){return a!==""}, +$S:25} +A.ajG.prototype={ +$1(a){return a==null?"null":'"'+a+'"'}, +$S:462} +A.a0J.prototype={ +T6(a){var s=this.oA(a) +if(s>0)return B.d.W(a,0,s) +return this.ob(a)?a[0]:null}} +A.a5L.prototype={ +j(a){var s,r,q,p,o=this.b +o=o!=null?""+o:"" +for(s=this.d,r=this.e,q=s.length,p=0;p0){s=B.d.kK(a,"\\",s+1) +if(s>0)return s}return r}if(r<3)return 0 +if(!A.av0(a.charCodeAt(0)))return 0 +if(a.charCodeAt(1)!==58)return 0 +r=a.charCodeAt(2) +if(!(r===47||r===92))return 0 +return 3}, +oA(a){return this.oB(a,!1)}, +ob(a){return this.oA(a)===1}, +gEB(){return"windows"}, +gtL(){return"\\"}} +A.Hy.prototype={ +j(a){return"MissingPlatformDirectoryException("+this.a+")"}, +$ibR:1} +A.a5N.prototype={} +A.a4q.prototype={} +A.a62.prototype={ +mX(a){$.u2().n(0,this,a)}} +A.a9r.prototype={ +j_(a,b,c,d){return this.TK(0,b,c,d)}, +TK(a1,a2,a3,a4){var s=0,r=A.C(t.vS),q,p=2,o,n=this,m,l,k,j,i,h,g,f,e,d,c,b,a,a0 +var $async$j_=A.D(function(a5,a6){if(a5===1){o=a6 +s=p}while(true)switch(s){case 0:c=null +b={text:a2} +c=b +m=null +p=4 +m=n.b.canShare(c) +p=2 +s=6 +break +case 4:p=3 +a=o +d=A.a6(a) +s=t.We.b(d)?7:9 +break +case 7:l=d +A.av5("Share API is not supported in this User Agent.",l) +d=t.N +k=A.E(d,d) +J.eI(k,"body",a2) +j=k +i=A.CI(null,null,J.akR(j).fA(0,new A.a9s(),d).bw(0,"&"),null,"mailto") +s=10 +return A.y(n.a.of(i.gnl(),B.D8),$async$j_) +case 10:h=a6 +if(!h)throw A.c(A.c8("Failed to launch "+A.h(i))) +q=B.wq +s=1 +break +s=8 +break +case 9:throw a +case 8:s=6 +break +case 3:s=2 +break +case 6:if(!m)throw A.c(A.c8("Navigator.canShare() is false")) +p=12 +s=15 +return A.y(A.cN(n.b.share(c),t.X),$async$j_) +case 15:q=B.wq +s=1 +break +p=2 +s=14 +break +case 12:p=11 +a0=o +k=A.a6(a0) +if(t.m.b(k)){g=k +f=g.name +if("AbortError"===f){q=B.JC +s=1 +break}A.av5("Failed to share text",A.h(g.name)+": "+A.h(g.message)) +throw A.c(A.c8("Navigator.share() failed: "+A.h(A.I(g,"message"))))}else throw a0 +s=14 +break +case 11:s=2 +break +case 14:case 1:return A.A(q,r) +case 2:return A.z(o,r)}}) +return A.B($async$j_,r)}} +A.a9s.prototype={ +$1(a){return A.tG(B.lI,a.a,B.W,!1)+"="+A.tG(B.lI,a.b,B.W,!1)}, +$S:463} +A.a4r.prototype={ +j_(a,b,c,d){return this.TJ(0,b,c,d)}, +TJ(a,b,c,d){var s=0,r=A.C(t.vS),q,p,o,n +var $async$j_=A.D(function(e,f){if(e===1)return A.z(f,r) +while(true)switch(s){case 0:p=t.N +o=A.as(["text",b,"subject",d],p,t.z) +s=3 +return A.y(B.GG.cJ("share",o,!1,p),$async$j_) +case 3:n=f +if(n==null)n=u.a +q=new A.or(n,A.aCd(n)) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$j_,r)}} +A.a9q.prototype={} +A.or.prototype={ +k(a,b){if(b==null)return!1 +if(this===b)return!0 +return b instanceof A.or&&b.a===this.a&&b.b===this.b}, +gu(a){return(B.d.gu(this.a)^A.fL(this.b))>>>0}, +j(a){return"ShareResult(raw: "+this.a+", status: "+this.b.j(0)+")"}} +A.z3.prototype={ +F(){return"ShareResultStatus."+this.b}} +A.r5.prototype={ +yj(a){var s,r=t.kc.a(J.ah(this.a,a)) +r=r==null?null:J.u5(r,t.N) +s=r==null?null:r.dl(r) +return t.Xb.a(s)}, +Bo(a,b,c){var s,r +A.hB(c,"value") +s=this.a +if(t.yp.b(c)){r=A.b(c.slice(0),A.Z(c)) +J.eI(s,b,r)}else J.eI(s,b,c) +return $.akJ().lc(a,"flutter."+b,c)}} +A.a4s.prototype={ +A(a,b){return this.ae3(0,b)}, +ae3(a,b){var s=0,r=A.C(t.y),q,p +var $async$A=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:s=3 +return A.y(B.iy.cJ("remove",A.as(["key",b],t.N,t.z),!1,t.y),$async$A) +case 3:p=d +p.toString +q=p +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$A,r)}, +lc(a,b,c){return this.TF(a,b,c)}, +TF(a,b,c){var s=0,r=A.C(t.y),q,p +var $async$lc=A.D(function(d,e){if(d===1)return A.z(e,r) +while(true)switch(s){case 0:s=3 +return A.y(B.iy.cJ("set"+a,A.as(["key",b,"value",c],t.N,t.z),!1,t.y),$async$lc) +case 3:p=e +p.toString +q=p +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$lc,r)}, +l6(a){var s=0,r=A.C(t.nf),q,p,o,n +var $async$l6=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:p=t.N +o=t.K +s=3 +return A.y(B.iy.Qm("getAll",p,o),$async$l6) +case 3:n=c +q=n==null?A.E(p,o):n +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$l6,r)}} +A.a9x.prototype={} +A.a6q.prototype={} +A.a_f.prototype={} +A.a9v.prototype={ +l6(a){var s=0,r=A.C(t.nf),q,p=this +var $async$l6=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:q=p.ya(new A.a_f(new A.a6q("flutter.",null))) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$l6,r)}, +ya(a){return this.SD(a)}, +SD(a){var s=0,r=A.C(t.nf),q,p=this,o,n,m,l,k,j +var $async$ya=A.D(function(b,c){if(b===1)return A.z(c,r) +while(true)switch(s){case 0:k=a.a +j=A.E(t.N,t.K) +for(o=p.a0o(k.a,k.b),n=J.ak(o.a),o=new A.ki(n,o.b);o.t();){m=n.gG(n) +l=self.window.localStorage.getItem(m) +l.toString +j.n(0,m,A.aGD(l))}q=j +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$ya,r)}, +A(a,b){return this.ae4(0,b)}, +ae4(a,b){var s=0,r=A.C(t.y),q +var $async$A=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:self.window.localStorage.removeItem(b) +q=!0 +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$A,r)}, +lc(a,b,c){return this.TG(a,b,c)}, +TG(a,b,c){var s=0,r=A.C(t.y),q +var $async$lc=A.D(function(d,e){if(d===1)return A.z(e,r) +while(true)switch(s){case 0:self.window.localStorage.setItem(b,B.az.wg(c)) +q=!0 +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$lc,r)}, +a0o(a,b){var s=A.aH1(b) +return new A.aF(s,new A.a9w(a),s.$ti.h("aF"))}} +A.a9w.prototype={ +$1(a){return B.d.c6(a,this.a)}, +$S:25} +A.ajh.prototype={ +$1(a){return!0}, +$S:25} +A.WL.prototype={ +$0(){var s=this.a,r=this.b +s.b=s.c.mb(r.ghy(r),new A.WM(this.c),r.gvu())}, +$S:0} +A.WM.prototype={ +$0(){return this.a.aP().$0()}, +$S:0} +A.WN.prototype={ +$0(){this.a.d=!0 +this.b.aJ(0)}, +$S:0} +A.WO.prototype={ +$0(){var s=this,r=s.a +r.e=!0 +r.c=r.a +s.b.b=s.c +s.d.$0()}, +$S:0} +A.WK.prototype={ +$0(){var s,r,q=this,p=q.b +p.$0() +if(!q.c.gix()){s=q.d +r=q.a +s.sEV(0,new A.WH(r)) +s.sEY(0,new A.WI(r,p))}q.d.sEF(0,new A.WJ(q.a))}, +$S:0} +A.WH.prototype={ +$0(){var s=this.a,r=s.e +if(!r)return s.b.kV(0) +s.b.aA(0) +s.b=null}, +$S:0} +A.WI.prototype={ +$0(){var s=this.a,r=s.e +if(!r)return s.b.iO(0) +this.b.$0()}, +$S:0} +A.WJ.prototype={ +$0(){var s,r=this.a +if(r.d)return null +s=r.b +s.toString +r.b=null +return s.aA(0)}, +$S:160} +A.abx.prototype={ +$0(){var s,r,q,p=this,o={} +o.a=!1 +s=p.b +r=p.d +q=p.a +q.a=s.mb(new A.abt(p.c,r,p.r),new A.abu(o,p.f,r),new A.abv(p.e,r)) +if(!s.gix()){s=q.a +r.sEV(0,s.gR5(s)) +s=q.a +r.sEY(0,s.gRX(s))}r.sEF(0,new A.abw(q,o))}, +$S:0} +A.abt.prototype={ +$1(a){return this.a.$2(a,this.b)}, +$S(){return this.c.h("~(0)")}} +A.abv.prototype={ +$2(a,b){this.a.$3(a,b,this.b)}, +$S:38} +A.abu.prototype={ +$0(){this.a.a=!0 +this.b.$1(this.c)}, +$S:0} +A.abw.prototype={ +$0(){var s=this.a,r=s.a +s.a=null +if(!this.b.a)return r.aA(0) +return null}, +$S:160} +A.ac4.prototype={ +$2(a,b){if(this.a.b(a))b.D(0,a)}, +$S(){return this.b.h("@<0>").bd(this.a).h("~(1,fw<2>)")}} +A.a1j.prototype={ +F(){return"LaunchMode."+this.b}} +A.ac2.prototype={} +A.Vg.prototype={} +A.a4t.prototype={ +rB(a,b,c,d,e,f,g,h){var s=t.y +return B.GI.cJ("launch",A.as(["url",a,"useSafariVC",f,"useWebView",g,"enableJavaScript",!0,"enableDomStorage",!0,"universalLinksOnly",e,"headers",d],t.N,t.K),!1,s).aT(0,new A.a4u(),s)}} +A.a4u.prototype={ +$1(a){return a===!0}, +$S:465} +A.o5.prototype={ +F(){return"PreferredLaunchMode."+this.b}} +A.GN.prototype={} +A.a0y.prototype={} +A.wG.prototype={} +A.abO.prototype={ +rB(a,b,c,d,e,f,g,h){throw A.c(A.cp("launch() has not been implemented."))}, +of(a,b){var s,r=B.d.c6(a,"http:")||B.d.c6(a,"https:"),q=b.a,p=!0 +if(q!==B.vL)if(q!==B.vM){s=r&&q===B.fb +p=s}return this.rB(a,!0,!0,b.b.c,q===B.vN,p,p,b.d)}} +A.abP.prototype={ +adm(a,b){var s,r=A.aEJ(a),q=r==null?null:r.gl9() +if(B.Jm.p(0,q))return!1 +s=this.b&&B.JA.p(0,q)?"_top":"" +this.a.open(a,s,"noopener,noreferrer") +return!0}, +rB(a,b,c,d,e,f,g,h){return this.acu(a,!0,!0,d,e,f,g,h)}, +acu(a,b,c,d,e,f,g,h){var s=0,r=A.C(t.y),q,p=this +var $async$rB=A.D(function(i,j){if(i===1)return A.z(j,r) +while(true)switch(s){case 0:q=p.of(a,new A.wG(B.fb,B.ls,h)) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$rB,r)}, +of(a,b){return this.acv(a,b)}, +acv(a,b){var s=0,r=A.C(t.y),q,p=this +var $async$of=A.D(function(c,d){if(c===1)return A.z(d,r) +while(true)switch(s){case 0:q=p.adm(a,b.d) +s=1 +break +case 1:return A.A(q,r)}}) +return A.B($async$of,r)}} +A.bi.prototype={ +ba(a){var s=a.a,r=this.a +r[15]=s[15] +r[14]=s[14] +r[13]=s[13] +r[12]=s[12] +r[11]=s[11] +r[10]=s[10] +r[9]=s[9] +r[8]=s[8] +r[7]=s[7] +r[6]=s[6] +r[5]=s[5] +r[4]=s[4] +r[3]=s[3] +r[2]=s[2] +r[1]=s[1] +r[0]=s[0]}, +j(a){var s=this +return"[0] "+s.tE(0).j(0)+"\n[1] "+s.tE(1).j(0)+"\n[2] "+s.tE(2).j(0)+"\n[3] "+s.tE(3).j(0)+"\n"}, +i(a,b){return this.a[b]}, +n(a,b,c){this.a[b]=c}, +k(a,b){var s,r,q +if(b==null)return!1 +if(b instanceof A.bi){s=this.a +r=s[0] +q=b.a +s=r===q[0]&&s[1]===q[1]&&s[2]===q[2]&&s[3]===q[3]&&s[4]===q[4]&&s[5]===q[5]&&s[6]===q[6]&&s[7]===q[7]&&s[8]===q[8]&&s[9]===q[9]&&s[10]===q[10]&&s[11]===q[11]&&s[12]===q[12]&&s[13]===q[13]&&s[14]===q[14]&&s[15]===q[15]}else s=!1 +return s}, +gu(a){return A.bN(this.a)}, +yB(a,b){var s=b.a,r=this.a +r[a]=s[0] +r[4+a]=s[1] +r[8+a]=s[2] +r[12+a]=s[3]}, +tE(a){var s=new Float64Array(4),r=this.a +s[0]=r[a] +s[1]=r[4+a] +s[2]=r[8+a] +s[3]=r[12+a] +return new A.j1(s)}, +ad(a,b){var s=new A.bi(new Float64Array(16)) +s.ba(this) +s.jR(0,b,null,null) +return s}, +a6(a,b){var s,r=new Float64Array(16),q=new A.bi(r) +q.ba(this) +s=b.a +r[0]=r[0]+s[0] +r[1]=r[1]+s[1] +r[2]=r[2]+s[2] +r[3]=r[3]+s[3] +r[4]=r[4]+s[4] +r[5]=r[5]+s[5] +r[6]=r[6]+s[6] +r[7]=r[7]+s[7] +r[8]=r[8]+s[8] +r[9]=r[9]+s[9] +r[10]=r[10]+s[10] +r[11]=r[11]+s[11] +r[12]=r[12]+s[12] +r[13]=r[13]+s[13] +r[14]=r[14]+s[14] +r[15]=r[15]+s[15] +return q}, +ac(a,b){var s,r=new Float64Array(16),q=new A.bi(r) +q.ba(this) +s=b.a +r[0]=r[0]-s[0] +r[1]=r[1]-s[1] +r[2]=r[2]-s[2] +r[3]=r[3]-s[3] +r[4]=r[4]-s[4] +r[5]=r[5]-s[5] +r[6]=r[6]-s[6] +r[7]=r[7]-s[7] +r[8]=r[8]-s[8] +r[9]=r[9]-s[9] +r[10]=r[10]-s[10] +r[11]=r[11]-s[11] +r[12]=r[12]-s[12] +r[13]=r[13]-s[13] +r[14]=r[14]-s[14] +r[15]=r[15]-s[15] +return q}, +aq(a,b,a0){var s=this.a,r=s[0],q=s[4],p=s[8],o=s[12],n=s[1],m=s[5],l=s[9],k=s[13],j=s[2],i=s[6],h=s[10],g=s[14],f=s[3],e=s[7],d=s[11],c=s[15] +s[12]=r*b+q*a0+p*0+o +s[13]=n*b+m*a0+l*0+k +s[14]=j*b+i*a0+h*0+g +s[15]=f*b+e*a0+d*0+c}, +jR(a,b,c,d){var s=c==null?b:c,r=d==null?b:d,q=this.a +q[0]=q[0]*b +q[1]=q[1]*b +q[2]=q[2]*b +q[3]=q[3]*b +q[4]=q[4]*s +q[5]=q[5]*s +q[6]=q[6]*s +q[7]=q[7]*s +q[8]=q[8]*r +q[9]=q[9]*r +q[10]=q[10]*r +q[11]=q[11]*r +q[12]=q[12] +q[13]=q[13] +q[14]=q[14] +q[15]=q[15]}, +em(a,b,c){return this.jR(0,b,c,null)}, +tR(){var s=this.a +s[0]=0 +s[1]=0 +s[2]=0 +s[3]=0 +s[4]=0 +s[5]=0 +s[6]=0 +s[7]=0 +s[8]=0 +s[9]=0 +s[10]=0 +s[11]=0 +s[12]=0 +s[13]=0 +s[14]=0 +s[15]=0}, +dF(){var s=this.a +s[0]=1 +s[1]=0 +s[2]=0 +s[3]=0 +s[4]=0 +s[5]=1 +s[6]=0 +s[7]=0 +s[8]=0 +s[9]=0 +s[10]=1 +s[11]=0 +s[12]=0 +s[13]=0 +s[14]=0 +s[15]=1}, +dw(b5){var s,r,q,p,o=b5.a,n=o[0],m=o[1],l=o[2],k=o[3],j=o[4],i=o[5],h=o[6],g=o[7],f=o[8],e=o[9],d=o[10],c=o[11],b=o[12],a=o[13],a0=o[14],a1=o[15],a2=n*i-m*j,a3=n*h-l*j,a4=n*g-k*j,a5=m*h-l*i,a6=m*g-k*i,a7=l*g-k*h,a8=f*a-e*b,a9=f*a0-d*b,b0=f*a1-c*b,b1=e*a0-d*a,b2=e*a1-c*a,b3=d*a1-c*a0,b4=a2*b3-a3*b2+a4*b1+a5*b0-a6*a9+a7*a8 +if(b4===0){this.ba(b5) +return 0}s=1/b4 +r=this.a +r[0]=(i*b3-h*b2+g*b1)*s +r[1]=(-m*b3+l*b2-k*b1)*s +r[2]=(a*a7-a0*a6+a1*a5)*s +r[3]=(-e*a7+d*a6-c*a5)*s +q=-j +r[4]=(q*b3+h*b0-g*a9)*s +r[5]=(n*b3-l*b0+k*a9)*s +p=-b +r[6]=(p*a7+a0*a4-a1*a3)*s +r[7]=(f*a7-d*a4+c*a3)*s +r[8]=(j*b2-i*b0+g*a8)*s +r[9]=(-n*b2+m*b0-k*a8)*s +r[10]=(b*a6-a*a4+a1*a2)*s +r[11]=(-f*a6+e*a4-c*a2)*s +r[12]=(q*b1+i*a9-h*a8)*s +r[13]=(n*b1-m*a9+l*a8)*s +r[14]=(p*a5+a*a3-a0*a2)*s +r[15]=(f*a5-e*a3+d*a2)*s +return b4}, +cq(b5,b6){var s=this.a,r=s[0],q=s[4],p=s[8],o=s[12],n=s[1],m=s[5],l=s[9],k=s[13],j=s[2],i=s[6],h=s[10],g=s[14],f=s[3],e=s[7],d=s[11],c=s[15],b=b6.a,a=b[0],a0=b[4],a1=b[8],a2=b[12],a3=b[1],a4=b[5],a5=b[9],a6=b[13],a7=b[2],a8=b[6],a9=b[10],b0=b[14],b1=b[3],b2=b[7],b3=b[11],b4=b[15] +s[0]=r*a+q*a3+p*a7+o*b1 +s[4]=r*a0+q*a4+p*a8+o*b2 +s[8]=r*a1+q*a5+p*a9+o*b3 +s[12]=r*a2+q*a6+p*b0+o*b4 +s[1]=n*a+m*a3+l*a7+k*b1 +s[5]=n*a0+m*a4+l*a8+k*b2 +s[9]=n*a1+m*a5+l*a9+k*b3 +s[13]=n*a2+m*a6+l*b0+k*b4 +s[2]=j*a+i*a3+h*a7+g*b1 +s[6]=j*a0+i*a4+h*a8+g*b2 +s[10]=j*a1+i*a5+h*a9+g*b3 +s[14]=j*a2+i*a6+h*b0+g*b4 +s[3]=f*a+e*a3+d*a7+c*b1 +s[7]=f*a0+e*a4+d*a8+c*b2 +s[11]=f*a1+e*a5+d*a9+c*b3 +s[15]=f*a2+e*a6+d*b0+c*b4}, +rL(a){var s=new A.bi(new Float64Array(16)) +s.ba(this) +s.cq(0,a) +return s}, +aeL(a){var s=a.a,r=this.a,q=r[0],p=s[0],o=r[4],n=s[1],m=r[8],l=s[2],k=r[12],j=r[1],i=r[5],h=r[9],g=r[13],f=r[2],e=r[6],d=r[10] +r=r[14] +s[0]=q*p+o*n+m*l+k +s[1]=j*p+i*n+h*l+g +s[2]=f*p+e*n+d*l+r +return a}, +xy(a){var s=a.a,r=this.a,q=r[0],p=s[0],o=r[4],n=s[1],m=r[8],l=s[2],k=r[12],j=r[1],i=r[5],h=r[9],g=r[13],f=r[2],e=r[6],d=r[10],c=r[14],b=1/(r[3]*p+r[7]*n+r[11]*l+r[15]) +s[0]=(q*p+o*n+m*l+k)*b +s[1]=(j*p+i*n+h*l+g)*b +s[2]=(f*p+e*n+d*l+c)*b +return a}, +Qz(){var s=this.a +return s[0]===0&&s[1]===0&&s[2]===0&&s[3]===0&&s[4]===0&&s[5]===0&&s[6]===0&&s[7]===0&&s[8]===0&&s[9]===0&&s[10]===0&&s[11]===0&&s[12]===0&&s[13]===0&&s[14]===0&&s[15]===0}} +A.fS.prototype={ +mH(a,b,c){var s=this.a +s[0]=a +s[1]=b +s[2]=c}, +ba(a){var s=a.a,r=this.a +r[0]=s[0] +r[1]=s[1] +r[2]=s[2]}, +j(a){var s=this.a +return"["+A.h(s[0])+","+A.h(s[1])+","+A.h(s[2])+"]"}, +k(a,b){var s,r,q +if(b==null)return!1 +if(b instanceof A.fS){s=this.a +r=s[0] +q=b.a +s=r===q[0]&&s[1]===q[1]&&s[2]===q[2]}else s=!1 +return s}, +gu(a){return A.bN(this.a)}, +ac(a,b){var s,r=new Float64Array(3),q=new A.fS(r) +q.ba(this) +s=b.a +r[0]=r[0]-s[0] +r[1]=r[1]-s[1] +r[2]=r[2]-s[2] +return q}, +a6(a,b){var s,r=new Float64Array(3),q=new A.fS(r) +q.ba(this) +s=b.a +r[0]=r[0]+s[0] +r[1]=r[1]+s[1] +r[2]=r[2]+s[2] +return q}, +ad(a,b){var s=new Float64Array(3),r=new A.fS(s) +r.ba(this) +s[2]=s[2]*b +s[1]=s[1]*b +s[0]=s[0]*b +return r}, +i(a,b){return this.a[b]}, +n(a,b,c){this.a[b]=c}, +gq(a){var s=this.a,r=s[0],q=s[1] +s=s[2] +return Math.sqrt(r*r+q*q+s*s)}, +P7(a){var s=a.a,r=this.a +return r[0]*s[0]+r[1]*s[1]+r[2]*s[2]}, +Ti(a){var s=new Float64Array(3),r=new A.fS(s) +r.ba(this) +s[2]=s[2]*a +s[1]=s[1]*a +s[0]=s[0]*a +return r}} +A.j1.prototype={ +yC(a,b,c,d){var s=this.a +s[3]=d +s[2]=c +s[1]=b +s[0]=a}, +ba(a){var s=a.a,r=this.a +r[3]=s[3] +r[2]=s[2] +r[1]=s[1] +r[0]=s[0]}, +j(a){var s=this.a +return A.h(s[0])+","+A.h(s[1])+","+A.h(s[2])+","+A.h(s[3])}, +k(a,b){var s,r,q +if(b==null)return!1 +if(b instanceof A.j1){s=this.a +r=s[0] +q=b.a +s=r===q[0]&&s[1]===q[1]&&s[2]===q[2]&&s[3]===q[3]}else s=!1 +return s}, +gu(a){return A.bN(this.a)}, +ac(a,b){var s,r=new Float64Array(4),q=new A.j1(r) +q.ba(this) +s=b.a +r[0]=r[0]-s[0] +r[1]=r[1]-s[1] +r[2]=r[2]-s[2] +r[3]=r[3]-s[3] +return q}, +a6(a,b){var s,r=new Float64Array(4),q=new A.j1(r) +q.ba(this) +s=b.a +r[0]=r[0]+s[0] +r[1]=r[1]+s[1] +r[2]=r[2]+s[2] +r[3]=r[3]+s[3] +return q}, +ad(a,b){var s=new Float64Array(4),r=new A.j1(s) +r.ba(this) +s[0]=s[0]*b +s[1]=s[1]*b +s[2]=s[2]*b +s[3]=s[3]*b +return r}, +i(a,b){return this.a[b]}, +n(a,b,c){this.a[b]=c}, +gq(a){var s=this.a,r=s[0],q=s[1],p=s[2] +s=s[3] +return Math.sqrt(r*r+q*q+p*p+s*s)}} +A.vH.prototype={} +A.m9.prototype={ +gix(){return!0}, +hU(a,b,c,d){return A.oO(this.a,this.b,a,!1,A.o(this).c)}, +mb(a,b,c){return this.hU(a,null,b,c)}} +A.Nj.prototype={} +A.Ay.prototype={ +aA(a){var s=this,r=A.ce(null,t.H) +if(s.b==null)return r +s.BF() +s.d=s.b=null +return r}, +xj(a){var s,r=this +if(r.b==null)throw A.c(A.R("Subscription has been canceled.")) +r.BF() +s=A.aur(new A.aea(a),t.m) +s=s==null?null:A.b6(s) +r.d=s +r.BE()}, +iI(a,b){if(this.b==null)return;++this.a +this.BF()}, +kV(a){return this.iI(0,null)}, +iO(a){var s=this +if(s.b==null||s.a<=0)return;--s.a +s.BE()}, +BE(){var s=this,r=s.d +if(r!=null&&s.a<=0)s.b.addEventListener(s.c,r,!1)}, +BF(){var s=this.d +if(s!=null)this.b.removeEventListener(this.c,s,!1)}, +$ii6:1} +A.ae9.prototype={ +$1(a){return this.a.$1(a)}, +$S:14} +A.aea.prototype={ +$1(a){return this.a.$1(a)}, +$S:14} +A.akm.prototype={ +$0(){return A.anO()}, +$S:0} +A.akl.prototype={ +$0(){var s,r,q=$.aye(),p=self,o=p.window,n=t.S,m=A.hp(!1,t.OY),l=t.rK,k=p.window,j=$.ao2() +k=new A.VJ(new A.VT(o,new A.a0V()),A.E(n,t.Vr),A.E(t.F6,t.Ly),m,A.E(n,l),A.E(n,l),A.E(n,l),A.E(n,l),k) +l=$.u2() +l.n(0,k,j) +A.xM(k,j,!0) +$.azg=k +k=$.ao8() +j=new A.Zo(new A.X7()) +l.n(0,j,k) +A.xM(j,k,!1) +$.aB2=j +j=$.ao9() +k=new A.a0b() +l.n(0,k,j) +k.c=new A.a0n() +s=p.document.querySelector("#__image_picker_web-file-input") +if(s==null){r=p.document.createElement("flt-image-picker-inputs") +r.id="__image_picker_web-file-input" +p.document.body.append(r) +s=r}k.b=s +A.xM(k,j,!0) +$.aBv=k +o=A.asy() +p=p.window +p=p.navigator +n=$.aog() +p=new A.a9r(o,p) +l.n(0,p,n) +A.xM(p,n,!1) +$.aDT=p +p=$.aoh() +n=new A.a9v() +l.n(0,n,p) +A.xM(n,p,!0) +$.aDU=n +p=A.asy() +A.xM(p,$.akK(),!0) +$.aEK=p +$.aoE() +$.DF().xK("__url_launcher::link",A.aJn(),!1) +$.avh=q.gaaC()}, +$S:0};(function aliases(){var s=A.QQ.prototype +s.WP=s.I +s.WV=s.c5 +s.WT=s.bG +s.WY=s.aq +s.WW=s.em +s.WU=s.l2 +s.WX=s.a8 +s.WS=s.kp +s.WR=s.lI +s.WQ=s.hC +s=A.pK.prototype +s.Uo=s.iJ +s=A.Ao.prototype +s.Hr=s.bf +s=A.cZ.prototype +s.V7=s.xS +s.V6=s.vJ +s.H2=s.bs +s.yY=s.q9 +s.yZ=s.aZ +s.H5=s.l0 +s.H3=s.ij +s.H4=s.rZ +s=A.dv.prototype +s.V5=s.hm +s.lh=s.aZ +s.tZ=s.ij +s=A.IO.prototype +s.hu=s.dc +s.p5=s.l +s=A.v9.prototype +s.yR=s.o8 +s.Uv=s.FC +s.Ut=s.fq +s.Uu=s.Dp +s=A.Ft.prototype +s.GH=s.aJ +s=A.jx.prototype +s.UA=s.l +s=J.qh.prototype +s.UL=s.j +s=J.hU.prototype +s.UQ=s.j +s=A.ht.prototype +s.Wf=s.lj +s.Wh=s.D +s.Wi=s.aJ +s.Wg=s.pg +s=A.hu.prototype +s.Wj=s.i1 +s.Wk=s.j4 +s=A.kp.prototype +s.Wl=s.n2 +s.Wm=s.Jm +s.Wo=s.LT +s.Wn=s.i7 +s=A.X.prototype +s.GR=s.bx +s=A.uY.prototype +s.Us=s.aaq +s=A.Cp.prototype +s.X9=s.aJ +s=A.j.prototype +s.GP=s.jM +s=A.J.prototype +s.UY=s.k +s.bC=s.j +s=A.w.prototype +s.Uk=s.k +s.Ul=s.j +s=A.dH.prototype +s.oY=s.k +s=A.cq.prototype +s.yM=s.xZ +s=A.kN.prototype +s.GA=s.J +s.GB=s.c4 +s=A.xy.prototype +s.V4=s.a8 +s=A.ud.prototype +s.yN=s.l +s=A.Ee.prototype +s.Uc=s.eA +s.Ud=s.m7 +s.Ue=s.Fz +s=A.fr.prototype +s.afn=s.a0 +s.Uj=s.J +s.dI=s.l +s.GD=s.ap +s=A.ac.prototype +s.Uw=s.cf +s=A.hI.prototype +s.Ux=s.cf +s=A.w7.prototype +s.UE=s.wI +s.UD=s.a9y +s=A.fu.prototype +s.GI=s.eX +s=A.cG.prototype +s.UF=s.C5 +s.p_=s.eX +s.GN=s.l +s=A.cf.prototype +s.yX=s.hz +s.V_=s.o4 +s.H0=s.a1 +s.p0=s.l +s.V0=s.tU +s.H1=s.fN +s=A.qG.prototype +s.V8=s.hz +s.H6=s.fj +s.V9=s.f2 +s=A.f8.prototype +s.W6=s.eX +s=A.CX.prototype +s.Xn=s.l +s=A.D3.prototype +s.Xu=s.ao +s.Xt=s.cN +s=A.jG.prototype +s.jX=s.l +s=A.D9.prototype +s.XE=s.l +s=A.Da.prototype +s.XF=s.l +s=A.CZ.prototype +s.Xo=s.l +s=A.BV.prototype +s.WZ=s.l +s=A.BW.prototype +s.X_=s.l +s=A.BX.prototype +s.X1=s.aH +s.X0=s.bh +s.X2=s.l +s=A.D1.prototype +s.Xr=s.l +s=A.Cz.prototype +s.Xb=s.l +s=A.uq.prototype +s.Ug=s.yL +s.Uf=s.D +s=A.bT.prototype +s.Hl=s.cD +s.Hm=s.cE +s=A.d4.prototype +s.mS=s.cD +s.mT=s.cE +s=A.hH.prototype +s.GF=s.cD +s.GG=s.cE +s=A.El.prototype +s.Ui=s.l +s=A.cQ.prototype +s.GJ=s.D +s=A.M9.prototype +s.Hq=s.l +s=A.nt.prototype +s.UH=s.a0 +s.UI=s.J +s.UG=s.uP +s=A.jH.prototype +s.UK=s.k +s=A.zg.prototype +s.W5=s.dq +s=A.yr.prototype +s.Vy=s.DN +s.VA=s.DU +s.Vz=s.DP +s.Vx=s.Dm +s=A.aq.prototype +s.Uh=s.k +s=A.en.prototype +s.yP=s.j +s=A.H.prototype +s.Hb=s.h3 +s.mU=s.a5 +s.Vi=s.oq +s.j3=s.c3 +s=A.BC.prototype +s.Wz=s.ah +s.WA=s.ab +s=A.oa.prototype +s.Vk=s.bb +s=A.BD.prototype +s.WB=s.l +s=A.H0.prototype +s.UM=s.pr +s.GQ=s.l +s.UP=s.y4 +s.UN=s.ah +s.UO=s.ab +s=A.F2.prototype +s.oZ=s.fv +s=A.iK.prototype +s.UZ=s.fv +s=A.c9.prototype +s.tY=s.ab +s=A.G.prototype +s.fc=s.l +s.Hc=s.kk +s.eq=s.ah +s.e_=s.ab +s.Vn=s.a5 +s.He=s.bU +s.Vl=s.cM +s.Vo=s.tK +s.fb=s.dO +s.z_=s.lH +s.mV=s.fH +s.Hd=s.qi +s.Vm=s.is +s.Vp=s.cf +s.u_=s.f9 +s=A.aE.prototype +s.Hh=s.f1 +s=A.ab.prototype +s.yQ=s.E8 +s.Ur=s.A +s.Up=s.xg +s.Uq=s.f1 +s.GE=s.bn +s=A.y2.prototype +s.Vh=s.XG +s=A.eA.prototype +s.Wq=s.vA +s=A.BI.prototype +s.WC=s.ah +s.WD=s.ab +s=A.Ct.prototype +s.Xa=s.ab +s=A.f4.prototype +s.z1=s.aS +s.z0=s.aR +s.Hi=s.d6 +s.Vs=s.bP +s.u2=s.bb +s.u1=s.cV +s.fP=s.aE +s=A.yl.prototype +s.Vt=s.c3 +s=A.o9.prototype +s.Vj=s.bb +s=A.BK.prototype +s.p9=s.ah +s.mW=s.ab +s=A.BL.prototype +s.WE=s.h3 +s=A.qO.prototype +s.Vv=s.aS +s.Vu=s.aR +s=A.BM.prototype +s.WF=s.ah +s.WG=s.ab +s=A.zc.prototype +s.W4=s.j +s=A.BO.prototype +s.WH=s.ah +s.WI=s.ab +s=A.yn.prototype +s.Hj=s.bb +s=A.ob.prototype +s.Vw=s.F8 +s=A.j7.prototype +s.WK=s.ah +s.WL=s.ab +s=A.fc.prototype +s.Wd=s.rK +s.Wc=s.cw +s=A.iR.prototype +s.VP=s.DF +s=A.ru.prototype +s.Hn=s.l +s=A.E2.prototype +s.GC=s.kN +s=A.z1.prototype +s.W1=s.rh +s.W2=s.kJ +s.W3=s.DW +s=A.du.prototype +s.UR=s.cJ +s=A.bn.prototype +s.U8=s.ev +s.Ua=s.jx +s.U9=s.C4 +s.Ub=s.xM +s=A.mJ.prototype +s.yO=s.K +s=A.vW.prototype +s.UB=s.aB +s=A.e1.prototype +s.We=s.qK +s=A.BR.prototype +s.Hs=s.eZ +s=A.CN.prototype +s.Xc=s.eA +s.Xd=s.Fz +s=A.CO.prototype +s.Xe=s.eA +s.Xf=s.m7 +s=A.CP.prototype +s.Xg=s.eA +s.Xh=s.m7 +s=A.CQ.prototype +s.Xj=s.eA +s.Xi=s.rh +s=A.CR.prototype +s.Xk=s.eA +s=A.CS.prototype +s.Xl=s.eA +s.Xm=s.m7 +s=A.D_.prototype +s.Xp=s.l +s=A.D0.prototype +s.Xq=s.ao +s=A.Gd.prototype +s.mR=s.ac4 +s.UC=s.Cx +s=A.af.prototype +s.aL=s.ao +s.b4=s.aH +s.p8=s.cN +s.e0=s.bL +s.aC=s.l +s.d_=s.bh +s=A.b2.prototype +s.Uy=s.d2 +s.yU=s.eZ +s.mQ=s.aZ +s.Uz=s.tn +s.GM=s.wL +s.jW=s.ir +s.yS=s.bL +s.GK=s.cN +s.yV=s.mp +s.yT=s.nG +s.GL=s.bh +s.lg=s.hV +s=A.uU.prototype +s.Um=s.A8 +s.Un=s.hV +s=A.xU.prototype +s.Va=s.bs +s.Vb=s.aZ +s.Vc=s.FH +s=A.eZ.prototype +s.GO=s.oj +s=A.bv.prototype +s.u0=s.eZ +s.p6=s.aZ +s.Hg=s.hV +s.Hf=s.cN +s.Vq=s.mp +s.Vr=s.tn +s=A.fF.prototype +s.GS=s.jt +s.GT=s.jC +s.UT=s.kZ +s.US=s.eZ +s.UU=s.aZ +s=A.qd.prototype +s.UJ=s.ao +s=A.t8.prototype +s.Wp=s.l +s=A.cn.prototype +s.VM=s.m8 +s.VJ=s.D8 +s.VE=s.D3 +s.VK=s.a9u +s.VO=s.ho +s.VN=s.rP +s.VH=s.lU +s.VI=s.qM +s.VF=s.D5 +s.VG=s.a9q +s.VD=s.ii +s.Hk=s.a87 +s.VL=s.l +s=A.QE.prototype +s.WO=s.vT +s=A.Bg.prototype +s.Ws=s.bL +s.Wt=s.l +s=A.Bh.prototype +s.Wv=s.aH +s.Wu=s.bh +s.Ww=s.l +s=A.HP.prototype +s.yW=s.cw +s=A.oW.prototype +s.WJ=s.aE +s=A.D6.prototype +s.Xx=s.ah +s.Xy=s.ab +s=A.Bl.prototype +s.Wx=s.cw +s=A.D2.prototype +s.Xs=s.l +s=A.D8.prototype +s.XD=s.l +s=A.iQ.prototype +s.VC=s.Dc +s=A.bI.prototype +s.VB=s.sm +s=A.ie.prototype +s.WM=s.o3 +s.WN=s.oE +s=A.tJ.prototype +s.XA=s.aH +s.Xz=s.bh +s.XB=s.l +s=A.qx.prototype +s.V3=s.m8 +s.V1=s.lU +s.V2=s.l +s=A.dR.prototype +s.W7=s.CM +s.Hp=s.m8 +s.Wa=s.D8 +s.W8=s.D3 +s.W9=s.lU +s.Ho=s.qM +s.z3=s.D5 +s.Wb=s.l +s=A.oS.prototype +s.Wr=s.ho +s=A.JQ.prototype +s.u3=s.l +s=A.qZ.prototype +s.VQ=s.ah +s=A.ev.prototype +s.p7=s.cw +s=A.C_.prototype +s.X4=s.cw +s=A.og.prototype +s.VR=s.vB +s.VS=s.nD +s=A.k8.prototype +s.VT=s.kh +s.z2=s.TD +s.VW=s.qh +s.VU=s.qd +s.VV=s.qe +s.W_=s.qX +s.VX=s.h0 +s.VZ=s.l +s.VY=s.cw +s=A.BY.prototype +s.X3=s.cw +s=A.oi.prototype +s.W0=s.kh +s=A.C3.prototype +s.X5=s.l +s=A.C4.prototype +s.X7=s.aH +s.X6=s.bh +s.X8=s.l +s=A.iO.prototype +s.Ha=s.ao +s.Vd=s.bh +s.Vg=s.DV +s.H9=s.wH +s.H8=s.wG +s.Ve=s.DL +s.Vf=s.DM +s.H7=s.l +s=A.tp.prototype +s.Wy=s.l +s=A.qs.prototype +s.UX=s.A +s.GU=s.w6 +s.GY=s.wC +s.GZ=s.wD +s.GX=s.wy +s.UW=s.DK +s.UV=s.DJ +s.H_=s.kI +s.GW=s.l +s.GV=s.cO +s=A.D7.prototype +s.XC=s.l +s=A.D5.prototype +s.Xv=s.ah +s.Xw=s.ab})();(function installTearOffs(){var s=hunkHelpers._static_2,r=hunkHelpers._static_1,q=hunkHelpers.installStaticTearOff,p=hunkHelpers._static_0,o=hunkHelpers._instance_0u,n=hunkHelpers._instance_1u,m=hunkHelpers._instance_1i,l=hunkHelpers._instance_2u,k=hunkHelpers.installInstanceTearOff,j=hunkHelpers._instance_0i +s(A,"aGO","aI8",466) +r(A,"aGL","az1",1) +q(A,"atU",1,null,["$2$params","$1"],["atR",function(a){return A.atR(a,null)}],467,0) +r(A,"aGN","aHA",15) +p(A,"aGM","aDX",0) +r(A,"TN","aGK",21) +o(A.u7.prototype,"gBB","a6o",0) +n(A.fZ.prototype,"gPb","a9H",195) +n(A.GD.prototype,"gP4","P5",13) +n(A.uM.prototype,"ga7n","a7o",189) +var i +n(i=A.uE.prototype,"ga3Z","a4_",13) +n(i,"ga40","a41",13) +n(i=A.i7.prototype,"gZy","Zz",1) +n(i,"gZw","Zx",1) +m(i=A.G3.prototype,"ghy","D",297) +o(i,"gU2","mO",12) +n(A.GZ.prototype,"ga3I","a3J",89) +m(A.x8.prototype,"gEW","EX",9) +m(A.z7.prototype,"gEW","EX",9) +n(A.Gw.prototype,"ga3G","a3H",1) +o(i=A.FX.prototype,"gkr","l",0) +n(i,"gacc","acd",161) +n(i,"gLV","a5I",66) +n(i,"gN1","a6H",31) +n(A.M4.prototype,"ga3X","a3Y",21) +n(A.Li.prototype,"ga2y","a2z",13) +l(i=A.EM.prototype,"gadf","adg",228) +o(i,"ga3T","a3U",0) +n(A.rp.prototype,"ga4A","a4B",288) +n(A.Kv.prototype,"gacY","Ew",308) +o(A.JB.prototype,"gkr","l",0) +n(i=A.EY.prototype,"ga0T","a0U",1) +n(i,"ga0V","a0W",1) +n(i,"ga0R","a0S",1) +n(i=A.v9.prototype,"grf","PS",1) +n(i,"gww","aas",1) +n(i,"gwx","aat",1) +n(i,"grI","acX",1) +n(A.Gl.prototype,"ga42","a43",1) +n(A.Fz.prototype,"ga3C","a3D",1) +n(A.vZ.prototype,"ga9D","P3",102) +o(i=A.jx.prototype,"gkr","l",0) +n(i,"ga_4","a_5",424) +o(A.pS.prototype,"gkr","l",0) +s(J,"aHg","aBD",146) +m(J.v.prototype,"gos","A",24) +m(A.ia.prototype,"gji","p",24) +p(A,"aHt","aCX",73) +m(A.dV.prototype,"gji","p",24) +m(A.dt.prototype,"gji","p",24) +r(A,"aHY","aEU",51) +r(A,"aHZ","aEV",51) +r(A,"aI_","aEW",51) +p(A,"auv","aHK",0) +r(A,"aI0","aHB",21) +s(A,"aI1","aHD",81) +p(A,"anr","aHC",0) +o(i=A.oK.prototype,"guX","k9",0) +o(i,"guZ","ka",0) +m(i=A.ht.prototype,"ghy","D",9) +k(i,"gvu",0,1,null,["$2","$1"],["jc","q5"],87,0,0) +m(i=A.rN.prototype,"ghy","D",9) +k(i,"gvu",0,1,null,["$2","$1"],["jc","q5"],87,0,0) +j(i,"gqs","aJ",12) +l(A.a9.prototype,"gIn","i4",81) +m(i=A.oZ.prototype,"ghy","D",9) +k(i,"gvu",0,1,null,["$2","$1"],["jc","q5"],87,0,0) +o(i=A.m6.prototype,"guX","k9",0) +o(i,"guZ","ka",0) +k(i=A.hu.prototype,"gR5",1,0,null,["$1","$0"],["iI","kV"],95,0,0) +j(i,"gRX","iO",0) +o(i,"guX","k9",0) +o(i,"guZ","ka",0) +k(i=A.rW.prototype,"gR5",1,0,null,["$1","$0"],["iI","kV"],95,0,0) +j(i,"gRX","iO",0) +o(i,"gKP","a3M",0) +o(i=A.rM.prototype,"ga3A","pL",0) +o(i,"ga3K","a3L",0) +o(i=A.t0.prototype,"guX","k9",0) +o(i,"guZ","ka",0) +n(i,"ga0X","a0Y",9) +l(i,"ga1d","a1e",429) +o(i,"ga13","a14",0) +s(A,"auB","aGG",72) +r(A,"auC","aGH",46) +s(A,"aIa","aGJ",146) +k(i=A.j4.prototype,"gB0",0,0,null,["$1$0","$0"],["pK","B1"],79,0,0) +m(i,"gji","p",24) +k(i=A.fg.prototype,"gB0",0,0,null,["$1$0","$0"],["pK","B1"],79,0,0) +m(i,"gji","p",24) +k(i=A.rd.prototype,"ga3x",0,0,null,["$1$0","$0"],["KL","nb"],79,0,0) +m(i,"gji","p",24) +r(A,"auF","aGI",80) +j(A.AU.prototype,"gqs","aJ",0) +r(A,"aIs","aJ9",46) +s(A,"aIr","aJ8",72) +s(A,"auG","azL",469) +r(A,"aIp","aEI",68) +p(A,"aIq","aG0",470) +s(A,"auH","aHN",471) +m(A.j.prototype,"gji","p",24) +k(A.ca.prototype,"gaf9",0,0,null,["$1","$0"],["St","afa"],378,0,0) +j(A.AA.prototype,"gq","iy",56) +j(i=A.oT.prototype,"gqs","aJ",12) +j(i,"gq","iy",56) +q(A,"Dt",3,null,["$3"],["amt"],472,0) +q(A,"Du",3,null,["$3"],["V"],473,0) +q(A,"by",3,null,["$3"],["t"],474,0) +n(A.Cm.prototype,"gQk","eB",15) +o(A.kl.prototype,"gIW","a_m",0) +k(A.hh.prototype,"gaej",0,0,null,["$1$allowPlatformDefault"],["l_"],326,0,0) +l(i=A.Fi.prototype,"ga9V","kw",72) +m(i,"gabr","hO",46) +n(i,"gacm","acn",24) +j(A.Lu.prototype,"gq","iy",56) +j(i=A.fd.prototype,"gq","iy",56) +n(i,"gYB","uf",270) +k(i=A.pn.prototype,"gRY",1,0,null,["$1$from","$0"],["RZ","ei"],267,0,0) +n(i,"ga_6","a_7",264) +n(i,"gHQ","Yn",6) +n(A.fM.prototype,"gni","ve",7) +n(A.mY.prototype,"gnn","MV",7) +n(i=A.oF.prototype,"gni","ve",7) +o(i,"gBX","a76",0) +n(i=A.pI.prototype,"gKI","a3j",7) +o(i,"gKH","a3i",0) +o(A.mH.prototype,"geE","ap",0) +n(A.kM.prototype,"gQV","rN",7) +n(i=A.rU.prototype,"ga5d","a5e",52) +n(i,"ga5f","a5g",20) +n(i,"ga5b","a5c",59) +o(i,"ga15","a16",0) +n(i,"ga5h","a5i",62) +q(A,"aHX",1,null,["$2$forceReport","$1"],["aq5",function(a){return A.aq5(a,!1)}],475,0) +r(A,"aHW","aA4",476) +m(i=A.fr.prototype,"gvw","a0",51) +m(i,"gRE","J",51) +o(i,"geE","ap",0) +r(A,"aJM","aE4",477) +n(i=A.w7.prototype,"ga1F","a1G",169) +n(i,"ga_0","a_1",170) +n(i,"ga83","a84",13) +o(i,"ga_R","Ab",0) +n(i,"ga1L","K4",22) +o(i,"ga1Z","a2_",0) +r(A,"aJo","aBV",50) +r(A,"U0","aAv",136) +r(A,"U1","aAw",50) +n(A.fu.prototype,"grg","kH",22) +r(A,"aJt","aAu",50) +o(A.MC.prototype,"ga3R","a3S",0) +n(i=A.hK.prototype,"guV","a3r",22) +n(i,"ga4S","pS",175) +o(i,"ga3s","lu",0) +r(A,"aku","aBd",50) +k(A.cf.prototype,"gGx",0,1,null,["$1"],["fN"],13,0,1) +n(A.qG.prototype,"grg","kH",22) +l(A.B0.prototype,"ga3c","a3d",83) +n(A.A3.prototype,"gzi","Yr",186) +n(i=A.BG.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +o(A.A7.prototype,"gm5","DS",0) +n(i=A.BF.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(A.lf.prototype,"ga0A","a0B",7) +n(A.wt.prototype,"ga2L","a2M",7) +n(A.wu.prototype,"ga2N","a2O",7) +n(A.ws.prototype,"gT4","T5",215) +n(i=A.AR.prototype,"ga7k","a7l",216) +k(i,"gTR",0,0,null,["$1","$0"],["Gr","TS"],217,0,0) +o(i,"gm5","DS",0) +n(i,"gPU","aaz",218) +n(i,"gaaA","aaB",31) +n(i,"gabe","abf",71) +n(i,"gabg","abh",157) +n(i,"gab6","ab7",71) +n(i,"gab8","ab9",157) +o(i,"gDT","wE",0) +o(i,"gabc","abd",0) +o(i,"gab2","ab3",0) +o(i,"gab4","ab5",0) +n(i,"gaaN","aaO",156) +n(i,"gaaP","aaQ",64) +o(i=A.tI.prototype,"gom","ada",0) +n(i,"gol","ad9",7) +n(A.CU.prototype,"gpM","B6",21) +n(A.CV.prototype,"gpM","B6",21) +o(A.qE.prototype,"gDT","wE",0) +n(A.yF.prototype,"ga29","a2a",7) +n(i=A.AD.prototype,"ga1U","a1V",7) +o(i,"ga3P","a3Q",0) +o(A.qX.prototype,"ga2c","a2d",0) +q(A,"avm",3,null,["$3"],["aHu"],478,0) +n(A.Cc.prototype,"gB4","a3z",7) +o(A.AP.prototype,"geg","am",0) +o(i=A.Cq.prototype,"gls","AD",0) +o(i,"gAE","a2g",0) +k(i,"ga5n",0,3,null,["$3"],["a5o"],244,0,0) +o(i=A.Cr.prototype,"gls","AD",0) +n(i,"ga6g","a6h",34) +n(i=A.lZ.prototype,"ga2e","a2f",7) +n(i,"ga6p","a6q",62) +n(i,"gJZ","a1m",22) +o(i,"ga2h","K9",0) +o(i,"ga1t","a1u",0) +o(i,"ga1S","a1T",0) +n(i,"gK2","a1v",156) +n(i,"gK3","a1w",64) +n(i,"gYO","YP",35) +k(i=A.Iq.prototype,"gabX",0,1,null,["$4$allowUpscaling$cacheHeight$cacheWidth","$1"],["Qi","abY"],254,0,0) +k(i,"gabZ",0,1,null,["$2$getTargetSize","$1"],["Qj","ac_"],255,0,0) +q(A,"ajM",3,null,["$3"],["ar8"],479,0) +q(A,"anz",3,null,["$3"],["de"],480,0) +m(A.nt.prototype,"gvw","a0",151) +n(i=A.HD.prototype,"ga0P","a0Q",266) +n(i,"ga0E","a0F",6) +m(i,"gvw","a0",151) +l(A.Ls.prototype,"ga60","a61",268) +q(A,"u_",3,null,["$3"],["aV"],481,0) +m(i=A.Gk.prototype,"gafb","dq",2) +m(i,"gDn","e8",2) +r(A,"aI3","aF4",148) +n(i=A.yr.prototype,"ga2A","a2B",6) +n(i,"ga1B","a1C",6) +n(i=A.H.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i,"gbE","Zm",276) +n(i,"gpk","Zl",147) +o(i,"gx9","a5",0) +l(A.cK.prototype,"gOO","lR",17) +n(i=A.y8.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.y9.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.yb.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.oa.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.ye.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.yg.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +r(A,"ava","arD",36) +r(A,"avb","aDk",36) +o(A.jW.prototype,"gNe","Nf",0) +n(i=A.G.prototype,"gRy","ml",36) +o(i,"geg","am",0) +o(i,"gQL","aY",0) +k(i,"gKF",0,1,null,["$2$isMergeUp","$1"],["uN","a3a"],287,0,0) +k(i,"gmJ",0,0,null,["$4$curve$descendant$duration$rect","$0","$2$descendant$rect"],["f9","oV","mK"],75,0,0) +n(i=A.ab.prototype,"gvL","a8a","ab.0?(J?)") +n(i,"gvK","a89","ab.0?(J?)") +o(A.y2.prototype,"gLK","a5t",0) +n(i=A.lI.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.j9.prototype,"ga0w","JJ",141) +l(i,"ga0l","a0m",293) +n(i,"ga00","a01",141) +n(A.Bp.prototype,"grg","kH",22) +n(i=A.f4.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +k(i,"giF",0,2,null,["$2"],["aE"],17,0,1) +n(i=A.o9.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.y6.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.yf.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +o(A.y4.prototype,"gvj","BM",0) +o(A.tq.prototype,"guL","uM",0) +l(A.yc.prototype,"ga49","KT",295) +n(i=A.yi.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +o(i=A.k4.prototype,"ga4p","a4q",0) +o(i,"ga4r","a4s",0) +o(i,"ga4t","a4u",0) +o(i,"ga4n","a4o",0) +o(i=A.ym.prototype,"ga4v","a4w",0) +o(i,"ga4l","a4m",0) +o(i,"ga4h","a4i",0) +o(i,"ga4j","a4k",0) +o(A.K1.prototype,"gNb","Nc",0) +n(i=A.qO.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.yj.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.yk.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(i=A.ya.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +k(A.cl.prototype,"gabz",0,1,null,["$3$crossAxisPosition$mainAxisPosition"],["Q4"],296,0,0) +n(i=A.yo.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +l(i,"gads","adt",17) +n(i=A.qP.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +l(i,"ga4a","KU",17) +k(i,"gmJ",0,0,null,["$4$curve$descendant$duration$rect","$0","$2$descendant$rect"],["f9","oV","mK"],75,0,0) +r(A,"aK7","aDm",133) +s(A,"aK8","aDn",134) +n(i=A.yq.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +s(A,"aI5","aDu",482) +q(A,"aI6",0,null,["$2$priority$scheduler"],["aIF"],483,0) +n(i=A.iR.prototype,"ga_z","a_A",112) +o(i,"ga5l","a5m",0) +n(i,"ga0K","a0L",6) +o(i,"ga1b","a1c",0) +o(i,"ga_f","a_g",0) +n(A.ru.prototype,"gBA","a6n",6) +o(i=A.K2.prototype,"ga_2","a_3",0) +o(i,"ga28","K8",0) +n(i,"ga26","a27",306) +n(i=A.c4.prototype,"gLh","a4Q",130) +n(i,"ga6D","MS",130) +n(A.lQ.prototype,"ga7s","Cb",314) +r(A,"aI4","aDQ",484) +o(i=A.z1.prototype,"gYb","Yc",320) +n(i,"ga1r","Ay",321) +n(i,"ga1D","uA",43) +n(i=A.GY.prototype,"gaaE","aaF",89) +n(i,"gab0","DR",323) +n(i,"gZB","ZC",324) +n(A.yu.prototype,"ga3m","AX",127) +n(i=A.cS.prototype,"ga_n","a_o",124) +n(i,"gLf","Lg",124) +n(A.KO.prototype,"ga37","uI",43) +n(A.oQ.prototype,"gP_","Df",337) +n(A.A0.prototype,"gJM","a0z",340) +n(i=A.CM.prototype,"gZX","ZY",120) +n(i,"ga3E","a3F",342) +n(i,"ga3V","a3W",343) +n(A.A5.prototype,"gY7","Y8",344) +o(i=A.Lq.prototype,"gaaJ","aaK",0) +n(i,"ga1x","a1y",347) +n(i,"ga0I","a0J",43) +o(i,"ga0M","a0N",0) +o(i=A.CT.prototype,"gaaM","DN",0) +o(i,"gabj","DU",0) +o(i,"gaaU","DP",0) +n(i,"gaar","DF",66) +n(i,"gabl","DW",161) +n(i=A.An.prototype,"gJU","a19",52) +n(i,"gJV","a1a",20) +o(i,"ga11","a12",0) +n(i,"gJT","a18",59) +n(i,"ga1_","uz",349) +n(A.Av.prototype,"gzh","HP",7) +r(A,"eG","aB3",26) +k(A.cd.prototype,"gaeg",0,0,null,["$1","$0"],["RN","ox"],352,0,0) +n(i=A.w0.prototype,"gYp","Yq",66) +o(i,"ga7E","NN",0) +n(i=A.NR.prototype,"gaaW","DQ",22) +n(i,"gaaG","aaH",354) +o(A.rZ.prototype,"gAx","a1j",0) +q(A,"aIY",1,null,["$5$alignment$alignmentPolicy$curve$duration","$1","$2$alignmentPolicy"],["alF",function(a){var h=null +return A.alF(a,h,h,h,h)},function(a,b){return A.alF(a,null,b,null,null)}],485,0) +r(A,"ajZ","aFb",10) +s(A,"anC","aAE",486) +r(A,"auU","aAD",10) +n(i=A.O7.prototype,"ga6x","MK",10) +o(i,"ga6y","a6z",0) +n(i=A.qJ.prototype,"ga1H","a1I",62) +n(i,"ga1M","a1N",381) +n(i,"ga6X","a6Y",382) +n(i=A.kq.prototype,"gYM","YN",35) +n(i,"gJN","JO",7) +o(i,"gF0","adj",0) +n(i=A.wc.prototype,"ga1g","a1h",385) +k(i,"gZV",0,5,null,["$5"],["ZW"],386,0,0) +q(A,"auX",3,null,["$3"],["jE"],487,0) +l(A.AN.prototype,"ga1p","a1q",390) +o(A.pm.prototype,"ga0C","a0D",0) +o(A.t9.prototype,"gAG","a2v",0) +s(A,"aJu","aCr",488) +r(A,"ij","aFx",47) +r(A,"av9","aFy",47) +r(A,"Do","aFz",47) +n(A.th.prototype,"grM","me",63) +n(A.tg.prototype,"grM","me",63) +n(A.Be.prototype,"grM","me",63) +n(A.Bf.prototype,"grM","me",63) +o(i=A.iJ.prototype,"gK_","a1o",0) +o(i,"gLc","a4O",0) +n(i,"ga3u","a3v",62) +n(i,"ga1Q","a1R",22) +r(A,"aJw","aFv",36) +k(A.oW.prototype,"giF",0,2,null,["$2"],["aE"],17,0,1) +n(i=A.mo.prototype,"gbk","aS",2) +n(i,"gbt","aR",2) +n(A.AL.prototype,"gAA","AB",34) +n(i=A.AK.prototype,"gzq","zr",7) +n(i,"ga6l","a6m",6) +n(A.Co.prototype,"gAA","AB",34) +n(A.Cn.prototype,"gzq","zr",7) +n(A.Fm.prototype,"ga3k","AW",127) +n(i=A.Bq.prototype,"ga3N","a3O",13) +n(i,"ga1k","a1l",31) +o(A.BS.prototype,"gBe","a4W",0) +n(A.iQ.prototype,"ga6O","BO",414) +n(i=A.ts.prototype,"ga5_","a50",6) +o(i,"guC","K5",0) +o(i,"gAu","a0H",58) +o(i,"gAz","a1Y",0) +n(A.dR.prototype,"gLD","a5j",7) +n(i=A.fD.prototype,"gYI","YJ",35) +n(i,"gYK","YL",35) +o(i=A.Ec.prototype,"gBy","Bz",0) +o(i,"gBm","Bn",0) +o(i=A.FO.prototype,"gBy","Bz",0) +o(i,"gBm","Bn",0) +s(A,"aPc","anm",489) +m(i=A.C8.prototype,"ghy","D",32) +m(i,"gos","A",32) +r(A,"Dr","aIG",34) +o(A.k8.prototype,"ga9w","a9x",0) +o(A.oi.prototype,"gkr","l",0) +n(i=A.yP.prototype,"gJS","a17",140) +n(i,"gLO","a5v",52) +n(i,"gLP","a5w",20) +n(i,"gLN","a5u",59) +o(i,"gLL","LM",0) +o(i,"ga_d","a_e",0) +o(i,"ga_b","a_c",0) +n(i,"ga4K","a4L",126) +n(i,"ga1O","a1P",22) +n(i,"ga20","a21",86) +o(A.C1.prototype,"gLG","a5p",0) +n(i=A.iO.prototype,"ga74","a75",7) +o(i,"ga_h","a_i",0) +o(i,"ga_j","a_k",0) +n(i,"ga2t","a2u",71) +n(i,"ga5z","a5A",86) +n(i,"ga5B","a5C",34) +n(i,"ga2l","a2m",140) +n(i,"ga2p","a2q",52) +n(i,"ga2r","a2s",20) +n(i,"ga2n","a2o",59) +o(i,"ga2j","a2k",0) +n(i,"gKk","a2H",433) +n(i,"ga5x","a5y",22) +n(i,"ga5D","a5E",126) +s(A,"aJF","aCi",132) +m(i=A.qs.prototype,"ghy","D",32) +m(i,"gos","A",32) +o(i,"gAC","a25",0) +l(A.Cb.prototype,"ga1z","a1A",167) +o(A.Ca.prototype,"gM6","a5S",0) +o(i=A.BN.prototype,"guE","a2C",0) +n(i,"gbk","aS",2) +n(i,"gbt","aR",2) +k(i,"gmJ",0,0,null,["$4$curve$descendant$duration$rect","$0","$2$descendant$rect"],["f9","oV","mK"],75,0,0) +n(A.ra.prototype,"gae6","RC",446) +o(A.tr.prototype,"guY","KQ",0) +s(A,"aJX","aFB",132) +m(A.C7.prototype,"gos","A",32) +o(A.lU.prototype,"gno","np",0) +o(A.eg.prototype,"geR","fi",0) +r(A,"aK5","aDt",125) +r(A,"aK4","aDq",125) +o(A.A1.prototype,"gAw","a0O",0) +o(A.tH.prototype,"gBY","a77",0) +k(A.J2.prototype,"gaaC",0,3,null,["$3"],["wz"],449,0,0) +m(i=A.A9.prototype,"gad5","ad6",21) +o(i,"gadY","adZ",0) +o(i,"gacj","ack",40) +q(A,"aJ0",3,null,["$1$3","$3"],["aso",function(a,b,c){return A.aso(a,b,c,t.z)}],492,0) +q(A,"aJ_",1,null,["$1$1","$1"],["asn",function(a){return A.asn(a,t.z)}],493,0) +r(A,"aJn","aBO",494) +q(A,"anR",1,null,["$2$wrapWidth","$1"],["auN",function(a){return A.auN(a,null)}],361,0) +p(A,"aJC","atQ",0) +s(A,"jh","ap4",53) +s(A,"pb","azq",53) +q(A,"tX",3,null,["$3"],["azp"],123,0) +q(A,"av3",3,null,["$3"],["azo"],123,0)})();(function inheritance(){var s=hunkHelpers.mixin,r=hunkHelpers.mixinHard,q=hunkHelpers.inherit,p=hunkHelpers.inheritMany +q(A.J,null) +p(A.J,[A.u7,A.UG,A.l_,A.QQ,A.WU,A.fZ,A.W_,A.Hi,A.EH,A.Fy,A.GD,A.rE,A.vB,A.ae7,A.hg,A.j,A.vC,A.Kg,A.o8,A.zS,A.nf,A.a9I,A.GI,A.kY,A.EJ,A.EF,A.Ep,A.e8,A.IM,A.I9,A.H2,A.a1k,A.a1l,A.ZK,A.EZ,A.Wg,A.a6A,A.rG,A.uM,A.a5b,A.ey,A.F3,A.qQ,A.oc,A.pB,A.uO,A.mT,A.hE,A.XD,A.Jl,A.uE,A.Kc,A.EL,A.uN,A.pC,A.EK,A.uK,A.Wj,A.bB,A.uS,A.Wu,A.Wv,A.YS,A.YT,A.Zf,A.XC,A.a8u,A.GG,A.a_P,A.GF,A.GE,A.FJ,A.vm,A.N6,A.Nb,A.FF,A.Yu,A.JE,A.od,A.QP,A.a8c,A.ZA,A.Su,A.G3,A.q0,A.ng,A.w5,A.ul,A.eU,A.F4,A.rS,A.Gj,A.c6,A.aaj,A.Ao,A.cZ,A.aaq,A.aap,A.GA,A.wg,A.rg,A.KD,A.eN,A.a6x,A.WP,A.Ml,A.WX,A.rh,A.a5M,A.qB,A.nU,A.k2,A.a9H,A.a5O,A.FW,A.FV,A.lx,A.a6W,A.cD,A.agm,A.a7C,A.aiA,A.GB,A.a7O,A.ri,A.aak,A.a5n,A.a9u,A.Yw,A.l7,A.FU,A.Ka,A.z2,A.oo,A.mm,A.a6r,A.z8,A.u9,A.jF,A.GZ,A.iy,A.a15,A.WT,A.a4I,A.Vi,A.jQ,A.vR,A.Gw,A.a61,A.abV,A.IC,A.UM,A.Li,A.a65,A.a67,A.a8a,A.a6c,A.EM,A.a6m,A.Hb,A.acG,A.aiB,A.j8,A.rQ,A.tn,A.aeN,A.a6d,A.amg,A.a6C,A.Gr,A.Gq,A.a5q,A.Up,A.IO,A.k6,A.DR,A.a1i,A.vE,A.K9,A.K6,A.om,A.YK,A.YL,A.a99,A.a95,A.MV,A.X,A.hd,A.a0N,A.a0P,A.aa0,A.aa4,A.ac9,A.J_,A.aao,A.Ez,A.xx,A.rf,A.W2,A.a_C,A.aaV,A.aaU,A.aeu,A.aev,A.aet,A.rp,A.a1p,A.Kv,A.JB,A.abd,A.iw,A.iM,A.vF,A.vG,A.zy,A.aaJ,A.KN,A.ci,A.kf,A.Vf,A.EY,A.Yx,A.Yy,A.zw,A.Yr,A.E8,A.ro,A.pP,A.a0F,A.aaX,A.aaK,A.a_Q,A.Yb,A.Y9,A.Hg,A.jn,A.bp,A.Z0,A.Ft,A.Fz,A.XQ,A.X6,A.ZO,A.vZ,A.a_h,A.jx,A.Lk,A.rF,A.alU,J.qh,J.c2,A.EA,A.aC,A.a9m,A.bS,A.br,A.ki,A.G1,A.KH,A.Kh,A.Ki,A.FP,A.Gf,A.rH,A.wo,A.vU,A.Lb,A.e0,A.j6,A.wR,A.pJ,A.md,A.hm,A.a0M,A.abC,A.HR,A.vI,A.Ck,A.a1r,A.wJ,A.GS,A.B_,A.LD,A.zn,A.ahT,A.adt,A.afi,A.hk,A.NL,A.CA,A.ahV,A.wN,A.S_,A.LR,A.ku,A.E4,A.c5,A.hu,A.ht,A.Mk,A.hx,A.a9,A.LS,A.oZ,A.RH,A.LT,A.MY,A.ae1,A.tm,A.rW,A.oL,A.Rz,A.aiK,A.t5,A.ff,A.afD,A.me,A.tb,A.fB,A.Ou,A.Sw,A.As,A.Nc,A.Or,A.Rw,A.Rv,A.ja,A.KA,A.EW,A.uY,A.acE,A.Vs,A.LX,A.EE,A.Rf,A.afA,A.afx,A.adx,A.ahU,A.Sx,A.CK,A.p1,A.dJ,A.aQ,A.I0,A.zk,A.Az,A.jB,A.bo,A.aY,A.RE,A.zl,A.a86,A.ca,A.CH,A.abI,A.Rg,A.vN,A.lS,A.WW,A.aH,A.G8,A.HT,A.M5,A.Z2,A.na,A.jy,A.oT,A.HQ,A.FS,A.adu,A.Cm,A.kl,A.Wa,A.HV,A.x,A.aT,A.i0,A.f0,A.w,A.wS,A.alS,A.lT,A.le,A.la,A.ls,A.r2,A.hh,A.lB,A.co,A.c3,A.a9k,A.h5,A.iz,A.iA,A.zx,A.KM,A.ee,A.ao,A.ch,A.ly,A.Vx,A.Gp,A.UR,A.Vh,A.Vl,A.a_n,A.a68,A.uD,A.fr,A.MZ,A.dH,A.vd,A.a62,A.iq,A.mO,A.Hs,A.Et,A.VT,A.a0V,A.eo,A.uB,A.py,A.un,A.rB,A.G2,A.zT,A.mQ,A.aaf,A.Ve,A.UX,A.Fk,A.mq,A.td,A.wQ,A.Fi,A.Gv,A.Lu,A.ae,A.a9C,A.LM,A.kN,A.xy,A.ue,A.ud,A.mH,A.kM,A.aJ,A.kc,A.Oe,A.O4,A.f1,A.Fj,A.Rx,A.Ak,A.MS,A.El,A.MK,A.Cu,A.xj,A.adM,A.adL,A.cW,A.NA,A.Ee,A.ag8,A.ac,A.hI,A.e7,A.an5,A.hb,A.xK,A.aik,A.ac8,A.y0,A.i5,A.cv,A.cF,A.q5,A.t3,A.ZX,A.ah3,A.w7,A.jw,A.hL,A.hM,A.eR,A.Pv,A.d7,A.Lx,A.Mn,A.Mx,A.Ms,A.Mq,A.Mr,A.Mp,A.Mt,A.MB,A.BP,A.Mz,A.MA,A.My,A.Mv,A.Mw,A.Mu,A.Mo,A.ve,A.iB,A.tD,A.jD,A.kx,A.amZ,A.a6n,A.H5,A.MC,A.tB,A.a6i,A.a6l,A.hY,A.rl,A.rm,A.Mj,A.a__,A.hs,A.m2,A.Br,A.i9,A.LA,A.JR,A.a9D,A.Qp,A.LO,A.km,A.LW,A.Ov,A.M1,A.M2,A.M3,A.M6,A.M7,A.OM,A.M8,A.Mb,A.Md,A.Mf,A.Mi,A.MO,A.MQ,A.N_,A.N4,A.Ne,A.Nf,A.Nk,A.ko,A.Np,A.Nt,A.adS,A.Ny,A.Zb,A.YW,A.YV,A.Za,A.bs,A.O3,A.jG,A.qg,A.Gb,A.O9,A.Os,A.Fl,A.Hn,A.OE,A.OB,A.OD,A.OR,A.OS,A.OT,A.P5,A.QM,A.Hm,A.jT,A.Pb,A.tI,A.PT,A.PV,A.PZ,A.a8j,A.JF,A.WR,A.a4R,A.LB,A.yD,A.QW,A.QX,A.QY,A.QZ,A.Rk,A.Rr,A.RG,A.RK,A.RP,A.RR,A.RT,A.RX,A.alh,A.t7,A.Nq,A.SB,A.RZ,A.S0,A.S2,A.Sr,A.mG,A.Iq,A.uq,A.M0,A.bT,A.G7,A.Wm,A.LZ,A.acK,A.cQ,A.a01,A.M9,A.Pd,A.qa,A.hS,A.O5,A.im,A.hR,A.hT,A.O6,A.qc,A.DT,A.qf,A.xL,A.aaH,A.aie,A.RQ,A.ta,A.rq,A.id,A.RS,A.a9Y,A.adC,A.agf,A.ain,A.zK,A.yr,A.Pg,A.c9,A.ae4,A.acI,A.aM,A.cK,A.Xa,A.afC,A.uh,A.E0,A.Ok,A.H1,A.ON,A.SY,A.aE,A.ds,A.ab,A.y2,A.ahE,A.R5,A.a76,A.Ta,A.ago,A.f4,A.y4,A.dx,A.K1,A.a8X,A.lO,A.R2,A.Kn,A.Rn,A.a7s,A.iD,A.a7y,A.J3,A.zV,A.qS,A.tt,A.t1,A.a5Q,A.iR,A.ru,A.oC,A.zH,A.K2,A.a98,A.on,A.cO,A.R3,A.R6,A.kk,A.ig,A.kv,A.lQ,A.R7,A.a96,A.E2,A.oJ,A.kO,A.V4,A.z1,A.Oi,A.a_m,A.wE,A.GY,A.Oj,A.hX,A.fI,A.x5,A.aag,A.a0O,A.a0Q,A.aa1,A.aa5,A.a4J,A.qr,A.kQ,A.du,A.a6a,A.nW,A.IL,A.Q_,A.Q0,A.a6E,A.cw,A.cS,A.UN,A.iW,A.KO,A.zz,A.T1,A.Od,A.Lz,A.Pa,A.fY,A.HP,A.mJ,A.e1,A.Lq,A.FA,A.LV,A.Zq,A.NE,A.NC,A.NR,A.t_,A.NJ,A.rV,A.N0,A.Xp,A.T5,A.T4,A.O7,A.Vo,A.Vn,A.xl,A.ag9,A.a7X,A.qe,A.nk,A.a97,A.aeR,A.kq,A.nR,A.hQ,A.W5,A.tl,A.Fp,A.x2,A.i2,A.a81,A.L4,A.mi,A.QE,A.jS,A.oW,A.a5x,A.Cl,A.I4,A.Nx,A.og,A.a4f,A.a63,A.xN,A.iQ,A.lM,A.Hd,A.JQ,A.a8B,A.aiJ,A.a9N,A.i3,A.fb,A.Ll,A.K0,A.JX,A.Y6,A.Rh,A.SI,A.Rb,A.Re,A.MU,A.lU,A.eg,A.Ah,A.Oq,A.AV,A.bF,A.dl,A.Zm,A.nL,A.HC,A.X7,A.a09,A.a0n,A.a08,A.vt,A.d2,A.eO,A.dQ,A.Vy,A.eX,A.ac1,A.oD,A.aaF,A.VH,A.l3,A.WS,A.aai,A.a5L,A.Hy,A.or,A.r5,A.a6q,A.a_f,A.ac2,A.Vg,A.GN,A.a0y,A.wG,A.bi,A.fS,A.j1,A.vH,A.Ay]) +p(A.l_,[A.EU,A.UL,A.UH,A.UI,A.UJ,A.aiX,A.a_O,A.a_M,A.EV,A.a9L,A.a06,A.a54,A.ajf,A.Wi,A.aj1,A.WC,A.WD,A.Wx,A.Wy,A.Ww,A.WA,A.WB,A.Wz,A.XN,A.XR,A.ajF,A.akx,A.akw,A.ZB,A.ZC,A.ZD,A.ZE,A.ZF,A.ZG,A.ZJ,A.ZH,A.ajW,A.ajX,A.ajY,A.ajV,A.a5o,A.a_G,A.a_H,A.a_E,A.a_F,A.akd,A.Ze,A.Zg,A.Zd,A.ak0,A.ak1,A.ajo,A.ajp,A.ajq,A.ajr,A.ajs,A.ajt,A.aju,A.ajv,A.a11,A.a12,A.a13,A.a14,A.a1b,A.a1f,A.akq,A.a4T,A.a9F,A.a9G,A.YZ,A.YH,A.YG,A.YC,A.YD,A.YE,A.YB,A.YF,A.Yz,A.YJ,A.acN,A.acM,A.acO,A.abX,A.abY,A.abZ,A.ac_,A.a8b,A.acH,A.aiC,A.agu,A.agx,A.agy,A.agz,A.agA,A.agB,A.agC,A.a6G,A.Xn,A.Us,A.Ut,A.a0A,A.a0B,A.aj2,A.a8Q,A.a8R,A.YM,A.Xl,A.a4C,A.aaE,A.aaN,A.aaO,A.aaP,A.aaQ,A.aaS,A.W3,A.Ys,A.Yt,A.Xh,A.Xi,A.Xj,A.a_W,A.a_U,A.Z5,A.a_R,A.Ya,A.ajN,A.X4,A.abW,A.W6,A.wv,A.KL,A.a0U,A.a0T,A.ak9,A.akb,A.ahW,A.acs,A.acr,A.aiT,A.ahX,A.ahZ,A.ahY,A.ZU,A.ZP,A.aeE,A.aeL,A.aa8,A.aac,A.aab,A.ahd,A.aeQ,A.adN,A.a1A,A.a9U,A.afw,A.ait,A.aj8,A.aj9,A.aed,A.aec,A.aef,A.aee,A.agK,A.agM,A.agL,A.akj,A.akr,A.aks,A.ajS,A.a1_,A.ajK,A.a_q,A.a_o,A.VA,A.VB,A.VC,A.VD,A.VE,A.VF,A.VG,A.VS,A.a4j,A.a4h,A.a4i,A.a4k,A.a4m,A.VY,A.VW,A.VX,A.VZ,A.VU,A.VK,A.VL,A.VM,A.VN,A.VO,A.VP,A.VQ,A.VR,A.acb,A.acc,A.adE,A.adD,A.adG,A.adH,A.adJ,A.a5j,A.Zj,A.Zk,A.Zl,A.ajT,A.a9Z,A.aar,A.aeM,A.a6e,A.a6f,A.a6o,A.UY,A.UZ,A.V_,A.Y1,A.Y2,A.Y3,A.Yo,A.Yp,A.Yq,A.afI,A.a42,A.adj,A.adk,A.adl,A.acV,A.acW,A.acX,A.ad7,A.adc,A.add,A.ade,A.adf,A.adg,A.adh,A.adi,A.acY,A.acZ,A.ad_,A.ada,A.acT,A.adb,A.acS,A.ad0,A.ad1,A.ad2,A.ad3,A.ad4,A.ad5,A.ad6,A.ad8,A.ad9,A.af9,A.afb,A.afa,A.aeg,A.aeh,A.aej,A.aei,A.aek,A.ael,A.aen,A.aem,A.aga,A.agb,A.agd,A.age,A.agc,A.afo,A.afl,A.a1t,A.afZ,A.afK,A.afL,A.afM,A.afN,A.a46,A.aiN,A.aiO,A.aiP,A.aiQ,A.a5F,A.agI,A.agH,A.agG,A.agE,A.a8g,A.afS,A.afP,A.afR,A.afQ,A.afO,A.ahK,A.ahM,A.ahN,A.ahP,A.aib,A.ai4,A.ai1,A.ai2,A.aid,A.acm,A.abl,A.abp,A.abr,A.adA,A.adB,A.Wn,A.Wo,A.Wp,A.ado,A.a0m,A.a0h,A.UP,A.a0t,A.a0E,A.a0D,A.abh,A.abg,A.abf,A.ZN,A.a7M,A.a7I,A.Vc,A.a7_,A.a72,A.a7a,A.a7b,A.a78,A.a79,A.a4N,A.a4M,A.a7g,A.a7h,A.a7c,A.a7d,A.a7e,A.a6Y,A.a7l,A.a7m,A.aje,A.agp,A.a7t,A.a7v,A.a7x,A.a7w,A.a7r,A.a7q,A.a7A,A.a7z,A.a7F,A.a7E,A.a7H,A.a8o,A.a8n,A.abo,A.a9c,A.a9a,A.ahJ,A.ahI,A.ahG,A.ahH,A.aiZ,A.a9f,A.a9e,A.a8Y,A.a91,A.a9_,A.a92,A.a90,A.a93,A.a94,A.Vv,A.a60,A.UT,A.acq,A.a9o,A.adP,A.a1v,A.V3,A.a4v,A.a7U,A.a7V,A.a7T,A.aba,A.ab9,A.abb,A.a_B,A.a_z,A.ajl,A.Ux,A.UA,A.Uy,A.UB,A.aiD,A.aiE,A.aey,A.acv,A.acA,A.aim,A.ail,A.aiH,A.aiI,A.aiG,A.Xf,A.XF,A.XG,A.Zt,A.Zs,A.aji,A.Zx,A.Zz,A.Zy,A.agS,A.Xq,A.Xy,A.Xz,A.XA,A.XB,A.agP,A.agQ,A.agN,A.a6V,A.afh,A.Yi,A.Yg,A.Yf,A.Yj,A.Yl,A.Yd,A.Yc,A.Yh,A.Ye,A.a5K,A.a4S,A.a_4,A.a_7,A.a_9,A.a_b,A.a_d,A.a_6,A.adU,A.adV,A.adW,A.adZ,A.ae_,A.ae0,A.a_x,A.a_v,A.a_u,A.a_Z,A.afe,A.a0x,A.a0w,A.a0v,A.acg,A.ach,A.aci,A.acj,A.ack,A.a0C,A.ajy,A.ajz,A.ajA,A.afG,A.afH,A.a1y,A.a1x,A.a4e,A.a4d,A.a83,A.a82,A.a5h,A.ahh,A.ahf,A.ahj,A.a5e,A.a5g,A.a5d,A.a5f,A.a5w,A.ah1,A.ah0,A.agU,A.agV,A.a5D,A.agk,A.ags,A.ajd,A.ah9,A.ahn,A.ahl,A.abB,A.aby,A.ag6,A.ag5,A.ag2,A.a4F,A.a8x,A.a8y,A.a8z,A.a8A,A.a8D,A.a8E,A.a8F,A.a8H,A.a8O,A.a8L,A.a8N,A.ahv,A.a8S,A.a6K,A.a6O,A.a6P,A.a5_,A.a50,A.a51,A.a4W,A.a4X,A.a4Y,A.a4Z,A.a9S,A.ahz,A.ahA,A.ahB,A.ahC,A.ac5,A.a0d,A.a0c,A.a0e,A.a0f,A.a0o,A.a0p,A.a0q,A.a1D,A.a1E,A.a1W,A.a1X,A.a1V,A.a3K,A.a3L,A.a3G,A.a3H,A.a3u,A.a3v,A.a3C,A.a3D,A.a3A,A.a3B,A.a3E,A.a3F,A.a3w,A.a3x,A.a3y,A.a3z,A.a2z,A.a2A,A.a2y,A.a3I,A.a3J,A.a2w,A.a2x,A.a2v,A.a1T,A.a1U,A.a1O,A.a1P,A.a1N,A.a2T,A.a2U,A.a2S,A.a2Q,A.a2R,A.a2P,A.a3s,A.a3t,A.a3a,A.a3b,A.a37,A.a38,A.a36,A.a39,A.a2f,A.a2g,A.a2e,A.a2W,A.a2X,A.a2V,A.a2Y,A.a24,A.a25,A.a23,A.a1R,A.a1S,A.a1Q,A.a3p,A.a3q,A.a3o,A.a3r,A.a2t,A.a2u,A.a2s,A.a3d,A.a3e,A.a3c,A.a3f,A.a2i,A.a2j,A.a2h,A.a3Z,A.a4_,A.a3Y,A.a40,A.a2N,A.a2O,A.a2M,A.a3N,A.a3O,A.a3M,A.a3P,A.a2C,A.a2D,A.a2B,A.a1K,A.a1L,A.a1J,A.a1M,A.a21,A.a22,A.a20,A.a1G,A.a1H,A.a1F,A.a1I,A.a1Z,A.a2_,A.a1Y,A.a33,A.a34,A.a32,A.a35,A.a3_,A.a30,A.a2Z,A.a31,A.a2b,A.a2d,A.a2a,A.a2c,A.a27,A.a29,A.a26,A.a28,A.a3l,A.a3m,A.a3k,A.a3n,A.a3h,A.a3i,A.a3g,A.a3j,A.a2p,A.a2r,A.a2o,A.a2q,A.a2l,A.a2n,A.a2k,A.a2m,A.a3V,A.a3W,A.a3U,A.a3X,A.a3R,A.a3S,A.a3Q,A.a3T,A.a2J,A.a2L,A.a2I,A.a2K,A.a2F,A.a2H,A.a2E,A.a2G,A.adr,A.aeW,A.af8,A.af4,A.a57,A.aia,A.ai9,A.WV,A.ajG,A.a9s,A.a9w,A.ajh,A.abt,A.a4u,A.ae9,A.aea]) +p(A.EU,[A.UK,A.a_L,A.a_J,A.a_K,A.a9J,A.a9K,A.ZL,A.ZM,A.a53,A.a55,A.a5s,A.a5t,A.W1,A.Wk,A.ZI,A.Z_,A.a5S,A.a_I,A.aam,A.aan,A.a_j,A.Vj,A.Vk,A.akf,A.akg,A.Zh,A.aiV,A.a1c,A.a1d,A.a1e,A.a17,A.a18,A.a19,A.YI,A.aki,A.a66,A.agv,A.agw,A.aeO,A.a6D,A.a6F,A.Uq,A.Xo,A.a80,A.Ur,A.a8P,A.YP,A.YO,A.YN,A.a4D,A.aaR,A.aaT,A.a_D,A.Xg,A.a_V,A.aaL,A.ajm,A.Yv,A.W8,A.ako,A.a6u,A.act,A.acu,A.aig,A.ZT,A.ZS,A.ZR,A.aeA,A.aeH,A.aeG,A.aeD,A.aeC,A.aeB,A.aeK,A.aeJ,A.aeI,A.aad,A.aaa,A.ahR,A.ahQ,A.acR,A.acQ,A.agn,A.aiW,A.ajE,A.ahc,A.aiw,A.aiv,A.Wb,A.Wc,A.a0Z,A.ajL,A.Vm,A.a_p,A.a4l,A.X0,A.X_,A.X1,A.X2,A.adK,A.Zi,A.V5,A.W9,A.ZZ,A.ZY,A.a_1,A.a_2,A.XU,A.XZ,A.Y_,A.XV,A.XW,A.XX,A.XY,A.a6k,A.a6t,A.aay,A.aaz,A.aaA,A.aaB,A.aaC,A.a_0,A.acd,A.UF,A.acp,A.a41,A.adm,A.acU,A.ajk,A.ajj,A.afk,A.afn,A.afp,A.afj,A.afm,A.a44,A.a45,A.a8h,A.a8i,A.a8d,A.a8e,A.a8f,A.aeo,A.a8l,A.a8k,A.afY,A.afX,A.afW,A.afU,A.afV,A.afT,A.ahL,A.aax,A.ai0,A.ai3,A.ai5,A.ai6,A.ai7,A.abm,A.abs,A.a03,A.a02,A.afE,A.a0j,A.a0k,A.a4U,A.aif,A.a7K,A.a7L,A.ae5,A.acJ,A.aft,A.a4Q,A.a4P,A.a4O,A.a5J,A.a5I,A.a5H,A.a7f,A.a7i,A.a7j,A.a7u,A.a8q,A.a8r,A.a8s,A.a8t,A.Vu,A.a9n,A.a6B,A.a7R,A.a7S,A.a7Q,A.aat,A.abc,A.ace,A.aiF,A.aex,A.aew,A.acz,A.acx,A.acy,A.acw,A.ac6,A.a7Y,A.a7Z,A.ae2,A.ae3,A.aep,A.aeq,A.aer,A.aes,A.Vp,A.WF,A.WG,A.a_3,A.a_5,A.a_8,A.a_a,A.a_c,A.a_e,A.adY,A.adX,A.aeV,A.aeU,A.aeT,A.afd,A.aff,A.afg,A.UD,A.afF,A.ag_,A.a4E,A.ahi,A.ahg,A.ahe,A.a5c,A.agg,A.a5B,A.a5A,A.a5C,A.a5z,A.a5y,A.agh,A.agj,A.agi,A.aeP,A.agq,A.ah8,A.a7W,A.ahq,A.ahr,A.ahp,A.ahk,A.aho,A.ahm,A.abz,A.abA,A.ag0,A.a4H,A.a4G,A.a8w,A.ahD,A.a8C,A.a8K,A.a8M,A.a6N,A.a6L,A.a6M,A.a6H,A.a6I,A.a6J,A.a9A,A.a9Q,A.a9R,A.a9P,A.a9T,A.acl,A.aiz,A.a0g,A.Ul,A.Um,A.Un,A.Uo,A.ads,A.adq,A.adp,A.af2,A.aeZ,A.aeX,A.af_,A.af1,A.aeY,A.a5a,A.af5,A.af6,A.af7,A.a58,A.ah4,A.ah5,A.ah7,A.ah6,A.ai8,A.WL,A.WM,A.WN,A.WO,A.WK,A.WH,A.WI,A.WJ,A.abx,A.abu,A.abw,A.akm,A.akl]) +q(A.W4,A.QQ) +p(A.EH,[A.EG,A.uL,A.pA]) +p(A.EV,[A.a_N,A.ajR,A.ajP,A.a5R,A.ake,A.ak2,A.a1a,A.a16,A.YA,A.aa3,A.aj3,A.akv,A.a_S,A.X5,A.W7,A.WQ,A.a0S,A.aka,A.aiU,A.ajH,A.ZV,A.ZQ,A.aeF,A.aa9,A.ahb,A.a1s,A.a1B,A.a9X,A.a9W,A.afB,A.afy,A.a5l,A.ais,A.abK,A.abL,A.abM,A.air,A.aiq,A.aj7,A.a4w,A.a4x,A.a4y,A.a4z,A.a84,A.a85,A.aa6,A.aa7,A.UV,A.UW,A.a4n,A.VV,A.WY,A.a6j,A.a1C,A.afJ,A.agX,A.agW,A.aiL,A.aiM,A.agJ,A.adw,A.a8m,A.aht,A.abk,A.adz,A.a04,A.a0l,A.a0i,A.UQ,A.a4V,A.a7J,A.a6Z,A.a71,A.a74,A.a73,A.a4L,A.a5X,A.a5W,A.a5Y,A.a5Z,A.a77,A.a7k,A.a7n,A.a7o,A.a7D,A.a70,A.a75,A.a7p,A.a7G,A.a8p,A.ahF,A.a9g,A.a9h,A.a8Z,A.Vw,A.adQ,A.aa2,A.a_A,A.aez,A.Xx,A.Xu,A.Xt,A.Xv,A.Xw,A.Xr,A.Xs,A.agR,A.agO,A.a6T,A.a6U,A.Yk,A.a_w,A.aeS,A.a_t,A.af3,A.ag7,A.ah_,A.ahS,A.agl,A.agr,A.aiR,A.aiS,A.ag4,A.ag3,A.ag1,A.a8G,A.ahy,A.ahw,A.ahx,A.a8J,A.a9B,A.a9E,A.agZ,A.agY,A.a6Q,A.aaG,A.af0,A.a59,A.abv,A.ac4]) +p(A.ae7,[A.nN,A.pz,A.wx,A.nV,A.mZ,A.uk,A.Ab,A.wF,A.fJ,A.Uu,A.nj,A.vD,A.lo,A.q1,A.Ad,A.Nw,A.rn,A.zP,A.bl,A.cU,A.EN,A.It,A.wD,A.a10,A.KC,A.aah,A.Ir,A.mL,A.pD,A.V8,A.nb,A.q8,A.hA,A.uj,A.X8,A.ac0,A.Lj,A.jY,A.iN,A.qD,A.lA,A.kb,A.lX,A.aaI,A.KP,A.iX,A.zu,A.Ek,A.Vd,A.KX,A.Eo,A.uw,A.jR,A.uA,A.n2,A.Z6,A.ne,A.a07,A.a7N,A.Ex,A.fX,A.rK,A.DY,A.S8,A.Fa,A.vf,A.ju,A.ed,A.Go,A.Au,A.Nd,A.FL,A.HE,A.w8,A.abn,A.rR,A.uz,A.Vr,A.Y4,A.AE,A.afc,A.ma,A.Zc,A.nJ,A.acf,A.fh,A.iU,A.Kr,A.aaw,A.aav,A.nI,A.a8v,A.y7,A.E9,A.abU,A.ps,A.Eh,A.En,A.Ej,A.qb,A.zA,A.abi,A.zh,A.AT,A.Z7,A.Hh,A.lt,A.mX,A.ID,A.we,A.Fg,A.lP,A.ok,A.oz,A.r0,A.yX,A.KQ,A.Gt,A.zj,A.Es,A.yK,A.m3,A.zY,A.oe,A.Xb,A.ql,A.GX,A.zo,A.nB,A.fE,A.n0,A.KE,A.a8U,A.uV,A.hJ,A.AB,A.iE,A.L9,A.l8,A.Zr,A.m0,A.L6,A.rY,A.q6,A.I_,A.dT,A.HM,A.Cy,A.qU,A.e2,A.BT,A.t4,A.RA,A.tA,A.a8_,A.JS,A.oh,A.JW,A.JT,A.r_,A.wP,A.ze,A.c_,A.Ev,A.GL,A.zL,A.i8,A.z3,A.a1j,A.o5]) +p(A.j,[A.nO,A.kn,A.Aq,A.ia,A.W,A.dZ,A.aF,A.hO,A.oy,A.k9,A.za,A.jA,A.d6,A.nu,A.oR,A.LC,A.RB,A.jc,A.nC,A.vp,A.bg,A.lb,A.SS]) +q(A.Ac,A.EJ) +q(A.uJ,A.Ep) +p(A.e8,[A.pK,A.IA,A.IE]) +p(A.pK,[A.Jw,A.EP,A.ET,A.ER,A.HY,A.zO,A.GJ]) +q(A.HW,A.zO) +p(A.a6A,[A.a52,A.a5r]) +p(A.rG,[A.nM,A.nT]) +p(A.oc,[A.dj,A.lK]) +p(A.XD,[A.qN,A.i7]) +q(A.EI,A.Kc) +p(A.bB,[A.Ey,A.e6,A.h8,A.kd,A.GT,A.La,A.MN,A.JC,A.Nn,A.wB,A.mI,A.eK,A.jP,A.Lc,A.oG,A.hn,A.F_,A.NB]) +q(A.FT,A.XC) +p(A.e6,[A.Gg,A.w3,A.w4]) +p(A.Yu,[A.jm,A.N5]) +p(A.cZ,[A.dv,A.Iw]) +p(A.dv,[A.Pf,A.Pe,A.xC,A.xE,A.xF,A.xG,A.xI,A.xJ]) +q(A.xD,A.Pf) +q(A.Iu,A.Pe) +q(A.XI,A.N5) +q(A.Gy,A.GA) +q(A.GC,A.Gy) +p(A.Iw,[A.Ix,A.xH]) +p(A.cD,[A.vq,A.xv,A.Il,A.Ip,A.In,A.Im,A.Io]) +p(A.vq,[A.I8,A.I7,A.I6,A.Id,A.If,A.Ij,A.Ii,A.Ib,A.Ie,A.Ia,A.Ih,A.Ik,A.Ic,A.Ig]) +q(A.wa,A.Yw) +q(A.B3,A.l7) +p(A.FU,[A.x6,A.a4a]) +p(A.Vi,[A.x8,A.z7]) +q(A.FX,A.a61) +q(A.M4,A.UM) +q(A.T2,A.acG) +q(A.agt,A.T2) +p(A.IO,[A.Wd,A.Fs,A.a_s,A.a0r,A.a0z,A.a1q,A.a69,A.a8I,A.ZW,A.Vq,A.aaM]) +p(A.k6,[A.qT,A.Ge,A.H_,A.nF,A.KJ]) +p(A.a1i,[A.UO,A.XS,A.z9]) +p(A.a95,[A.Xk,A.a4B]) +q(A.v9,A.MV) +p(A.v9,[A.a9j,A.Gs,A.qW]) +p(A.X,[A.je,A.rz]) +q(A.Oc,A.je) +q(A.L7,A.Oc) +p(A.rf,[A.ED,A.Jx]) +p(A.aaV,[A.a1m,A.YU,A.abT]) +p(A.aaU,[A.ady,A.ln,A.mK]) +q(A.Ol,A.ady) +q(A.Om,A.Ol) +q(A.On,A.Om) +q(A.ha,A.On) +q(A.vA,A.ha) +p(A.Yx,[A.a5k,A.YQ,A.XT,A.a_i,A.a5i,A.a6s,A.a8T,A.a9l]) +p(A.Yy,[A.a5m,A.x9,A.ab7,A.a5p,A.Xc,A.a5U,A.Ym,A.abN]) +q(A.a56,A.x9) +p(A.Gs,[A.a_T,A.UC,A.Z4]) +p(A.aaX,[A.ab1,A.ab8,A.ab3,A.ab6,A.ab2,A.ab5,A.aaW,A.aaZ,A.ab4,A.ab0,A.ab_,A.aaY]) +p(A.Ft,[A.X3,A.Gl]) +p(A.jx,[A.Nm,A.pS]) +p(J.qh,[J.wy,J.wz,J.d,J.nx,J.ny,J.lm,J.jJ]) +p(J.d,[J.hU,J.v,A.nQ,A.xd,A.Y,A.DS,A.up,A.hG,A.bQ,A.ME,A.ep,A.Fc,A.FD,A.N7,A.vo,A.N9,A.FK,A.Nr,A.eV,A.Gx,A.NX,A.Hf,A.Hr,A.OF,A.OG,A.f2,A.OH,A.OU,A.f3,A.Pl,A.QO,A.f6,A.Rs,A.f7,A.Ry,A.ec,A.RU,A.KY,A.fa,A.S3,A.L0,A.Le,A.SL,A.SQ,A.SZ,A.Th,A.Tj,A.fA,A.Oo,A.fH,A.P2,A.IH,A.RC,A.fQ,A.S9,A.E5,A.LU]) +p(J.hU,[J.IB,J.j_,J.f_,A.zF,A.qm]) +q(J.a0R,J.v) +p(J.lm,[J.qi,J.wA]) +p(A.ia,[A.mR,A.CY,A.kW,A.jr]) +q(A.Ax,A.mR) +q(A.Aa,A.CY) +q(A.bK,A.Aa) +p(A.aC,[A.mS,A.fz,A.kp,A.Of]) +q(A.js,A.rz) +p(A.W,[A.aI,A.fv,A.aZ,A.oP,A.AY,A.ks,A.oY,A.Cf]) +p(A.aI,[A.fO,A.ay,A.cm,A.wK,A.Og,A.AJ]) +q(A.hN,A.dZ) +q(A.vy,A.oy) +q(A.pR,A.k9) +q(A.vx,A.jA) +q(A.pQ,A.nu) +p(A.j6,[A.Q4,A.Q5,A.Q6]) +p(A.Q4,[A.av,A.Bv,A.Q7,A.Bw,A.Q8,A.Q9,A.Qa]) +p(A.Q5,[A.oU,A.Qb,A.Bx,A.By,A.Qc,A.Qd,A.Qe,A.Bz]) +q(A.BA,A.Q6) +q(A.CG,A.wR) +q(A.oH,A.CG) +q(A.mV,A.oH) +p(A.pJ,[A.bt,A.d3]) +p(A.hm,[A.uW,A.tw]) +p(A.uW,[A.dV,A.dt]) +q(A.ww,A.wv) +q(A.xm,A.kd) +p(A.KL,[A.Ky,A.pv]) +q(A.nz,A.fz) +p(A.xd,[A.xa,A.qu]) +p(A.qu,[A.Ba,A.Bc]) +q(A.Bb,A.Ba) +q(A.lu,A.Bb) +q(A.Bd,A.Bc) +q(A.fG,A.Bd) +p(A.lu,[A.xb,A.HH]) +p(A.fG,[A.HI,A.xc,A.HJ,A.HK,A.HL,A.xe,A.jN]) +q(A.CB,A.Nn) +p(A.c5,[A.tz,A.rM,A.hw,A.m9]) +q(A.j3,A.tz) +q(A.c0,A.j3) +p(A.hu,[A.m6,A.t0]) +q(A.oK,A.m6) +p(A.ht,[A.jb,A.A4]) +q(A.rN,A.jb) +q(A.b1,A.Mk) +p(A.oZ,[A.rO,A.mp]) +p(A.MY,[A.m7,A.oN]) +p(A.hw,[A.p2,A.AZ]) +q(A.aha,A.aiK) +p(A.kp,[A.mc,A.Al]) +p(A.tw,[A.j4,A.fg]) +p(A.As,[A.Ar,A.At]) +p(A.Rw,[A.eC,A.eB]) +p(A.Rv,[A.Cg,A.Ch]) +q(A.zf,A.Cg) +p(A.ja,[A.kt,A.Cj,A.oX]) +q(A.Ci,A.Ch) +q(A.rd,A.Ci) +p(A.KA,[A.Cp,A.acD]) +q(A.AU,A.Cp) +p(A.EW,[A.V0,A.Yn,A.a0W]) +p(A.uY,[A.V2,A.V1,A.NM,A.a0Y,A.a0X,A.abS,A.Lg]) +p(A.Vs,[A.acF,A.adn,A.Sy]) +q(A.aiu,A.acF) +q(A.GU,A.wB) +q(A.afv,A.EE) +q(A.Oh,A.afA) +q(A.SV,A.Oh) +q(A.afz,A.SV) +q(A.abR,A.Yn) +q(A.TF,A.Sx) +q(A.aix,A.TF) +p(A.eK,[A.xY,A.wn]) +q(A.MP,A.CH) +p(A.Y,[A.b5,A.G5,A.f5,A.Cd,A.f9,A.ef,A.Cv,A.Lh,A.E7,A.kP]) +p(A.b5,[A.ar,A.ir]) +q(A.au,A.ar) +p(A.au,[A.DW,A.E1,A.Gh,A.K_]) +q(A.F5,A.hG) +q(A.pL,A.ME) +p(A.ep,[A.F6,A.F7]) +q(A.N8,A.N7) +q(A.vn,A.N8) +q(A.Na,A.N9) +q(A.FI,A.Na) +q(A.eT,A.up) +q(A.Ns,A.Nr) +q(A.G4,A.Ns) +q(A.NY,A.NX) +q(A.np,A.NY) +q(A.Hv,A.OF) +q(A.Hw,A.OG) +q(A.OI,A.OH) +q(A.Hx,A.OI) +q(A.OV,A.OU) +q(A.xk,A.OV) +q(A.Pm,A.Pl) +q(A.IG,A.Pm) +q(A.JA,A.QO) +q(A.Ce,A.Cd) +q(A.Ku,A.Ce) +q(A.Rt,A.Rs) +q(A.Kw,A.Rt) +q(A.Kz,A.Ry) +q(A.RV,A.RU) +q(A.KR,A.RV) +q(A.Cw,A.Cv) +q(A.KS,A.Cw) +q(A.S4,A.S3) +q(A.L_,A.S4) +q(A.SM,A.SL) +q(A.MD,A.SM) +q(A.Ap,A.vo) +q(A.SR,A.SQ) +q(A.NN,A.SR) +q(A.T_,A.SZ) +q(A.B9,A.T_) +q(A.Ti,A.Th) +q(A.Ru,A.Ti) +q(A.Tk,A.Tj) +q(A.RF,A.Tk) +p(A.Z2,[A.N1,A.AA]) +p(A.jy,[A.xz,A.xA,A.xB]) +q(A.Op,A.Oo) +q(A.H6,A.Op) +q(A.P3,A.P2) +q(A.HS,A.P3) +q(A.RD,A.RC) +q(A.KB,A.RD) +q(A.Sa,A.S9) +q(A.L3,A.Sa) +p(A.HV,[A.n,A.K]) +q(A.E6,A.LU) +q(A.HU,A.kP) +p(A.fr,[A.ez,A.Ks,A.QR,A.KG,A.fc,A.LY,A.HB,A.K7,A.yu,A.GW,A.dO,A.AK,A.Cn,A.qZ,A.yQ,A.zd]) +p(A.ez,[A.Eu,A.Lp]) +q(A.Xm,A.MZ) +p(A.Xm,[A.i,A.jH,A.K8,A.b2]) +p(A.i,[A.aU,A.a2,A.aP,A.at,A.yy,A.P0]) +p(A.aU,[A.Ew,A.v1,A.Ly,A.rJ,A.Eb,A.FN,A.FR,A.Ga,A.GH,A.ws,A.C9,A.wY,A.SH,A.M_,A.JY,A.KF,A.rt,A.S1,A.OZ,A.IK,A.iF,A.fp,A.F1,A.P_,A.Fn,A.Gm,A.lc,A.Ma,A.Hz,A.OK,A.HN,A.qA,A.Gz,A.JD,A.JV,A.Kd,A.Kk,A.P1,A.cT,A.QK,A.KZ,A.IZ,A.DP,A.qt,A.HF,A.nP]) +p(A.dH,[A.dq,A.uC,A.px,A.kU,A.rD]) +q(A.h1,A.vd) +p(A.a62,[A.VI,A.Zn,A.a0a,A.a5N,A.a9q,A.a9x,A.abO]) +p(A.VI,[A.a4g,A.VJ]) +p(A.mq,[A.rA,A.r4]) +q(A.fd,A.Lu) +p(A.ae,[A.cq,A.B6,A.Fb,A.RI,A.v3]) +p(A.cq,[A.LJ,A.LE,A.LF,A.PW,A.QI,A.MM,A.S5,A.Ae,A.CW,A.SK,A.SN]) +q(A.LK,A.LJ) +q(A.LL,A.LK) +q(A.pn,A.LL) +p(A.a9C,[A.afs,A.ah2,A.Gk,A.zg,A.Va,A.Wl]) +q(A.DZ,A.LM) +q(A.PX,A.PW) +q(A.PY,A.PX) +q(A.o7,A.PY) +q(A.QJ,A.QI) +q(A.fM,A.QJ) +q(A.mY,A.MM) +q(A.S6,A.S5) +q(A.S7,A.S6) +q(A.oF,A.S7) +q(A.Af,A.Ae) +q(A.Ag,A.Af) +q(A.pI,A.Ag) +p(A.pI,[A.uf,A.A2]) +q(A.eq,A.xy) +p(A.eq,[A.AW,A.yA,A.dg,A.zG,A.dW,A.KW,A.pY,A.MR]) +q(A.b0,A.CW) +p(A.aJ,[A.ib,A.aW,A.h0,A.zQ]) +p(A.aW,[A.yv,A.is,A.y1,A.lg,A.x_,A.oq,A.oB,A.Fh,A.vv,A.mM,A.oA]) +p(A.w,[A.MF,A.l0,A.Ln]) +q(A.eP,A.MF) +q(A.cB,A.O4) +q(A.MG,A.cB) +q(A.F8,A.MG) +p(A.f1,[A.MH,A.Ox,A.SD]) +p(A.a2,[A.v_,A.rT,A.qL,A.wW,A.ui,A.y_,A.uy,A.C5,A.AS,A.wU,A.GM,A.ms,A.mt,A.tk,A.xP,A.to,A.IS,A.yE,A.AC,A.yB,A.rb,A.uc,A.zs,A.zt,A.zM,A.jl,A.zW,A.q3,A.pr,A.vj,A.pO,A.nd,A.w2,A.lG,A.nn,A.wk,A.wO,A.B5,A.xi,A.kr,A.qw,A.xr,A.w9,A.zm,A.xu,A.xO,A.lL,A.yx,A.Jz,A.tf,A.tv,A.yL,A.yO,A.C2,A.oj,A.z4,A.os,A.z5,A.C6,A.rv,A.kg,A.zU,A.rI,A.mP,A.wd,A.wf,A.k5,A.ox]) +q(A.af,A.Rx) +p(A.af,[A.MI,A.rU,A.tp,A.B0,A.A3,A.T3,A.CX,A.R_,A.D3,A.SW,A.t8,A.D9,A.Da,A.Bm,A.qE,A.Bt,A.CZ,A.BV,A.D1,A.BW,A.Cc,A.Cq,A.Cr,A.Cz,A.A0,A.TJ,A.AI,A.A5,A.D_,A.Av,A.rZ,A.NI,A.qJ,A.t6,A.SU,A.Ot,A.SX,A.Bg,A.Bj,A.P9,A.P8,A.D2,A.D8,A.Pc,A.Bq,A.T9,A.BS,A.tJ,A.mh,A.Te,A.JU,A.C3,A.QV,A.Td,A.R9,A.Cb,A.Ca,A.R0,A.RY,A.A1,A.tH,A.TG,A.SE,A.SJ,A.NU,A.NW,A.QG,A.Tl]) +q(A.hH,A.MS) +p(A.hH,[A.ic,A.m1,A.fo]) +p(A.El,[A.adI,A.aio,A.acL]) +p(A.qL,[A.pM,A.te]) +q(A.iO,A.tp) +p(A.iO,[A.MJ,A.Oy]) +q(A.v0,A.MK) +p(A.aP,[A.b3,A.dM,A.cI]) +p(A.b3,[A.cY,A.vX,A.Bn,A.BU,A.QS,A.A_,A.St,A.iC,A.h6,A.AX,A.no,A.oV,A.qH,A.zR,A.QN,A.yI,A.BZ,A.C0,A.r1,A.Rd,A.Aw,A.p0,A.Bo]) +p(A.cY,[A.wq,A.wh,A.nD,A.AQ,A.l4,A.ns,A.pN]) +q(A.ML,A.xj) +q(A.v2,A.ML) +q(A.adR,A.v0) +p(A.cW,[A.it,A.vh,A.vg]) +q(A.m8,A.it) +p(A.m8,[A.pT,A.G_,A.FY]) +q(A.bD,A.NA) +q(A.nc,A.NB) +q(A.Fr,A.vh) +p(A.vg,[A.Nz,A.Fq,A.R4]) +p(A.e7,[A.He,A.eW]) +p(A.He,[A.ry,A.dS]) +q(A.wI,A.hb) +p(A.aik,[A.NK,A.m5,A.AM]) +q(A.vY,A.bD) +q(A.aO,A.Pv) +q(A.Tq,A.Lx) +q(A.Tr,A.Tq) +q(A.Sf,A.Tr) +p(A.aO,[A.Pn,A.PI,A.Py,A.Pt,A.Pw,A.Pr,A.PA,A.PR,A.PQ,A.PE,A.PG,A.PC,A.Pp]) +q(A.Po,A.Pn) +q(A.nX,A.Po) +p(A.Sf,[A.Tm,A.Ty,A.Tt,A.Tp,A.Ts,A.To,A.Tu,A.TE,A.TB,A.TC,A.Tz,A.Tw,A.Tx,A.Tv,A.Tn]) +q(A.Sb,A.Tm) +q(A.PJ,A.PI) +q(A.o1,A.PJ) +q(A.Sm,A.Ty) +q(A.Pz,A.Py) +q(A.k_,A.Pz) +q(A.Sh,A.Tt) +q(A.Pu,A.Pt) +q(A.lC,A.Pu) +q(A.Se,A.Tp) +q(A.Px,A.Pw) +q(A.lD,A.Px) +q(A.Sg,A.Ts) +q(A.Ps,A.Pr) +q(A.jZ,A.Ps) +q(A.Sd,A.To) +q(A.PB,A.PA) +q(A.nZ,A.PB) +q(A.Si,A.Tu) +q(A.PS,A.PR) +q(A.o4,A.PS) +q(A.Sq,A.TE) +q(A.ea,A.PQ) +p(A.ea,[A.PM,A.PO,A.PK]) +q(A.PN,A.PM) +q(A.o2,A.PN) +q(A.So,A.TB) +q(A.PP,A.PO) +q(A.o3,A.PP) +q(A.TD,A.TC) +q(A.Sp,A.TD) +q(A.PL,A.PK) +q(A.II,A.PL) +q(A.TA,A.Tz) +q(A.Sn,A.TA) +q(A.PF,A.PE) +q(A.k0,A.PF) +q(A.Sk,A.Tw) +q(A.PH,A.PG) +q(A.o0,A.PH) +q(A.Sl,A.Tx) +q(A.PD,A.PC) +q(A.o_,A.PD) +q(A.Sj,A.Tv) +q(A.Pq,A.Pp) +q(A.nY,A.Pq) +q(A.Sc,A.Tn) +p(A.tD,[A.B4,A.ti]) +p(A.cF,[A.NO,A.oM,A.Ng]) +q(A.cG,A.NO) +p(A.cG,[A.cf,A.hK]) +p(A.cf,[A.qG,A.fu,A.Bp]) +p(A.qG,[A.hW,A.Ed]) +p(A.fu,[A.fT,A.fy,A.i_]) +p(A.Ed,[A.f8,A.rL]) +q(A.nq,A.i9) +q(A.qo,A.nq) +p(A.Ly,[A.Ea,A.FM,A.FQ]) +q(A.pj,A.LA) +q(A.a43,A.JR) +p(A.a9D,[A.aih,A.agF,A.aij]) +q(A.PU,A.K) +p(A.at,[A.b_,A.e9,A.H4,A.tj,A.Kq,A.Bu]) +p(A.b_,[A.LP,A.Ob,A.Oa,A.Me,A.O8,A.OC,A.x7,A.ug,A.HX,A.v5,A.pE,A.EO,A.Iy,A.Iz,A.L1,A.G6,A.Gi,A.cJ,A.fm,A.l2,A.iS,A.h_,A.H7,A.xp,A.pp,A.GQ,A.Kp,A.Hc,A.i1,A.q7,A.DQ,A.z_,A.x4,A.Ef,A.vJ,A.wp,A.uT,A.Fe,A.NP,A.MW,A.Pi,A.QU,A.tx,A.Rm,A.Kt,A.KI,A.n9]) +q(A.G,A.Qp) +p(A.G,[A.H,A.Qz,A.cl]) +p(A.H,[A.BM,A.BK,A.Qk,A.BC,A.yb,A.ye,A.Qm,A.BI,A.Pk,A.Qx,A.KU,A.j7,A.QA,A.D6,A.D5]) +q(A.qO,A.BM) +p(A.qO,[A.J5,A.BG,A.BF,A.Qo,A.yj,A.ya]) +p(A.J5,[A.Qg,A.Qh,A.yk]) +q(A.po,A.LO) +q(A.aco,A.po) +q(A.qp,A.y1) +q(A.uo,A.LW) +q(A.wX,A.Ov) +q(A.ur,A.M1) +q(A.us,A.M2) +q(A.ut,A.M3) +q(A.Q1,A.T3) +q(A.ux,A.M6) +q(A.bf,A.M7) +q(A.A7,A.CX) +q(A.cu,A.OM) +p(A.cu,[A.Lo,A.MX,A.OW,A.iV]) +p(A.Lo,[A.OL,A.Ni,A.Nh,A.Nl]) +q(A.Eq,A.M8) +q(A.uF,A.Mb) +q(A.uG,A.Md) +q(A.uH,A.Mf) +q(A.pF,A.Mi) +q(A.Hl,A.l0) +q(A.v7,A.MO) +q(A.v8,A.MQ) +q(A.vi,A.N_) +q(A.vk,A.N4) +q(A.vr,A.Ne) +q(A.vs,A.Nf) +q(A.vz,A.Nk) +q(A.vO,A.Np) +q(A.vT,A.Nt) +q(A.pZ,A.Ny) +q(A.aeb,A.pZ) +q(A.aa_,A.Zb) +q(A.SO,A.aa_) +q(A.SP,A.SO) +q(A.ae6,A.SP) +q(A.ahu,A.Za) +q(A.O2,A.uy) +p(A.bs,[A.NZ,A.O0,A.ST]) +q(A.O_,A.ST) +p(A.bf,[A.O1,A.Nu,A.Nv,A.P6]) +q(A.nr,A.O3) +q(A.lh,A.jG) +p(A.lh,[A.lf,A.wt,A.wu]) +p(A.qg,[A.afq,A.afr]) +q(A.AR,A.D3) +q(A.GO,A.ws) +q(A.GP,A.O9) +q(A.wL,A.Os) +q(A.Oz,A.SW) +q(A.BL,A.BK) +q(A.Jk,A.BL) +p(A.Jk,[A.BE,A.yl,A.y9,A.o9,A.Je,A.y6,A.yf,A.Jg,A.Qf,A.tq,A.Ja,A.Js,A.yc,A.Jc,A.Jm,A.yd,A.yi,A.y3,A.ym,A.J7,A.Jf,A.Jb,A.Jd,A.y5,A.T6,A.BH,A.Qs,A.tr]) +p(A.GM,[A.B1,A.ub,A.u8,A.ua]) +q(A.qd,A.t8) +q(A.pm,A.qd) +p(A.pm,[A.Ow,A.LI,A.LG,A.LH]) +p(A.Fb,[A.R8,A.Mg,A.AP,A.NQ,A.I1]) +q(A.qq,A.OE) +q(A.Ht,A.qq) +q(A.x3,A.OB) +q(A.Hu,A.OD) +q(A.xf,A.OR) +q(A.xg,A.OS) +q(A.xh,A.OT) +q(A.xq,A.P5) +q(A.cn,A.QM) +q(A.qx,A.cn) +q(A.dR,A.qx) +q(A.oS,A.dR) +q(A.fD,A.oS) +p(A.fD,[A.xt,A.xQ]) +q(A.B2,A.xt) +q(A.fC,A.B2) +q(A.SF,A.D9) +q(A.SG,A.Da) +p(A.jT,[A.Lv,A.F9]) +q(A.I5,A.Pb) +p(A.Ks,[A.CU,A.CV]) +q(A.lE,A.xP) +q(A.Bs,A.xQ) +q(A.qF,A.PT) +q(A.agD,A.qF) +q(A.uI,A.IS) +q(A.Mh,A.CZ) +q(A.qI,A.PV) +q(A.adv,A.qI) +q(A.xV,A.PZ) +q(A.yF,A.BV) +p(A.WR,[A.aq,A.lV]) +q(A.A6,A.aq) +p(A.a4R,[A.ahs,A.aii]) +q(A.AD,A.D1) +q(A.BX,A.BW) +q(A.qX,A.BX) +q(A.bn,A.LB) +p(A.bn,[A.Fx,A.fs,A.mN,A.Lm,A.FB,A.Aj,A.Ju,A.HO,A.IN,A.Fv]) +p(A.Fx,[A.N2,A.N3]) +q(A.yR,A.QW) +q(A.yS,A.QX) +q(A.yT,A.QY) +q(A.yU,A.QZ) +q(A.zb,A.Rk) +q(A.rc,A.Rr) +q(A.ahO,A.rc) +q(A.zp,A.RG) +q(A.rk,A.RK) +p(A.uc,[A.RO,A.Kj,A.Hp,A.Ke,A.Ff,A.nE]) +q(A.Ql,A.Qk) +q(A.BD,A.Ql) +q(A.oa,A.BD) +q(A.RM,A.oa) +p(A.e9,[A.vW,A.v4,A.H8,A.zi,A.Lt,A.Jv,A.Cx,A.oI]) +p(A.vW,[A.RL,A.yz,A.EX]) +q(A.Mc,A.SK) +q(A.rX,A.SN) +q(A.QT,A.fc) +q(A.k8,A.QT) +q(A.oi,A.k8) +p(A.oi,[A.ai_,A.mk]) +q(A.aic,A.rk) +q(A.zv,A.RP) +q(A.zD,A.RR) +q(A.d5,A.RT) +q(A.hr,A.RX) +q(A.Hk,A.v2) +q(A.kh,A.SB) +q(A.zI,A.RZ) +q(A.zJ,A.S0) +q(A.No,A.x7) +p(A.yl,[A.yh,A.Jj,A.k4,A.BB,A.Jr]) +q(A.Qj,A.yh) +q(A.lZ,A.Cz) +q(A.zN,A.S2) +q(A.rw,A.Sr) +p(A.mG,[A.dG,A.e4,A.OJ]) +p(A.uq,[A.cE,A.B7]) +q(A.cy,A.M0) +p(A.bT,[A.d4,A.hv,A.Ei]) +p(A.Ei,[A.dU,A.e5]) +q(A.jq,A.lT) +p(A.d4,[A.dr,A.d_,A.eh,A.ew,A.ei,A.ej]) +p(A.cQ,[A.aL,A.eS,A.mg]) +p(A.M9,[A.A8,A.tc]) +q(A.nt,A.O5) +p(A.nt,[A.Lw,A.ae8,A.HD]) +p(A.hS,[A.E3,A.yH]) +q(A.um,A.E3) +q(A.a0s,A.O6) +p(A.aaH,[A.Ls,A.aip,A.EC,A.a1o,A.xw,A.XH]) +q(A.rr,A.jH) +q(A.m,A.RS) +q(A.lN,A.zg) +q(A.jW,A.Pg) +q(A.MT,A.jW) +q(A.ob,A.Qz) +q(A.QH,A.ob) +p(A.jD,[A.kT,A.r9]) +p(A.iB,[A.kS,A.Km]) +p(A.c9,[A.en,A.Ct,A.zc,A.lW]) +q(A.Ai,A.en) +q(A.uX,A.Ai) +p(A.uX,[A.hf,A.dK,A.iG,A.dP,A.j2]) +q(A.Qi,A.BC) +q(A.y8,A.Qi) +q(A.H0,A.Ok) +p(A.H0,[A.a5V,A.abj,A.a64,A.F2]) +p(A.F2,[A.iK,A.uR,A.ES,A.EQ,A.E_]) +p(A.iK,[A.wm,A.m_,A.HZ]) +q(A.Qn,A.Qm) +q(A.yg,A.Qn) +q(A.OO,A.SY) +q(A.jV,A.Wm) +p(A.ahE,[A.Mm,A.eA]) +p(A.eA,[A.QL,A.AO,A.p_]) +q(A.lY,A.Ct) +q(A.Qq,A.BI) +q(A.Qr,A.Qq) +q(A.lI,A.Qr) +q(A.Tb,A.Ta) +q(A.Tc,A.Tb) +q(A.j9,A.Tc) +q(A.IF,A.Pk) +q(A.J6,A.Qf) +q(A.op,A.v3) +p(A.tq,[A.J9,A.J8,A.BJ]) +p(A.BJ,[A.Jh,A.Ji]) +p(A.a8X,[A.uQ,A.yW]) +q(A.ol,A.R2) +q(A.Kl,A.Rn) +q(A.Rq,A.lW) +q(A.ka,A.Rq) +p(A.cl,[A.BO,A.Qt]) +q(A.Qv,A.BO) +q(A.Qw,A.Qv) +q(A.lJ,A.Qw) +p(A.lJ,[A.Jo,A.Jp]) +q(A.Jn,A.Jo) +q(A.Ro,A.zc) +q(A.Rp,A.Ro) +q(A.fN,A.Rp) +q(A.yn,A.Qt) +p(A.yn,[A.Jq,A.Qu]) +q(A.Qy,A.Qx) +q(A.yo,A.Qy) +q(A.qP,A.j7) +q(A.yp,A.qP) +q(A.QB,A.QA) +q(A.yq,A.QB) +q(A.K4,A.R3) +q(A.c4,A.R6) +q(A.r3,A.R7) +q(A.qv,A.r3) +p(A.a96,[A.abq,A.a1w,A.aaD,A.Zv]) +q(A.Vt,A.E2) +q(A.a6_,A.Vt) +p(A.V4,[A.adO,A.J2]) +q(A.h7,A.Oi) +p(A.h7,[A.jK,A.nA,A.qk]) +q(A.a1g,A.Oj) +p(A.a1g,[A.f,A.k]) +p(A.qr,[A.OX,A.RJ]) +q(A.hZ,A.du) +q(A.xZ,A.Q_) +q(A.k3,A.Q0) +p(A.k3,[A.lH,A.qK]) +q(A.IX,A.xZ) +q(A.zB,A.ch) +q(A.Ph,A.T1) +q(A.oQ,A.nW) +q(A.aR,A.Od) +q(A.Uv,A.Lz) +p(A.aR,[A.pk,A.pw,A.iv,A.k1,A.nS,A.o6,A.eu,A.FC,A.Fw,A.JZ,A.uZ,A.Is,A.J0,A.L8,A.L5]) +p(A.fs,[A.IR,A.D4,A.qY]) +q(A.Bk,A.D4) +q(A.CM,A.TJ) +p(A.HP,[A.qj,A.lv,A.h9,A.Bl,A.BY]) +p(A.b2,[A.uU,A.bv,A.BR,A.OY]) +p(A.uU,[A.xU,A.Kx,A.ho]) +p(A.xU,[A.eZ,A.lz,A.T0]) +p(A.eZ,[A.Ss,A.wr,A.t9]) +q(A.h2,A.St) +q(A.kX,A.fm) +p(A.dM,[A.wH,A.lF,A.G9,A.wC]) +p(A.bv,[A.z6,A.H3,A.fF,A.Jt,A.P7,A.ra]) +p(A.z6,[A.P4,A.Tf]) +q(A.vM,A.G9) +p(A.H4,[A.IW,A.G0,A.qC,A.KT]) +q(A.yw,A.BR) +q(A.CN,A.Ee) +q(A.CO,A.CN) +q(A.CP,A.CO) +q(A.CQ,A.CP) +q(A.CR,A.CQ) +q(A.CS,A.CR) +q(A.CT,A.CS) +q(A.Lr,A.CT) +q(A.D0,A.D_) +q(A.An,A.D0) +q(A.NF,A.NE) +q(A.cd,A.NF) +p(A.cd,[A.l9,A.AG]) +q(A.LQ,A.e1) +q(A.ND,A.NC) +q(A.w0,A.ND) +q(A.w1,A.nd) +q(A.NH,A.w1) +q(A.NG,A.rZ) +q(A.AF,A.iC) +q(A.Gd,A.NJ) +q(A.d8,A.T5) +q(A.j5,A.T4) +q(A.Q3,A.Gd) +q(A.a6R,A.Q3) +p(A.eW,[A.bz,A.nl,A.Am]) +p(A.nk,[A.cR,A.LN]) +q(A.adT,A.a97) +q(A.wc,A.nR) +q(A.AN,A.SU) +p(A.h6,[A.iI,A.B8,A.Ra]) +q(A.OA,A.SX) +q(A.Fo,A.L4) +q(A.fU,A.a81) +p(A.mi,[A.th,A.tg,A.Be,A.Bf]) +q(A.NT,A.SS) +q(A.Bh,A.Bg) +q(A.iJ,A.Bh) +p(A.QE,[A.OQ,A.acn]) +p(A.dO,[A.NV,A.bI]) +q(A.Bi,A.T0) +q(A.qy,A.P9) +p(A.fF,[A.RW,A.TH]) +q(A.tC,A.dP) +q(A.T8,A.D6) +q(A.mo,A.T8) +p(A.fB,[A.mj,A.mf]) +q(A.T7,A.T6) +q(A.mn,A.T7) +q(A.AL,A.D2) +q(A.Co,A.D8) +q(A.xs,A.Bl) +q(A.I2,A.qZ) +q(A.vV,A.Nx) +q(A.I3,A.vV) +p(A.og,[A.AH,A.qz,A.IV,A.uu,A.uP,A.DV]) +q(A.Fm,A.a63) +q(A.Pj,A.o9) +q(A.QF,A.T9) +p(A.bI,[A.ie,A.QC,A.QD]) +q(A.BQ,A.ie) +p(A.BQ,[A.yt,A.ys]) +q(A.ts,A.tJ) +p(A.JQ,[A.ld,A.a_y,A.Y0,A.Ec,A.FO]) +q(A.tu,A.dS) +p(A.a9N,[A.a9M,A.a9O]) +q(A.C8,A.Te) +q(A.C_,A.h9) +q(A.ev,A.C_) +p(A.ev,[A.yM,A.hl,A.iL,A.k7,A.Lf]) +q(A.of,A.BY) +q(A.Em,A.JV) +q(A.H9,A.Em) +q(A.C4,A.C3) +q(A.yP,A.C4) +q(A.OP,A.K0) +q(A.qs,A.OP) +p(A.qs,[A.C1,A.C7]) +q(A.jd,A.f8) +q(A.mr,A.fT) +q(A.mb,A.fy) +q(A.D7,A.Td) +q(A.R1,A.D7) +q(A.Ri,A.Rh) +q(A.a0,A.Ri) +q(A.m4,A.SI) +q(A.Rc,A.Rb) +q(A.r8,A.Rc) +q(A.Kb,A.Re) +q(A.Tg,A.Tf) +q(A.Rj,A.Tg) +q(A.BN,A.D5) +q(A.ou,A.Kq) +p(A.ou,[A.Ko,A.Rl]) +p(A.Fw,[A.va,A.vc,A.vb,A.Fu,A.yN]) +p(A.Fu,[A.n3,A.n6,A.vQ,A.vK,A.vL,A.hP,A.n7,A.n8,A.n5,A.vP,A.n4]) +q(A.SC,A.ru) +p(A.Hp,[A.JG,A.Jy]) +q(A.DX,A.nE) +q(A.Sz,A.TG) +q(A.Q2,A.Jt) +q(A.TI,A.TH) +q(A.SA,A.TI) +q(A.CL,A.Ln) +p(A.Zn,[A.a4o,A.Zo]) +q(A.IT,A.zF) +q(A.a6b,A.J2) +p(A.a0a,[A.a0b,A.a4p]) +q(A.GK,A.a08) +p(A.d2,[A.JH,A.JI,A.JJ,A.JK,A.JL,A.JM,A.JN,A.JO,A.JP]) +q(A.A9,A.SJ) +q(A.RN,A.Tl) +q(A.a0J,A.aai) +p(A.a0J,[A.a6p,A.abQ,A.ac7]) +q(A.a4q,A.a5N) +p(A.a9q,[A.a9r,A.a4r]) +p(A.a9x,[A.a4s,A.a9v]) +p(A.abO,[A.a4t,A.abP]) +q(A.Nj,A.m9) +s(A.MV,A.EY) +s(A.N5,A.a8c) +s(A.Ol,A.aeu) +s(A.Om,A.aev) +s(A.On,A.aet) +r(A.Pe,A.Ao) +r(A.Pf,A.Ao) +s(A.T2,A.aiB) +s(A.rz,A.Lb) +s(A.CY,A.X) +s(A.Ba,A.X) +s(A.Bb,A.vU) +s(A.Bc,A.X) +s(A.Bd,A.vU) +s(A.rO,A.LT) +s(A.mp,A.RH) +s(A.Cg,A.aC) +s(A.Ch,A.j) +s(A.Ci,A.hm) +s(A.CG,A.Sw) +s(A.SV,A.afx) +s(A.TF,A.KA) +s(A.ME,A.WW) +s(A.N7,A.X) +s(A.N8,A.aH) +s(A.N9,A.X) +s(A.Na,A.aH) +s(A.Nr,A.X) +s(A.Ns,A.aH) +s(A.NX,A.X) +s(A.NY,A.aH) +s(A.OF,A.aC) +s(A.OG,A.aC) +s(A.OH,A.X) +s(A.OI,A.aH) +s(A.OU,A.X) +s(A.OV,A.aH) +s(A.Pl,A.X) +s(A.Pm,A.aH) +s(A.QO,A.aC) +s(A.Cd,A.X) +s(A.Ce,A.aH) +s(A.Rs,A.X) +s(A.Rt,A.aH) +s(A.Ry,A.aC) +s(A.RU,A.X) +s(A.RV,A.aH) +s(A.Cv,A.X) +s(A.Cw,A.aH) +s(A.S3,A.X) +s(A.S4,A.aH) +s(A.SL,A.X) +s(A.SM,A.aH) +s(A.SQ,A.X) +s(A.SR,A.aH) +s(A.SZ,A.X) +s(A.T_,A.aH) +s(A.Th,A.X) +s(A.Ti,A.aH) +s(A.Tj,A.X) +s(A.Tk,A.aH) +s(A.Oo,A.X) +s(A.Op,A.aH) +s(A.P2,A.X) +s(A.P3,A.aH) +s(A.RC,A.X) +s(A.RD,A.aH) +s(A.S9,A.X) +s(A.Sa,A.aH) +s(A.LU,A.aC) +s(A.LJ,A.ud) +s(A.LK,A.mH) +s(A.LL,A.kM) +s(A.LM,A.ac) +s(A.Ae,A.ue) +s(A.Af,A.mH) +s(A.Ag,A.kM) +s(A.MM,A.kN) +s(A.PW,A.ue) +s(A.PX,A.mH) +s(A.PY,A.kM) +s(A.QI,A.ue) +s(A.QJ,A.kM) +s(A.S5,A.ud) +s(A.S6,A.mH) +s(A.S7,A.kM) +s(A.CW,A.kN) +s(A.MF,A.ac) +s(A.MG,A.ac) +s(A.MK,A.ac) +s(A.ML,A.ac) +s(A.NB,A.hI) +s(A.NA,A.ac) +s(A.MZ,A.ac) +s(A.Pn,A.d7) +s(A.Po,A.Mn) +s(A.Pp,A.d7) +s(A.Pq,A.Mo) +s(A.Pr,A.d7) +s(A.Ps,A.Mp) +s(A.Pt,A.d7) +s(A.Pu,A.Mq) +s(A.Pv,A.ac) +s(A.Pw,A.d7) +s(A.Px,A.Mr) +s(A.Py,A.d7) +s(A.Pz,A.Ms) +s(A.PA,A.d7) +s(A.PB,A.Mt) +s(A.PC,A.d7) +s(A.PD,A.Mu) +s(A.PE,A.d7) +s(A.PF,A.Mv) +s(A.PG,A.d7) +s(A.PH,A.Mw) +s(A.PI,A.d7) +s(A.PJ,A.Mx) +s(A.PK,A.d7) +s(A.PL,A.My) +s(A.PM,A.d7) +s(A.PN,A.Mz) +s(A.PO,A.d7) +s(A.PP,A.MA) +s(A.PQ,A.BP) +s(A.PR,A.d7) +s(A.PS,A.MB) +s(A.Tm,A.Mn) +s(A.Tn,A.Mo) +s(A.To,A.Mp) +s(A.Tp,A.Mq) +s(A.Tq,A.ac) +s(A.Tr,A.d7) +s(A.Ts,A.Mr) +s(A.Tt,A.Ms) +s(A.Tu,A.Mt) +s(A.Tv,A.Mu) +s(A.Tw,A.Mv) +s(A.Tx,A.Mw) +s(A.Ty,A.Mx) +s(A.Tz,A.My) +s(A.TA,A.BP) +s(A.TB,A.Mz) +s(A.TC,A.MA) +s(A.TD,A.BP) +s(A.TE,A.MB) +s(A.NO,A.hI) +s(A.LA,A.ac) +s(A.LO,A.ac) +s(A.LW,A.ac) +s(A.Ov,A.ac) +s(A.M1,A.ac) +s(A.M2,A.ac) +s(A.M3,A.ac) +s(A.T3,A.Hn) +s(A.M6,A.ac) +s(A.M7,A.ac) +r(A.CX,A.eg) +s(A.M8,A.ac) +s(A.Mb,A.ac) +s(A.Md,A.ac) +s(A.Mf,A.ac) +s(A.Mi,A.ac) +s(A.MO,A.ac) +s(A.MQ,A.ac) +s(A.N_,A.ac) +s(A.N4,A.ac) +s(A.Ne,A.ac) +s(A.Nf,A.ac) +s(A.Nk,A.ac) +s(A.Np,A.ac) +s(A.Nt,A.ac) +s(A.SO,A.YV) +s(A.SP,A.YW) +s(A.Ny,A.ac) +s(A.ST,A.ac) +s(A.O3,A.ac) +r(A.D3,A.mJ) +s(A.O9,A.ac) +s(A.Os,A.ac) +r(A.SW,A.eg) +s(A.OB,A.ac) +s(A.OD,A.ac) +s(A.OE,A.ac) +s(A.OR,A.ac) +s(A.OS,A.ac) +s(A.OT,A.ac) +s(A.P5,A.ac) +s(A.B2,A.Hm) +s(A.Pb,A.ac) +r(A.D9,A.tI) +r(A.Da,A.tI) +s(A.PT,A.ac) +r(A.CZ,A.lU) +s(A.PV,A.ac) +s(A.PZ,A.ac) +r(A.BV,A.eg) +r(A.BW,A.eg) +r(A.BX,A.iQ) +r(A.D1,A.eg) +s(A.QW,A.ac) +s(A.QX,A.ac) +s(A.QY,A.ac) +s(A.QZ,A.ac) +s(A.Rk,A.ac) +s(A.Rr,A.ac) +s(A.RG,A.ac) +s(A.RK,A.ac) +s(A.SK,A.kN) +s(A.SN,A.kN) +s(A.RP,A.ac) +s(A.RR,A.ac) +s(A.RT,A.ac) +s(A.RX,A.ac) +s(A.SB,A.ac) +s(A.RZ,A.ac) +s(A.S0,A.ac) +r(A.Cz,A.lU) +s(A.S2,A.ac) +s(A.Sr,A.ac) +s(A.M0,A.ac) +s(A.MS,A.ac) +s(A.O6,A.ac) +s(A.O5,A.ac) +s(A.RS,A.ac) +r(A.Ai,A.ds) +r(A.BC,A.ab) +s(A.Qi,A.cK) +r(A.Qk,A.ab) +s(A.Ql,A.cK) +r(A.BD,A.Xa) +s(A.Ok,A.hI) +r(A.Qm,A.ab) +s(A.Qn,A.cK) +s(A.SY,A.ac) +s(A.Pg,A.hI) +s(A.Qp,A.hI) +r(A.BI,A.ab) +s(A.Qq,A.a76) +r(A.Qr,A.y2) +r(A.Ct,A.ds) +s(A.Ta,A.dx) +s(A.Tb,A.ac) +s(A.Tc,A.fr) +r(A.Pk,A.ago) +r(A.Qf,A.y4) +r(A.BK,A.aE) +r(A.BL,A.f4) +s(A.R2,A.ac) +r(A.BM,A.aE) +s(A.Rn,A.ac) +r(A.Rq,A.ds) +r(A.BO,A.ab) +s(A.Qv,A.a7s) +s(A.Qw,A.a7y) +r(A.Ro,A.ds) +s(A.Rp,A.iD) +r(A.Qt,A.aE) +r(A.Qx,A.ab) +s(A.Qy,A.cK) +r(A.Qz,A.aE) +r(A.j7,A.ab) +r(A.QA,A.ab) +s(A.QB,A.cK) +s(A.R3,A.ac) +s(A.R6,A.hI) +s(A.R7,A.ac) +s(A.Oi,A.ac) +s(A.Oj,A.ac) +s(A.OM,A.ac) +s(A.Q0,A.ac) +s(A.Q_,A.ac) +s(A.T1,A.zz) +s(A.LB,A.ac) +s(A.Lz,A.ac) +s(A.Od,A.ac) +r(A.D4,A.Pa) +s(A.TJ,A.e1) +r(A.BR,A.a7X) +r(A.CN,A.w7) +r(A.CO,A.iR) +r(A.CP,A.z1) +r(A.CQ,A.Iq) +r(A.CR,A.K2) +r(A.CS,A.yr) +r(A.CT,A.Lq) +r(A.D_,A.eg) +r(A.D0,A.mJ) +s(A.NC,A.hI) +s(A.ND,A.fr) +s(A.NE,A.hI) +s(A.NF,A.fr) +s(A.NJ,A.ac) +r(A.Q3,A.Xp) +s(A.T4,A.ac) +s(A.T5,A.ac) +s(A.Rx,A.ac) +s(A.O4,A.ac) +s(A.SU,A.e1) +r(A.t8,A.lU) +s(A.SX,A.e1) +r(A.Bg,A.eg) +r(A.Bh,A.iQ) +s(A.SS,A.fr) +s(A.T0,A.xl) +r(A.P9,A.eg) +s(A.T6,A.oW) +s(A.T7,A.fB) +r(A.D6,A.ab) +s(A.T8,A.oW) +r(A.Bl,A.fb) +r(A.D2,A.eg) +r(A.D8,A.eg) +r(A.T9,A.iQ) +r(A.tJ,A.iQ) +r(A.oS,A.Hd) +r(A.Te,A.mJ) +s(A.Nx,A.i3) +r(A.C_,A.fb) +r(A.BY,A.fb) +s(A.QT,A.i3) +r(A.C3,A.eg) +r(A.C4,A.iQ) +r(A.tp,A.eg) +s(A.OP,A.fr) +s(A.Td,A.dx) +r(A.D7,A.K1) +s(A.Rb,A.ac) +s(A.Rc,A.fr) +s(A.Re,A.fr) +s(A.Rh,A.ac) +s(A.Ri,A.a4f) +s(A.SI,A.ac) +r(A.D5,A.aE) +s(A.Tf,A.xl) +s(A.Tg,A.Ll) +s(A.TG,A.e1) +s(A.TH,A.xl) +s(A.TI,A.Ll) +s(A.SJ,A.e1) +r(A.Tl,A.lU)})() +var v={typeUniverse:{eC:new Map(),tR:{},eT:{},tPV:{},sEA:[]},mangledGlobalNames:{p:"int",Q:"double",c1:"num",q:"String",O:"bool",aY:"Null",N:"List",J:"Object",aD:"Map"},mangledNames:{},types:["~()","~(d)","Q(Q)","oD(d2)","Q(d2)","vt(d2)","~(aQ)","~(fX)","w(bd)","~(J?)","~(b2)","dQ(d2)","a7<~>()","~(p)","~(U)","~(cr?)","~(q,@)","~(jV,n)","aY(~)","O(kT,n)","~(hM)","~(@)","~(aO)","N()","O(J?)","O(q)","O(cd)","O(jQ)","aY(@)","Q(H)","O(iy)","~(O)","~(dx)","O(b2)","O(ev)","i(a5)","~(G)","aY()","aY(J,cg)","p(cd,cd)","O()","bs?(bf?)","aY(U)","a7<@>(hX)","~(dO,~())","q()","p(J?)","O(fU)","aY(d)","O(dx)","O(p)","~(~())","~(hL)","K(H,aq)","~(J?,J?)","is(@)","a7

()","iV(bd)","a7()","~(eR)","O(eZ)","p(G,G)","~(jZ)","~(nR)","~(lD)","hQ(a5)","~(hA)","~(Q)","q(q)","aY(O)","O(jH)","~(rl)","O(J?,J?)","p()","d()","~({curve:eq,descendant:G?,duration:aQ,rect:x?})","O(c4)","i(a5)?(pj?)","aY(J?)","bd<0^>()","@(@)","~(J,cg)","a7()","i(a5,i?)","p(c4,c4)","q(nH)","O(of)","~(J[cg?])","k5(a5)","O(f0)","bs?(bf?)","w?(bd)","aD()","aW(@)","aY(q)","~([a7<~>?])","O(@)","@()","N()","~(iZ,q,p)","~(q,q)","oT(J?)","d?(p)","J?(J?)","kl()","aY(dq)","O(dq)","O(dH)","O(U)","dJ()","w(w)","p(p)","~(N)","~(fT)","fT()","p(d8,d8)","a7([d?])","a7<~>(@)","@(q)","bd()","O(lv)","q(Q,Q,q)","O(dx,Q)","Q?(H,aq,lX)","~(cS)","bi(Q)","~(ea)","a7<~>(hX)","a7(cr?)","N(ig)","~(c4)","fy()","p(dx,dx)","K(H)","~(n,H)","Q({from!Q,to!Q})","i9(aO)","~(lV)","O(kT)","q(p)","~(jw)","+boundaryEnd,boundaryStart(ao,ao)(ao)","eA(lQ)","~(@,@)","Q(H,Q)","~(nj)","p(@,@)","Q?(+(aq,lX))","~(amp)","U([d?])","O(om)","~(hT)","nt()","fm(a5,Q,i?)","mt(a5,cq,i?)","ms(a5,cq,i?)","~(lC)","~(rm)","x()","aW<@>?(aW<@>?,@,aW<@>(@))","a7<~>?()","~(aEM)","i(a5,bd,i?)?(bf?)","bs?(bf?)","~(fy)","f0()","Q()","iE(cd,h7)","ee(ee)","~(lB)","Q?(p)","t3()","O(hh)","d7?(hh)","q(Q)","~(tB)","aD<~(aO),bi?>()","~(~(aO),bi?)","oM()","U()","aY(f_,f_)","~(i7)","qp(x?,x?)","i7()","fC<0^>(i2,i(a5))","q(cF)","~(ev)","d?(Q)","Q(km)","~(fZ)","a7(q,aD)","0^?(0^?(bf?))","0^?(bs<0^>?(bf?))","pT(q)","bs?(bf?)","~(mT)","bs?(bf?)","~(p,O(iy))","bs?(bf?)","bs?(bf?)","cu?(bd)","cu?(bf?)","O(p,p)","w?(bf?)","kh?(bf?)","nI?(bf?)","aQ?(bf?)","O?(bf?)","mG?(bf?)","qg?(bf?)","w?(w?)","a7<~>(~)","nT()","cy?(bd)","p(mm,mm)","x()?(H)","~(aR?)","~([aR?])","~(l8)","~(v,d)","p(lx,lx)","J()","qN()","O(lf?)","w(ma)","nD(a5)","O(h9)","bo(bo)","~(d,N)","oq(@)","O(w)","q(q,w)","jT?(ed)","~({allowPlatformDefault:O})","~(K)","n9(a5,i?)","l2(a5)","m(bd)","jl(a5,i?)","rQ()","O(bd)","Q(bd)","~(hJ)","ri()","~(N,iX,Q)","eW>(i)","kX(p)","a7()","Q(@)","hr()","bo>(J,iY<@>)","O(bo>)","tn()","O(lZ)","a7(le{allowUpscaling:O,cacheHeight:p?,cacheWidth:p?})","a7(le{getTargetSize:aEj(p,p)?})","cQ(cQ,bT)","bT(bT)","q(bT)","tc()","~(hR?,O)","a7<~>(J,cg?)","q0(@)","aY(US)","~(rK)","~(J,cg?)?(hT)","~(eM)","oC({from:Q?})","O(p,O)","iA?()","a7(U)","lp(lp)","ng(@)","jD(n,p)","K()","Q?()","K(aq)","h1(U)","~(jN)","~(N)","aq(H)","U(@)","cu(he)","~(he,bi)","O(he)","iw(iM)","a7<+(q,e6?)>()","~(N{isMergeUp:O})","~(iM)","U(N,q)","~(j9)","O(j9)","du()","+boundaryEnd,boundaryStart(ao,ao)(ao,q)","iq(aD<@,@>)","m_?(jV,n)","O(r9{crossAxisPosition!Q,mainAxisPosition!Q})","~(jQ)","pp(a5,J?,i?)","O(H)","ne(dq)","O(cl)","n2(dq)","K(dq)","~(h1)","~(p,t1)","~(r2)","~(J)","~(ha)","c4(kv)","a7<~>([d?])","~(lo,p)","p(c4)","c4(p)","~(on)","~(co,~(J?))","a7()","cr(cr?)","a7(q)","kO(aD)","c5()","a7(q?)","a7<~>(cr?,~(cr?))","a7>(@)","~(k3)","bd(f)","~({allowPlatformDefault!O})","xZ()","nM()","vS/(xX)","a7(xX)","N()","N(N)","Q(c1)","N<@>(q)","qC(a5,nW)","oQ(xN)","a7<~>(aO)","~(q)","~(q,d)","~(bn)","o8?(Er,q,q)","cn<@>?(i2)","cn<@>(i2)","O(qj)","~(pP?,ro?)","iZ(@,@)","a7(hX)","l4(a5)","a7<~>(fX)","O(XE)","x(XE)","~([cd?])","~(q?)","O(wE)","~(t_)","O(rV)","~(p,p,p)","O(m0)","bd

(d8)","~(q,q?)","~(q?{wrapWidth:p?})","x(d8)","p(j5,j5)","N(d8,j)","O(d8)","it(b2)","b2?(b2)","J?(p,b2?)","f8()","~(f8)","hK()","~(hK)","hW()","~(hW)","p(p,p)","~(q,p?)","~(q,p)","~([J?])","i_()","~(i_)","~(k0)","~(k4)","~(ho,J)","lF(a5,i?)","~(kq)","i(a5,cq,q6,a5,a5)","O(kq)","iI(a5,i?)","ns(a5)","~(hR,O)","~(zq,@)","oA(@)","mM(@)","a7<@>(tl)","aD(N<@>)","aD(aD)","aY(aD)","iI(a5)","O(J)","O(cn<@>?)","a7(@)","O(jS)","q?(q)","~(N,d)","fU(cn<@>)","bo>(@,@)","oV()","H(p)","~(aq)","pE(a5,i?)","oI(a5,fc)","~(K,n)","aY(cS?)","~(dO)","cv(O)","O(an_)","lL(a5,i?)","jl(a5)","q7(a5,i?)","nq(aO)","qo(aO)","aY(v,d)","aBn?()","~(K?)","i(a5,fc)","O(hl)","aY(N<~>)","N

(a5)","~(@,cg)","aY(@,@)","~(q,J?)","O(i3?)","~(fu)","mb()","mr()","jd()","~(jd)","~(k_)","~([aQ?])","x(x)","O(x)","fZ(hE)","~(r7,aR)","N()","tx(a5,fc)","~(H)","b2?()","p0(a5,jW)","a7<~>(q,cr?,~(cr?)?)","fd(U)","a9<@>(@)","rE()","q(J?)","@(@,q)","p(eX,eX)","~(dj,p)","qt(a5,p)","mP(a5)","i(a5,fY

)","ox(a5)","nP(l3)","q(q?)","q(bo)","p(d)","O(O?)","q(q,q)","d(p{params:J?})","~(p,@)","p(cs<@>,cs<@>)","N()","N(q,N)","K?(K?,K?,Q)","Q?(c1?,c1?,Q)","w?(w?,w?,Q)","~(bD{forceReport:O})","cW(q)","i5?(q)","O?(O?,O?,Q)","d4?(d4?,d4?,Q)","cQ?(cQ?,cQ?,Q)","m?(m?,m?,Q)","p(Cs<@>,Cs<@>)","O({priority!p,scheduler!iR})","N(q)","~(cd{alignment:Q?,alignmentPolicy:oh?,curve:eq?,duration:aQ?})","p(b2,b2)","cB(cB?,cB?,Q)","N>(iJ,q)","p(i,p)","aY(@,cg)","aY(~())","~(J,cg,fw<0^>)","~(fw<0^>)","U(p)","cf(YX)","oB(@)"],interceptorsByTag:null,leafTags:null,arrayRti:Symbol("$ti"),rttc:{"2;":(a,b)=>c=>c instanceof A.av&&a.b(c.a)&&b.b(c.b),"2;audioBitrate,videoBitrate":(a,b)=>c=>c instanceof A.Bv&&a.b(c.a)&&b.b(c.b),"2;boundaryEnd,boundaryStart":(a,b)=>c=>c instanceof A.Q7&&a.b(c.a)&&b.b(c.b),"2;distance,fragment":(a,b)=>c=>c instanceof A.Bw&&a.b(c.a)&&b.b(c.b),"2;key,value":(a,b)=>c=>c instanceof A.Q8&&a.b(c.a)&&b.b(c.b),"2;localPosition,paragraph":(a,b)=>c=>c instanceof A.Q9&&a.b(c.a)&&b.b(c.b),"2;representation,targetSize":(a,b)=>c=>c instanceof A.Qa&&a.b(c.a)&&b.b(c.b),"3;":(a,b,c)=>d=>d instanceof A.oU&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;breaks,graphemes,words":(a,b,c)=>d=>d instanceof A.Qb&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;completer,recorder,scene":(a,b,c)=>d=>d instanceof A.Bx&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;data,event,timeStamp":(a,b,c)=>d=>d instanceof A.By&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;domSize,representation,targetSize":(a,b,c)=>d=>d instanceof A.Qc&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;large,medium,small":(a,b,c)=>d=>d instanceof A.Qd&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;queue,target,timer":(a,b,c)=>d=>d instanceof A.Qe&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"3;x,y,z":(a,b,c)=>d=>d instanceof A.Bz&&a.b(d.a)&&b.b(d.b)&&c.b(d.c),"4;domBlurListener,domFocusListener,element,semanticsNodeId":a=>b=>b instanceof A.BA&&A.aJy(a,b.a)}} +A.aFU(v.typeUniverse,JSON.parse('{"f_":"hU","IB":"hU","j_":"hU","IT":"hU","zF":"hU","qm":"hU","aK9":"d","aKQ":"d","aKP":"d","aKc":"kP","aKa":"Y","aLV":"Y","aMr":"Y","aLR":"ar","aKd":"au","aLT":"au","aKW":"b5","aKK":"b5","aMX":"ef","aKg":"ir","aMF":"ir","aKZ":"np","aKp":"bQ","aKr":"hG","aKt":"ec","aKu":"ep","aKq":"ep","aKs":"ep","kY":{"a00":[]},"uJ":{"eM":[]},"nM":{"rG":[]},"nT":{"rG":[]},"dj":{"oc":[]},"lK":{"oc":[]},"e6":{"bB":[]},"dv":{"cZ":[]},"iw":{"lp":[]},"jx":{"Zp":[]},"EH":{"kZ":[]},"EG":{"kZ":[]},"uL":{"kZ":[]},"pA":{"kZ":[]},"nO":{"j":["hg"],"j.E":"hg"},"GI":{"bR":[]},"EJ":{"kZ":[]},"Ac":{"kZ":[]},"EF":{"eM":[]},"pK":{"e8":[]},"Jw":{"e8":[]},"EP":{"e8":[],"Wq":[]},"ET":{"e8":[],"Wt":[]},"ER":{"e8":[],"Wr":[]},"HY":{"e8":[],"a5v":[]},"zO":{"e8":[],"L2":[]},"HW":{"e8":[],"L2":[],"a5u":[]},"GJ":{"e8":[],"a05":[]},"IA":{"e8":[]},"IE":{"e8":[]},"pB":{"a5G":[]},"Kc":{"al9":[]},"EI":{"al9":[]},"uK":{"lp":[]},"Ey":{"bB":[]},"GG":{"aqf":[]},"GF":{"bR":[]},"GE":{"bR":[]},"kn":{"j":["1"],"j.E":"1"},"Aq":{"j":["1"],"j.E":"1"},"Gg":{"e6":[],"bB":[]},"w3":{"e6":[],"bB":[]},"w4":{"e6":[],"bB":[]},"xD":{"dv":[],"cZ":[],"Wt":[]},"Iu":{"dv":[],"cZ":[],"Wr":[]},"xC":{"dv":[],"cZ":[],"Wq":[]},"GC":{"eM":[]},"wg":{"a00":[]},"xE":{"dv":[],"cZ":[],"a05":[]},"xF":{"dv":[],"cZ":[],"a5u":[]},"xG":{"dv":[],"cZ":[],"a5v":[]},"rg":{"a5G":[]},"Ix":{"cZ":[]},"xH":{"cZ":[]},"vq":{"cD":[]},"xv":{"cD":[]},"Il":{"cD":[]},"Ip":{"cD":[]},"In":{"cD":[]},"Im":{"cD":[]},"Io":{"cD":[]},"I8":{"cD":[]},"I7":{"cD":[]},"I6":{"cD":[]},"Id":{"cD":[]},"If":{"cD":[]},"Ij":{"cD":[]},"Ii":{"cD":[]},"Ib":{"cD":[]},"Ie":{"cD":[]},"Ia":{"cD":[]},"Ih":{"cD":[]},"Ik":{"cD":[]},"Ic":{"cD":[]},"Ig":{"cD":[]},"xI":{"dv":[],"cZ":[]},"B3":{"l7":[]},"FU":{"l7":[]},"x6":{"l7":[]},"Iw":{"cZ":[]},"xJ":{"dv":[],"cZ":[],"L2":[]},"GA":{"eM":[]},"Gy":{"eM":[]},"z8":{"w6":[]},"Ep":{"eM":[]},"u9":{"w6":[]},"qT":{"k6":[]},"Ge":{"k6":[]},"H_":{"k6":[]},"nF":{"k6":[]},"K9":{"amp":[]},"KJ":{"k6":[]},"je":{"X":["1"],"N":["1"],"W":["1"],"j":["1"]},"Oc":{"je":["p"],"X":["p"],"N":["p"],"W":["p"],"j":["p"]},"L7":{"je":["p"],"X":["p"],"N":["p"],"W":["p"],"j":["p"],"X.E":"p","j.E":"p","je.E":"p"},"ED":{"rf":[]},"Jx":{"rf":[]},"vA":{"ha":[]},"Nm":{"jx":[],"Zp":[]},"pS":{"jx":[],"Zp":[]},"d":{"U":[]},"v":{"N":["1"],"d":[],"W":["1"],"U":[],"j":["1"],"j.E":"1"},"wy":{"O":[],"bZ":[]},"wz":{"aY":[],"bZ":[]},"hU":{"d":[],"U":[],"qm":[]},"a0R":{"v":["1"],"N":["1"],"d":[],"W":["1"],"U":[],"j":["1"],"j.E":"1"},"lm":{"Q":[],"c1":[],"cs":["c1"]},"qi":{"Q":[],"p":[],"c1":[],"cs":["c1"],"bZ":[]},"wA":{"Q":[],"c1":[],"cs":["c1"],"bZ":[]},"jJ":{"q":[],"cs":["q"],"bZ":[]},"ia":{"j":["2"]},"mR":{"ia":["1","2"],"j":["2"],"j.E":"2"},"Ax":{"mR":["1","2"],"ia":["1","2"],"W":["2"],"j":["2"],"j.E":"2"},"Aa":{"X":["2"],"N":["2"],"ia":["1","2"],"W":["2"],"j":["2"]},"bK":{"Aa":["1","2"],"X":["2"],"N":["2"],"ia":["1","2"],"W":["2"],"j":["2"],"X.E":"2","j.E":"2"},"kW":{"bd":["2"],"ia":["1","2"],"W":["2"],"j":["2"],"j.E":"2"},"mS":{"aC":["3","4"],"aD":["3","4"],"aC.V":"4","aC.K":"3"},"jr":{"ia":["1","2"],"W":["2"],"j":["2"],"j.E":"2"},"h8":{"bB":[]},"js":{"X":["p"],"N":["p"],"W":["p"],"j":["p"],"X.E":"p","j.E":"p"},"W":{"j":["1"]},"aI":{"W":["1"],"j":["1"]},"fO":{"aI":["1"],"W":["1"],"j":["1"],"j.E":"1","aI.E":"1"},"dZ":{"j":["2"],"j.E":"2"},"hN":{"dZ":["1","2"],"W":["2"],"j":["2"],"j.E":"2"},"ay":{"aI":["2"],"W":["2"],"j":["2"],"j.E":"2","aI.E":"2"},"aF":{"j":["1"],"j.E":"1"},"hO":{"j":["2"],"j.E":"2"},"oy":{"j":["1"],"j.E":"1"},"vy":{"oy":["1"],"W":["1"],"j":["1"],"j.E":"1"},"k9":{"j":["1"],"j.E":"1"},"pR":{"k9":["1"],"W":["1"],"j":["1"],"j.E":"1"},"za":{"j":["1"],"j.E":"1"},"fv":{"W":["1"],"j":["1"],"j.E":"1"},"jA":{"j":["1"],"j.E":"1"},"vx":{"jA":["1"],"W":["1"],"j":["1"],"j.E":"1"},"d6":{"j":["1"],"j.E":"1"},"nu":{"j":["+(p,1)"],"j.E":"+(p,1)"},"pQ":{"nu":["1"],"W":["+(p,1)"],"j":["+(p,1)"],"j.E":"+(p,1)"},"rz":{"X":["1"],"N":["1"],"W":["1"],"j":["1"]},"cm":{"aI":["1"],"W":["1"],"j":["1"],"j.E":"1","aI.E":"1"},"e0":{"zq":[]},"mV":{"oH":["1","2"],"aD":["1","2"]},"pJ":{"aD":["1","2"]},"bt":{"pJ":["1","2"],"aD":["1","2"]},"oR":{"j":["1"],"j.E":"1"},"d3":{"pJ":["1","2"],"aD":["1","2"]},"uW":{"hm":["1"],"bd":["1"],"W":["1"],"j":["1"]},"dV":{"hm":["1"],"bd":["1"],"W":["1"],"j":["1"],"j.E":"1"},"dt":{"hm":["1"],"bd":["1"],"W":["1"],"j":["1"],"j.E":"1"},"wv":{"jC":[]},"ww":{"jC":[]},"xm":{"kd":[],"jP":[],"bB":[]},"GT":{"jP":[],"bB":[]},"La":{"bB":[]},"HR":{"bR":[]},"Ck":{"cg":[]},"l_":{"jC":[]},"EU":{"jC":[]},"EV":{"jC":[]},"KL":{"jC":[]},"Ky":{"jC":[]},"pv":{"jC":[]},"MN":{"bB":[]},"JC":{"bB":[]},"fz":{"aC":["1","2"],"aD":["1","2"],"aC.V":"2","aC.K":"1"},"aZ":{"W":["1"],"j":["1"],"j.E":"1"},"nz":{"fz":["1","2"],"aC":["1","2"],"aD":["1","2"],"aC.V":"2","aC.K":"1"},"B_":{"J1":[],"wT":[]},"LC":{"j":["J1"],"j.E":"J1"},"zn":{"wT":[]},"RB":{"j":["wT"],"j.E":"wT"},"jN":{"fG":[],"iZ":[],"X":["p"],"N":["p"],"bc":["p"],"d":[],"W":["p"],"U":[],"j":["p"],"bZ":[],"X.E":"p","j.E":"p"},"nQ":{"d":[],"U":[],"Er":[],"bZ":[]},"xd":{"d":[],"U":[]},"xa":{"d":[],"cr":[],"U":[],"bZ":[]},"qu":{"bc":["1"],"d":[],"U":[]},"lu":{"X":["Q"],"N":["Q"],"bc":["Q"],"d":[],"W":["Q"],"U":[],"j":["Q"]},"fG":{"X":["p"],"N":["p"],"bc":["p"],"d":[],"W":["p"],"U":[],"j":["p"]},"xb":{"lu":[],"Z8":[],"X":["Q"],"N":["Q"],"bc":["Q"],"d":[],"W":["Q"],"U":[],"j":["Q"],"bZ":[],"X.E":"Q","j.E":"Q"},"HH":{"lu":[],"Z9":[],"X":["Q"],"N":["Q"],"bc":["Q"],"d":[],"W":["Q"],"U":[],"j":["Q"],"bZ":[],"X.E":"Q","j.E":"Q"},"HI":{"fG":[],"a0G":[],"X":["p"],"N":["p"],"bc":["p"],"d":[],"W":["p"],"U":[],"j":["p"],"bZ":[],"X.E":"p","j.E":"p"},"xc":{"fG":[],"a0H":[],"X":["p"],"N":["p"],"bc":["p"],"d":[],"W":["p"],"U":[],"j":["p"],"bZ":[],"X.E":"p","j.E":"p"},"HJ":{"fG":[],"a0I":[],"X":["p"],"N":["p"],"bc":["p"],"d":[],"W":["p"],"U":[],"j":["p"],"bZ":[],"X.E":"p","j.E":"p"},"HK":{"fG":[],"abE":[],"X":["p"],"N":["p"],"bc":["p"],"d":[],"W":["p"],"U":[],"j":["p"],"bZ":[],"X.E":"p","j.E":"p"},"HL":{"fG":[],"rx":[],"X":["p"],"N":["p"],"bc":["p"],"d":[],"W":["p"],"U":[],"j":["p"],"bZ":[],"X.E":"p","j.E":"p"},"xe":{"fG":[],"abF":[],"X":["p"],"N":["p"],"bc":["p"],"d":[],"W":["p"],"U":[],"j":["p"],"bZ":[],"X.E":"p","j.E":"p"},"CA":{"ex":[]},"Nn":{"bB":[]},"CB":{"kd":[],"bB":[]},"a9":{"a7":["1"]},"hu":{"i6":["1"]},"S_":{"ask":[]},"jc":{"j":["1"],"j.E":"1"},"E4":{"bB":[]},"c0":{"j3":["1"],"tz":["1"],"c5":["1"],"c5.T":"1"},"oK":{"m6":["1"],"hu":["1"],"i6":["1"]},"ht":{"fw":["1"]},"jb":{"ht":["1"],"fw":["1"]},"A4":{"ht":["1"],"fw":["1"]},"rN":{"jb":["1"],"ht":["1"],"fw":["1"]},"b1":{"Mk":["1"]},"oZ":{"fw":["1"]},"rO":{"oZ":["1"],"fw":["1"]},"mp":{"oZ":["1"],"fw":["1"]},"j3":{"tz":["1"],"c5":["1"],"c5.T":"1"},"m6":{"hu":["1"],"i6":["1"]},"tz":{"c5":["1"]},"rW":{"i6":["1"]},"rM":{"c5":["1"],"c5.T":"1"},"oL":{"i6":["1"]},"hw":{"c5":["2"]},"t0":{"hu":["2"],"i6":["2"]},"p2":{"hw":["1","1"],"c5":["1"],"c5.T":"1","hw.S":"1","hw.T":"1"},"AZ":{"hw":["1","2"],"c5":["2"],"c5.T":"2","hw.S":"1","hw.T":"2"},"kp":{"aC":["1","2"],"aD":["1","2"],"aC.V":"2","aC.K":"1"},"mc":{"kp":["1","2"],"aC":["1","2"],"aD":["1","2"],"aC.V":"2","aC.K":"1"},"Al":{"kp":["1","2"],"aC":["1","2"],"aD":["1","2"],"aC.V":"2","aC.K":"1"},"oP":{"W":["1"],"j":["1"],"j.E":"1"},"j4":{"tw":["1"],"hm":["1"],"bd":["1"],"W":["1"],"j":["1"],"j.E":"1"},"fg":{"tw":["1"],"hm":["1"],"aBQ":["1"],"bd":["1"],"W":["1"],"j":["1"],"j.E":"1"},"nC":{"j":["1"],"j.E":"1"},"X":{"N":["1"],"W":["1"],"j":["1"]},"aC":{"aD":["1","2"]},"AY":{"W":["2"],"j":["2"],"j.E":"2"},"wR":{"aD":["1","2"]},"oH":{"aD":["1","2"]},"Ar":{"As":["1"],"apU":["1"]},"At":{"As":["1"]},"vp":{"W":["1"],"j":["1"],"j.E":"1"},"wK":{"aI":["1"],"W":["1"],"j":["1"],"j.E":"1","aI.E":"1"},"hm":{"bd":["1"],"W":["1"],"j":["1"]},"tw":{"hm":["1"],"bd":["1"],"W":["1"],"j":["1"]},"zf":{"aC":["1","2"],"aD":["1","2"],"aC.V":"2","aC.K":"1"},"ks":{"W":["1"],"j":["1"],"j.E":"1"},"oY":{"W":["2"],"j":["2"],"j.E":"2"},"Cf":{"W":["bo<1,2>"],"j":["bo<1,2>"],"j.E":"bo<1,2>"},"kt":{"ja":["1","2","1"],"ja.T":"1"},"Cj":{"ja":["1","eB<1,2>","2"],"ja.T":"2"},"oX":{"ja":["1","eB<1,2>","bo<1,2>"],"ja.T":"bo<1,2>"},"rd":{"hm":["1"],"bd":["1"],"W":["1"],"j":["1"],"j.E":"1"},"Of":{"aC":["q","@"],"aD":["q","@"],"aC.V":"@","aC.K":"q"},"Og":{"aI":["q"],"W":["q"],"j":["q"],"j.E":"q","aI.E":"q"},"wB":{"bB":[]},"GU":{"bB":[]},"dJ":{"cs":["dJ"]},"Q":{"c1":[],"cs":["c1"]},"aQ":{"cs":["aQ"]},"p":{"c1":[],"cs":["c1"]},"N":{"W":["1"],"j":["1"]},"c1":{"cs":["c1"]},"J1":{"wT":[]},"bd":{"W":["1"],"j":["1"]},"q":{"cs":["q"]},"mI":{"bB":[]},"kd":{"bB":[]},"eK":{"bB":[]},"xY":{"bB":[]},"wn":{"bB":[]},"jP":{"bB":[]},"Lc":{"bB":[]},"oG":{"bB":[]},"hn":{"bB":[]},"F_":{"bB":[]},"I0":{"bB":[]},"zk":{"bB":[]},"Az":{"bR":[]},"jB":{"bR":[]},"AJ":{"aI":["1"],"W":["1"],"j":["1"],"j.E":"1","aI.E":"1"},"RE":{"cg":[]},"CH":{"Ld":[]},"Rg":{"Ld":[]},"MP":{"Ld":[]},"bQ":{"d":[],"U":[]},"eT":{"d":[],"U":[]},"eV":{"d":[],"U":[]},"f2":{"d":[],"U":[]},"b5":{"d":[],"U":[]},"f3":{"d":[],"U":[]},"f5":{"d":[],"U":[]},"f6":{"d":[],"U":[]},"f7":{"d":[],"U":[]},"ec":{"d":[],"U":[]},"f9":{"d":[],"U":[]},"ef":{"d":[],"U":[]},"fa":{"d":[],"U":[]},"au":{"b5":[],"d":[],"U":[]},"DS":{"d":[],"U":[]},"DW":{"b5":[],"d":[],"U":[]},"E1":{"b5":[],"d":[],"U":[]},"up":{"d":[],"U":[]},"ir":{"b5":[],"d":[],"U":[]},"F5":{"d":[],"U":[]},"pL":{"d":[],"U":[]},"ep":{"d":[],"U":[]},"hG":{"d":[],"U":[]},"F6":{"d":[],"U":[]},"F7":{"d":[],"U":[]},"Fc":{"d":[],"U":[]},"FD":{"d":[],"U":[]},"vn":{"X":["hi"],"aH":["hi"],"N":["hi"],"bc":["hi"],"d":[],"W":["hi"],"U":[],"j":["hi"],"aH.E":"hi","X.E":"hi","j.E":"hi"},"vo":{"d":[],"hi":["c1"],"U":[]},"FI":{"X":["q"],"aH":["q"],"N":["q"],"bc":["q"],"d":[],"W":["q"],"U":[],"j":["q"],"aH.E":"q","X.E":"q","j.E":"q"},"FK":{"d":[],"U":[]},"ar":{"b5":[],"d":[],"U":[]},"Y":{"d":[],"U":[]},"G4":{"X":["eT"],"aH":["eT"],"N":["eT"],"bc":["eT"],"d":[],"W":["eT"],"U":[],"j":["eT"],"aH.E":"eT","X.E":"eT","j.E":"eT"},"G5":{"d":[],"U":[]},"Gh":{"b5":[],"d":[],"U":[]},"Gx":{"d":[],"U":[]},"np":{"X":["b5"],"aH":["b5"],"N":["b5"],"bc":["b5"],"d":[],"W":["b5"],"U":[],"j":["b5"],"aH.E":"b5","X.E":"b5","j.E":"b5"},"Hf":{"d":[],"U":[]},"Hr":{"d":[],"U":[]},"Hv":{"d":[],"aC":["q","@"],"U":[],"aD":["q","@"],"aC.V":"@","aC.K":"q"},"Hw":{"d":[],"aC":["q","@"],"U":[],"aD":["q","@"],"aC.V":"@","aC.K":"q"},"Hx":{"X":["f2"],"aH":["f2"],"N":["f2"],"bc":["f2"],"d":[],"W":["f2"],"U":[],"j":["f2"],"aH.E":"f2","X.E":"f2","j.E":"f2"},"xk":{"X":["b5"],"aH":["b5"],"N":["b5"],"bc":["b5"],"d":[],"W":["b5"],"U":[],"j":["b5"],"aH.E":"b5","X.E":"b5","j.E":"b5"},"IG":{"X":["f3"],"aH":["f3"],"N":["f3"],"bc":["f3"],"d":[],"W":["f3"],"U":[],"j":["f3"],"aH.E":"f3","X.E":"f3","j.E":"f3"},"JA":{"d":[],"aC":["q","@"],"U":[],"aD":["q","@"],"aC.V":"@","aC.K":"q"},"K_":{"b5":[],"d":[],"U":[]},"Ku":{"X":["f5"],"aH":["f5"],"N":["f5"],"bc":["f5"],"d":[],"W":["f5"],"U":[],"j":["f5"],"aH.E":"f5","X.E":"f5","j.E":"f5"},"Kw":{"X":["f6"],"aH":["f6"],"N":["f6"],"bc":["f6"],"d":[],"W":["f6"],"U":[],"j":["f6"],"aH.E":"f6","X.E":"f6","j.E":"f6"},"Kz":{"d":[],"aC":["q","q"],"U":[],"aD":["q","q"],"aC.V":"q","aC.K":"q"},"KR":{"X":["ef"],"aH":["ef"],"N":["ef"],"bc":["ef"],"d":[],"W":["ef"],"U":[],"j":["ef"],"aH.E":"ef","X.E":"ef","j.E":"ef"},"KS":{"X":["f9"],"aH":["f9"],"N":["f9"],"bc":["f9"],"d":[],"W":["f9"],"U":[],"j":["f9"],"aH.E":"f9","X.E":"f9","j.E":"f9"},"KY":{"d":[],"U":[]},"L_":{"X":["fa"],"aH":["fa"],"N":["fa"],"bc":["fa"],"d":[],"W":["fa"],"U":[],"j":["fa"],"aH.E":"fa","X.E":"fa","j.E":"fa"},"L0":{"d":[],"U":[]},"Le":{"d":[],"U":[]},"Lh":{"d":[],"U":[]},"MD":{"X":["bQ"],"aH":["bQ"],"N":["bQ"],"bc":["bQ"],"d":[],"W":["bQ"],"U":[],"j":["bQ"],"aH.E":"bQ","X.E":"bQ","j.E":"bQ"},"Ap":{"d":[],"hi":["c1"],"U":[]},"NN":{"X":["eV?"],"aH":["eV?"],"N":["eV?"],"bc":["eV?"],"d":[],"W":["eV?"],"U":[],"j":["eV?"],"aH.E":"eV?","X.E":"eV?","j.E":"eV?"},"B9":{"X":["b5"],"aH":["b5"],"N":["b5"],"bc":["b5"],"d":[],"W":["b5"],"U":[],"j":["b5"],"aH.E":"b5","X.E":"b5","j.E":"b5"},"Ru":{"X":["f7"],"aH":["f7"],"N":["f7"],"bc":["f7"],"d":[],"W":["f7"],"U":[],"j":["f7"],"aH.E":"f7","X.E":"f7","j.E":"f7"},"RF":{"X":["ec"],"aH":["ec"],"N":["ec"],"bc":["ec"],"d":[],"W":["ec"],"U":[],"j":["ec"],"aH.E":"ec","X.E":"ec","j.E":"ec"},"oT":{"xX":[]},"HT":{"bR":[]},"N1":{"app":[]},"jy":{"bR":[]},"xz":{"bR":[]},"xA":{"bR":[]},"xB":{"bR":[]},"AA":{"vS":[]},"HQ":{"bR":[]},"fA":{"d":[],"U":[]},"fH":{"d":[],"U":[]},"fQ":{"d":[],"U":[]},"H6":{"X":["fA"],"aH":["fA"],"N":["fA"],"d":[],"W":["fA"],"U":[],"j":["fA"],"aH.E":"fA","X.E":"fA","j.E":"fA"},"HS":{"X":["fH"],"aH":["fH"],"N":["fH"],"d":[],"W":["fH"],"U":[],"j":["fH"],"aH.E":"fH","X.E":"fH","j.E":"fH"},"IH":{"d":[],"U":[]},"KB":{"X":["q"],"aH":["q"],"N":["q"],"d":[],"W":["q"],"U":[],"j":["q"],"aH.E":"q","X.E":"q","j.E":"q"},"L3":{"X":["fQ"],"aH":["fQ"],"N":["fQ"],"d":[],"W":["fQ"],"U":[],"j":["fQ"],"aH.E":"fQ","X.E":"fQ","j.E":"fQ"},"a0I":{"N":["p"],"W":["p"],"j":["p"]},"iZ":{"N":["p"],"W":["p"],"j":["p"]},"abF":{"N":["p"],"W":["p"],"j":["p"]},"a0G":{"N":["p"],"W":["p"],"j":["p"]},"abE":{"N":["p"],"W":["p"],"j":["p"]},"a0H":{"N":["p"],"W":["p"],"j":["p"]},"rx":{"N":["p"],"W":["p"],"j":["p"]},"Z8":{"N":["Q"],"W":["Q"],"j":["Q"]},"Z9":{"N":["Q"],"W":["Q"],"j":["Q"]},"E5":{"d":[],"U":[]},"E6":{"d":[],"aC":["q","@"],"U":[],"aD":["q","@"],"aC.V":"@","aC.K":"q"},"E7":{"d":[],"U":[]},"kP":{"d":[],"U":[]},"HU":{"d":[],"U":[]},"Eu":{"ae":[]},"Ew":{"aU":[],"i":[]},"dq":{"dH":[]},"rD":{"dH":[]},"uC":{"dH":[]},"px":{"dH":[]},"kU":{"dH":[]},"h1":{"vd":[]},"mO":{"bR":[]},"mQ":{"bR":[]},"rA":{"mq":["1","j<1>"],"mq.E":"1"},"r4":{"mq":["1","bd<1>"],"mq.E":"1"},"cq":{"ae":[]},"pn":{"cq":["Q"],"ae":[]},"mY":{"cq":["Q"],"ae":[]},"LE":{"cq":["Q"],"ae":[]},"LF":{"cq":["Q"],"ae":[]},"o7":{"cq":["Q"],"ae":[]},"fM":{"cq":["Q"],"ae":[]},"oF":{"cq":["Q"],"ae":[]},"pI":{"cq":["1"],"ae":[]},"uf":{"cq":["1"],"ae":[]},"AW":{"eq":[]},"yA":{"eq":[]},"dg":{"eq":[]},"zG":{"eq":[]},"dW":{"eq":[]},"KW":{"eq":[]},"pY":{"eq":[]},"MR":{"eq":[]},"aW":{"aJ":["1"],"aJ.T":"1","aW.T":"1"},"is":{"aW":["w?"],"aJ":["w?"],"aJ.T":"w?","aW.T":"w?"},"b0":{"cq":["1"],"ae":[]},"ib":{"aJ":["1"],"aJ.T":"1"},"yv":{"aW":["1"],"aJ":["1"],"aJ.T":"1","aW.T":"1"},"y1":{"aW":["x?"],"aJ":["x?"],"aJ.T":"x?","aW.T":"x?"},"lg":{"aW":["p"],"aJ":["p"],"aJ.T":"p","aW.T":"p"},"h0":{"aJ":["Q"],"aJ.T":"Q"},"zQ":{"aJ":["1"],"aJ.T":"1"},"eP":{"w":[]},"F8":{"cB":[]},"azR":{"b3":[],"aP":[],"i":[]},"MH":{"f1":["WZ"],"f1.T":"WZ"},"Fj":{"WZ":[]},"v_":{"a2":[],"i":[]},"rT":{"a2":[],"i":[]},"MI":{"af":["v_"]},"rU":{"af":["rT<1>"]},"ic":{"hH":[]},"pM":{"a2":[],"i":[]},"MJ":{"iO":["pM"],"af":["pM"]},"wq":{"cY":[],"b3":[],"aP":[],"i":[]},"v1":{"aU":[],"i":[]},"m8":{"cW":[]},"pT":{"m8":[],"cW":[]},"G_":{"m8":[],"cW":[]},"FY":{"m8":[],"cW":[]},"nc":{"mI":[],"bB":[]},"Fr":{"cW":[]},"Nz":{"cW":[]},"fr":{"ae":[]},"B6":{"ae":[]},"ez":{"ae":[]},"it":{"cW":[]},"vg":{"cW":[]},"Fq":{"cW":[]},"vh":{"cW":[]},"dS":{"e7":[],"dS.T":"1"},"He":{"e7":[]},"ry":{"e7":[]},"wI":{"hb":[]},"bg":{"j":["1"],"j.E":"1"},"lb":{"j":["1"],"j.E":"1"},"cv":{"a7":["1"]},"vY":{"bD":[]},"d7":{"aO":[]},"k_":{"aO":[]},"lC":{"aO":[]},"lD":{"aO":[]},"jZ":{"aO":[]},"ea":{"aO":[]},"k0":{"aO":[]},"Lx":{"aO":[]},"Sf":{"aO":[]},"nX":{"aO":[]},"Sb":{"nX":[],"aO":[]},"o1":{"aO":[]},"Sm":{"o1":[],"aO":[]},"Sh":{"k_":[],"aO":[]},"Se":{"lC":[],"aO":[]},"Sg":{"lD":[],"aO":[]},"Sd":{"jZ":[],"aO":[]},"nZ":{"aO":[]},"Si":{"nZ":[],"aO":[]},"o4":{"aO":[]},"Sq":{"o4":[],"aO":[]},"o2":{"ea":[],"aO":[]},"So":{"o2":[],"ea":[],"aO":[]},"o3":{"ea":[],"aO":[]},"Sp":{"o3":[],"ea":[],"aO":[]},"II":{"ea":[],"aO":[]},"Sn":{"ea":[],"aO":[]},"Sk":{"k0":[],"aO":[]},"o0":{"aO":[]},"Sl":{"o0":[],"aO":[]},"o_":{"aO":[]},"Sj":{"o_":[],"aO":[]},"nY":{"aO":[]},"Sc":{"nY":[],"aO":[]},"B4":{"tD":[]},"ti":{"tD":[]},"hW":{"cf":[],"cG":[],"cF":[]},"fu":{"cf":[],"cG":[],"cF":[]},"fT":{"fu":[],"cf":[],"cG":[],"cF":[]},"fy":{"fu":[],"cf":[],"cG":[],"cF":[]},"i_":{"fu":[],"cf":[],"cG":[],"cF":[]},"hK":{"cG":[],"cF":[]},"cG":{"cF":[]},"cf":{"cG":[],"cF":[]},"qG":{"cf":[],"cG":[],"cF":[]},"f8":{"cf":[],"cG":[],"cF":[]},"Ed":{"cf":[],"cG":[],"cF":[]},"oM":{"cF":[]},"Mj":{"q5":[]},"nq":{"i9":[]},"qo":{"i9":[]},"Ly":{"aU":[],"i":[]},"rJ":{"aU":[],"i":[]},"Eb":{"aU":[],"i":[]},"Ea":{"aU":[],"i":[]},"FN":{"aU":[],"i":[]},"FM":{"aU":[],"i":[]},"FR":{"aU":[],"i":[]},"FQ":{"aU":[],"i":[]},"ayR":{"cY":[],"b3":[],"aP":[],"i":[]},"wW":{"a2":[],"i":[]},"B0":{"af":["wW"]},"ui":{"a2":[],"xR":[],"i":[]},"PU":{"K":[]},"A3":{"af":["ui"]},"LP":{"b_":[],"at":[],"i":[]},"Qg":{"H":[],"aE":["H"],"G":[],"al":[]},"qp":{"aW":["x?"],"aJ":["x?"],"aJ.T":"x?","aW.T":"x?"},"x_":{"aW":["n"],"aJ":["n"],"aJ.T":"n","aW.T":"n"},"aC0":{"cY":[],"b3":[],"aP":[],"i":[]},"y_":{"a2":[],"i":[]},"Q1":{"af":["y_"]},"Ob":{"b_":[],"at":[],"i":[]},"BG":{"H":[],"aE":["H"],"G":[],"al":[]},"uy":{"a2":[],"i":[]},"A7":{"af":["uy"]},"OL":{"cu":[],"bs":["cu"]},"Oa":{"b_":[],"at":[],"i":[]},"BF":{"H":[],"aE":["H"],"G":[],"al":[]},"azc":{"cY":[],"b3":[],"aP":[],"i":[]},"Hl":{"l0":["p"],"w":[],"l0.T":"p"},"vX":{"b3":[],"aP":[],"i":[]},"Ga":{"aU":[],"i":[]},"Ni":{"cu":[],"bs":["cu"]},"Me":{"b_":[],"at":[],"i":[]},"Qh":{"H":[],"aE":["H"],"G":[],"al":[]},"A2":{"cq":["1"],"ae":[]},"C5":{"a2":[],"i":[]},"GH":{"aU":[],"i":[]},"R_":{"af":["C5"]},"O2":{"a2":[],"i":[]},"NZ":{"bs":["w?"]},"O0":{"bs":["w?"]},"O_":{"bs":["cu?"]},"O1":{"bf":[]},"Nu":{"bf":[]},"Nv":{"bf":[]},"P6":{"bf":[]},"wh":{"cY":[],"b3":[],"aP":[],"i":[]},"lf":{"lh":[],"jG":[]},"wt":{"lh":[],"jG":[]},"wu":{"lh":[],"jG":[]},"lh":{"jG":[]},"Bn":{"b3":[],"aP":[],"i":[]},"AS":{"a2":[],"i":[]},"ws":{"aU":[],"i":[]},"AR":{"af":["AS"],"an0":[]},"GO":{"aU":[],"i":[]},"nD":{"cY":[],"b3":[],"aP":[],"i":[]},"wU":{"a2":[],"i":[]},"BE":{"H":[],"aE":["H"],"G":[],"al":[]},"oq":{"aW":["bT?"],"aJ":["bT?"],"aJ.T":"bT?","aW.T":"bT?"},"B1":{"a2":[],"i":[]},"Oz":{"af":["wU"]},"O8":{"b_":[],"at":[],"i":[]},"Ow":{"af":["B1"]},"C9":{"aU":[],"i":[]},"R8":{"ae":[]},"wY":{"aU":[],"i":[]},"Ox":{"f1":["nH"],"f1.T":"nH"},"Fl":{"nH":[]},"fC":{"Hm":["1"],"fD":["1"],"dR":["1"],"cn":["1"]},"ms":{"a2":[],"i":[]},"mt":{"a2":[],"i":[]},"tk":{"a2":[],"i":[]},"SH":{"aU":[],"i":[]},"SF":{"af":["ms"]},"SG":{"af":["mt"]},"Lv":{"jT":[]},"F9":{"jT":[]},"Bm":{"af":["tk<1>"]},"CU":{"ae":[]},"CV":{"ae":[]},"lE":{"a2":[],"i":[]},"to":{"a2":[],"i":[]},"xP":{"a2":[],"i":[]},"OC":{"b_":[],"at":[],"i":[]},"Qo":{"H":[],"aE":["H"],"G":[],"al":[]},"qE":{"af":["2"]},"Bt":{"af":["to<1>"]},"Bs":{"fD":["1"],"dR":["1"],"cn":["1"]},"Nh":{"cu":[],"bs":["cu"]},"aCS":{"cY":[],"b3":[],"aP":[],"i":[]},"uI":{"a2":[],"i":[]},"IS":{"a2":[],"i":[]},"Mg":{"ae":[]},"Mh":{"af":["uI"]},"aD7":{"cY":[],"b3":[],"aP":[],"i":[]},"yE":{"a2":[],"i":[]},"BU":{"b3":[],"aP":[],"i":[]},"AC":{"a2":[],"i":[]},"yB":{"a2":[],"i":[]},"qX":{"af":["yB"]},"aFF":{"a2":[],"i":[]},"yF":{"af":["yE"]},"QR":{"ae":[]},"A6":{"aq":[]},"M_":{"aU":[],"i":[]},"AD":{"af":["AC"]},"N2":{"bn":["iv"],"bn.T":"iv"},"QS":{"b3":[],"aP":[],"i":[]},"te":{"a2":[],"i":[]},"JY":{"aU":[],"i":[]},"Oy":{"iO":["te"],"af":["te"]},"aDF":{"cY":[],"b3":[],"aP":[],"i":[]},"rb":{"a2":[],"i":[]},"Cc":{"af":["rb"]},"KG":{"ae":[]},"m1":{"hH":[]},"zs":{"a2":[],"xR":[],"i":[]},"zt":{"a2":[],"i":[]},"KF":{"aU":[],"xR":[],"i":[]},"RO":{"a2":[],"i":[]},"RM":{"cK":["H","dK"],"H":[],"ab":["H","dK"],"G":[],"al":[],"ab.1":"dK","cK.1":"dK","ab.0":"H"},"RL":{"e9":[],"at":[],"i":[]},"AP":{"ae":[]},"Mc":{"cq":["Q"],"ae":[]},"rX":{"cq":["Q"],"ae":[]},"Cq":{"af":["zs"]},"Cr":{"af":["zt"]},"AQ":{"cY":[],"b3":[],"aP":[],"i":[]},"oB":{"aW":["hr"],"aJ":["hr"],"aJ.T":"hr","aW.T":"hr"},"ub":{"a2":[],"i":[]},"rt":{"aU":[],"i":[]},"LI":{"af":["ub"]},"zM":{"a2":[],"i":[]},"lZ":{"af":["zM"]},"No":{"b_":[],"at":[],"i":[]},"Qj":{"H":[],"aE":["H"],"G":[],"he":[],"al":[]},"S1":{"aU":[],"i":[]},"aEy":{"cY":[],"b3":[],"aP":[],"i":[]},"RI":{"ae":[]},"d4":{"bT":[]},"hv":{"bT":[]},"Ei":{"bT":[]},"dU":{"bT":[]},"e5":{"bT":[]},"fo":{"hH":[]},"jq":{"lT":[]},"dr":{"d4":[],"bT":[]},"l0":{"w":[]},"aL":{"cQ":[]},"eS":{"cQ":[]},"mg":{"cQ":[]},"E3":{"hS":["im"]},"um":{"hS":["im"],"hS.T":"im"},"d_":{"d4":[],"bT":[]},"eh":{"d4":[],"bT":[]},"ew":{"d4":[],"bT":[]},"ei":{"d4":[],"bT":[]},"ej":{"d4":[],"bT":[]},"rr":{"jH":[],"he":[],"al":[]},"LY":{"ae":[]},"MT":{"jW":[]},"QH":{"ob":[],"aE":["H"],"G":[],"al":[]},"kT":{"jD":[]},"H":{"G":[],"al":[]},"kS":{"iB":["H"]},"en":{"c9":[]},"uX":{"en":[],"ds":["1"],"c9":[]},"hf":{"en":[],"ds":["H"],"c9":[]},"y8":{"cK":["H","hf"],"H":[],"ab":["H","hf"],"G":[],"al":[],"ab.1":"hf","cK.1":"hf","ab.0":"H"},"Fb":{"ae":[]},"y9":{"H":[],"aE":["H"],"G":[],"al":[]},"yb":{"H":[],"G":[],"al":[]},"dK":{"en":[],"ds":["H"],"c9":[]},"oa":{"cK":["H","dK"],"H":[],"ab":["H","dK"],"G":[],"al":[],"ab.1":"dK","cK.1":"dK","ab.0":"H"},"ye":{"H":[],"G":[],"al":[]},"m_":{"iK":[]},"HZ":{"iK":[]},"wm":{"iK":[]},"iG":{"en":[],"ds":["H"],"c9":[]},"yg":{"cK":["H","iG"],"H":[],"ab":["H","iG"],"G":[],"al":[],"ab.1":"iG","cK.1":"iG","ab.0":"H"},"HB":{"ae":[]},"G":{"al":[]},"ds":{"c9":[]},"QL":{"eA":[]},"AO":{"eA":[]},"p_":{"eA":[]},"lY":{"ds":["H"],"c9":[]},"j9":{"dx":[],"ae":[]},"lI":{"H":[],"ab":["H","lY"],"G":[],"al":[],"ab.1":"lY","ab.0":"H"},"Bp":{"cf":[],"cG":[],"cF":[]},"IF":{"H":[],"G":[],"he":[],"al":[]},"op":{"ae":[]},"y3":{"H":[],"aE":["H"],"G":[],"al":[]},"k4":{"H":[],"aE":["H"],"G":[],"al":[]},"Jk":{"H":[],"aE":["H"],"G":[],"al":[]},"yl":{"H":[],"aE":["H"],"G":[],"al":[]},"o9":{"H":[],"aE":["H"],"G":[],"al":[]},"Je":{"H":[],"aE":["H"],"G":[],"al":[]},"y6":{"H":[],"aE":["H"],"G":[],"al":[]},"yf":{"H":[],"aE":["H"],"G":[],"al":[]},"Jg":{"H":[],"aE":["H"],"G":[],"al":[]},"J6":{"H":[],"aE":["H"],"G":[],"al":[]},"v3":{"ae":[]},"tq":{"H":[],"aE":["H"],"G":[],"al":[]},"J9":{"H":[],"aE":["H"],"G":[],"al":[]},"J8":{"H":[],"aE":["H"],"G":[],"al":[]},"BJ":{"H":[],"aE":["H"],"G":[],"al":[]},"Jh":{"H":[],"aE":["H"],"G":[],"al":[]},"Ji":{"H":[],"aE":["H"],"G":[],"al":[]},"Ja":{"H":[],"aE":["H"],"G":[],"al":[]},"Js":{"H":[],"aE":["H"],"G":[],"al":[]},"yc":{"H":[],"aE":["H"],"G":[],"al":[]},"Jc":{"H":[],"aE":["H"],"G":[],"al":[]},"Jj":{"H":[],"aE":["H"],"G":[],"al":[]},"yh":{"H":[],"aE":["H"],"G":[],"he":[],"al":[]},"Jm":{"H":[],"aE":["H"],"G":[],"al":[]},"yd":{"H":[],"aE":["H"],"G":[],"al":[]},"yi":{"H":[],"aE":["H"],"G":[],"al":[]},"ym":{"H":[],"aE":["H"],"G":[],"al":[]},"J7":{"H":[],"aE":["H"],"G":[],"al":[]},"Jf":{"H":[],"aE":["H"],"G":[],"al":[]},"Jb":{"H":[],"aE":["H"],"G":[],"al":[]},"Jd":{"H":[],"aE":["H"],"G":[],"al":[]},"y5":{"H":[],"aE":["H"],"G":[],"al":[]},"dx":{"ae":[]},"qO":{"H":[],"aE":["H"],"G":[],"al":[]},"yj":{"H":[],"aE":["H"],"G":[],"al":[]},"J5":{"H":[],"aE":["H"],"G":[],"al":[]},"yk":{"H":[],"aE":["H"],"G":[],"al":[]},"ya":{"H":[],"aE":["H"],"G":[],"al":[]},"r9":{"jD":[]},"ka":{"lW":[],"ds":["cl"],"c9":[]},"cl":{"G":[],"al":[]},"Km":{"iB":["cl"]},"zc":{"c9":[]},"lW":{"c9":[]},"Jn":{"lJ":[],"cl":[],"ab":["H","fN"],"G":[],"al":[],"ab.1":"fN","ab.0":"H"},"Jo":{"lJ":[],"cl":[],"ab":["H","fN"],"G":[],"al":[]},"Jp":{"lJ":[],"cl":[],"ab":["H","fN"],"G":[],"al":[],"ab.1":"fN","ab.0":"H"},"iD":{"c9":[]},"fN":{"ds":["H"],"iD":[],"c9":[]},"lJ":{"cl":[],"ab":["H","fN"],"G":[],"al":[]},"yn":{"cl":[],"aE":["cl"],"G":[],"al":[]},"Jq":{"cl":[],"aE":["cl"],"G":[],"al":[]},"dP":{"en":[],"ds":["H"],"c9":[]},"yo":{"cK":["H","dP"],"H":[],"ab":["H","dP"],"G":[],"al":[],"ab.1":"dP","cK.1":"dP","ab.0":"H"},"KU":{"H":[],"G":[],"al":[]},"ob":{"aE":["H"],"G":[],"al":[]},"qP":{"j7":["1"],"H":[],"ab":["cl","1"],"J4":[],"G":[],"al":[]},"yp":{"j7":["ka"],"H":[],"ab":["cl","ka"],"J4":[],"G":[],"al":[],"ab.1":"ka","j7.0":"ka","ab.0":"cl"},"fc":{"ae":[]},"j2":{"en":[],"ds":["H"],"c9":[]},"yq":{"cK":["H","j2"],"H":[],"ab":["H","j2"],"G":[],"al":[],"ab.1":"j2","cK.1":"j2","ab.0":"H"},"oC":{"a7":["~"]},"zH":{"bR":[]},"kk":{"cs":["kk"]},"ig":{"cs":["ig"]},"kv":{"cs":["kv"]},"r3":{"cs":["r3"]},"R4":{"cW":[]},"K7":{"ae":[]},"qv":{"cs":["r3"]},"oJ":{"US":[]},"jK":{"h7":[]},"nA":{"h7":[]},"qk":{"h7":[]},"fI":{"bR":[]},"x5":{"bR":[]},"iV":{"cu":[]},"MX":{"cu":[]},"OX":{"qr":[]},"OW":{"cu":[]},"RJ":{"qr":[]},"hZ":{"du":[]},"lH":{"k3":[]},"qK":{"k3":[]},"yu":{"ae":[]},"Ph":{"zz":[]},"oQ":{"nW":[]},"jl":{"a2":[],"i":[]},"A_":{"b3":[],"aP":[],"i":[]},"amN":{"aR":[]},"aAg":{"aR":[]},"aAf":{"aR":[]},"pk":{"aR":[]},"pw":{"aR":[]},"iv":{"aR":[]},"k1":{"aR":[]},"fs":{"bn":["1"]},"mN":{"bn":["1"],"bn.T":"1"},"A0":{"af":["jl"]},"Lm":{"bn":["amN"],"bn.T":"amN"},"FB":{"bn":["aR"],"bn.T":"aR"},"Fx":{"bn":["iv"]},"IR":{"fs":["k1"],"bn":["k1"],"fs.T":"k1","bn.T":"k1"},"Bk":{"fs":["1"],"Pa":["1"],"bn":["1"],"fs.T":"1","bn.T":"1"},"Aj":{"bn":["1"],"bn.T":"1"},"ug":{"b_":[],"at":[],"i":[]},"zW":{"a2":[],"i":[]},"CM":{"af":["zW"],"e1":[]},"q3":{"a2":[],"i":[]},"AI":{"af":["q3<1>"]},"pr":{"a2":[],"i":[]},"A5":{"af":["pr"]},"GW":{"ae":[]},"OZ":{"aU":[],"i":[]},"h2":{"b3":[],"aP":[],"i":[]},"pE":{"b_":[],"at":[],"i":[]},"fm":{"b_":[],"at":[],"i":[]},"kX":{"b_":[],"at":[],"i":[]},"l2":{"b_":[],"at":[],"i":[]},"wH":{"dM":["hf"],"aP":[],"i":[],"dM.T":"hf"},"pp":{"b_":[],"at":[],"i":[]},"lF":{"dM":["dP"],"aP":[],"i":[],"dM.T":"dP"},"azY":{"b3":[],"aP":[],"i":[]},"q7":{"b_":[],"at":[],"i":[]},"Ss":{"eZ":[],"b2":[],"a5":[]},"St":{"b3":[],"aP":[],"i":[]},"HX":{"b_":[],"at":[],"i":[]},"v5":{"b_":[],"at":[],"i":[]},"EO":{"b_":[],"at":[],"i":[]},"Iy":{"b_":[],"at":[],"i":[]},"Iz":{"b_":[],"at":[],"i":[]},"L1":{"b_":[],"at":[],"i":[]},"G6":{"b_":[],"at":[],"i":[]},"Gi":{"b_":[],"at":[],"i":[]},"cJ":{"b_":[],"at":[],"i":[]},"v4":{"e9":[],"at":[],"i":[]},"iS":{"b_":[],"at":[],"i":[]},"h_":{"b_":[],"at":[],"i":[]},"H7":{"b_":[],"at":[],"i":[]},"xp":{"b_":[],"at":[],"i":[]},"P4":{"bv":[],"b2":[],"a5":[]},"GQ":{"b_":[],"at":[],"i":[]},"Kp":{"b_":[],"at":[],"i":[]},"H8":{"e9":[],"at":[],"i":[]},"zi":{"e9":[],"at":[],"i":[]},"IK":{"aU":[],"i":[]},"vW":{"e9":[],"at":[],"i":[]},"yz":{"e9":[],"at":[],"i":[]},"EX":{"e9":[],"at":[],"i":[]},"G9":{"dM":["dK"],"aP":[],"i":[],"dM.T":"dK"},"vM":{"dM":["dK"],"aP":[],"i":[],"dM.T":"dK"},"Lt":{"e9":[],"at":[],"i":[]},"Jv":{"e9":[],"at":[],"i":[]},"IW":{"at":[],"i":[]},"Hc":{"b_":[],"at":[],"i":[]},"x7":{"b_":[],"at":[],"i":[]},"i1":{"b_":[],"at":[],"i":[]},"DQ":{"b_":[],"at":[],"i":[]},"z_":{"b_":[],"at":[],"i":[]},"x4":{"b_":[],"at":[],"i":[]},"Ef":{"b_":[],"at":[],"i":[]},"vJ":{"b_":[],"at":[],"i":[]},"wp":{"b_":[],"at":[],"i":[]},"iF":{"aU":[],"i":[]},"fp":{"aU":[],"i":[]},"uT":{"b_":[],"at":[],"i":[]},"BB":{"H":[],"aE":["H"],"G":[],"al":[]},"yy":{"i":[]},"yw":{"b2":[],"a5":[]},"Lr":{"iR":[],"al":[]},"Fe":{"b_":[],"at":[],"i":[]},"F1":{"aU":[],"i":[]},"l4":{"cY":[],"b3":[],"aP":[],"i":[]},"P_":{"aU":[],"i":[]},"Fn":{"aU":[],"i":[]},"vj":{"a2":[],"i":[]},"An":{"af":["vj"]},"pO":{"a2":[],"i":[]},"Av":{"af":["pO"]},"cd":{"ae":[]},"l9":{"cd":[],"ae":[]},"LQ":{"e1":[]},"w0":{"ae":[]},"nd":{"a2":[],"i":[]},"AF":{"iC":["cd"],"b3":[],"aP":[],"i":[],"iC.T":"cd"},"rZ":{"af":["nd"]},"w1":{"a2":[],"i":[]},"NH":{"a2":[],"i":[]},"NG":{"af":["nd"]},"w2":{"a2":[],"i":[]},"ami":{"aR":[]},"nS":{"aR":[]},"o6":{"aR":[]},"alk":{"aR":[]},"AG":{"cd":[],"ae":[]},"NI":{"af":["w2"]},"Ju":{"bn":["ami"],"bn.T":"ami"},"HO":{"bn":["nS"],"bn.T":"nS"},"IN":{"bn":["o6"],"bn.T":"o6"},"Fv":{"bn":["alk"],"bn.T":"alk"},"eW":{"e7":[]},"bz":{"eW":["1"],"e7":[]},"a2":{"i":[]},"b2":{"a5":[]},"ho":{"b2":[],"a5":[]},"lz":{"b2":[],"a5":[]},"eZ":{"b2":[],"a5":[]},"nl":{"eW":["1"],"e7":[]},"aU":{"i":[]},"aP":{"i":[]},"dM":{"aP":[],"i":[]},"b3":{"aP":[],"i":[]},"at":{"i":[]},"H4":{"at":[],"i":[]},"b_":{"at":[],"i":[]},"e9":{"at":[],"i":[]},"G0":{"at":[],"i":[]},"uU":{"b2":[],"a5":[]},"Kx":{"b2":[],"a5":[]},"xU":{"b2":[],"a5":[]},"bv":{"b2":[],"a5":[]},"H3":{"bv":[],"b2":[],"a5":[]},"z6":{"bv":[],"b2":[],"a5":[]},"fF":{"bv":[],"b2":[],"a5":[]},"Jt":{"bv":[],"b2":[],"a5":[]},"OY":{"b2":[],"a5":[]},"P0":{"i":[]},"lG":{"a2":[],"i":[]},"qJ":{"af":["lG"]},"cR":{"nk":["1"]},"Gm":{"aU":[],"i":[]},"NP":{"b_":[],"at":[],"i":[]},"nn":{"a2":[],"i":[]},"t6":{"af":["nn"]},"wc":{"nR":[]},"lc":{"aU":[],"i":[]},"ns":{"cY":[],"b3":[],"aP":[],"i":[]},"wk":{"a2":[],"i":[]},"AN":{"af":["wk"],"e1":[]},"mM":{"aW":["cE?"],"aJ":["cE?"],"aJ.T":"cE?","aW.T":"cE?"},"oA":{"aW":["m"],"aJ":["m"],"aJ.T":"m","aW.T":"m"},"u8":{"a2":[],"i":[]},"ua":{"a2":[],"i":[]},"Fh":{"aW":["hH"],"aJ":["hH"],"aJ.T":"hH","aW.T":"hH"},"vv":{"aW":["aL"],"aJ":["aL"],"aJ.T":"aL","aW.T":"aL"},"GM":{"a2":[],"i":[]},"qd":{"af":["1"]},"pm":{"af":["1"]},"LG":{"af":["u8"]},"LH":{"af":["ua"]},"h6":{"b3":[],"aP":[],"i":[]},"wr":{"eZ":[],"b2":[],"a5":[]},"iC":{"b3":[],"aP":[],"i":[]},"t9":{"eZ":[],"b2":[],"a5":[]},"cY":{"b3":[],"aP":[],"i":[]},"Ma":{"aU":[],"i":[]},"AX":{"b3":[],"aP":[],"i":[]},"wO":{"a2":[],"i":[]},"SD":{"f1":["zX"],"f1.T":"zX"},"Fp":{"zX":[]},"Ot":{"af":["wO"]},"aqJ":{"b3":[],"aP":[],"i":[]},"iI":{"h6":["dT"],"b3":[],"aP":[],"i":[],"h6.T":"dT"},"B5":{"a2":[],"i":[]},"OA":{"af":["B5"],"e1":[]},"rL":{"cf":[],"cG":[],"cF":[]},"Hz":{"aU":[],"i":[]},"LN":{"nk":["rL"]},"OK":{"aU":[],"i":[]},"HN":{"aU":[],"i":[]},"amc":{"i2":[]},"no":{"b3":[],"aP":[],"i":[]},"xi":{"a2":[],"i":[]},"iJ":{"af":["xi"]},"th":{"mi":[]},"tg":{"mi":[]},"Be":{"mi":[]},"Bf":{"mi":[]},"NT":{"j":["fU"],"ae":[],"j.E":"fU"},"NV":{"dO":["aD>?"],"ae":[]},"cI":{"aP":[],"i":[]},"Bi":{"b2":[],"a5":[]},"jS":{"ae":[]},"kr":{"a2":[],"i":[]},"Bj":{"af":["kr"]},"qw":{"a2":[],"i":[]},"qy":{"af":["qw"]},"mo":{"H":[],"ab":["H","dP"],"G":[],"al":[],"ab.1":"dP","ab.0":"H"},"xr":{"a2":[],"i":[]},"mj":{"fB":["mj"],"fB.E":"mj"},"oV":{"b3":[],"aP":[],"i":[]},"mn":{"H":[],"aE":["H"],"G":[],"al":[],"fB":["mn"],"fB.E":"mn"},"BH":{"H":[],"aE":["H"],"G":[],"al":[]},"Cx":{"e9":[],"at":[],"i":[]},"RW":{"bv":[],"b2":[],"a5":[]},"tC":{"dP":[],"en":[],"ds":["H"],"c9":[]},"P8":{"af":["xr"]},"tj":{"at":[],"i":[]},"P7":{"bv":[],"b2":[],"a5":[]},"MW":{"b_":[],"at":[],"i":[]},"w9":{"a2":[],"i":[]},"zm":{"a2":[],"i":[]},"AL":{"af":["w9"]},"AK":{"ae":[]},"NQ":{"ae":[]},"Co":{"af":["zm"]},"Cn":{"ae":[]},"xs":{"fb":[]},"arb":{"dS":["1"],"e7":[]},"qA":{"aU":[],"i":[]},"xu":{"a2":[],"i":[]},"I2":{"ae":[]},"I3":{"i3":[]},"mk":{"k8":[],"fc":[],"ae":[],"i3":[]},"Pc":{"af":["xu"]},"xt":{"fD":["1"],"dR":["1"],"cn":["1"]},"xO":{"a2":[],"i":[]},"qC":{"at":[],"i":[]},"Gz":{"aU":[],"i":[]},"Bq":{"af":["xO"]},"Pj":{"H":[],"aE":["H"],"G":[],"al":[]},"Pi":{"b_":[],"at":[],"i":[]},"qH":{"b3":[],"aP":[],"i":[]},"lL":{"a2":[],"i":[]},"zR":{"b3":[],"aP":[],"i":[]},"yx":{"a2":[],"i":[]},"dO":{"ae":[]},"QF":{"af":["lL"]},"BS":{"af":["yx"]},"bI":{"dO":["1"],"ae":[]},"ie":{"bI":["1"],"dO":["1"],"ae":[]},"BQ":{"ie":["1"],"bI":["1"],"dO":["1"],"ae":[]},"yt":{"ie":["1"],"bI":["1"],"dO":["1"],"ae":[],"bI.T":"1","ie.T":"1"},"ys":{"ie":["O"],"bI":["O"],"dO":["O"],"ae":[],"bI.T":"O","ie.T":"O"},"Jz":{"a2":[],"i":[]},"aKk":{"aN2":["a7"]},"ts":{"af":["Jz<1>"]},"QN":{"b3":[],"aP":[],"i":[]},"QC":{"bI":["lM?"],"dO":["lM?"],"ae":[],"bI.T":"lM?"},"B8":{"h6":["an_"],"b3":[],"aP":[],"i":[],"h6.T":"an_"},"tf":{"a2":[],"i":[]},"mh":{"af":["tf<1>"]},"qx":{"cn":["1"]},"dR":{"cn":["1"]},"N3":{"bn":["iv"],"bn.T":"iv"},"fD":{"dR":["1"],"cn":["1"]},"xQ":{"fD":["1"],"dR":["1"],"cn":["1"]},"JD":{"aU":[],"i":[]},"yH":{"hS":["1"],"hS.T":"1"},"yI":{"b3":[],"aP":[],"i":[]},"qZ":{"ae":[]},"tv":{"a2":[],"i":[]},"tu":{"dS":["e7"],"e7":[],"dS.T":"e7"},"C8":{"af":["tv"]},"vV":{"i3":[]},"ev":{"h9":[],"fb":[]},"hl":{"ev":[],"h9":[],"fb":[]},"yM":{"ev":[],"h9":[],"fb":[]},"iL":{"ev":[],"h9":[],"fb":[]},"k7":{"ev":[],"h9":[],"fb":[]},"Lf":{"ev":[],"h9":[],"fb":[]},"BZ":{"b3":[],"aP":[],"i":[]},"mf":{"fB":["mf"],"fB.E":"mf"},"yL":{"a2":[],"i":[]},"JU":{"af":["yL"]},"k8":{"fc":[],"ae":[],"i3":[]},"of":{"fb":[]},"oi":{"k8":[],"fc":[],"ae":[],"i3":[]},"JV":{"aU":[],"i":[]},"Em":{"aU":[],"i":[]},"H9":{"aU":[],"i":[]},"yO":{"a2":[],"i":[]},"C0":{"b3":[],"aP":[],"i":[]},"C2":{"a2":[],"i":[]},"yP":{"af":["yO"]},"QV":{"af":["C2"]},"C1":{"ae":[]},"QU":{"b_":[],"at":[],"i":[]},"Qs":{"H":[],"aE":["H"],"G":[],"al":[]},"QD":{"bI":["Q?"],"dO":["Q?"],"ae":[],"bI.T":"Q?"},"eu":{"aR":[]},"qY":{"fs":["eu"],"bn":["eu"],"fs.T":"eu","bn.T":"eu"},"qL":{"a2":[],"i":[]},"jd":{"f8":[],"cf":[],"cG":[],"cF":[]},"mr":{"fT":[],"fu":[],"cf":[],"cG":[],"cF":[]},"mb":{"fy":[],"fu":[],"cf":[],"cG":[],"cF":[]},"yQ":{"ae":[]},"iO":{"af":["1"]},"qs":{"ae":[]},"oj":{"a2":[],"i":[]},"r1":{"b3":[],"aP":[],"i":[]},"R1":{"dx":[],"af":["oj"],"ae":[]},"K0":{"ae":[]},"z4":{"a2":[],"i":[]},"R9":{"af":["z4"]},"Ra":{"h6":["J"],"b3":[],"aP":[],"i":[],"h6.T":"J"},"a0":{"r7":[]},"os":{"a2":[],"i":[]},"z5":{"a2":[],"i":[]},"r8":{"ae":[]},"Cb":{"af":["os"]},"Kb":{"ae":[]},"Ca":{"af":["z5"]},"Rd":{"b3":[],"aP":[],"i":[]},"tx":{"b_":[],"at":[],"i":[]},"Kd":{"aU":[],"i":[]},"Rj":{"bv":[],"b2":[],"a5":[]},"BN":{"H":[],"aE":["H"],"J4":[],"G":[],"al":[]},"Kq":{"at":[],"i":[]},"ou":{"at":[],"i":[]},"Ko":{"ou":[],"at":[],"i":[]},"ra":{"bv":[],"b2":[],"a5":[]},"wC":{"dM":["iD"],"aP":[],"i":[],"dM.T":"iD"},"Kk":{"aU":[],"i":[]},"Rl":{"ou":[],"at":[],"i":[]},"Rm":{"b_":[],"at":[],"i":[]},"Qu":{"cl":[],"aE":["cl"],"G":[],"al":[]},"zd":{"ae":[]},"Kt":{"b_":[],"at":[],"i":[]},"tr":{"H":[],"aE":["H"],"G":[],"al":[]},"Ks":{"ae":[]},"MU":{"ae":[]},"arF":{"H":[],"aE":["H"],"G":[],"al":[]},"KI":{"b_":[],"at":[],"i":[]},"Jr":{"H":[],"aE":["H"],"G":[],"al":[]},"Ng":{"cF":[]},"pN":{"cY":[],"b3":[],"aP":[],"i":[]},"aA0":{"cY":[],"b3":[],"aP":[],"i":[]},"C6":{"a2":[],"i":[]},"P1":{"aU":[],"i":[]},"cT":{"aU":[],"i":[]},"R0":{"af":["C6"]},"QK":{"aU":[],"i":[]},"C7":{"ae":[]},"FC":{"aR":[]},"Fw":{"aR":[]},"va":{"aR":[]},"vc":{"aR":[]},"vb":{"aR":[]},"Fu":{"aR":[]},"n3":{"aR":[]},"n6":{"aR":[]},"vQ":{"aR":[]},"vK":{"aR":[]},"vL":{"aR":[]},"hP":{"aR":[]},"n7":{"aR":[]},"n8":{"aR":[]},"n5":{"aR":[]},"vP":{"aR":[]},"n4":{"aR":[]},"yN":{"aR":[]},"JZ":{"aR":[]},"uZ":{"aR":[]},"Is":{"aR":[]},"J0":{"aR":[]},"L8":{"aR":[]},"L5":{"aR":[]},"KT":{"at":[],"i":[]},"rv":{"a2":[],"i":[]},"Aw":{"b3":[],"aP":[],"i":[]},"RY":{"af":["rv"]},"Ah":{"ae":[]},"KZ":{"aU":[],"i":[]},"uc":{"a2":[],"i":[]},"n9":{"b_":[],"at":[],"i":[]},"A1":{"af":["uc"]},"Kj":{"a2":[],"i":[]},"Hp":{"a2":[],"i":[]},"JG":{"a2":[],"i":[]},"Jy":{"a2":[],"i":[]},"Ke":{"a2":[],"i":[]},"Ff":{"a2":[],"i":[]},"nE":{"a2":[],"i":[]},"DX":{"a2":[],"i":[]},"kg":{"a2":[],"i":[]},"tH":{"af":["kg<1>"]},"zU":{"a2":[],"i":[]},"p0":{"b3":[],"aP":[],"i":[]},"Bo":{"b3":[],"aP":[],"i":[]},"Sz":{"af":["zU"],"e1":[]},"IZ":{"aU":[],"i":[]},"Bu":{"at":[],"i":[]},"Q2":{"bv":[],"b2":[],"a5":[]},"Am":{"eW":["1"],"e7":[]},"oI":{"e9":[],"at":[],"i":[]},"SA":{"bv":[],"b2":[],"a5":[]},"Ln":{"w":[],"bs":["w"]},"CL":{"w":[],"bs":["w"]},"Lo":{"cu":[],"bs":["cu"]},"Nl":{"cu":[],"bs":["cu"]},"Oq":{"bs":["cy?"]},"AV":{"bs":["1?"]},"bF":{"bs":["1"]},"dl":{"bs":["1"]},"Lp":{"ae":[]},"rI":{"a2":[],"i":[]},"SE":{"af":["rI"]},"JH":{"d2":[]},"JI":{"d2":[]},"JJ":{"d2":[]},"JK":{"d2":[]},"JL":{"d2":[]},"JM":{"d2":[]},"JN":{"d2":[]},"JO":{"d2":[]},"JP":{"d2":[]},"DP":{"aU":[],"i":[]},"mP":{"a2":[],"i":[]},"A9":{"af":["mP"],"e1":[]},"I1":{"ae":[]},"wd":{"a2":[],"i":[]},"qt":{"aU":[],"i":[]},"NU":{"af":["wd"]},"wf":{"a2":[],"i":[]},"NW":{"af":["wf"]},"HF":{"aU":[],"i":[]},"k5":{"a2":[],"i":[]},"QG":{"af":["k5"]},"ox":{"a2":[],"i":[]},"nP":{"aU":[],"i":[]},"RN":{"af":["ox"]},"Hy":{"bR":[]},"m9":{"c5":["1"],"c5.T":"1"},"Nj":{"m9":["1"],"c5":["1"],"c5.T":"1"},"Ay":{"i6":["1"]},"hi":{"aNj":["1"]},"aC_":{"a2":[],"i":[]},"aAx":{"a2":[],"i":[]},"aAy":{"af":["aAx"]},"aFK":{"b3":[],"aP":[],"i":[]},"aBM":{"nW":[]}}')) +A.aFT(v.typeUniverse,JSON.parse('{"eU":1,"ki":1,"Kh":1,"Ki":1,"FP":1,"Gf":1,"wo":1,"vU":1,"Lb":1,"rz":1,"CY":2,"uW":1,"wJ":1,"qu":1,"fw":1,"ku":1,"RH":1,"LT":1,"MY":1,"m7":1,"tm":1,"Rz":1,"Sw":2,"wR":2,"Rw":2,"Rv":2,"Cg":2,"Ch":1,"Ci":1,"CG":2,"EE":1,"EW":2,"uY":2,"NM":3,"Cp":1,"cs":1,"p1":1,"vN":1,"Fk":1,"kN":1,"pI":1,"Ae":1,"Af":1,"Ag":1,"xy":1,"CW":1,"Ak":1,"ez":1,"it":1,"vg":1,"xK":2,"Hn":1,"B2":1,"tI":1,"xP":1,"uX":1,"Ai":1,"H1":1,"ds":1,"f4":1,"y4":1,"v3":1,"tq":1,"BJ":1,"qP":1,"Cs":1,"D4":1,"mJ":1,"FA":1,"qd":1,"pm":1,"t8":1,"amc":1,"L4":1,"Fo":1,"arb":1,"xt":1,"dO":1,"iQ":1,"BQ":1,"tJ":1,"aCR":1,"qx":1,"Hd":1,"xQ":1,"oS":1,"tp":1,"lU":1,"eg":1,"Ah":1,"IT":1,"zF":1,"YX":1}')) +var u={q:"\x10@\x100@@\xa0\x80 0P`pPP\xb1\x10@\x100@@\xa0\x80 0P`pPP\xb0\x11@\x100@@\xa0\x80 0P`pPP\xb0\x10@\x100@@\xa0\x80 1P`pPP\xb0\x10A\x101AA\xa1\x81 1QaqQQ\xb0\x10@\x100@@\xa0\x80 1Q`pPP\xb0\x10@\x100@@\xa0\x80 1QapQP\xb0\x10@\x100@@\xa0\x80 1PaqQQ\xb0\x10\xe0\x100@@\xa0\x80 1P`pPP\xb0\xb1\xb1\xb1\xb1\x91\xb1\xc1\x81\xb1\xb1\xb1\xb1\xb1\xb1\xb1\xb1\x10@\x100@@\xd0\x80 1P`pPP\xb0\x11A\x111AA\xa1\x81!1QaqQQ\xb1\x10@\x100@@\x90\x80 1P`pPP\xb0",S:" 0\x10000\xa0\x80\x10@P`p`p\xb1 0\x10000\xa0\x80\x10@P`p`p\xb0 0\x10000\xa0\x80\x11@P`p`p\xb0 1\x10011\xa0\x80\x10@P`p`p\xb0 1\x10111\xa1\x81\x10AQaqaq\xb0 1\x10011\xa0\x80\x10@Qapaq\xb0 1\x10011\xa0\x80\x10@Paq`p\xb0 1\x10011\xa0\x80\x10@P`q`p\xb0 \x91\x100\x811\xa0\x80\x10@P`p`p\xb0 1\x10011\xa0\x81\x10@P`p`p\xb0 1\x100111\x80\x10@P`p`p\xb0!1\x11111\xa1\x81\x11AQaqaq\xb1",r:'"recorder" must not already be associated with another Canvas.',T:"% of the way to being a CircleBorder that is ",N:"' has been assigned during initialization.",K:"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",U:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",O:"An unknown error occurred when fetching the camera stream.",t:"Broadcast stream controllers do not support pause callbacks",c:"Cannot fire new event. Controller is already firing an event",I:'E533333333333333333333333333DDDDDDD4333333333333333333334C43333CD53333333333333333333333UEDTE4\x933343333\x933333333333333333333333333D433333333333333333CDDEDDD43333333S5333333333333333333333C333333D533333333333333333333333SUDDDDT5\x9933CD4E333333333333333333333333UEDDDDE433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333TUUS5CT\x94\x95E3333333333333333333333333333333333333333333333333333333333333333333333SUDD3DUU43533333333333333333C3333333333333w733337333333s3333333w7333333333w33333333333333333333CDDTETE43333ED4S5SE3333C33333D33333333333334E433C3333333C33333333333333333333333333333CETUTDT533333CDDDDDDDDDD3333333343333333D$433333333333333333333333SUDTEE433C34333333333333333333333333333333333333333333333333333333333333333333333333333333TUDDDD3333333333CT5333333333333333333333333333DCEUU3U3U5333343333S5CDDD3CDD333333333333333333333333333333333333333333333333333333333333333333333s73333s33333333333""""""""333333339433333333333333CDDDDDDDDDDDDDDDD3333333CDDDDDDDDDDD\x94DDDDDDDDDDDDDDDDDDDDDDDD33333333DDDDDDDD3333333373s333333333333333333333333333333CDTDDDCTE43C4CD3C333333333333333D3C33333\xee\xee\xed\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xed\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xed\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee333333\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb33\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc<3sww73333swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww7333swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww7333333w7333333333333333733333333333333333333333333333sww733333s7333333s3wwwww333333333wwwwwwwwwwwwwwwwwwwwwwwwwwwwgffffffffffffvww7wwwwwwswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww733333333333333333333333swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww7333333333333333333333333333333333333333333333333333333333swwwww7333333333333333333333333333333333333333333wwwwwwwwwwwwwwwwwwwww7swwwwwss33373733s33333w33333CT333333333333333EDTETD433333333#\x14"333333333333"""233333373ED4U5UE9333C33333D33333333333333www3333333s73333333333EEDDDCC3DDDDUUUDDDDD3T5333333333333333333333333333CCU3333333333333333333333333333334EDDD33SDD4D5U4333333333C43333333333CDDD9DDD3DCD433333333C433333333333333C433333333333334443SEUCUSE4333D33333C43333333533333CU33333333333333333333333333334EDDDD3CDDDDDDDDDDDDDDDDDDDDDDDDDDD33DDDDDDDDDDDDDDDDDDDDDDDDD33334333333C33333333333DD4DDDDDDD433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CSUUUUUUUUUUUUUUUUUUUUUUUUUUU333CD43333333333333333333333333333333333333333433333U3333333333333333333333333UUUUUUTEDDDDD3333C3333333333333333373333333333s333333333333swwwww33w733wwwwwww73333s33333333337swwwwsw73333wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwDD4D33CDDDDDCDDDDDDDDDDDDDDDDD43EDDDTUEUCDDD33333D33333333333333DDCDDDDCDCDD333333333DT33333333333333D5333333333333333333333333333CSUE4333333333333CDDDDDDDD4333333DT33333333333333333333333CUDDUDU3SUSU43333433333333333333333333ET533E3333SDD3U3U4333D43333C43333333333333s733333s33333333333CTE333333333333333333UUUUDDDDUD3333"""""(\x02"""""""""3333333333333333333DDDD333333333333333333333333CDDDD3333C3333T333333333333333333333334343C33333333333SET334333333333DDDDDDDDDDDDDDDDDDDDDD4DDDDDDDD4CDDDC4DD43333333333333333333333333333333333333333333333333C33333333333333333333333333333333333333333333333333333333333333333333333333333333DDD433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334333333333333333333333333333333DD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333DD433333333333333333333333333333DDD43333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333DDDDDDD533333333333333333333333DDDTTU5D4DD333C433333D333333333333333333333DDD733333s373ss33w7733333ww733333333333ss33333333333333333333333333333ww3333333333333333333333333333wwww33333www33333333333333333333wwww333333333333333wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww333333wwwwwwwwwwwwwwwwwwwwwww7wwwwwswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww73333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333C4""333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333DD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333DDD4333333333333333333333333333333333333333333333333333333DDD4333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333UEDDDTEE43333333333333333333333333333333333333333333333333333CEUDDDE33333333333333333333333333333333333333333333333333CD3DDEDD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333EDDDCDDT43333333333333333333333333333333333333333CDDDDDDDDDD4EDDDETD3333333333333333333333333333333333333333333333333333333333333DDD3CC4DDD\x94433333333333333333333333333333333SUUC4UT4333333333333333333333333333333333333333333333333333#"""""""B333DDDDDDD433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CED3SDD$"""BDDD4CDDD333333333333333DD33333333333333333333333333333333333333333DEDDDUE333333333333333333333333333CCD3D33CD533333333333333333333333333CESEU3333333333333333333DDDD433333CU33333333333333333333333333334DC44333333333333333333333333333CD4DDDDD33333333333333333333DDD\x95DD333343333DDDUD43333333333333333333\x93\x99\x99IDDDDDDE43333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CDDDDDDDDDDDDDDDDDDDDDD4CDDDDDDDDDDD33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333433333333333333333333333333333333333333333333333333333333333333333333333333DD4333333333333333333333333333333333333333333333333333333333333333333""""""33D4D33CD43333333333333333333CD3343333333333333333333333333333333333333333333333333333333333333333333333333333333333D33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CT53333DY333333333333333333333333UDD43UT43333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333D3333333333333333333333333333333333333333D43333333333333333333333333333333333CDDDDD333333333333333333333333CD4333333333333333333333333333333333333333333333333333333333333SUDDDDUDT43333333333343333333333333333333333333333333333333333TEDDTTEETD333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CUDD3UUDE43333333333333D3333333333333333343333333333SE43CD33333333DD33333C33TEDCSUUU433333333S533333CDDDDDU333333\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa:3\x99\x99\x9933333DDDDD4233333333333333333UTEUS433333333CDCDDDDDDEDDD33433C3E433#"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD$"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD$"""""""""""""""2333373r33333333\x93933CDDD4333333333333333CDUUDU53SEUUUD43\xa3\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xba\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xcb\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\f',w:"Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type",V:"Stream has been disposed.\nAn ImageStream is considered disposed once at least one listener has been added and subsequently all listeners have been removed and no handles are outstanding from the keepAlive method.\nTo resolve this error, maintain at least one listener on the stream, or create an ImageStreamCompleterHandle from the keepAlive method, or create a new stream for the image.",p:"SystemChrome.setApplicationSwitcherDescription",u:"There was a problem trying to load FontManifest.json",a:"dev.fluttercommunity.plus/share/unavailable",R:"\u1ac4\u2bb8\u411f\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u3f4f\u0814\u32b6\u32b6\u32b6\u32b6\u1f81\u32b6\u32b6\u32b6\u1bbb\u2f6f\u3cc2\u051e\u32b6\u11d3\u079b\u2c12\u3967\u1b18\u18aa\u392b\u414f\u07f1\u2eb5\u1880\u1123\u047a\u1909\u08c6\u1909\u11af\u2f32\u1a19\u04d1\u19c3\u2e6b\u209a\u1298\u1259\u0667\u108e\u1160\u3c49\u116f\u1b03\u12a3\u1f7c\u121b\u2023\u1840\u34b0\u088a\u3c13\u04b6\u32b6\u41af\u41cf\u41ef\u4217\u32b6\u32b6\u32b6\u32b6\u32b6\u3927\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u18d8\u1201\u2e2e\u15be\u0553\u32b6\u3be9\u32b6\u416f\u32b6\u32b6\u32b6\u1a68\u10e5\u2a59\u2c0e\u205e\u2ef3\u1019\u04e9\u1a84\u32b6\u32b6\u3d0f\u32b6\u32b6\u32b6\u3f4f\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u104e\u076a\u32b6\u07bb\u15dc\u32b6\u10ba\u32b6\u32b6\u32b6\u32b6\u32b6\u1a3f\u32b6\u0cf2\u1606\u32b6\u32b6\u32b6\u0877\u32b6\u32b6\u073d\u2139\u0dcb\u0bcb\u09b3\u0bcb\u0fd9\u20f7\u03e3\u32b6\u32b6\u32b6\u32b6\u32b6\u0733\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u041d\u0864\u32b6\u32b6\u32b6\u32b6\u32b6\u3915\u32b6\u3477\u32b6\u3193\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u20be\u32b6\u36b1\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u2120\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u2f80\u36ac\u369a\u32b6\u32b6\u32b6\u32b6\u1b8c\u32b6\u1584\u1947\u1ae4\u3c82\u1986\u03b8\u043a\u1b52\u2e77\u19d9\u32b6\u32b6\u32b6\u3cdf\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u091e\u090a\u0912\u091a\u0906\u090e\u0916\u093a\u0973\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u3498\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u0834\u32b6\u32b6\u2bb8\u32b6\u32b6\u36ac\u35a6\u32b9\u33d6\u32b6\u32b6\u32b6\u35e5\u24ee\u3847\x00\u0567\u3a12\u2826\u01d4\u2fb3\u29f7\u36f2\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u2bc7\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u1e54\u32b6\u1394\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u2412\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u30b3\u2c62\u3271\u32b6\u32b6\u32b6\u12e3\u32b6\u32b6\u1bf2\u1d44\u2526\u32b6\u2656\u32b6\u32b6\u32b6\u0bcb\u1645\u0a85\u0ddf\u2168\u22af\u09c3\u09c5\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u3f2f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u3d4f\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6\u32b6"} +var t=(function rtii(){var s=A.aj +return{vH:s("ayR"),od:s("bn"),gj:s("ayU"),pC:s("mG"),so:s("cq"),q:s("cq"),ph:s("ug"),s1:s("uj"),vp:s("mI"),S7:s("ul"),jo:s("US"),pR:s("kO"),M1:s("E8"),Al:s("kQ"),m3:s("cE"),k:s("aq"),G:s("en"),Xj:s("azc"),pI:s("Er"),V4:s("cr"),wY:s("mN"),nz:s("mN"),Vr:s("Et"),F6:s("iq"),OY:s("dH"),AX:s("dq"),Ly:s("uB"),Ak:s("Ez"),p7:s("bK?,cn<@>>"),Lh:s("uJ"),XY:s("kY"),p1:s("kZ"),V:s("pB"),z7:s("EK"),m6:s("uN"),E_:s("uO"),Bn:s("mT"),wW:s("hE"),S3:s("aKn"),BQ:s("pC"),nR:s("uQ"),Hz:s("js"),hP:s("eM"),n8:s("w"),qO:s("mV"),li:s("bt"),eL:s("bt"),fF:s("dV"),vn:s("pK"),pU:s("ab>"),lp:s("F3"),d1:s("F4"),H5:s("azR"),HY:s("h0"),ip:s("v5"),I7:s("aKw"),l4:s("azY"),Uf:s("l4"),uy:s("aA0"),yS:s("pN"),BS:s("vd"),x1:s("h1"),EX:s("cW"),JX:s("Fs"),I:s("h2"),ra:s("aKI"),Db:s("app"),yN:s("FF"),uL:s("hL"),zk:s("hM"),Tu:s("aQ"),ML:s("d2"),A0:s("cQ"),Ee:s("W<@>"),W:s("b2"),GB:s("vB"),lz:s("jx"),m1:s("l7"),IH:s("vF"),S9:s("FV"),X8:s("FW"),Q4:s("vG"),Lt:s("bB"),PS:s("vH"),VI:s("bR"),IX:s("hO"),Ie:s("vR"),rq:s("vS"),US:s("dK"),N8:s("vX"),s4:s("Z8"),OE:s("Z9"),Kw:s("Zp"),mx:s("cd"),l5:s("l9"),zq:s("q0"),ia:s("nf"),VW:s("ng"),FK:s("e6"),bY:s("w5"),kr:s("iz"),Uy:s("w6"),_8:s("jC"),fP:s("q3

"),Z9:s("a7"),xd:s("a7(q,aD)"),Ev:s("a7()"),L0:s("a7<@>"),T8:s("a7"),uz:s("a7<~>"),Fp:s("d3"),Lu:s("dt"),El:s("dt"),Ih:s("dt

"),Y:s("q5"),cD:s("cG"),uA:s("cR"),Uv:s("cR"),jn:s("cR"),YC:s("cR"),UN:s("cR"),ok:s("cR"),lh:s("cR"),Bk:s("cR"),Pw:s("cR"),xR:s("nk"),yi:s("eW>"),TX:s("nl"),bT:s("nl>"),rQ:s("aKU"),GF:s("lb"),op:s("lb<~(l8)>"),bq:s("eX"),G7:s("Gv>"),rA:s("nn"),mS:s("no"),AL:s("iB"),Fn:s("jD"),zE:s("al"),gc:s("wg"),Lk:s("aqf"),g5:s("wh"),Oh:s("ns"),lu:s("a00"),dW:s("hT"),SG:s("le"),Bc:s("qe"),ri:s("wq"),IS:s("eZ"),og:s("cY"),WB:s("b3"),JZ:s("a0G"),XO:s("a0H"),pT:s("a0I"),gD:s("lg"),v:s("aR"),nQ:s("lh"),Ya:s("qg"),JY:s("j<@>"),VG:s("j"),lY:s("v>"),QP:s("v"),NS:s("v"),Pv:s("v"),sq:s("v"),X5:s("v"),iW:s("v"),H0:s("v"),qN:s("v"),AT:s("v"),t_:s("v"),td:s("v"),Ug:s("v"),GH:s("v"),UW:s("v"),F:s("v"),vl:s("v

"),Up:s("v"),lX:s("v"),LE:s("v"),_m:s("v"),bp:s("v"),z8:s("v"),Pt:s("v"),uf:s("v"),kZ:s("v>"),no:s("v"),wQ:s("v>"),Rh:s("v>"),mo:s("v>"),iQ:s("v"),DU:s("v"),om:s("v>"),XZ:s("v"),Fa:s("v"),fJ:s("v"),VB:s("v"),VO:s("v"),O_:s("v"),E5:s("v"),J:s("v"),K0:s("v"),CE:s("v"),k5:s("v"),cN:s("v"),s9:s("v"),Y4:s("v"),_f:s("v"),ER:s("v"),uE:s("v>"),i1:s("v>"),zg:s("v>"),Eo:s("v"),H8:s("v"),ss:s("v"),a9:s("v>"),en:s("v"),gG:s("v>"),n4:s("v>"),Xr:s("v"),rE:s("v"),d0:s("v"),YE:s("v"),tc:s("v"),Qg:s("v"),jl:s("v"),yv:s("v"),fy:s("v"),g8:s("v>"),W5:s("v"),nx:s("v"),OB:s("v"),zY:s("v"),OM:s("v>"),wc:s("v"),l:s("v"),tZ:s("v"),D9:s("v"),Y2:s("v"),BD:s("v>"),kG:s("v"),L7:s("v<+representation,targetSize(z9,K)>"),Co:s("v<+(q,zS)>"),jc:s("v<+data,event,timeStamp(N,d,aQ)>"),Nt:s("v<+domSize,representation,targetSize(K,z9,K)>"),AO:s("v"),Pc:s("v"),TT:s("v"),Ry:s("v"),RX:s("v"),QT:s("v"),VM:s("v"),CK:s("v"),vj:s("v"),ZP:s("v"),D1:s("v"),q1:s("v"),QF:s("v"),o4:s("v"),Qo:s("v"),zz:s("v"),fe:s("v"),kO:s("v"),N_:s("v"),Gl:s("v>"),s:s("v"),oU:s("v"),PL:s("v"),Lx:s("v"),FO:s("v>>"),x0:s("v>"),LX:s("v"),E:s("v"),GA:s("v"),FQ:s("v"),Na:s("v"),SW:s("v"),TV:s("v"),Kj:s("v"),CZ:s("v"),mz:s("v"),zj:s("v"),IR:s("v"),m4:s("v"),Ei:s("v"),jE:s("v"),qi:s("v"),uD:s("v"),M6:s("v"),au:s("v"),lb:s("v"),PN:s("v"),Z4:s("v"),cR:s("v"),NM:s("v"),HZ:s("v"),n:s("v"),ee:s("v<@>"),t:s("v

"),oA:s("v"),L:s("v"),ef:s("v"),JK:s("v"),cA:s("v"),ny:s("v?>"),Fi:s("v"),XS:s("v"),Z:s("v"),Zt:s("v()>"),iL:s("v()>"),sA:s("v"),c:s("v<~()>"),SM:s("v<~(J,cg?)>"),ot:s("v<~(bn)>"),A:s("v<~(fX)>"),LY:s("v<~(hA)>"),j1:s("v<~(aQ)>"),s2:s("v<~(nj)>"),Jh:s("v<~(N)>"),bz:s("wz"),m:s("U"),lT:s("f_"),dC:s("bc<@>"),e:s("d"),Hf:s("fz"),Cl:s("iD"),D2:s("e7"),XU:s("iE(h7)"),SQ:s("ql"),Di:s("nB"),jk:s("bz"),ku:s("bz"),hA:s("bz"),C:s("bz>"),af:s("bz"),L6:s("e8"),h_:s("H2"),hz:s("hb"),jQ:s("bl"),cS:s("fB>"),z_:s("nC"),oM:s("nC"),U9:s("iG"),NJ:s("nD"),Rk:s("N"),RI:s("N"),Lc:s("N"),gS:s("N"),EO:s("N"),qC:s("N"),UX:s("N"),LF:s("N"),d_:s("N"),I1:s("N"),xc:s("N"),yp:s("N"),Xw:s("N"),EE:s("N"),j:s("N<@>"),Dn:s("N"),I_:s("ae"),da:s("ls"),r:s("f"),bS:s("aqJ"),UH:s("bo"),q9:s("bo"),sw:s("bo>"),qE:s("bo>"),Dx:s("wQ<@,@>"),kY:s("aD"),nf:s("aD"),GU:s("aD"),a:s("aD"),_P:s("aD"),e3:s("aD"),f:s("aD<@,@>"),xE:s("aD"),d:s("aD"),rr:s("aD<~(aO),bi?>"),C9:s("dZ"),Gf:s("ay"),rB:s("ay"),qn:s("ay"),Tr:s("ay"),iB:s("aC0"),c4:s("nH"),Oc:s("nI"),xV:s("bi"),w:s("iI"),e0:s("du"),xS:s("fE"),Pb:s("cu"),ZA:s("qr"),_h:s("he"),Gw:s("HC"),Wz:s("hf"),Lb:s("e9"),Es:s("nM"),CW:s("hg"),jW:s("lu"),A3:s("fG"),u9:s("jN"),uK:s("iJ"),We:s("jP"),Jc:s("cI"),Tm:s("cI"),w3:s("cI"),ji:s("cI"),WA:s("cI"),kj:s("cI"),Te:s("jQ"),P:s("aY"),K:s("J"),xA:s("J(p)"),_a:s("J(p{params:J?})"),yw:s("bg"),wi:s("bg<~()>"),wS:s("bg<~(bn)>"),Q:s("bg<~(fX)>"),pw:s("nT"),o:s("n"),gY:s("iK"),qt:s("cf"),Ms:s("jS"),N1:s("qy"),Mf:s("qA"),sd:s("amc"),Q2:s("a5G"),Fw:s("dM"),IL:s("dM"),zM:s("dv"),p0:s("xH"),IF:s("xI"),ix:s("cZ"),v3:s("k"),sv:s("jW"),mX:s("aLY"),qa:s("aM_"),ge:s("nX"),Ko:s("nY"),Au:s("iN"),pY:s("jZ"),qL:s("aO"),GG:s("aM8"),XA:s("k_"),n2:s("nZ"),WQ:s("o_"),w5:s("k0"),DB:s("o0"),PB:s("o1"),Mj:s("o2"),xb:s("o3"),ks:s("ea"),oN:s("o4"),f9:s("aCR"),nE:s("lE

"),xF:s("aCS"),ZQ:s("xR"),bb:s("qH"),C0:s("aD7"),yH:s("aP"),YK:s("xX"),jU:s("qL"),pK:s("aMd"),Rp:s("+()"),BZ:s("+(q,e6?)"),Yr:s("+(AT,Q)"),mi:s("+(J?,J?)"),Bb:s("hi"),Qz:s("J1"),MY:s("y3"),NW:s("J4"),x:s("H"),vz:s("qN"),f1:s("yd"),I9:s("G"),F5:s("at"),GM:s("aE"),Wx:s("k4"),nl:s("cl"),Ss:s("lJ"),Cn:s("arF"),Ju:s("ob"),E1:s("yp"),qJ:s("oc"),mg:s("dj"),dZ:s("yt

"),yb:s("dO"),z4:s("cS"),k2:s("yv"),MV:s("cm"),o_:s("cm"),ad:s("yy"),oj:s("qU"),pO:s("cn<@>(a5,J?)"),Sv:s("od"),nY:s("yD"),BL:s("yD"),Np:s("qX"),x5:s("qY"),JE:s("yH"),Cy:s("yI"),sm:s("yQ"),NF:s("aDF"),qd:s("aMk"),NU:s("aMl"),hI:s("aMm"),x9:s("dx"),mb:s("yW"),Wu:s("r1"),_S:s("co"),ZX:s("lQ"),bu:s("c4"),UF:s("om"),g3:s("on"),HS:s("lS"),n5:s("r4<@>"),m2:s("bd"),c8:s("bd"),Ro:s("bd<@>"),RY:s("bT"),jH:s("op"),vS:s("or"),cZ:s("r5"),Vz:s("r7"),yE:s("aMu"),Mp:s("b_"),FW:s("K"),Ws:s("za"),p:s("lV"),Gt:s("ra"),D:s("fN"),M0:s("ou"),jB:s("lW"),B:s("dP"),Km:s("cg"),MF:s("ho"),d2:s("a2"),gU:s("aU"),rK:s("i6"),N:s("q"),u1:s("aE7"),Oz:s("i7"),g:s("rg"),Ci:s("rh"),ky:s("ri"),WT:s("cv"),u4:s("cv"),re:s("cv>"),az:s("cv"),E8:s("cv"),d9:s("cv"),hr:s("cv"),b5:s("cv<~>"),Jx:s("aME"),ZC:s("iV"),ew:s("iW"),iy:s("rq"),tq:s("lY"),em:s("m"),we:s("hr"),ZM:s("oB"),ZF:s("iY>"),Ag:s("iY<@>"),qe:s("ask"),U2:s("aEy"),zW:s("bZ"),Ns:s("kc"),Ni:s("aW"),H7:s("aW"),u:s("ex"),ns:s("kd"),w7:s("abE"),rd:s("rx"),Po:s("abF"),H3:s("iZ"),MX:s("kf"),O:s("ci"),R:s("ey"),j4:s("ey"),kk:s("j_"),lQ:s("zR"),N2:s("rA<@>"),Xu:s("Ld"),V1:s("dS"),BU:s("kg"),j3:s("kg"),GY:s("i9"),KJ:s("rD"),JH:s("rE"),Dg:s("oI"),rS:s("fb"),X3:s("kh"),Hd:s("aF"),FI:s("d6"),Je:s("d6"),ZK:s("d6"),Ri:s("d6"),ow:s("d6"),kE:s("d6<~(J,cg?)>"),Pi:s("rH"),l7:s("i"),EK:s("c_"),W7:s("dl"),XR:s("dl"),QN:s("i(a5,bd,i?)"),T:s("e1"),Uh:s("zX"),Qy:s("j2"),rx:s("fd"),L1:s("A_"),J_:s("m4"),CL:s("oJ"),h8:s("b1"),gM:s("b1"),eG:s("b1"),m_:s("b1"),jT:s("b1>"),Iy:s("b1"),fO:s("b1"),na:s("b1"),yB:s("b1"),EZ:s("b1"),h:s("b1<~>"),ZW:s("rQ"),B6:s("A8"),EG:s("oM"),DC:s("Am>"),UJ:s("N0"),qr:s("kn"),VA:s("Aq"),l3:s("Aw"),Ds:s("Nj"),Sc:s("m9"),Eh:s("AF"),fk:s("t_"),h1:s("t1"),Lv:s("a9"),x_:s("a9"),qc:s("a9"),XC:s("a9"),G4:s("a9>"),cO:s("a9"),dH:s("a9"),lL:s("a9"),LR:s("a9<@>"),wJ:s("a9

"),gg:s("a9"),X6:s("a9"),U:s("a9<~>"),cK:s("t3"),Qu:s("kq"),U3:s("t6"),R9:s("ma"),Fy:s("mc"),Nr:s("AQ"),pp:s("eA"),Sx:s("mf"),pt:s("tc"),Gk:s("AX"),PJ:s("td"),Fe:s("B8"),xg:s("ON"),Tp:s("mi"),Vl:s("mj"),yI:s("kr"),eU:s("tj"),gQ:s("mk"),sZ:s("Bn"),j5:s("Pd"),Li:s("Bo"),bR:s("Bu"),h7:s("j5"),zP:s("d8"),rj:s("BB"),Lj:s("mn"),zd:s("BE"),SN:s("BH"),xL:s("tr"),im:s("mo"),Am:s("oV"),Ez:s("fU"),Pu:s("BU"),yd:s("BZ"),jF:s("C0"),xm:s("Rf"),S8:s("Cm"),c6:s("p_"),mm:s("jb

"),bm:s("jc"),HE:s("tB"),f2:s("Cx"),i9:s("tC"),tH:s("aFK"),_l:s("p0"),mN:s("bF"),Dm:s("bF"),N5:s("bF"),bZ:s("bF"),b:s("bF"),B_:s("bF"),Hw:s("bF"),DH:s("SC"),y:s("O"),i:s("Q"),z:s("@"),C_:s("@(J)"),Hg:s("@(J,cg)"),S:s("p"),s5:s("0&*"),ub:s("J*"),ZU:s("jm?"),Vx:s("dU?"),sa:s("e5?"),eJ:s("mM?"),oI:s("cy?"),CD:s("cr?"),fz:s("kZ?"),eQ:s("pB?"),MB:s("al9?"),L5:s("Wq?"),JG:s("EQ?"),cW:s("Wr?"),xs:s("ES?"),e4:s("Wt?"),EM:s("uR?"),_:s("w?"),YJ:s("is?"),V2:s("h2?"),pc:s("cQ?"),Dv:s("b2?"),e8:s("pS?"),fd:s("aKO?"),Xx:s("n2?"),b3:s("ne?"),pk:s("cd?"),U5:s("e6?"),uZ:s("a7?"),eS:s("Gr?"),_I:s("no?"),gx:s("fy?"),lF:s("cB?"),C6:s("a05?"),Pr:s("lf?"),LO:s("e7?"),Ze:s("qm?"),qU:s("N>?"),Xb:s("N?"),kc:s("N<@>?"),wh:s("N?"),y6:s("f?"),qA:s("hW?"),nA:s("aD?"),Xy:s("aD<@,@>?"),J1:s("aD?"),iD:s("bi?"),WV:s("cu?"),W8:s("nQ?"),X:s("J?"),Ff:s("a5u?"),dJ:s("iK?"),Zr:s("a5v?"),KX:s("d4?"),uR:s("i_?"),xO:s("lz?"),Cp:s("xC?"),p9:s("xD?"),ev:s("xE?"),Gr:s("xF?"),Ll:s("xG?"),mc:s("cZ?"),wb:s("xJ?"),Qv:s("H?"),xP:s("H?(H)"),c_:s("bv?"),ym:s("k4?"),IT:s("cl?"),LQ:s("c4?"),Zi:s("bT?"),TZ:s("oq?"),tW:s("K?"),MR:s("fN?"),lE:s("ho?"),ob:s("q?"),aE:s("rg?"),f3:s("f8?"),p8:s("m?"),Dh:s("oA?"),qf:s("L2?"),ir:s("aW?"),nc:s("iZ?"),Wn:s("fT?"),ju:s("fd?"),av:s("Br?"),Kp:s("mn?"),gW:s("mo?"),JI:s("Cs<@>?"),X7:s("O?"),PM:s("Q?"),bo:s("p?"),Nw:s("~()?"),Jy:s("c1"),H:s("~"),M:s("~()"),CF:s("~(J,cg?)"),Vu:s("~(aQ)"),Su:s("~(l8)"),xt:s("~(N)"),lO:s("~(J)"),hK:s("~(J,cg)"),Ld:s("~(aO)"),iS:s("~(k3)"),HT:s("~(J?)")}})();(function constants(){var s=hunkHelpers.makeConstList +B.CM=J.qh.prototype +B.b=J.v.prototype +B.eB=J.wy.prototype +B.f=J.qi.prototype +B.c=J.lm.prototype +B.d=J.jJ.prototype +B.CZ=J.f_.prototype +B.D_=J.d.prototype +B.qY=A.nQ.prototype +B.f3=A.xa.prototype +B.iE=A.xb.prototype +B.c1=A.xc.prototype +B.R=A.jN.prototype +B.vF=J.IB.prototype +B.jx=J.j_.prototype +B.SL=new A.Uu(0,"unknown") +B.xH=new A.e4(0,1) +B.xI=new A.e4(0,-1) +B.SM=new A.e4(1,0) +B.xJ=new A.e4(1,-1) +B.xK=new A.e4(-1,0) +B.bo=new A.e4(-1,-1) +B.a3=new A.dG(0,0) +B.xL=new A.dG(0,1) +B.xM=new A.dG(0,-1) +B.jV=new A.dG(1,0) +B.xN=new A.dG(-1,0) +B.xO=new A.dG(-1,1) +B.xP=new A.DV(null) +B.fX=new A.DY(0,"normal") +B.fY=new A.DY(1,"preserve") +B.F=new A.fX(0,"dismissed") +B.cg=new A.fX(1,"forward") +B.bp=new A.fX(2,"reverse") +B.T=new A.fX(3,"completed") +B.xQ=new A.po(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.jW=new A.uj(0,"exit") +B.jX=new A.uj(1,"cancel") +B.ch=new A.hA(0,"detached") +B.b6=new A.hA(1,"resumed") +B.cS=new A.hA(2,"inactive") +B.e9=new A.hA(3,"hidden") +B.fZ=new A.hA(4,"paused") +B.h_=new A.uk(0,"polite") +B.h0=new A.uk(1,"assertive") +B.h1=new A.un(!1) +B.J=new A.ps(0,"up") +B.bG=new A.ps(1,"right") +B.H=new A.ps(2,"down") +B.aU=new A.ps(3,"left") +B.aJ=new A.E9(0,"horizontal") +B.ap=new A.E9(1,"vertical") +B.xR=new A.Eb(null) +B.xS=new A.Ea(B.xR,null,null,null,null) +B.xT=new A.uo(null,null,null,null,null,null,null,null) +B.bI=new A.a0O() +B.xU=new A.kQ("flutter/keyevent",B.bI,t.Al) +B.ab=new A.aa1() +B.cT=new A.kQ("flutter/accessibility",B.ab,t.Al) +B.xV=new A.kQ("flutter/system",B.bI,t.Al) +B.hk=new A.aag() +B.xW=new A.kQ("flutter/lifecycle",B.hk,A.aj("kQ")) +B.ez=new A.q1(2,"previous") +B.xX=new A.mK(null,B.ez,0,0) +B.jY=new A.jn(0,0) +B.xY=new A.jn(1,1) +B.xZ=new A.mL(12,"plus") +B.y_=new A.mL(13,"modulate") +B.y0=new A.mL(20,"hardLight") +B.y1=new A.mL(26,"saturation") +B.cU=new A.mL(3,"srcOver") +B.y2=new A.V8(0,"normal") +B.A=new A.aT(0,0) +B.ag=new A.cE(B.A,B.A,B.A,B.A) +B.dN=new A.aT(4,4) +B.h2=new A.cE(B.dN,B.dN,B.dN,B.dN) +B.o=new A.w(4278190080) +B.a9=new A.Eh(0,"none") +B.v=new A.cy(B.o,0,B.a9,-1) +B.a4=new A.Eh(1,"solid") +B.y7=new A.ur(null,null,null,null,null,null,null) +B.y8=new A.us(null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.y9=new A.ut(null,null,null,null,null,null,null,null,null,null,null,null,null) +B.ID=new A.JS(0,"normal") +B.iT=new A.IV(null) +B.ya=new A.uu(B.ID,B.iT) +B.w_=new A.JS(1,"fast") +B.yb=new A.uu(B.w_,B.iT) +B.yc=new A.aq(40,40,40,40) +B.yd=new A.aq(56,56,56,56) +B.ea=new A.aq(0,1/0,0,1/0) +B.ye=new A.aq(36,1/0,36,1/0) +B.SN=new A.aq(88,1/0,36,1/0) +B.yf=new A.aq(96,96,96,96) +B.yg=new A.aq(0,1/0,56,56) +B.yh=new A.aq(112,280,0,1/0) +B.h3=new A.aq(1/0,1/0,1/0,1/0) +B.b7=new A.En(0,"rectangle") +B.eb=new A.fo(B.o,null,null,null,null,null,B.b7) +B.h4=new A.Ej(2,"cover") +B.yi=new A.Ej(6,"scaleDown") +B.jZ=new A.Ek(0,"tight") +B.k_=new A.Ek(5,"strut") +B.k0=new A.En(1,"circle") +B.ec=new A.Vd(0,"tight") +B.a5=new A.Eo(0,"dark") +B.a6=new A.Eo(1,"light") +B.bH=new A.uw(0,"blink") +B.K=new A.uw(1,"webkit") +B.b8=new A.uw(2,"firefox") +B.yj=new A.Vr(1,"padded") +B.yk=new A.ux(null,null,null,null,null,null,null,null,null) +B.k1=new A.uz(0,"normal") +B.yl=new A.uz(1,"accent") +B.ym=new A.uz(2,"primary") +B.yn=new A.Uv() +B.SO=new A.V2() +B.yp=new A.V0() +B.h5=new A.V1() +B.SP=new A.Vg() +B.k2=new A.Vl() +B.T7=new A.a8U(4,"keyboard") +B.k5=new A.uZ() +B.k4=new A.uZ() +B.h6=new A.F9() +B.yq=new A.Xc() +B.SR=new A.Fk() +B.SQ=new A.Fi() +B.yr=new A.Fj() +B.ys=new A.Fl() +B.SS=new A.Fo() +B.yt=new A.Fp() +B.k6=new A.va() +B.ed=new A.va() +B.k7=new A.vb() +B.k8=new A.vb() +B.k9=new A.vc() +B.ee=new A.vc() +B.k=new A.FC() +B.yv=new A.XT() +B.yw=new A.Ym() +B.ka=new A.fv(A.aj("fv")) +B.yx=new A.fv(A.aj("fv")) +B.kb=new A.FP() +B.yy=new A.FS() +B.aa=new A.FS() +B.yz=new A.YQ() +B.kc=new A.vK() +B.kd=new A.vK() +B.yA=new A.vL() +B.yB=new A.vL() +B.h7=new A.n3() +B.h8=new A.n3() +B.ef=new A.n3() +B.eg=new A.n3() +B.ke=new A.n4() +B.kf=new A.n4() +B.h9=new A.n4() +B.ha=new A.n4() +B.kg=new A.hP() +B.kh=new A.hP() +B.yE=new A.hP() +B.yF=new A.hP() +B.cV=new A.hP() +B.cW=new A.hP() +B.yC=new A.hP() +B.yD=new A.hP() +B.ki=new A.n5() +B.kj=new A.n5() +B.yG=new A.n5() +B.yH=new A.n5() +B.yI=new A.vP() +B.yJ=new A.vP() +B.kk=new A.n6() +B.kl=new A.n6() +B.hb=new A.n6() +B.hc=new A.n6() +B.yK=new A.vQ() +B.yL=new A.vQ() +B.eh=new A.n7() +B.ei=new A.n7() +B.cX=new A.n7() +B.cY=new A.n7() +B.hf=new A.n8() +B.hg=new A.n8() +B.hd=new A.n8() +B.he=new A.n8() +B.hh=new A.Gb() +B.ST=new A.Gp() +B.yM=new A.a_i() +B.yN=new A.a_n() +B.Cc=new A.Zc(1,"auto") +B.yO=new A.GP() +B.L=new A.a0N() +B.ay=new A.a0P() +B.km=function getTagFallback(o) { + var s = Object.prototype.toString.call(o); + return s.substring(8, s.length - 1); +} +B.yP=function() { + var toStringFunction = Object.prototype.toString; + function getTag(o) { + var s = toStringFunction.call(o); + return s.substring(8, s.length - 1); + } + function getUnknownTag(object, tag) { + if (/^HTML[A-Z].*Element$/.test(tag)) { + var name = toStringFunction.call(object); + if (name == "[object Object]") return null; + return "HTMLElement"; + } + } + function getUnknownTagGenericBrowser(object, tag) { + if (object instanceof HTMLElement) return "HTMLElement"; + return getUnknownTag(object, tag); + } + function prototypeForTag(tag) { + if (typeof window == "undefined") return null; + if (typeof window[tag] == "undefined") return null; + var constructor = window[tag]; + if (typeof constructor != "function") return null; + return constructor.prototype; + } + function discriminator(tag) { return null; } + var isBrowser = typeof HTMLElement == "function"; + return { + getTag: getTag, + getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, + prototypeForTag: prototypeForTag, + discriminator: discriminator }; +} +B.yU=function(getTagFallback) { + return function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("DumpRenderTree") >= 0) return hooks; + if (userAgent.indexOf("Chrome") >= 0) { + function confirm(p) { + return typeof window == "object" && window[p] && window[p].name == p; + } + if (confirm("Window") && confirm("HTMLElement")) return hooks; + } + hooks.getTag = getTagFallback; + }; +} +B.yQ=function(hooks) { + if (typeof dartExperimentalFixupGetTag != "function") return hooks; + hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); +} +B.yT=function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Firefox") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "GeoGeolocation": "Geolocation", + "Location": "!Location", + "WorkerMessageEvent": "MessageEvent", + "XMLDocument": "!Document"}; + function getTagFirefox(o) { + var tag = getTag(o); + return quickMap[tag] || tag; + } + hooks.getTag = getTagFirefox; +} +B.yS=function(hooks) { + if (typeof navigator != "object") return hooks; + var userAgent = navigator.userAgent; + if (typeof userAgent != "string") return hooks; + if (userAgent.indexOf("Trident/") == -1) return hooks; + var getTag = hooks.getTag; + var quickMap = { + "BeforeUnloadEvent": "Event", + "DataTransfer": "Clipboard", + "HTMLDDElement": "HTMLElement", + "HTMLDTElement": "HTMLElement", + "HTMLPhraseElement": "HTMLElement", + "Position": "Geoposition" + }; + function getTagIE(o) { + var tag = getTag(o); + var newTag = quickMap[tag]; + if (newTag) return newTag; + if (tag == "Object") { + if (window.DataView && (o instanceof window.DataView)) return "DataView"; + } + return tag; + } + function prototypeForTagIE(tag) { + var constructor = window[tag]; + if (constructor == null) return null; + return constructor.prototype; + } + hooks.getTag = getTagIE; + hooks.prototypeForTag = prototypeForTagIE; +} +B.yR=function(hooks) { + var getTag = hooks.getTag; + var prototypeForTag = hooks.prototypeForTag; + function getTagFixed(o) { + var tag = getTag(o); + if (tag == "Document") { + if (!!o.xmlVersion) return "!Document"; + return "!HTMLDocument"; + } + return tag; + } + function prototypeForTagFixed(tag) { + if (tag == "Document") return null; + return prototypeForTag(tag); + } + hooks.getTag = getTagFixed; + hooks.prototypeForTag = prototypeForTagFixed; +} +B.kn=function(hooks) { return hooks; } + +B.az=new A.a0W() +B.yV=new A.a43() +B.yW=new A.x9() +B.yX=new A.a56() +B.yZ=new A.a5i() +B.z_=new A.a5k() +B.z0=new A.a5m() +B.z1=new A.a5p() +B.ko=new A.J() +B.z2=new A.I0() +B.au=new A.ed(0,"android") +B.av=new A.ed(2,"iOS") +B.b5=new A.ed(4,"macOS") +B.ku=new A.Lv() +B.qQ=new A.d3([B.au,B.ku,B.av,B.h6,B.b5,B.h6],A.aj("d3")) +B.z3=new A.I5() +B.z4=new A.Il() +B.hj=new A.xv() +B.kp=new A.Is() +B.z5=new A.a5U() +B.SV=new A.a6m() +B.z7=new A.a6s() +B.kq=new A.J0() +B.z9=new A.a8u() +B.za=new A.JR() +B.zb=new A.yN() +B.zc=new A.yN() +B.zd=new A.a8T() +B.kr=new A.JZ() +B.ze=new A.a9l() +B.a=new A.a9m() +B.bq=new A.aa0() +B.ci=new A.aa4() +B.ah=new A.aa5() +B.zf=new A.aaW() +B.zg=new A.aaZ() +B.zh=new A.ab_() +B.zi=new A.ab0() +B.zj=new A.ab4() +B.zk=new A.ab6() +B.zl=new A.ab7() +B.zm=new A.ab8() +B.Hb=new A.n(0.056,0.024) +B.H7=new A.n(0.108,0.3085) +B.H8=new A.n(0.198,0.541) +B.H6=new A.n(0.3655,1) +B.H5=new A.n(0.5465,0.989) +B.ks=new A.KW() +B.zn=new A.L5() +B.kt=new A.L8() +B.zo=new A.abN() +B.W=new A.abR() +B.b9=new A.abS() +B.cL=new A.Lk(0,0,0,0) +B.Ew=A.b(s([]),A.aj("v")) +B.SW=new A.abV() +B.aD={} +B.qM=new A.bt(B.aD,[],t.li) +B.SX=new A.ac2() +B.cZ=new A.LE() +B.bJ=new A.LF() +B.cj=new A.acI() +B.zp=new A.Ah() +B.zq=new A.MH() +B.kv=new A.MR() +B.zr=new A.adO() +B.zs=new A.adS() +B.SY=new A.MU() +B.d_=new A.MX() +B.d0=new A.ae1() +B.y=new A.ae4() +B.dY=new A.iV("click") +B.c6=new A.iV("basic") +B.d1=new A.Nl() +B.hl=new A.ae6() +B.zt=new A.afq() +B.zu=new A.afr() +B.a2=new A.AW() +B.zv=new A.Ox() +B.aP=new A.ag8() +B.zw=new A.OW() +B.ad=new A.aha() +B.ba=new A.QM() +B.zx=new A.ahu() +B.zy=new A.RE() +B.zz=new A.SD() +B.zA=new A.Es(0,"pixel") +B.zB=new A.Es(1,"viewport") +B.kw=new A.Ev(0,"rear") +B.zC=new A.Ev(1,"front") +B.zD=new A.eo("CameraAccessDenied") +B.kx=new A.eo("cameraAbort") +B.zE=new A.eo("cameraNotFound") +B.zF=new A.eo("cameraNotReadable") +B.zG=new A.eo("cameraOverconstrained") +B.zH=new A.eo("cameraSecurity") +B.zI=new A.eo("cameraType") +B.ky=new A.eo("cameraUnknown") +B.zJ=new A.eo("mediaErrorAborted") +B.zK=new A.eo("mediaErrorDecode") +B.zL=new A.eo("mediaErrorNetwork") +B.zM=new A.eo("mediaErrorSourceNotSupported") +B.zN=new A.eo("mediaErrorUnknown") +B.kz=new A.uA(0,"front") +B.kA=new A.uA(1,"back") +B.hm=new A.uA(2,"external") +B.Rt=new A.rB(null,null,null,null) +B.zO=new A.py(B.h1,B.Rt) +B.zP=new A.mP(null) +B.zQ=new A.Ex("environment",0,"environment") +B.kB=new A.Ex("user",1,"user") +B.zU=new A.uF(null,null,null,null,null,null,null) +B.i=new A.w(4294967295) +B.M6=new A.m(!0,B.i,null,null,null,null,null,null,null,null,2,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.e_=new A.kb(2,"center") +B.Q3=new A.cT("Recognizes MRZ code & extracts data from passports, visas, and ID cards. Supports TD-1, TD-2, TD-3, MRV-A, and MRV-B standards.",null,B.M6,B.e_,null,null,null,null) +B.zV=new A.kX(B.a3,null,null,B.Q3,null) +B.Ta=new A.acf(0,"material") +B.hn=new A.uI(null) +B.zW=new A.kX(B.a3,null,null,B.hn,null) +B.zX=new A.uG(null,null,null,null,null,null,null,null,null) +B.zY=new A.uH(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.zZ=new A.dr(0,B.v) +B.A_=new A.uP(null) +B.A0=new A.uP(B.iT) +B.IR=new A.ok(2,"clear") +B.d2=new A.uQ(B.IR) +B.A1=new A.EN(0,"difference") +B.ej=new A.EN(1,"intersect") +B.z=new A.pD(0,"none") +B.Z=new A.pD(1,"hardEdge") +B.kC=new A.pD(2,"antiAlias") +B.ck=new A.pD(3,"antiAliasWithSaveLayer") +B.d7=new A.w(4291869951) +B.Al=new A.w(4281867890) +B.hw=new A.w(4283381643) +B.eo=new A.w(4293582335) +B.hs=new A.w(4280352861) +B.hz=new A.w(4291609308) +B.Aj=new A.w(4281544001) +B.hv=new A.w(4283057240) +B.en=new A.w(4293451512) +B.hr=new A.w(4280097067) +B.hA=new A.w(4293900488) +B.Ap=new A.w(4282983730) +B.hx=new A.w(4284693320) +B.ep=new A.w(4294957284) +B.ht=new A.w(4281405725) +B.AG=new A.w(4294097077) +B.Aq=new A.w(4284486672) +B.Aw=new A.w(4287372568) +B.kX=new A.w(4294565596) +B.hq=new A.w(4279505432) +B.em=new A.w(4293320937) +B.hu=new A.w(4282991951) +B.Am=new A.w(4282071102) +B.Ac=new A.w(4279176467) +B.bK=new A.w(4280097568) +B.Af=new A.w(4280360742) +B.Ai=new A.w(4281018672) +B.Ak=new A.w(4281742395) +B.kU=new A.w(4291478736) +B.Ax=new A.w(4287860633) +B.kM=new A.w(4281478965) +B.hy=new A.w(4284960932) +B.A2=new A.pF(B.a5,B.d7,B.Al,B.hw,B.eo,B.eo,B.d7,B.hs,B.hw,B.hz,B.Aj,B.hv,B.en,B.en,B.hz,B.hr,B.hv,B.hA,B.Ap,B.hx,B.ep,B.ep,B.hA,B.ht,B.hx,B.AG,B.Aq,B.Aw,B.kX,B.hq,B.em,B.hu,B.hq,B.Am,B.Ac,B.bK,B.Af,B.Ai,B.Ak,B.kU,B.Ax,B.hu,B.o,B.o,B.em,B.kM,B.hy,B.d7,B.hq,B.em) +B.Ar=new A.w(4284636017) +B.Av=new A.w(4286403168) +B.Az=new A.w(4289930782) +B.An=new A.w(4282453515) +B.hB=new A.w(4294899711) +B.AE=new A.w(4293386476) +B.AC=new A.w(4292794593) +B.AJ=new A.w(4294439674) +B.AH=new A.w(4294176247) +B.AF=new A.w(4293715696) +B.Au=new A.w(4286149758) +B.AI=new A.w(4294307831) +B.A3=new A.pF(B.a6,B.hy,B.i,B.eo,B.hs,B.eo,B.d7,B.hs,B.hw,B.Ar,B.i,B.en,B.hr,B.en,B.hz,B.hr,B.hv,B.Av,B.i,B.ep,B.ht,B.ep,B.hA,B.ht,B.hx,B.Az,B.i,B.kX,B.An,B.hB,B.bK,B.AE,B.AC,B.hB,B.i,B.AJ,B.AH,B.AF,B.em,B.hu,B.Au,B.kU,B.o,B.o,B.kM,B.AI,B.d7,B.hy,B.hB,B.bK) +B.M=new A.w(0) +B.kD=new A.w(1087163596) +B.A4=new A.w(134217728) +B.A5=new A.w(1627389952) +B.A6=new A.w(1660944383) +B.kE=new A.w(16777215) +B.ho=new A.w(1723645116) +B.A7=new A.w(1724434632) +B.kF=new A.w(2155905152) +B.B=new A.w(2315255808) +B.A8=new A.w(2583691263) +B.C=new A.w(3019898879) +B.D=new A.w(3707764736) +B.Aa=new A.w(4039164096) +B.kI=new A.w(4279858898) +B.kJ=new A.w(4280191205) +B.Ag=new A.w(4280361249) +B.kK=new A.w(4280391411) +B.kL=new A.w(4281348144) +B.kN=new A.w(4281479732) +B.kP=new A.w(4282532418) +B.kQ=new A.w(4284572001) +B.At=new A.w(4284809178) +B.d5=new A.w(4285887861) +B.kR=new A.w(4287137928) +B.kS=new A.w(4287679225) +B.Ay=new A.w(4288585374) +B.kT=new A.w(4290502395) +B.AA=new A.w(4291611852) +B.AB=new A.w(4292030255) +B.AD=new A.w(4292927712) +B.kV=new A.w(4293128957) +B.kW=new A.w(4294309365) +B.AK=new A.w(4294638330) +B.cl=new A.w(4294872596) +B.AL=new A.w(4294908442) +B.AN=new A.w(436207616) +B.AO=new A.w(520093696) +B.AP=new A.w(536870911) +B.kY=new A.uV(0,"none") +B.AR=new A.uV(1,"waiting") +B.hC=new A.uV(3,"done") +B.bb=new A.mX(0,"start") +B.d8=new A.mX(1,"end") +B.N=new A.mX(2,"center") +B.eq=new A.mX(3,"stretch") +B.er=new A.mX(4,"baseline") +B.kZ=new A.dW(0.35,0.91,0.33,0.97) +B.aV=new A.dW(0.4,0,0.2,1) +B.AS=new A.dW(0.05,0,0.133333,0.06) +B.l_=new A.dW(0.42,0,0.58,1) +B.aA=new A.dW(0.25,0.1,0.25,1) +B.es=new A.dW(0.42,0,1,1) +B.AT=new A.dW(0.208333,0.82,0.25,1) +B.AU=new A.dW(0.67,0.03,0.65,0.09) +B.l0=new A.dW(0.18,1,0.04,1) +B.AW=new A.dW(0.075,0.82,0.165,1) +B.AX=new A.dW(0.77,0,0.175,1) +B.d3=new A.w(1493172224) +B.ek=new A.w(2164260863) +B.AY=new A.eP(B.d3,null,null,B.d3,B.ek,B.d3,B.ek,B.d3,B.ek,B.d3,B.ek,0) +B.d6=new A.w(4288256409) +B.hD=new A.eP(B.d6,"inactiveGray",null,B.d6,B.d5,B.d6,B.d5,B.d6,B.d5,B.d6,B.d5,0) +B.hp=new A.w(4278221567) +B.kH=new A.w(4278879487) +B.kG=new A.w(4278206685) +B.kO=new A.w(4282424575) +B.AZ=new A.eP(B.hp,"systemBlue",null,B.hp,B.kH,B.kG,B.kO,B.hp,B.kH,B.kG,B.kO,0) +B.Ae=new A.w(4280032286) +B.Ah=new A.w(4280558630) +B.l2=new A.eP(B.i,"systemBackground",null,B.i,B.o,B.i,B.o,B.i,B.Ae,B.i,B.Ah,0) +B.d4=new A.w(4042914297) +B.el=new A.w(4028439837) +B.B_=new A.eP(B.d4,null,null,B.d4,B.el,B.d4,B.el,B.d4,B.el,B.d4,B.el,0) +B.l1=new A.eP(B.o,"label",null,B.o,B.i,B.o,B.i,B.o,B.i,B.o,B.i,0) +B.RO=new A.adL(B.l1,B.hD) +B.jG=new A.adM(null,B.AZ,B.l2,B.B_,B.l2,!1,B.RO) +B.bL=new A.v2(B.jG,null,null,null,null,null,null,null) +B.aF=new A.Fa(0,"base") +B.hE=new A.Fa(1,"elevated") +B.B0=new A.X8(1,"latency") +B.B1=new A.v7(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.B2=new A.v8(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.l3=new A.mZ(0,"uninitialized") +B.B3=new A.mZ(1,"initializingServices") +B.l4=new A.mZ(2,"initializedServices") +B.B4=new A.mZ(3,"initializingUi") +B.B5=new A.mZ(4,"initialized") +B.SZ=new A.Xb(1,"traversalOrder") +B.et=new A.Fg(0,"background") +B.B6=new A.Fg(1,"foreground") +B.Sx=new A.P_(null) +B.d9=new A.l4(null,null,null,B.Sx,null) +B.x9=new A.m(!0,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.c7=new A.zA(0,"clip") +B.aE=new A.abi(0,"parent") +B.Sy=new A.P1(null) +B.B7=new A.pN(B.x9,null,!0,B.c7,null,B.aE,null,B.Sy,null) +B.B8=new A.ve(0) +B.eu=new A.n0(0,"portraitUp") +B.hF=new A.n0(1,"landscapeLeft") +B.l5=new A.n0(2,"portraitDown") +B.hG=new A.n0(3,"landscapeRight") +B.aq=new A.vf(3,"info") +B.B9=new A.vf(5,"hint") +B.Ba=new A.vf(6,"summary") +B.T_=new A.ju(1,"sparse") +B.Bb=new A.ju(10,"shallow") +B.Bc=new A.ju(11,"truncateChildren") +B.Bd=new A.ju(5,"error") +B.Be=new A.ju(6,"whitespace") +B.hH=new A.ju(8,"singleLine") +B.bc=new A.ju(9,"errorProperty") +B.Bf=new A.vi(null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Bg=new A.hJ(1,"horizontal") +B.l6=new A.hJ(2,"endToStart") +B.hI=new A.hJ(3,"startToEnd") +B.Bh=new A.hJ(4,"up") +B.l7=new A.hJ(5,"down") +B.l8=new A.hJ(6,"none") +B.Bi=new A.vk(null,null,null,null,null) +B.Bj=new A.FL(0,"down") +B.ar=new A.FL(1,"start") +B.Bk=new A.FN(null) +B.Bl=new A.vr(null,null,null,null,null,null,null,null,null) +B.Bm=new A.vs(null,null,null) +B.r=new A.aQ(0) +B.Bn=new A.aQ(1e4) +B.aW=new A.aQ(1e5) +B.ev=new A.aQ(1e6) +B.Bo=new A.aQ(12e5) +B.Bp=new A.aQ(15e4) +B.Bq=new A.aQ(15e5) +B.Br=new A.aQ(16667) +B.l9=new A.aQ(167e3) +B.a7=new A.aQ(2e5) +B.hJ=new A.aQ(2e6) +B.Bs=new A.aQ(225e3) +B.la=new A.aQ(25e4) +B.Bt=new A.aQ(2961926e3) +B.bd=new A.aQ(3e5) +B.Bu=new A.aQ(3e6) +B.lb=new A.aQ(375e3) +B.Bv=new A.aQ(4e4) +B.hK=new A.aQ(4e5) +B.bM=new A.aQ(4e6) +B.Bw=new A.aQ(5e4) +B.Bx=new A.aQ(5e5) +B.da=new A.aQ(6e5) +B.hL=new A.aQ(75e3) +B.By=new A.aQ(-38e3) +B.Bz=new A.Y4(0,"tonalSpot") +B.as=new A.aL(0,0,0,0) +B.BA=new A.aL(0,0,0,14) +B.BB=new A.aL(0,0,0,23) +B.BC=new A.aL(0,0,20,0) +B.BD=new A.aL(0,0,27,0) +B.BE=new A.aL(0,0,30,0) +B.BF=new A.aL(0,13,0,13) +B.lc=new A.aL(0,13,0,15) +B.BG=new A.aL(0,14,0,14) +B.BH=new A.aL(0,8,0,8) +B.BI=new A.aL(12,0,12,0) +B.BJ=new A.aL(15,0,15,0) +B.BK=new A.aL(15,10,15,0) +B.BL=new A.aL(15,1,15,0) +B.BM=new A.aL(15,5,15,10) +B.db=new A.aL(16,0,16,0) +B.BN=new A.aL(16,13,16,13) +B.BO=new A.aL(16,4,16,4) +B.BP=new A.aL(20,0,0,0) +B.BQ=new A.aL(20,0,20,0) +B.ld=new A.aL(20,0,24,0) +B.le=new A.aL(24,0,24,0) +B.BR=new A.aL(33,30,0,0) +B.BS=new A.aL(33,6,0,44) +B.BT=new A.aL(35,0,0,40) +B.BU=new A.aL(39,50,39,5) +B.BV=new A.aL(44,18,39,0) +B.BW=new A.aL(84,18,0,16) +B.BX=new A.aL(8,4,8,4) +B.lf=new A.aL(8,8,8,8) +B.BY=new A.aL(91,48,91,69) +B.BZ=new A.vz(null) +B.C_=new A.vD(0,"noOpinion") +B.C0=new A.vD(1,"enabled") +B.ew=new A.vD(2,"disabled") +B.C1=new A.FR(null) +B.T0=new A.vH("change",t.PS) +B.T1=new A.vH("error",t.PS) +B.C2=new A.vO(null,null,null,null,null,null,null,null,null,null,null,null,null) +B.hM=new A.n2(0,"auto") +B.C3=new A.n2(1,"locked") +B.C4=new A.na(0) +B.lg=new A.na(1) +B.C5=new A.na(2) +B.C6=new A.na(3) +B.C7=new A.na(4) +B.C8=new A.vT(null) +B.hN=new A.nb(0,"none") +B.ex=new A.nb(1,"low") +B.dc=new A.nb(2,"medium") +B.lh=new A.nb(3,"high") +B.O=new A.K(0,0) +B.C9=new A.G7(B.O,B.O) +B.Ca=new A.Z6(1,"auto") +B.hO=new A.Z7(0,"tight") +B.Cb=new A.pZ(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.hP=new A.l8(0,"touch") +B.ey=new A.l8(1,"traditional") +B.T2=new A.Zr(0,"automatic") +B.hQ=new A.ne(0,"auto") +B.Cd=new A.ne(1,"locked") +B.li=new A.Zv("focus") +B.lk=new A.jB("Invalid method call",null,null) +B.Ci=new A.jB("Invalid envelope",null,null) +B.Cj=new A.jB("Expected envelope, got nothing",null,null) +B.aK=new A.jB("Message corrupted",null,null) +B.ll=new A.q1(0,"ltr") +B.lm=new A.q1(1,"rtl") +B.hS=new A.q1(3,"sandwich") +B.bN=new A.Go(0,"accepted") +B.aG=new A.Go(1,"rejected") +B.ln=new A.nj(0,"pointerEvents") +B.cn=new A.nj(1,"browserGestures") +B.bO=new A.w8(0,"ready") +B.eA=new A.w8(1,"possible") +B.Ck=new A.w8(2,"defunct") +B.lo=new A.Gt(0,"forward") +B.lp=new A.Gt(1,"reverse") +B.bP=new A.q6(0,"push") +B.bQ=new A.q6(1,"pop") +B.br=new A.we(0,"deferToChild") +B.ae=new A.we(1,"opaque") +B.dd=new A.we(2,"translucent") +B.Cn=new A.nr(null) +B.Co=new A.hQ(57490,!0) +B.lq=new A.hQ(58332,!1) +B.hT=new A.cB(null,null,null,null,null,B.i,null,null,null) +B.Ct=new A.cB(null,null,null,null,null,B.o,null,null,null) +B.lr=new A.cB(24,0,400,0,48,B.o,1,null,!1) +B.Cp=new A.hQ(58011,!1) +B.Cv=new A.lc(B.Cp,null,null,null,null) +B.Cq=new A.hQ(58372,!1) +B.Cw=new A.lc(B.Cq,null,null,null,null) +B.Cr=new A.hQ(58771,!1) +B.Cx=new A.lc(B.Cr,null,B.i,null,null) +B.hU=new A.q8(0,"rawRgba") +B.hV=new A.q8(1,"rawStraightRgba") +B.Cy=new A.q8(2,"rawUnmodified") +B.Cz=new A.q8(3,"png") +B.CG=new A.a07(0,"unknown") +B.T3=new A.GK(B.kw,null,null,null,!0) +B.CH=new A.qb(0,"repeat") +B.CI=new A.qb(1,"repeatX") +B.CJ=new A.qb(2,"repeatY") +B.de=new A.qb(3,"noRepeat") +B.CK=new A.GL(0,"camera") +B.CL=new A.GL(1,"gallery") +B.ls=new A.GN(!0,!0,B.qM) +B.CN=new A.dg(0.4,1,B.a2) +B.CO=new A.dg(0.0825,0.2075,B.a2) +B.CQ=new A.dg(0,0.5,B.aV) +B.CP=new A.dg(0.5,1,B.aV) +B.lt=new A.dg(0.5,1,B.aA) +B.AV=new A.dW(0.6,0.04,0.98,0.335) +B.CR=new A.dg(0.4,0.6,B.AV) +B.CT=new A.dg(0,0.1,B.a2) +B.CW=new A.dg(0,0.3333333333333333,B.a2) +B.CU=new A.dg(0,0.6666666666666666,B.a2) +B.CV=new A.dg(0.125,0.25,B.a2) +B.CS=new A.dg(0.6,1,B.a2) +B.CX=new A.dg(0.2075,0.4175,B.a2) +B.CY=new A.dg(0.72,1,B.aV) +B.lu=new A.wx(0,"grapheme") +B.lv=new A.wx(1,"word") +B.lw=new A.a0X(null) +B.D0=new A.a0Y(null,null) +B.D1=new A.GX(0,"rawKeyData") +B.D2=new A.GX(1,"keyDataThenRawKeyData") +B.aX=new A.wD(0,"down") +B.hW=new A.a10(0,"keyboard") +B.D3=new A.f0(B.r,B.aX,0,0,null,!1) +B.df=new A.iE(0,"handled") +B.dg=new A.iE(1,"ignored") +B.eC=new A.iE(2,"skipRemainingHandlers") +B.aL=new A.wD(1,"up") +B.D4=new A.wD(2,"repeat") +B.eX=new A.f(4294967564) +B.D5=new A.ql(B.eX,1,"scrollLock") +B.eW=new A.f(4294967562) +B.hX=new A.ql(B.eW,0,"numLock") +B.dt=new A.f(4294967556) +B.D6=new A.ql(B.dt,2,"capsLock") +B.co=new A.nB(0,"any") +B.be=new A.nB(3,"all") +B.bR=new A.wF(0,"ariaLabel") +B.eF=new A.wF(1,"domText") +B.hY=new A.wF(2,"sizedSpan") +B.D7=new A.a1j(0,"platformDefault") +B.fb=new A.o5(0,"platformDefault") +B.SU=new A.a0y() +B.D8=new A.wG(B.fb,B.ls,null) +B.bS=new A.lo(0,"opportunity") +B.q=new A.lo(1,"prohibited") +B.bs=new A.lo(2,"mandatory") +B.bt=new A.lo(3,"endOfText") +B.hZ=new A.bl(0,"CM") +B.eG=new A.bl(1,"BA") +B.bT=new A.bl(10,"PO") +B.dh=new A.bl(11,"OP") +B.di=new A.bl(12,"CP") +B.eH=new A.bl(13,"IS") +B.dj=new A.bl(14,"HY") +B.i_=new A.bl(15,"SY") +B.bu=new A.bl(16,"NU") +B.i0=new A.bl(17,"CL") +B.i1=new A.bl(18,"GL") +B.lx=new A.bl(19,"BB") +B.dk=new A.bl(2,"LF") +B.aM=new A.bl(20,"HL") +B.eI=new A.bl(21,"JL") +B.dl=new A.bl(22,"JV") +B.dm=new A.bl(23,"JT") +B.i2=new A.bl(24,"NS") +B.i3=new A.bl(25,"ZW") +B.i4=new A.bl(26,"ZWJ") +B.i5=new A.bl(27,"B2") +B.ly=new A.bl(28,"IN") +B.i6=new A.bl(29,"WJ") +B.eJ=new A.bl(3,"BK") +B.i7=new A.bl(30,"ID") +B.eK=new A.bl(31,"EB") +B.dn=new A.bl(32,"H2") +B.dp=new A.bl(33,"H3") +B.i8=new A.bl(34,"CB") +B.eL=new A.bl(35,"RI") +B.eM=new A.bl(36,"EM") +B.eN=new A.bl(4,"CR") +B.cp=new A.bl(5,"SP") +B.lz=new A.bl(6,"EX") +B.i9=new A.bl(7,"QU") +B.aN=new A.bl(8,"AL") +B.eO=new A.bl(9,"PR") +B.D9=new A.wL(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.lA=A.b(s([0,4,12,1,5,13,3,7,15]),t.t) +B.lB=A.b(s([0,1]),t.n) +B.Da=A.b(s([0,6,12,18]),t.t) +B.Dc=A.b(s([0,0,32722,12287,65534,34815,65534,18431]),t.t) +B.eP=A.b(s([0,0,65490,45055,65535,34815,65534,18431]),t.t) +B.dZ=new A.kb(0,"left") +B.jn=new A.kb(1,"right") +B.e0=new A.kb(3,"justify") +B.aH=new A.kb(4,"start") +B.jo=new A.kb(5,"end") +B.Dt=A.b(s([B.dZ,B.jn,B.e_,B.e0,B.aH,B.jo]),A.aj("v")) +B.Dz=A.b(s([0,0,32754,11263,65534,34815,65534,18431]),t.t) +B.RU=new A.ko(0,0) +B.RX=new A.ko(1,0.05) +B.RW=new A.ko(3,0.08) +B.RY=new A.ko(6,0.11) +B.RV=new A.ko(8,0.12) +B.RZ=new A.ko(12,0.14) +B.lC=A.b(s([B.RU,B.RX,B.RW,B.RY,B.RV,B.RZ]),A.aj("v")) +B.DB=A.b(s([4,9,14,19]),t.t) +B.yo=new A.pk() +B.iZ=new A.JT(1,"page") +B.j_=new A.eu(B.H,B.iZ) +B.DT=A.b(s([B.yo,B.j_]),A.aj("v")) +B.jN=new A.BT(0,"named") +B.xE=new A.BT(1,"anonymous") +B.DV=A.b(s([B.jN,B.xE]),A.aj("v")) +B.Cm=new A.wf(null) +B.Cl=new A.wd(null) +B.xG=new A.DP(null) +B.DZ=A.b(s([B.Cm,B.Cl,B.xG]),t.E) +B.E_=A.b(s([B.h_,B.h0]),A.aj("v")) +B.lD=A.b(s([0,0,26624,1023,65534,2047,65534,2047]),t.t) +B.dq=A.b(s([B.ch,B.b6,B.cS,B.e9,B.fZ]),t.QP) +B.Eg=A.b(s([137,80,78,71,13,10,26,10]),t.Z) +B.CA=new A.jF(B.Eg,"image/png") +B.Ec=A.b(s([71,73,70,56,55,97]),t.Z) +B.CE=new A.jF(B.Ec,"image/gif") +B.Ed=A.b(s([71,73,70,56,57,97]),t.Z) +B.CF=new A.jF(B.Ed,"image/gif") +B.Db=A.b(s([255,216,255]),t.Z) +B.CD=new A.jF(B.Db,"image/jpeg") +B.DY=A.b(s([82,73,70,70,null,null,null,null,87,69,66,80]),t.Z) +B.CC=new A.jF(B.DY,"image/webp") +B.DL=A.b(s([66,77]),t.Z) +B.CB=new A.jF(B.DL,"image/bmp") +B.E6=A.b(s([B.CA,B.CE,B.CF,B.CD,B.CC,B.CB]),A.aj("v")) +B.EO=new A.ls("en","US") +B.lE=A.b(s([B.EO]),t.ss) +B.lF=A.b(s([0,0,65490,12287,65535,34815,65534,18431]),t.t) +B.E7=A.b(s(["pointerdown","pointermove","pointerleave","pointerup","pointercancel","touchstart","touchend","touchmove","touchcancel","mousedown","mousemove","mouseleave","mouseup","keyup","keydown"]),t.s) +B.Lm=new A.zo(0,"left") +B.Ln=new A.zo(1,"right") +B.Ee=A.b(s([B.Lm,B.Ln]),A.aj("v")) +B.am=new A.zu(0,"upstream") +B.n=new A.zu(1,"downstream") +B.Ef=A.b(s([B.am,B.n]),A.aj("v")) +B.P=new A.iX(0,"rtl") +B.p=new A.iX(1,"ltr") +B.ia=A.b(s([B.P,B.p]),A.aj("v")) +B.lG=A.b(s([0,0,32776,33792,1,10240,0,0]),t.t) +B.Ej=A.b(s(["click","scroll"]),t.s) +B.hR=new A.h5(0,100) +B.Ce=new A.h5(1,200) +B.Cf=new A.h5(2,300) +B.m=new A.h5(3,400) +B.Q=new A.h5(4,500) +B.Cg=new A.h5(5,600) +B.cm=new A.h5(6,700) +B.Ch=new A.h5(7,800) +B.lj=new A.h5(8,900) +B.lH=A.b(s([B.hR,B.Ce,B.Cf,B.m,B.Q,B.Cg,B.cm,B.Ch,B.lj]),A.aj("v

")) +B.lI=A.b(s([0,0,26498,1023,65534,34815,65534,18431]),t.t) +B.Ey=A.b(s([]),t.QP) +B.Et=A.b(s([]),t.Ug) +B.lL=A.b(s([]),A.aj("v")) +B.EC=A.b(s([]),t.F) +B.EA=A.b(s([]),t.ER) +B.ED=A.b(s([]),t.tc) +B.eQ=A.b(s([]),t.jl) +B.Ev=A.b(s([]),t.fy) +B.Eu=A.b(s([]),A.aj("v>")) +B.ic=A.b(s([]),t.AO) +B.Ex=A.b(s([]),t.D1) +B.ib=A.b(s([]),t.QF) +B.lJ=A.b(s([]),t.s) +B.ai=A.b(s([]),t.oU) +B.Ez=A.b(s([]),t.Lx) +B.T4=A.b(s([]),t.E) +B.lK=A.b(s([]),t.t) +B.lM=A.b(s([]),t.ee) +B.EB=A.b(s([]),t.XS) +B.jA=new A.cU(0,"DoubleQuote") +B.cN=new A.cU(1,"SingleQuote") +B.aw=new A.cU(2,"HebrewLetter") +B.fG=new A.cU(3,"CR") +B.fH=new A.cU(4,"LF") +B.jE=new A.cU(5,"Newline") +B.e3=new A.cU(6,"Extend") +B.Ry=new A.cU(7,"RegionalIndicator") +B.e4=new A.cU(8,"Format") +B.e5=new A.cU(9,"Katakana") +B.aT=new A.cU(10,"ALetter") +B.jB=new A.cU(11,"MidLetter") +B.jC=new A.cU(12,"MidNum") +B.e1=new A.cU(13,"MidNumLet") +B.bm=new A.cU(14,"Numeric") +B.fF=new A.cU(15,"ExtendNumLet") +B.e2=new A.cU(16,"ZWJ") +B.jD=new A.cU(17,"WSegSpace") +B.xm=new A.cU(18,"Unknown") +B.EE=A.b(s([B.jA,B.cN,B.aw,B.fG,B.fH,B.jE,B.e3,B.Ry,B.e4,B.e5,B.aT,B.jB,B.jC,B.e1,B.bm,B.fF,B.e2,B.jD,B.xm]),A.aj("v")) +B.lN=A.b(s([B.hZ,B.eG,B.dk,B.eJ,B.eN,B.cp,B.lz,B.i9,B.aN,B.eO,B.bT,B.dh,B.di,B.eH,B.dj,B.i_,B.bu,B.i0,B.i1,B.lx,B.aM,B.eI,B.dl,B.dm,B.i2,B.i3,B.i4,B.i5,B.ly,B.i6,B.i7,B.eK,B.dn,B.dp,B.i8,B.eL,B.eM]),A.aj("v")) +B.xn=new A.rR(0,"topLeft") +B.xq=new A.rR(3,"bottomRight") +B.RP=new A.km(B.xn,B.xq) +B.RS=new A.km(B.xq,B.xn) +B.xo=new A.rR(1,"topRight") +B.xp=new A.rR(2,"bottomLeft") +B.RQ=new A.km(B.xo,B.xp) +B.RR=new A.km(B.xp,B.xo) +B.EF=A.b(s([B.RP,B.RS,B.RQ,B.RR]),A.aj("v")) +B.cu=new A.fE(0,"controlModifier") +B.cv=new A.fE(1,"shiftModifier") +B.cw=new A.fE(2,"altModifier") +B.cx=new A.fE(3,"metaModifier") +B.iz=new A.fE(4,"capsLockModifier") +B.iA=new A.fE(5,"numLockModifier") +B.iB=new A.fE(6,"scrollLockModifier") +B.iC=new A.fE(7,"functionModifier") +B.qU=new A.fE(8,"symbolModifier") +B.lO=A.b(s([B.cu,B.cv,B.cw,B.cx,B.iz,B.iA,B.iB,B.iC,B.qU]),A.aj("v")) +B.dG=new A.n(1,0) +B.H2=new A.n(1,1) +B.f4=new A.n(0,1) +B.H9=new A.n(-1,1) +B.r2=new A.n(-1,0) +B.Ha=new A.n(-1,-1) +B.r1=new A.n(0,-1) +B.H3=new A.n(1,-1) +B.eR=A.b(s([B.dG,B.H2,B.f4,B.H9,B.r2,B.Ha,B.r1,B.H3]),t.yv) +B.zR=new A.pz(0,"auto") +B.zS=new A.pz(1,"full") +B.zT=new A.pz(2,"chromium") +B.EG=A.b(s([B.zR,B.zS,B.zT]),A.aj("v")) +B.eS=A.b(s([0,0,24576,1023,65534,34815,65534,18431]),t.t) +B.EH=A.b(s([-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,1,1,1,1,0]),t.n) +B.bh=new A.ed(1,"fuchsia") +B.bi=new A.ed(3,"linux") +B.bj=new A.ed(5,"windows") +B.EI=A.b(s([B.au,B.bh,B.av,B.bi,B.b5,B.bj]),A.aj("v")) +B.id=A.b(s([!0,!1]),t.HZ) +B.EJ=A.b(s([0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0]),t.n) +B.ie=A.b(s([0,0,65498,45055,65535,34815,65534,18431]),t.t) +B.j=new A.wP(0,"ignored") +B.aj=new A.f(4294967304) +B.ds=new A.f(4294967323) +B.af=new A.f(4294967423) +B.ii=new A.f(4294967558) +B.dw=new A.f(8589934848) +B.eY=new A.f(8589934849) +B.bW=new A.f(8589934850) +B.cq=new A.f(8589934851) +B.dx=new A.f(8589934852) +B.eZ=new A.f(8589934853) +B.dy=new A.f(8589934854) +B.f_=new A.f(8589934855) +B.il=new A.f(8589935088) +B.im=new A.f(8589935090) +B.io=new A.f(8589935092) +B.ip=new A.f(8589935094) +B.Ge=new A.a1w("longPress") +B.U=new A.lt(0,"start") +B.qG=new A.lt(1,"end") +B.dD=new A.lt(2,"center") +B.Gf=new A.lt(3,"spaceBetween") +B.Gg=new A.lt(4,"spaceAround") +B.qH=new A.lt(5,"spaceEvenly") +B.f0=new A.Hh(0,"min") +B.at=new A.Hh(1,"max") +B.lV=new A.f(42) +B.qB=new A.f(8589935146) +B.E1=A.b(s([B.lV,null,null,B.qB]),t.L) +B.qn=new A.f(43) +B.qC=new A.f(8589935147) +B.E2=A.b(s([B.qn,null,null,B.qC]),t.L) +B.qo=new A.f(45) +B.qD=new A.f(8589935149) +B.E3=A.b(s([B.qo,null,null,B.qD]),t.L) +B.qp=new A.f(46) +B.bX=new A.f(8589935150) +B.E4=A.b(s([B.qp,null,null,B.bX]),t.L) +B.qq=new A.f(47) +B.qE=new A.f(8589935151) +B.E5=A.b(s([B.qq,null,null,B.qE]),t.L) +B.qr=new A.f(48) +B.ir=new A.f(8589935152) +B.El=A.b(s([B.qr,null,null,B.ir]),t.L) +B.qs=new A.f(49) +B.dz=new A.f(8589935153) +B.Em=A.b(s([B.qs,null,null,B.dz]),t.L) +B.qt=new A.f(50) +B.bY=new A.f(8589935154) +B.En=A.b(s([B.qt,null,null,B.bY]),t.L) +B.qu=new A.f(51) +B.dA=new A.f(8589935155) +B.Eo=A.b(s([B.qu,null,null,B.dA]),t.L) +B.qv=new A.f(52) +B.bZ=new A.f(8589935156) +B.Ep=A.b(s([B.qv,null,null,B.bZ]),t.L) +B.qw=new A.f(53) +B.is=new A.f(8589935157) +B.Eq=A.b(s([B.qw,null,null,B.is]),t.L) +B.qx=new A.f(54) +B.c_=new A.f(8589935158) +B.Er=A.b(s([B.qx,null,null,B.c_]),t.L) +B.qy=new A.f(55) +B.dB=new A.f(8589935159) +B.Es=A.b(s([B.qy,null,null,B.dB]),t.L) +B.qz=new A.f(56) +B.c0=new A.f(8589935160) +B.Eh=A.b(s([B.qz,null,null,B.c0]),t.L) +B.qA=new A.f(57) +B.dC=new A.f(8589935161) +B.Ei=A.b(s([B.qA,null,null,B.dC]),t.L) +B.EK=A.b(s([B.dx,B.dx,B.eZ,null]),t.L) +B.eV=new A.f(4294967555) +B.Ek=A.b(s([B.eV,null,B.eV,null]),t.L) +B.aY=new A.f(4294968065) +B.DM=A.b(s([B.aY,null,null,B.bY]),t.L) +B.aQ=new A.f(4294968066) +B.DN=A.b(s([B.aQ,null,null,B.bZ]),t.L) +B.aR=new A.f(4294968067) +B.DO=A.b(s([B.aR,null,null,B.c_]),t.L) +B.aZ=new A.f(4294968068) +B.DA=A.b(s([B.aZ,null,null,B.c0]),t.L) +B.ij=new A.f(4294968321) +B.DW=A.b(s([B.ij,null,null,B.is]),t.L) +B.EL=A.b(s([B.dw,B.dw,B.eY,null]),t.L) +B.DU=A.b(s([B.af,null,null,B.bX]),t.L) +B.bU=new A.f(4294968069) +B.DP=A.b(s([B.bU,null,null,B.dz]),t.L) +B.eU=new A.f(4294967309) +B.iq=new A.f(8589935117) +B.DK=A.b(s([B.eU,null,null,B.iq]),t.L) +B.bV=new A.f(4294968070) +B.DQ=A.b(s([B.bV,null,null,B.dB]),t.L) +B.ik=new A.f(4294968327) +B.DX=A.b(s([B.ik,null,null,B.ir]),t.L) +B.EM=A.b(s([B.dy,B.dy,B.f_,null]),t.L) +B.du=new A.f(4294968071) +B.DR=A.b(s([B.du,null,null,B.dA]),t.L) +B.dv=new A.f(4294968072) +B.Dd=A.b(s([B.dv,null,null,B.dC]),t.L) +B.EN=A.b(s([B.bW,B.bW,B.cq,null]),t.L) +B.Gh=new A.d3(["*",B.E1,"+",B.E2,"-",B.E3,".",B.E4,"/",B.E5,"0",B.El,"1",B.Em,"2",B.En,"3",B.Eo,"4",B.Ep,"5",B.Eq,"6",B.Er,"7",B.Es,"8",B.Eh,"9",B.Ei,"Alt",B.EK,"AltGraph",B.Ek,"ArrowDown",B.DM,"ArrowLeft",B.DN,"ArrowRight",B.DO,"ArrowUp",B.DA,"Clear",B.DW,"Control",B.EL,"Delete",B.DU,"End",B.DP,"Enter",B.DK,"Home",B.DQ,"Insert",B.DX,"Meta",B.EM,"PageDown",B.DR,"PageUp",B.Dd,"Shift",B.EN],A.aj("d3>")) +B.Dr=A.b(s([42,null,null,8589935146]),t.Z) +B.Ds=A.b(s([43,null,null,8589935147]),t.Z) +B.Du=A.b(s([45,null,null,8589935149]),t.Z) +B.Dv=A.b(s([46,null,null,8589935150]),t.Z) +B.Dw=A.b(s([47,null,null,8589935151]),t.Z) +B.Dx=A.b(s([48,null,null,8589935152]),t.Z) +B.Dy=A.b(s([49,null,null,8589935153]),t.Z) +B.DC=A.b(s([50,null,null,8589935154]),t.Z) +B.DD=A.b(s([51,null,null,8589935155]),t.Z) +B.DE=A.b(s([52,null,null,8589935156]),t.Z) +B.DF=A.b(s([53,null,null,8589935157]),t.Z) +B.DG=A.b(s([54,null,null,8589935158]),t.Z) +B.DH=A.b(s([55,null,null,8589935159]),t.Z) +B.DI=A.b(s([56,null,null,8589935160]),t.Z) +B.DJ=A.b(s([57,null,null,8589935161]),t.Z) +B.E8=A.b(s([8589934852,8589934852,8589934853,null]),t.Z) +B.Dg=A.b(s([4294967555,null,4294967555,null]),t.Z) +B.Dh=A.b(s([4294968065,null,null,8589935154]),t.Z) +B.Di=A.b(s([4294968066,null,null,8589935156]),t.Z) +B.Dj=A.b(s([4294968067,null,null,8589935158]),t.Z) +B.Dk=A.b(s([4294968068,null,null,8589935160]),t.Z) +B.Dp=A.b(s([4294968321,null,null,8589935157]),t.Z) +B.E9=A.b(s([8589934848,8589934848,8589934849,null]),t.Z) +B.Df=A.b(s([4294967423,null,null,8589935150]),t.Z) +B.Dl=A.b(s([4294968069,null,null,8589935153]),t.Z) +B.De=A.b(s([4294967309,null,null,8589935117]),t.Z) +B.Dm=A.b(s([4294968070,null,null,8589935159]),t.Z) +B.Dq=A.b(s([4294968327,null,null,8589935152]),t.Z) +B.Ea=A.b(s([8589934854,8589934854,8589934855,null]),t.Z) +B.Dn=A.b(s([4294968071,null,null,8589935155]),t.Z) +B.Do=A.b(s([4294968072,null,null,8589935161]),t.Z) +B.Eb=A.b(s([8589934850,8589934850,8589934851,null]),t.Z) +B.qI=new A.d3(["*",B.Dr,"+",B.Ds,"-",B.Du,".",B.Dv,"/",B.Dw,"0",B.Dx,"1",B.Dy,"2",B.DC,"3",B.DD,"4",B.DE,"5",B.DF,"6",B.DG,"7",B.DH,"8",B.DI,"9",B.DJ,"Alt",B.E8,"AltGraph",B.Dg,"ArrowDown",B.Dh,"ArrowLeft",B.Di,"ArrowRight",B.Dj,"ArrowUp",B.Dk,"Clear",B.Dp,"Control",B.E9,"Delete",B.Df,"End",B.Dl,"Enter",B.De,"Home",B.Dm,"Insert",B.Dq,"Meta",B.Ea,"PageDown",B.Dn,"PageUp",B.Do,"Shift",B.Eb],A.aj("d3>")) +B.Gi=new A.d3([0,"FontWeight.w100",1,"FontWeight.w200",2,"FontWeight.w300",3,"FontWeight.w400",4,"FontWeight.w500",5,"FontWeight.w600",6,"FontWeight.w700",7,"FontWeight.w800",8,"FontWeight.w900"],A.aj("d3")) +B.lU=new A.f(32) +B.F7=new A.f(33) +B.F8=new A.f(34) +B.F9=new A.f(35) +B.Fa=new A.f(36) +B.Fb=new A.f(37) +B.Fc=new A.f(38) +B.Fd=new A.f(39) +B.Fe=new A.f(40) +B.Ff=new A.f(41) +B.Fg=new A.f(44) +B.Fh=new A.f(58) +B.Fi=new A.f(59) +B.Fj=new A.f(60) +B.Fk=new A.f(61) +B.Fl=new A.f(62) +B.Fm=new A.f(63) +B.Fn=new A.f(64) +B.G8=new A.f(91) +B.G9=new A.f(92) +B.Ga=new A.f(93) +B.Gb=new A.f(94) +B.Gc=new A.f(95) +B.Gd=new A.f(96) +B.it=new A.f(97) +B.qF=new A.f(98) +B.iu=new A.f(99) +B.EP=new A.f(100) +B.lP=new A.f(101) +B.lQ=new A.f(102) +B.EQ=new A.f(103) +B.ER=new A.f(104) +B.ES=new A.f(105) +B.ET=new A.f(106) +B.EU=new A.f(107) +B.EV=new A.f(108) +B.EW=new A.f(109) +B.lR=new A.f(110) +B.EX=new A.f(111) +B.lS=new A.f(112) +B.EY=new A.f(113) +B.EZ=new A.f(114) +B.F_=new A.f(115) +B.lT=new A.f(116) +B.F0=new A.f(117) +B.ig=new A.f(118) +B.F1=new A.f(119) +B.ih=new A.f(120) +B.F2=new A.f(121) +B.dr=new A.f(122) +B.F3=new A.f(123) +B.F4=new A.f(124) +B.F5=new A.f(125) +B.F6=new A.f(126) +B.lW=new A.f(4294967297) +B.eT=new A.f(4294967305) +B.lX=new A.f(4294967553) +B.lY=new A.f(4294967559) +B.lZ=new A.f(4294967560) +B.m_=new A.f(4294967566) +B.m0=new A.f(4294967567) +B.m1=new A.f(4294967568) +B.m2=new A.f(4294967569) +B.m3=new A.f(4294968322) +B.m4=new A.f(4294968323) +B.m5=new A.f(4294968324) +B.m6=new A.f(4294968325) +B.m7=new A.f(4294968326) +B.m8=new A.f(4294968328) +B.m9=new A.f(4294968329) +B.ma=new A.f(4294968330) +B.mb=new A.f(4294968577) +B.mc=new A.f(4294968578) +B.md=new A.f(4294968579) +B.me=new A.f(4294968580) +B.mf=new A.f(4294968581) +B.mg=new A.f(4294968582) +B.mh=new A.f(4294968583) +B.mi=new A.f(4294968584) +B.mj=new A.f(4294968585) +B.mk=new A.f(4294968586) +B.ml=new A.f(4294968587) +B.mm=new A.f(4294968588) +B.mn=new A.f(4294968589) +B.mo=new A.f(4294968590) +B.mp=new A.f(4294968833) +B.mq=new A.f(4294968834) +B.mr=new A.f(4294968835) +B.ms=new A.f(4294968836) +B.mt=new A.f(4294968837) +B.mu=new A.f(4294968838) +B.mv=new A.f(4294968839) +B.mw=new A.f(4294968840) +B.mx=new A.f(4294968841) +B.my=new A.f(4294968842) +B.mz=new A.f(4294968843) +B.mA=new A.f(4294969089) +B.mB=new A.f(4294969090) +B.mC=new A.f(4294969091) +B.mD=new A.f(4294969092) +B.mE=new A.f(4294969093) +B.mF=new A.f(4294969094) +B.mG=new A.f(4294969095) +B.mH=new A.f(4294969096) +B.mI=new A.f(4294969097) +B.mJ=new A.f(4294969098) +B.mK=new A.f(4294969099) +B.mL=new A.f(4294969100) +B.mM=new A.f(4294969101) +B.mN=new A.f(4294969102) +B.mO=new A.f(4294969103) +B.mP=new A.f(4294969104) +B.mQ=new A.f(4294969105) +B.mR=new A.f(4294969106) +B.mS=new A.f(4294969107) +B.mT=new A.f(4294969108) +B.mU=new A.f(4294969109) +B.mV=new A.f(4294969110) +B.mW=new A.f(4294969111) +B.mX=new A.f(4294969112) +B.mY=new A.f(4294969113) +B.mZ=new A.f(4294969114) +B.n_=new A.f(4294969115) +B.n0=new A.f(4294969116) +B.n1=new A.f(4294969117) +B.n2=new A.f(4294969345) +B.n3=new A.f(4294969346) +B.n4=new A.f(4294969347) +B.n5=new A.f(4294969348) +B.n6=new A.f(4294969349) +B.n7=new A.f(4294969350) +B.n8=new A.f(4294969351) +B.n9=new A.f(4294969352) +B.na=new A.f(4294969353) +B.nb=new A.f(4294969354) +B.nc=new A.f(4294969355) +B.nd=new A.f(4294969356) +B.ne=new A.f(4294969357) +B.nf=new A.f(4294969358) +B.ng=new A.f(4294969359) +B.nh=new A.f(4294969360) +B.ni=new A.f(4294969361) +B.nj=new A.f(4294969362) +B.nk=new A.f(4294969363) +B.nl=new A.f(4294969364) +B.nm=new A.f(4294969365) +B.nn=new A.f(4294969366) +B.no=new A.f(4294969367) +B.np=new A.f(4294969368) +B.nq=new A.f(4294969601) +B.nr=new A.f(4294969602) +B.ns=new A.f(4294969603) +B.nt=new A.f(4294969604) +B.nu=new A.f(4294969605) +B.nv=new A.f(4294969606) +B.nw=new A.f(4294969607) +B.nx=new A.f(4294969608) +B.ny=new A.f(4294969857) +B.nz=new A.f(4294969858) +B.nA=new A.f(4294969859) +B.nB=new A.f(4294969860) +B.nC=new A.f(4294969861) +B.nD=new A.f(4294969863) +B.nE=new A.f(4294969864) +B.nF=new A.f(4294969865) +B.nG=new A.f(4294969866) +B.nH=new A.f(4294969867) +B.nI=new A.f(4294969868) +B.nJ=new A.f(4294969869) +B.nK=new A.f(4294969870) +B.nL=new A.f(4294969871) +B.nM=new A.f(4294969872) +B.nN=new A.f(4294969873) +B.nO=new A.f(4294970113) +B.nP=new A.f(4294970114) +B.nQ=new A.f(4294970115) +B.nR=new A.f(4294970116) +B.nS=new A.f(4294970117) +B.nT=new A.f(4294970118) +B.nU=new A.f(4294970119) +B.nV=new A.f(4294970120) +B.nW=new A.f(4294970121) +B.nX=new A.f(4294970122) +B.nY=new A.f(4294970123) +B.nZ=new A.f(4294970124) +B.o_=new A.f(4294970125) +B.o0=new A.f(4294970126) +B.o1=new A.f(4294970127) +B.o2=new A.f(4294970369) +B.o3=new A.f(4294970370) +B.o4=new A.f(4294970371) +B.o5=new A.f(4294970372) +B.o6=new A.f(4294970373) +B.o7=new A.f(4294970374) +B.o8=new A.f(4294970375) +B.o9=new A.f(4294970625) +B.oa=new A.f(4294970626) +B.ob=new A.f(4294970627) +B.oc=new A.f(4294970628) +B.od=new A.f(4294970629) +B.oe=new A.f(4294970630) +B.of=new A.f(4294970631) +B.og=new A.f(4294970632) +B.oh=new A.f(4294970633) +B.oi=new A.f(4294970634) +B.oj=new A.f(4294970635) +B.ok=new A.f(4294970636) +B.ol=new A.f(4294970637) +B.om=new A.f(4294970638) +B.on=new A.f(4294970639) +B.oo=new A.f(4294970640) +B.op=new A.f(4294970641) +B.oq=new A.f(4294970642) +B.or=new A.f(4294970643) +B.os=new A.f(4294970644) +B.ot=new A.f(4294970645) +B.ou=new A.f(4294970646) +B.ov=new A.f(4294970647) +B.ow=new A.f(4294970648) +B.ox=new A.f(4294970649) +B.oy=new A.f(4294970650) +B.oz=new A.f(4294970651) +B.oA=new A.f(4294970652) +B.oB=new A.f(4294970653) +B.oC=new A.f(4294970654) +B.oD=new A.f(4294970655) +B.oE=new A.f(4294970656) +B.oF=new A.f(4294970657) +B.oG=new A.f(4294970658) +B.oH=new A.f(4294970659) +B.oI=new A.f(4294970660) +B.oJ=new A.f(4294970661) +B.oK=new A.f(4294970662) +B.oL=new A.f(4294970663) +B.oM=new A.f(4294970664) +B.oN=new A.f(4294970665) +B.oO=new A.f(4294970666) +B.oP=new A.f(4294970667) +B.oQ=new A.f(4294970668) +B.oR=new A.f(4294970669) +B.oS=new A.f(4294970670) +B.oT=new A.f(4294970671) +B.oU=new A.f(4294970672) +B.oV=new A.f(4294970673) +B.oW=new A.f(4294970674) +B.oX=new A.f(4294970675) +B.oY=new A.f(4294970676) +B.oZ=new A.f(4294970677) +B.p_=new A.f(4294970678) +B.p0=new A.f(4294970679) +B.p1=new A.f(4294970680) +B.p2=new A.f(4294970681) +B.p3=new A.f(4294970682) +B.p4=new A.f(4294970683) +B.p5=new A.f(4294970684) +B.p6=new A.f(4294970685) +B.p7=new A.f(4294970686) +B.p8=new A.f(4294970687) +B.p9=new A.f(4294970688) +B.pa=new A.f(4294970689) +B.pb=new A.f(4294970690) +B.pc=new A.f(4294970691) +B.pd=new A.f(4294970692) +B.pe=new A.f(4294970693) +B.pf=new A.f(4294970694) +B.pg=new A.f(4294970695) +B.ph=new A.f(4294970696) +B.pi=new A.f(4294970697) +B.pj=new A.f(4294970698) +B.pk=new A.f(4294970699) +B.pl=new A.f(4294970700) +B.pm=new A.f(4294970701) +B.pn=new A.f(4294970702) +B.po=new A.f(4294970703) +B.pp=new A.f(4294970704) +B.pq=new A.f(4294970705) +B.pr=new A.f(4294970706) +B.ps=new A.f(4294970707) +B.pt=new A.f(4294970708) +B.pu=new A.f(4294970709) +B.pv=new A.f(4294970710) +B.pw=new A.f(4294970711) +B.px=new A.f(4294970712) +B.py=new A.f(4294970713) +B.pz=new A.f(4294970714) +B.pA=new A.f(4294970715) +B.pB=new A.f(4294970882) +B.pC=new A.f(4294970884) +B.pD=new A.f(4294970885) +B.pE=new A.f(4294970886) +B.pF=new A.f(4294970887) +B.pG=new A.f(4294970888) +B.pH=new A.f(4294970889) +B.pI=new A.f(4294971137) +B.pJ=new A.f(4294971138) +B.pK=new A.f(4294971393) +B.pL=new A.f(4294971394) +B.pM=new A.f(4294971395) +B.pN=new A.f(4294971396) +B.pO=new A.f(4294971397) +B.pP=new A.f(4294971398) +B.pQ=new A.f(4294971399) +B.pR=new A.f(4294971400) +B.pS=new A.f(4294971401) +B.pT=new A.f(4294971402) +B.pU=new A.f(4294971403) +B.pV=new A.f(4294971649) +B.pW=new A.f(4294971650) +B.pX=new A.f(4294971651) +B.pY=new A.f(4294971652) +B.pZ=new A.f(4294971653) +B.q_=new A.f(4294971654) +B.q0=new A.f(4294971655) +B.q1=new A.f(4294971656) +B.q2=new A.f(4294971657) +B.q3=new A.f(4294971658) +B.q4=new A.f(4294971659) +B.q5=new A.f(4294971660) +B.q6=new A.f(4294971661) +B.q7=new A.f(4294971662) +B.q8=new A.f(4294971663) +B.q9=new A.f(4294971664) +B.qa=new A.f(4294971665) +B.qb=new A.f(4294971666) +B.qc=new A.f(4294971667) +B.qd=new A.f(4294971668) +B.qe=new A.f(4294971669) +B.qf=new A.f(4294971670) +B.qg=new A.f(4294971671) +B.qh=new A.f(4294971672) +B.qi=new A.f(4294971673) +B.qj=new A.f(4294971674) +B.qk=new A.f(4294971675) +B.ql=new A.f(4294971905) +B.qm=new A.f(4294971906) +B.Fo=new A.f(8589934592) +B.Fp=new A.f(8589934593) +B.Fq=new A.f(8589934594) +B.Fr=new A.f(8589934595) +B.Fs=new A.f(8589934608) +B.Ft=new A.f(8589934609) +B.Fu=new A.f(8589934610) +B.Fv=new A.f(8589934611) +B.Fw=new A.f(8589934612) +B.Fx=new A.f(8589934624) +B.Fy=new A.f(8589934625) +B.Fz=new A.f(8589934626) +B.FA=new A.f(8589935144) +B.FB=new A.f(8589935145) +B.FC=new A.f(8589935148) +B.FD=new A.f(8589935165) +B.FE=new A.f(8589935361) +B.FF=new A.f(8589935362) +B.FG=new A.f(8589935363) +B.FH=new A.f(8589935364) +B.FI=new A.f(8589935365) +B.FJ=new A.f(8589935366) +B.FK=new A.f(8589935367) +B.FL=new A.f(8589935368) +B.FM=new A.f(8589935369) +B.FN=new A.f(8589935370) +B.FO=new A.f(8589935371) +B.FP=new A.f(8589935372) +B.FQ=new A.f(8589935373) +B.FR=new A.f(8589935374) +B.FS=new A.f(8589935375) +B.FT=new A.f(8589935376) +B.FU=new A.f(8589935377) +B.FV=new A.f(8589935378) +B.FW=new A.f(8589935379) +B.FX=new A.f(8589935380) +B.FY=new A.f(8589935381) +B.FZ=new A.f(8589935382) +B.G_=new A.f(8589935383) +B.G0=new A.f(8589935384) +B.G1=new A.f(8589935385) +B.G2=new A.f(8589935386) +B.G3=new A.f(8589935387) +B.G4=new A.f(8589935388) +B.G5=new A.f(8589935389) +B.G6=new A.f(8589935390) +B.G7=new A.f(8589935391) +B.Gj=new A.d3([32,B.lU,33,B.F7,34,B.F8,35,B.F9,36,B.Fa,37,B.Fb,38,B.Fc,39,B.Fd,40,B.Fe,41,B.Ff,42,B.lV,43,B.qn,44,B.Fg,45,B.qo,46,B.qp,47,B.qq,48,B.qr,49,B.qs,50,B.qt,51,B.qu,52,B.qv,53,B.qw,54,B.qx,55,B.qy,56,B.qz,57,B.qA,58,B.Fh,59,B.Fi,60,B.Fj,61,B.Fk,62,B.Fl,63,B.Fm,64,B.Fn,91,B.G8,92,B.G9,93,B.Ga,94,B.Gb,95,B.Gc,96,B.Gd,97,B.it,98,B.qF,99,B.iu,100,B.EP,101,B.lP,102,B.lQ,103,B.EQ,104,B.ER,105,B.ES,106,B.ET,107,B.EU,108,B.EV,109,B.EW,110,B.lR,111,B.EX,112,B.lS,113,B.EY,114,B.EZ,115,B.F_,116,B.lT,117,B.F0,118,B.ig,119,B.F1,120,B.ih,121,B.F2,122,B.dr,123,B.F3,124,B.F4,125,B.F5,126,B.F6,4294967297,B.lW,4294967304,B.aj,4294967305,B.eT,4294967309,B.eU,4294967323,B.ds,4294967423,B.af,4294967553,B.lX,4294967555,B.eV,4294967556,B.dt,4294967558,B.ii,4294967559,B.lY,4294967560,B.lZ,4294967562,B.eW,4294967564,B.eX,4294967566,B.m_,4294967567,B.m0,4294967568,B.m1,4294967569,B.m2,4294968065,B.aY,4294968066,B.aQ,4294968067,B.aR,4294968068,B.aZ,4294968069,B.bU,4294968070,B.bV,4294968071,B.du,4294968072,B.dv,4294968321,B.ij,4294968322,B.m3,4294968323,B.m4,4294968324,B.m5,4294968325,B.m6,4294968326,B.m7,4294968327,B.ik,4294968328,B.m8,4294968329,B.m9,4294968330,B.ma,4294968577,B.mb,4294968578,B.mc,4294968579,B.md,4294968580,B.me,4294968581,B.mf,4294968582,B.mg,4294968583,B.mh,4294968584,B.mi,4294968585,B.mj,4294968586,B.mk,4294968587,B.ml,4294968588,B.mm,4294968589,B.mn,4294968590,B.mo,4294968833,B.mp,4294968834,B.mq,4294968835,B.mr,4294968836,B.ms,4294968837,B.mt,4294968838,B.mu,4294968839,B.mv,4294968840,B.mw,4294968841,B.mx,4294968842,B.my,4294968843,B.mz,4294969089,B.mA,4294969090,B.mB,4294969091,B.mC,4294969092,B.mD,4294969093,B.mE,4294969094,B.mF,4294969095,B.mG,4294969096,B.mH,4294969097,B.mI,4294969098,B.mJ,4294969099,B.mK,4294969100,B.mL,4294969101,B.mM,4294969102,B.mN,4294969103,B.mO,4294969104,B.mP,4294969105,B.mQ,4294969106,B.mR,4294969107,B.mS,4294969108,B.mT,4294969109,B.mU,4294969110,B.mV,4294969111,B.mW,4294969112,B.mX,4294969113,B.mY,4294969114,B.mZ,4294969115,B.n_,4294969116,B.n0,4294969117,B.n1,4294969345,B.n2,4294969346,B.n3,4294969347,B.n4,4294969348,B.n5,4294969349,B.n6,4294969350,B.n7,4294969351,B.n8,4294969352,B.n9,4294969353,B.na,4294969354,B.nb,4294969355,B.nc,4294969356,B.nd,4294969357,B.ne,4294969358,B.nf,4294969359,B.ng,4294969360,B.nh,4294969361,B.ni,4294969362,B.nj,4294969363,B.nk,4294969364,B.nl,4294969365,B.nm,4294969366,B.nn,4294969367,B.no,4294969368,B.np,4294969601,B.nq,4294969602,B.nr,4294969603,B.ns,4294969604,B.nt,4294969605,B.nu,4294969606,B.nv,4294969607,B.nw,4294969608,B.nx,4294969857,B.ny,4294969858,B.nz,4294969859,B.nA,4294969860,B.nB,4294969861,B.nC,4294969863,B.nD,4294969864,B.nE,4294969865,B.nF,4294969866,B.nG,4294969867,B.nH,4294969868,B.nI,4294969869,B.nJ,4294969870,B.nK,4294969871,B.nL,4294969872,B.nM,4294969873,B.nN,4294970113,B.nO,4294970114,B.nP,4294970115,B.nQ,4294970116,B.nR,4294970117,B.nS,4294970118,B.nT,4294970119,B.nU,4294970120,B.nV,4294970121,B.nW,4294970122,B.nX,4294970123,B.nY,4294970124,B.nZ,4294970125,B.o_,4294970126,B.o0,4294970127,B.o1,4294970369,B.o2,4294970370,B.o3,4294970371,B.o4,4294970372,B.o5,4294970373,B.o6,4294970374,B.o7,4294970375,B.o8,4294970625,B.o9,4294970626,B.oa,4294970627,B.ob,4294970628,B.oc,4294970629,B.od,4294970630,B.oe,4294970631,B.of,4294970632,B.og,4294970633,B.oh,4294970634,B.oi,4294970635,B.oj,4294970636,B.ok,4294970637,B.ol,4294970638,B.om,4294970639,B.on,4294970640,B.oo,4294970641,B.op,4294970642,B.oq,4294970643,B.or,4294970644,B.os,4294970645,B.ot,4294970646,B.ou,4294970647,B.ov,4294970648,B.ow,4294970649,B.ox,4294970650,B.oy,4294970651,B.oz,4294970652,B.oA,4294970653,B.oB,4294970654,B.oC,4294970655,B.oD,4294970656,B.oE,4294970657,B.oF,4294970658,B.oG,4294970659,B.oH,4294970660,B.oI,4294970661,B.oJ,4294970662,B.oK,4294970663,B.oL,4294970664,B.oM,4294970665,B.oN,4294970666,B.oO,4294970667,B.oP,4294970668,B.oQ,4294970669,B.oR,4294970670,B.oS,4294970671,B.oT,4294970672,B.oU,4294970673,B.oV,4294970674,B.oW,4294970675,B.oX,4294970676,B.oY,4294970677,B.oZ,4294970678,B.p_,4294970679,B.p0,4294970680,B.p1,4294970681,B.p2,4294970682,B.p3,4294970683,B.p4,4294970684,B.p5,4294970685,B.p6,4294970686,B.p7,4294970687,B.p8,4294970688,B.p9,4294970689,B.pa,4294970690,B.pb,4294970691,B.pc,4294970692,B.pd,4294970693,B.pe,4294970694,B.pf,4294970695,B.pg,4294970696,B.ph,4294970697,B.pi,4294970698,B.pj,4294970699,B.pk,4294970700,B.pl,4294970701,B.pm,4294970702,B.pn,4294970703,B.po,4294970704,B.pp,4294970705,B.pq,4294970706,B.pr,4294970707,B.ps,4294970708,B.pt,4294970709,B.pu,4294970710,B.pv,4294970711,B.pw,4294970712,B.px,4294970713,B.py,4294970714,B.pz,4294970715,B.pA,4294970882,B.pB,4294970884,B.pC,4294970885,B.pD,4294970886,B.pE,4294970887,B.pF,4294970888,B.pG,4294970889,B.pH,4294971137,B.pI,4294971138,B.pJ,4294971393,B.pK,4294971394,B.pL,4294971395,B.pM,4294971396,B.pN,4294971397,B.pO,4294971398,B.pP,4294971399,B.pQ,4294971400,B.pR,4294971401,B.pS,4294971402,B.pT,4294971403,B.pU,4294971649,B.pV,4294971650,B.pW,4294971651,B.pX,4294971652,B.pY,4294971653,B.pZ,4294971654,B.q_,4294971655,B.q0,4294971656,B.q1,4294971657,B.q2,4294971658,B.q3,4294971659,B.q4,4294971660,B.q5,4294971661,B.q6,4294971662,B.q7,4294971663,B.q8,4294971664,B.q9,4294971665,B.qa,4294971666,B.qb,4294971667,B.qc,4294971668,B.qd,4294971669,B.qe,4294971670,B.qf,4294971671,B.qg,4294971672,B.qh,4294971673,B.qi,4294971674,B.qj,4294971675,B.qk,4294971905,B.ql,4294971906,B.qm,8589934592,B.Fo,8589934593,B.Fp,8589934594,B.Fq,8589934595,B.Fr,8589934608,B.Fs,8589934609,B.Ft,8589934610,B.Fu,8589934611,B.Fv,8589934612,B.Fw,8589934624,B.Fx,8589934625,B.Fy,8589934626,B.Fz,8589934848,B.dw,8589934849,B.eY,8589934850,B.bW,8589934851,B.cq,8589934852,B.dx,8589934853,B.eZ,8589934854,B.dy,8589934855,B.f_,8589935088,B.il,8589935090,B.im,8589935092,B.io,8589935094,B.ip,8589935117,B.iq,8589935144,B.FA,8589935145,B.FB,8589935146,B.qB,8589935147,B.qC,8589935148,B.FC,8589935149,B.qD,8589935150,B.bX,8589935151,B.qE,8589935152,B.ir,8589935153,B.dz,8589935154,B.bY,8589935155,B.dA,8589935156,B.bZ,8589935157,B.is,8589935158,B.c_,8589935159,B.dB,8589935160,B.c0,8589935161,B.dC,8589935165,B.FD,8589935361,B.FE,8589935362,B.FF,8589935363,B.FG,8589935364,B.FH,8589935365,B.FI,8589935366,B.FJ,8589935367,B.FK,8589935368,B.FL,8589935369,B.FM,8589935370,B.FN,8589935371,B.FO,8589935372,B.FP,8589935373,B.FQ,8589935374,B.FR,8589935375,B.FS,8589935376,B.FT,8589935377,B.FU,8589935378,B.FV,8589935379,B.FW,8589935380,B.FX,8589935381,B.FY,8589935382,B.FZ,8589935383,B.G_,8589935384,B.G0,8589935385,B.G1,8589935386,B.G2,8589935387,B.G3,8589935388,B.G4,8589935389,B.G5,8589935390,B.G6,8589935391,B.G7],A.aj("d3")) +B.GW={in:0,iw:1,ji:2,jw:3,mo:4,aam:5,adp:6,aue:7,ayx:8,bgm:9,bjd:10,ccq:11,cjr:12,cka:13,cmk:14,coy:15,cqu:16,drh:17,drw:18,gav:19,gfx:20,ggn:21,gti:22,guv:23,hrr:24,ibi:25,ilw:26,jeg:27,kgc:28,kgh:29,koj:30,krm:31,ktr:32,kvs:33,kwq:34,kxe:35,kzj:36,kzt:37,lii:38,lmm:39,meg:40,mst:41,mwj:42,myt:43,nad:44,ncp:45,nnx:46,nts:47,oun:48,pcr:49,pmc:50,pmu:51,ppa:52,ppr:53,pry:54,puz:55,sca:56,skk:57,tdu:58,thc:59,thx:60,tie:61,tkk:62,tlw:63,tmp:64,tne:65,tnf:66,tsf:67,uok:68,xba:69,xia:70,xkh:71,xsj:72,ybd:73,yma:74,ymt:75,yos:76,yuu:77} +B.b_=new A.bt(B.GW,["id","he","yi","jv","ro","aas","dz","ktz","nun","bcg","drl","rki","mom","cmr","xch","pij","quh","khk","prs","dev","vaj","gvr","nyc","duz","jal","opa","gal","oyb","tdf","kml","kwv","bmf","dtp","gdj","yam","tvd","dtp","dtp","raq","rmx","cir","mry","vaj","mry","xny","kdz","ngv","pij","vaj","adx","huw","phr","bfy","lcq","prt","pub","hle","oyb","dtp","tpo","oyb","ras","twm","weo","tyj","kak","prs","taj","ema","cax","acn","waw","suj","rki","lrr","mtm","zom","yug"],t.li) +B.GZ={KeyA:0,KeyB:1,KeyC:2,KeyD:3,KeyE:4,KeyF:5,KeyG:6,KeyH:7,KeyI:8,KeyJ:9,KeyK:10,KeyL:11,KeyM:12,KeyN:13,KeyO:14,KeyP:15,KeyQ:16,KeyR:17,KeyS:18,KeyT:19,KeyU:20,KeyV:21,KeyW:22,KeyX:23,KeyY:24,KeyZ:25,Digit1:26,Digit2:27,Digit3:28,Digit4:29,Digit5:30,Digit6:31,Digit7:32,Digit8:33,Digit9:34,Digit0:35,Minus:36,Equal:37,BracketLeft:38,BracketRight:39,Backslash:40,Semicolon:41,Quote:42,Backquote:43,Comma:44,Period:45,Slash:46} +B.iv=new A.bt(B.GZ,["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","1","2","3","4","5","6","7","8","9","0","-","=","[","]","\\",";","'","`",",",".","/"],t.li) +B.fv=new A.a0(B.lU,!1,!1,!1,!1,B.j) +B.fw=new A.a0(B.eU,!1,!1,!1,!1,B.j) +B.JF=new A.a0(B.iq,!1,!1,!1,!1,B.j) +B.wO=new A.a0(B.ds,!1,!1,!1,!1,B.j) +B.wM=new A.a0(B.eT,!1,!1,!1,!1,B.j) +B.wN=new A.a0(B.eT,!1,!0,!1,!1,B.j) +B.fp=new A.a0(B.aZ,!1,!1,!1,!1,B.j) +B.fq=new A.a0(B.aY,!1,!1,!1,!1,B.j) +B.ft=new A.a0(B.aQ,!1,!1,!1,!1,B.j) +B.fu=new A.a0(B.aR,!1,!1,!1,!1,B.j) +B.dW=new A.a0(B.dv,!1,!1,!1,!1,B.j) +B.dV=new A.a0(B.du,!1,!1,!1,!1,B.j) +B.z8=new A.k1() +B.k3=new A.pw() +B.yu=new A.iv() +B.yY=new A.nS() +B.z6=new A.o6() +B.fj=new A.JT(0,"line") +B.IF=new A.eu(B.J,B.fj) +B.IH=new A.eu(B.H,B.fj) +B.IE=new A.eu(B.aU,B.fj) +B.IG=new A.eu(B.bG,B.fj) +B.w0=new A.eu(B.J,B.iZ) +B.Gk=new A.d3([B.fv,B.z8,B.fw,B.k3,B.JF,B.k3,B.wO,B.yu,B.wM,B.yY,B.wN,B.z6,B.fp,B.IF,B.fq,B.IH,B.ft,B.IE,B.fu,B.IG,B.dW,B.w0,B.dV,B.j_],t.Fp) +B.GT={alias:0,allScroll:1,basic:2,cell:3,click:4,contextMenu:5,copy:6,forbidden:7,grab:8,grabbing:9,help:10,move:11,none:12,noDrop:13,precise:14,progress:15,text:16,resizeColumn:17,resizeDown:18,resizeDownLeft:19,resizeDownRight:20,resizeLeft:21,resizeLeftRight:22,resizeRight:23,resizeRow:24,resizeUp:25,resizeUpDown:26,resizeUpLeft:27,resizeUpRight:28,resizeUpLeftDownRight:29,resizeUpRightDownLeft:30,verticalText:31,wait:32,zoomIn:33,zoomOut:34} +B.Gl=new A.bt(B.GT,["alias","all-scroll","default","cell","pointer","context-menu","copy","not-allowed","grab","grabbing","help","move","none","no-drop","crosshair","progress","text","col-resize","s-resize","sw-resize","se-resize","w-resize","ew-resize","e-resize","row-resize","n-resize","ns-resize","nw-resize","ne-resize","nwse-resize","nesw-resize","vertical-text","wait","zoom-in","zoom-out"],t.li) +B.r8=new A.k(16) +B.r9=new A.k(17) +B.dI=new A.k(18) +B.ra=new A.k(19) +B.rb=new A.k(20) +B.rc=new A.k(21) +B.rd=new A.k(22) +B.re=new A.k(23) +B.rf=new A.k(24) +B.v0=new A.k(65666) +B.v1=new A.k(65667) +B.v2=new A.k(65717) +B.rg=new A.k(392961) +B.rh=new A.k(392962) +B.ri=new A.k(392963) +B.rj=new A.k(392964) +B.rk=new A.k(392965) +B.rl=new A.k(392966) +B.rm=new A.k(392967) +B.rn=new A.k(392968) +B.ro=new A.k(392969) +B.rp=new A.k(392970) +B.rq=new A.k(392971) +B.rr=new A.k(392972) +B.rs=new A.k(392973) +B.rt=new A.k(392974) +B.ru=new A.k(392975) +B.rv=new A.k(392976) +B.rw=new A.k(392977) +B.rx=new A.k(392978) +B.ry=new A.k(392979) +B.rz=new A.k(392980) +B.rA=new A.k(392981) +B.rB=new A.k(392982) +B.rC=new A.k(392983) +B.rD=new A.k(392984) +B.rE=new A.k(392985) +B.rF=new A.k(392986) +B.rG=new A.k(392987) +B.rH=new A.k(392988) +B.rI=new A.k(392989) +B.rJ=new A.k(392990) +B.rK=new A.k(392991) +B.Hq=new A.k(458752) +B.Hr=new A.k(458753) +B.Hs=new A.k(458754) +B.Ht=new A.k(458755) +B.rL=new A.k(458756) +B.rM=new A.k(458757) +B.rN=new A.k(458758) +B.rO=new A.k(458759) +B.rP=new A.k(458760) +B.rQ=new A.k(458761) +B.rR=new A.k(458762) +B.rS=new A.k(458763) +B.rT=new A.k(458764) +B.rU=new A.k(458765) +B.rV=new A.k(458766) +B.rW=new A.k(458767) +B.rX=new A.k(458768) +B.rY=new A.k(458769) +B.rZ=new A.k(458770) +B.t_=new A.k(458771) +B.t0=new A.k(458772) +B.t1=new A.k(458773) +B.t2=new A.k(458774) +B.t3=new A.k(458775) +B.t4=new A.k(458776) +B.t5=new A.k(458777) +B.t6=new A.k(458778) +B.t7=new A.k(458779) +B.t8=new A.k(458780) +B.t9=new A.k(458781) +B.ta=new A.k(458782) +B.tb=new A.k(458783) +B.tc=new A.k(458784) +B.td=new A.k(458785) +B.te=new A.k(458786) +B.tf=new A.k(458787) +B.tg=new A.k(458788) +B.th=new A.k(458789) +B.ti=new A.k(458790) +B.tj=new A.k(458791) +B.tk=new A.k(458792) +B.iJ=new A.k(458793) +B.tl=new A.k(458794) +B.tm=new A.k(458795) +B.tn=new A.k(458796) +B.to=new A.k(458797) +B.tp=new A.k(458798) +B.tq=new A.k(458799) +B.tr=new A.k(458800) +B.ts=new A.k(458801) +B.tt=new A.k(458803) +B.tu=new A.k(458804) +B.tv=new A.k(458805) +B.tw=new A.k(458806) +B.tx=new A.k(458807) +B.ty=new A.k(458808) +B.c2=new A.k(458809) +B.tz=new A.k(458810) +B.tA=new A.k(458811) +B.tB=new A.k(458812) +B.tC=new A.k(458813) +B.tD=new A.k(458814) +B.tE=new A.k(458815) +B.tF=new A.k(458816) +B.tG=new A.k(458817) +B.tH=new A.k(458818) +B.tI=new A.k(458819) +B.tJ=new A.k(458820) +B.tK=new A.k(458821) +B.tL=new A.k(458822) +B.f6=new A.k(458823) +B.tM=new A.k(458824) +B.tN=new A.k(458825) +B.tO=new A.k(458826) +B.tP=new A.k(458827) +B.tQ=new A.k(458828) +B.tR=new A.k(458829) +B.tS=new A.k(458830) +B.tT=new A.k(458831) +B.tU=new A.k(458832) +B.tV=new A.k(458833) +B.tW=new A.k(458834) +B.f7=new A.k(458835) +B.tX=new A.k(458836) +B.tY=new A.k(458837) +B.tZ=new A.k(458838) +B.u_=new A.k(458839) +B.u0=new A.k(458840) +B.u1=new A.k(458841) +B.u2=new A.k(458842) +B.u3=new A.k(458843) +B.u4=new A.k(458844) +B.u5=new A.k(458845) +B.u6=new A.k(458846) +B.u7=new A.k(458847) +B.u8=new A.k(458848) +B.u9=new A.k(458849) +B.ua=new A.k(458850) +B.ub=new A.k(458851) +B.uc=new A.k(458852) +B.ud=new A.k(458853) +B.ue=new A.k(458854) +B.uf=new A.k(458855) +B.ug=new A.k(458856) +B.uh=new A.k(458857) +B.ui=new A.k(458858) +B.uj=new A.k(458859) +B.uk=new A.k(458860) +B.ul=new A.k(458861) +B.um=new A.k(458862) +B.un=new A.k(458863) +B.uo=new A.k(458864) +B.up=new A.k(458865) +B.uq=new A.k(458866) +B.ur=new A.k(458867) +B.us=new A.k(458868) +B.ut=new A.k(458869) +B.uu=new A.k(458871) +B.uv=new A.k(458873) +B.uw=new A.k(458874) +B.ux=new A.k(458875) +B.uy=new A.k(458876) +B.uz=new A.k(458877) +B.uA=new A.k(458878) +B.uB=new A.k(458879) +B.uC=new A.k(458880) +B.uD=new A.k(458881) +B.uE=new A.k(458885) +B.uF=new A.k(458887) +B.uG=new A.k(458888) +B.uH=new A.k(458889) +B.uI=new A.k(458890) +B.uJ=new A.k(458891) +B.uK=new A.k(458896) +B.uL=new A.k(458897) +B.uM=new A.k(458898) +B.uN=new A.k(458899) +B.uO=new A.k(458900) +B.uP=new A.k(458907) +B.uQ=new A.k(458915) +B.uR=new A.k(458934) +B.uS=new A.k(458935) +B.uT=new A.k(458939) +B.uU=new A.k(458960) +B.uV=new A.k(458961) +B.uW=new A.k(458962) +B.uX=new A.k(458963) +B.uY=new A.k(458964) +B.Hu=new A.k(458967) +B.uZ=new A.k(458968) +B.v_=new A.k(458969) +B.cA=new A.k(458976) +B.cB=new A.k(458977) +B.cC=new A.k(458978) +B.cD=new A.k(458979) +B.dJ=new A.k(458980) +B.dK=new A.k(458981) +B.cE=new A.k(458982) +B.dL=new A.k(458983) +B.Hv=new A.k(786528) +B.Hw=new A.k(786529) +B.v3=new A.k(786543) +B.v4=new A.k(786544) +B.Hx=new A.k(786546) +B.Hy=new A.k(786547) +B.Hz=new A.k(786548) +B.HA=new A.k(786549) +B.HB=new A.k(786553) +B.HC=new A.k(786554) +B.HD=new A.k(786563) +B.HE=new A.k(786572) +B.HF=new A.k(786573) +B.HG=new A.k(786580) +B.HH=new A.k(786588) +B.HI=new A.k(786589) +B.v5=new A.k(786608) +B.v6=new A.k(786609) +B.v7=new A.k(786610) +B.v8=new A.k(786611) +B.v9=new A.k(786612) +B.va=new A.k(786613) +B.vb=new A.k(786614) +B.vc=new A.k(786615) +B.vd=new A.k(786616) +B.ve=new A.k(786637) +B.HJ=new A.k(786639) +B.HK=new A.k(786661) +B.vf=new A.k(786819) +B.HL=new A.k(786820) +B.HM=new A.k(786822) +B.vg=new A.k(786826) +B.HN=new A.k(786829) +B.HO=new A.k(786830) +B.vh=new A.k(786834) +B.vi=new A.k(786836) +B.HP=new A.k(786838) +B.HQ=new A.k(786844) +B.HR=new A.k(786846) +B.vj=new A.k(786847) +B.vk=new A.k(786850) +B.HS=new A.k(786855) +B.HT=new A.k(786859) +B.HU=new A.k(786862) +B.vl=new A.k(786865) +B.HV=new A.k(786871) +B.vm=new A.k(786891) +B.HW=new A.k(786945) +B.HX=new A.k(786947) +B.HY=new A.k(786951) +B.HZ=new A.k(786952) +B.vn=new A.k(786977) +B.vo=new A.k(786979) +B.vp=new A.k(786980) +B.vq=new A.k(786981) +B.vr=new A.k(786982) +B.vs=new A.k(786983) +B.vt=new A.k(786986) +B.I_=new A.k(786989) +B.I0=new A.k(786990) +B.vu=new A.k(786994) +B.I1=new A.k(787065) +B.vv=new A.k(787081) +B.vw=new A.k(787083) +B.vx=new A.k(787084) +B.vy=new A.k(787101) +B.vz=new A.k(787103) +B.Gm=new A.d3([16,B.r8,17,B.r9,18,B.dI,19,B.ra,20,B.rb,21,B.rc,22,B.rd,23,B.re,24,B.rf,65666,B.v0,65667,B.v1,65717,B.v2,392961,B.rg,392962,B.rh,392963,B.ri,392964,B.rj,392965,B.rk,392966,B.rl,392967,B.rm,392968,B.rn,392969,B.ro,392970,B.rp,392971,B.rq,392972,B.rr,392973,B.rs,392974,B.rt,392975,B.ru,392976,B.rv,392977,B.rw,392978,B.rx,392979,B.ry,392980,B.rz,392981,B.rA,392982,B.rB,392983,B.rC,392984,B.rD,392985,B.rE,392986,B.rF,392987,B.rG,392988,B.rH,392989,B.rI,392990,B.rJ,392991,B.rK,458752,B.Hq,458753,B.Hr,458754,B.Hs,458755,B.Ht,458756,B.rL,458757,B.rM,458758,B.rN,458759,B.rO,458760,B.rP,458761,B.rQ,458762,B.rR,458763,B.rS,458764,B.rT,458765,B.rU,458766,B.rV,458767,B.rW,458768,B.rX,458769,B.rY,458770,B.rZ,458771,B.t_,458772,B.t0,458773,B.t1,458774,B.t2,458775,B.t3,458776,B.t4,458777,B.t5,458778,B.t6,458779,B.t7,458780,B.t8,458781,B.t9,458782,B.ta,458783,B.tb,458784,B.tc,458785,B.td,458786,B.te,458787,B.tf,458788,B.tg,458789,B.th,458790,B.ti,458791,B.tj,458792,B.tk,458793,B.iJ,458794,B.tl,458795,B.tm,458796,B.tn,458797,B.to,458798,B.tp,458799,B.tq,458800,B.tr,458801,B.ts,458803,B.tt,458804,B.tu,458805,B.tv,458806,B.tw,458807,B.tx,458808,B.ty,458809,B.c2,458810,B.tz,458811,B.tA,458812,B.tB,458813,B.tC,458814,B.tD,458815,B.tE,458816,B.tF,458817,B.tG,458818,B.tH,458819,B.tI,458820,B.tJ,458821,B.tK,458822,B.tL,458823,B.f6,458824,B.tM,458825,B.tN,458826,B.tO,458827,B.tP,458828,B.tQ,458829,B.tR,458830,B.tS,458831,B.tT,458832,B.tU,458833,B.tV,458834,B.tW,458835,B.f7,458836,B.tX,458837,B.tY,458838,B.tZ,458839,B.u_,458840,B.u0,458841,B.u1,458842,B.u2,458843,B.u3,458844,B.u4,458845,B.u5,458846,B.u6,458847,B.u7,458848,B.u8,458849,B.u9,458850,B.ua,458851,B.ub,458852,B.uc,458853,B.ud,458854,B.ue,458855,B.uf,458856,B.ug,458857,B.uh,458858,B.ui,458859,B.uj,458860,B.uk,458861,B.ul,458862,B.um,458863,B.un,458864,B.uo,458865,B.up,458866,B.uq,458867,B.ur,458868,B.us,458869,B.ut,458871,B.uu,458873,B.uv,458874,B.uw,458875,B.ux,458876,B.uy,458877,B.uz,458878,B.uA,458879,B.uB,458880,B.uC,458881,B.uD,458885,B.uE,458887,B.uF,458888,B.uG,458889,B.uH,458890,B.uI,458891,B.uJ,458896,B.uK,458897,B.uL,458898,B.uM,458899,B.uN,458900,B.uO,458907,B.uP,458915,B.uQ,458934,B.uR,458935,B.uS,458939,B.uT,458960,B.uU,458961,B.uV,458962,B.uW,458963,B.uX,458964,B.uY,458967,B.Hu,458968,B.uZ,458969,B.v_,458976,B.cA,458977,B.cB,458978,B.cC,458979,B.cD,458980,B.dJ,458981,B.dK,458982,B.cE,458983,B.dL,786528,B.Hv,786529,B.Hw,786543,B.v3,786544,B.v4,786546,B.Hx,786547,B.Hy,786548,B.Hz,786549,B.HA,786553,B.HB,786554,B.HC,786563,B.HD,786572,B.HE,786573,B.HF,786580,B.HG,786588,B.HH,786589,B.HI,786608,B.v5,786609,B.v6,786610,B.v7,786611,B.v8,786612,B.v9,786613,B.va,786614,B.vb,786615,B.vc,786616,B.vd,786637,B.ve,786639,B.HJ,786661,B.HK,786819,B.vf,786820,B.HL,786822,B.HM,786826,B.vg,786829,B.HN,786830,B.HO,786834,B.vh,786836,B.vi,786838,B.HP,786844,B.HQ,786846,B.HR,786847,B.vj,786850,B.vk,786855,B.HS,786859,B.HT,786862,B.HU,786865,B.vl,786871,B.HV,786891,B.vm,786945,B.HW,786947,B.HX,786951,B.HY,786952,B.HZ,786977,B.vn,786979,B.vo,786980,B.vp,786981,B.vq,786982,B.vr,786983,B.vs,786986,B.vt,786989,B.I_,786990,B.I0,786994,B.vu,787065,B.I1,787081,B.vv,787083,B.vw,787084,B.vx,787101,B.vy,787103,B.vz],A.aj("d3")) +B.je=new A.a0(B.aY,!1,!1,!0,!1,B.j) +B.jb=new A.a0(B.aQ,!1,!1,!0,!1,B.j) +B.jc=new A.a0(B.aR,!1,!1,!0,!1,B.j) +B.jd=new A.a0(B.aZ,!1,!1,!0,!1,B.j) +B.wA=new A.a0(B.aY,!1,!1,!1,!0,B.j) +B.wx=new A.a0(B.aQ,!1,!1,!1,!0,B.j) +B.wy=new A.a0(B.aR,!1,!1,!1,!0,B.j) +B.wz=new A.a0(B.aZ,!1,!1,!1,!0,B.j) +B.wt=new A.a0(B.aQ,!0,!1,!1,!1,B.j) +B.wu=new A.a0(B.aR,!0,!1,!1,!1,B.j) +B.wv=new A.a0(B.aQ,!0,!0,!1,!1,B.j) +B.ww=new A.a0(B.aR,!0,!0,!1,!1,B.j) +B.qJ=new A.d3([B.je,B.k,B.jb,B.k,B.jc,B.k,B.jd,B.k,B.wA,B.k,B.wx,B.k,B.wy,B.k,B.wz,B.k,B.fq,B.k,B.ft,B.k,B.fu,B.k,B.fp,B.k,B.wt,B.k,B.wu,B.k,B.wv,B.k,B.ww,B.k,B.fv,B.k,B.fw,B.k],t.Fp) +B.Go=new A.bt(B.aD,[],A.aj("bt")) +B.qN=new A.bt(B.aD,[],A.aj("bt")) +B.Gq=new A.bt(B.aD,[],A.aj("bt")) +B.f1=new A.bt(B.aD,[],A.aj("bt")) +B.Gp=new A.bt(B.aD,[],A.aj("bt")) +B.qK=new A.bt(B.aD,[],A.aj("bt>")) +B.iw=new A.bt(B.aD,[],A.aj("bt")) +B.qO=new A.bt(B.aD,[],A.aj("bt")) +B.Gn=new A.bt(B.aD,[],A.aj("bt")) +B.qL=new A.bt(B.aD,[],A.aj("bt>")) +B.H_={BU:0,DD:1,FX:2,TP:3,YD:4,ZR:5} +B.bf=new A.bt(B.H_,["MM","DE","FR","TL","YE","CD"],t.li) +B.GQ={Abort:0,Again:1,AltLeft:2,AltRight:3,ArrowDown:4,ArrowLeft:5,ArrowRight:6,ArrowUp:7,AudioVolumeDown:8,AudioVolumeMute:9,AudioVolumeUp:10,Backquote:11,Backslash:12,Backspace:13,BracketLeft:14,BracketRight:15,BrightnessDown:16,BrightnessUp:17,BrowserBack:18,BrowserFavorites:19,BrowserForward:20,BrowserHome:21,BrowserRefresh:22,BrowserSearch:23,BrowserStop:24,CapsLock:25,Comma:26,ContextMenu:27,ControlLeft:28,ControlRight:29,Convert:30,Copy:31,Cut:32,Delete:33,Digit0:34,Digit1:35,Digit2:36,Digit3:37,Digit4:38,Digit5:39,Digit6:40,Digit7:41,Digit8:42,Digit9:43,DisplayToggleIntExt:44,Eject:45,End:46,Enter:47,Equal:48,Esc:49,Escape:50,F1:51,F10:52,F11:53,F12:54,F13:55,F14:56,F15:57,F16:58,F17:59,F18:60,F19:61,F2:62,F20:63,F21:64,F22:65,F23:66,F24:67,F3:68,F4:69,F5:70,F6:71,F7:72,F8:73,F9:74,Find:75,Fn:76,FnLock:77,GameButton1:78,GameButton10:79,GameButton11:80,GameButton12:81,GameButton13:82,GameButton14:83,GameButton15:84,GameButton16:85,GameButton2:86,GameButton3:87,GameButton4:88,GameButton5:89,GameButton6:90,GameButton7:91,GameButton8:92,GameButton9:93,GameButtonA:94,GameButtonB:95,GameButtonC:96,GameButtonLeft1:97,GameButtonLeft2:98,GameButtonMode:99,GameButtonRight1:100,GameButtonRight2:101,GameButtonSelect:102,GameButtonStart:103,GameButtonThumbLeft:104,GameButtonThumbRight:105,GameButtonX:106,GameButtonY:107,GameButtonZ:108,Help:109,Home:110,Hyper:111,Insert:112,IntlBackslash:113,IntlRo:114,IntlYen:115,KanaMode:116,KeyA:117,KeyB:118,KeyC:119,KeyD:120,KeyE:121,KeyF:122,KeyG:123,KeyH:124,KeyI:125,KeyJ:126,KeyK:127,KeyL:128,KeyM:129,KeyN:130,KeyO:131,KeyP:132,KeyQ:133,KeyR:134,KeyS:135,KeyT:136,KeyU:137,KeyV:138,KeyW:139,KeyX:140,KeyY:141,KeyZ:142,KeyboardLayoutSelect:143,Lang1:144,Lang2:145,Lang3:146,Lang4:147,Lang5:148,LaunchApp1:149,LaunchApp2:150,LaunchAssistant:151,LaunchControlPanel:152,LaunchMail:153,LaunchScreenSaver:154,MailForward:155,MailReply:156,MailSend:157,MediaFastForward:158,MediaPause:159,MediaPlay:160,MediaPlayPause:161,MediaRecord:162,MediaRewind:163,MediaSelect:164,MediaStop:165,MediaTrackNext:166,MediaTrackPrevious:167,MetaLeft:168,MetaRight:169,MicrophoneMuteToggle:170,Minus:171,NonConvert:172,NumLock:173,Numpad0:174,Numpad1:175,Numpad2:176,Numpad3:177,Numpad4:178,Numpad5:179,Numpad6:180,Numpad7:181,Numpad8:182,Numpad9:183,NumpadAdd:184,NumpadBackspace:185,NumpadClear:186,NumpadClearEntry:187,NumpadComma:188,NumpadDecimal:189,NumpadDivide:190,NumpadEnter:191,NumpadEqual:192,NumpadMemoryAdd:193,NumpadMemoryClear:194,NumpadMemoryRecall:195,NumpadMemoryStore:196,NumpadMemorySubtract:197,NumpadMultiply:198,NumpadParenLeft:199,NumpadParenRight:200,NumpadSubtract:201,Open:202,PageDown:203,PageUp:204,Paste:205,Pause:206,Period:207,Power:208,PrintScreen:209,PrivacyScreenToggle:210,Props:211,Quote:212,Resume:213,ScrollLock:214,Select:215,SelectTask:216,Semicolon:217,ShiftLeft:218,ShiftRight:219,ShowAllWindows:220,Slash:221,Sleep:222,Space:223,Super:224,Suspend:225,Tab:226,Turbo:227,Undo:228,WakeUp:229,ZoomToggle:230} +B.Gs=new A.bt(B.GQ,[458907,458873,458978,458982,458833,458832,458831,458834,458881,458879,458880,458805,458801,458794,458799,458800,786544,786543,786980,786986,786981,786979,786983,786977,786982,458809,458806,458853,458976,458980,458890,458876,458875,458828,458791,458782,458783,458784,458785,458786,458787,458788,458789,458790,65717,786616,458829,458792,458798,458793,458793,458810,458819,458820,458821,458856,458857,458858,458859,458860,458861,458862,458811,458863,458864,458865,458866,458867,458812,458813,458814,458815,458816,458817,458818,458878,18,19,392961,392970,392971,392972,392973,392974,392975,392976,392962,392963,392964,392965,392966,392967,392968,392969,392977,392978,392979,392980,392981,392982,392983,392984,392985,392986,392987,392988,392989,392990,392991,458869,458826,16,458825,458852,458887,458889,458888,458756,458757,458758,458759,458760,458761,458762,458763,458764,458765,458766,458767,458768,458769,458770,458771,458772,458773,458774,458775,458776,458777,458778,458779,458780,458781,787101,458896,458897,458898,458899,458900,786836,786834,786891,786847,786826,786865,787083,787081,787084,786611,786609,786608,786637,786610,786612,786819,786615,786613,786614,458979,458983,24,458797,458891,458835,458850,458841,458842,458843,458844,458845,458846,458847,458848,458849,458839,458939,458968,458969,458885,458851,458836,458840,458855,458963,458962,458961,458960,458964,458837,458934,458935,458838,458868,458830,458827,458877,458824,458807,458854,458822,23,458915,458804,21,458823,458871,786850,458803,458977,458981,787103,458808,65666,458796,17,20,458795,22,458874,65667,786994],t.eL) +B.r_={AVRInput:0,AVRPower:1,Accel:2,Accept:3,Again:4,AllCandidates:5,Alphanumeric:6,AltGraph:7,AppSwitch:8,ArrowDown:9,ArrowLeft:10,ArrowRight:11,ArrowUp:12,Attn:13,AudioBalanceLeft:14,AudioBalanceRight:15,AudioBassBoostDown:16,AudioBassBoostToggle:17,AudioBassBoostUp:18,AudioFaderFront:19,AudioFaderRear:20,AudioSurroundModeNext:21,AudioTrebleDown:22,AudioTrebleUp:23,AudioVolumeDown:24,AudioVolumeMute:25,AudioVolumeUp:26,Backspace:27,BrightnessDown:28,BrightnessUp:29,BrowserBack:30,BrowserFavorites:31,BrowserForward:32,BrowserHome:33,BrowserRefresh:34,BrowserSearch:35,BrowserStop:36,Call:37,Camera:38,CameraFocus:39,Cancel:40,CapsLock:41,ChannelDown:42,ChannelUp:43,Clear:44,Close:45,ClosedCaptionToggle:46,CodeInput:47,ColorF0Red:48,ColorF1Green:49,ColorF2Yellow:50,ColorF3Blue:51,ColorF4Grey:52,ColorF5Brown:53,Compose:54,ContextMenu:55,Convert:56,Copy:57,CrSel:58,Cut:59,DVR:60,Delete:61,Dimmer:62,DisplaySwap:63,Eisu:64,Eject:65,End:66,EndCall:67,Enter:68,EraseEof:69,Esc:70,Escape:71,ExSel:72,Execute:73,Exit:74,F1:75,F10:76,F11:77,F12:78,F13:79,F14:80,F15:81,F16:82,F17:83,F18:84,F19:85,F2:86,F20:87,F21:88,F22:89,F23:90,F24:91,F3:92,F4:93,F5:94,F6:95,F7:96,F8:97,F9:98,FavoriteClear0:99,FavoriteClear1:100,FavoriteClear2:101,FavoriteClear3:102,FavoriteRecall0:103,FavoriteRecall1:104,FavoriteRecall2:105,FavoriteRecall3:106,FavoriteStore0:107,FavoriteStore1:108,FavoriteStore2:109,FavoriteStore3:110,FinalMode:111,Find:112,Fn:113,FnLock:114,GoBack:115,GoHome:116,GroupFirst:117,GroupLast:118,GroupNext:119,GroupPrevious:120,Guide:121,GuideNextDay:122,GuidePreviousDay:123,HangulMode:124,HanjaMode:125,Hankaku:126,HeadsetHook:127,Help:128,Hibernate:129,Hiragana:130,HiraganaKatakana:131,Home:132,Hyper:133,Info:134,Insert:135,InstantReplay:136,JunjaMode:137,KanaMode:138,KanjiMode:139,Katakana:140,Key11:141,Key12:142,LastNumberRedial:143,LaunchApplication1:144,LaunchApplication2:145,LaunchAssistant:146,LaunchCalendar:147,LaunchContacts:148,LaunchControlPanel:149,LaunchMail:150,LaunchMediaPlayer:151,LaunchMusicPlayer:152,LaunchPhone:153,LaunchScreenSaver:154,LaunchSpreadsheet:155,LaunchWebBrowser:156,LaunchWebCam:157,LaunchWordProcessor:158,Link:159,ListProgram:160,LiveContent:161,Lock:162,LogOff:163,MailForward:164,MailReply:165,MailSend:166,MannerMode:167,MediaApps:168,MediaAudioTrack:169,MediaClose:170,MediaFastForward:171,MediaLast:172,MediaPause:173,MediaPlay:174,MediaPlayPause:175,MediaRecord:176,MediaRewind:177,MediaSkip:178,MediaSkipBackward:179,MediaSkipForward:180,MediaStepBackward:181,MediaStepForward:182,MediaStop:183,MediaTopMenu:184,MediaTrackNext:185,MediaTrackPrevious:186,MicrophoneToggle:187,MicrophoneVolumeDown:188,MicrophoneVolumeMute:189,MicrophoneVolumeUp:190,ModeChange:191,NavigateIn:192,NavigateNext:193,NavigateOut:194,NavigatePrevious:195,New:196,NextCandidate:197,NextFavoriteChannel:198,NextUserProfile:199,NonConvert:200,Notification:201,NumLock:202,OnDemand:203,Open:204,PageDown:205,PageUp:206,Pairing:207,Paste:208,Pause:209,PinPDown:210,PinPMove:211,PinPToggle:212,PinPUp:213,Play:214,PlaySpeedDown:215,PlaySpeedReset:216,PlaySpeedUp:217,Power:218,PowerOff:219,PreviousCandidate:220,Print:221,PrintScreen:222,Process:223,Props:224,RandomToggle:225,RcLowBattery:226,RecordSpeedNext:227,Redo:228,RfBypass:229,Romaji:230,STBInput:231,STBPower:232,Save:233,ScanChannelsToggle:234,ScreenModeNext:235,ScrollLock:236,Select:237,Settings:238,ShiftLevel5:239,SingleCandidate:240,Soft1:241,Soft2:242,Soft3:243,Soft4:244,Soft5:245,Soft6:246,Soft7:247,Soft8:248,SpeechCorrectionList:249,SpeechInputToggle:250,SpellCheck:251,SplitScreenToggle:252,Standby:253,Subtitle:254,Super:255,Symbol:256,SymbolLock:257,TV:258,TV3DMode:259,TVAntennaCable:260,TVAudioDescription:261,TVAudioDescriptionMixDown:262,TVAudioDescriptionMixUp:263,TVContentsMenu:264,TVDataService:265,TVInput:266,TVInputComponent1:267,TVInputComponent2:268,TVInputComposite1:269,TVInputComposite2:270,TVInputHDMI1:271,TVInputHDMI2:272,TVInputHDMI3:273,TVInputHDMI4:274,TVInputVGA1:275,TVMediaContext:276,TVNetwork:277,TVNumberEntry:278,TVPower:279,TVRadioService:280,TVSatellite:281,TVSatelliteBS:282,TVSatelliteCS:283,TVSatelliteToggle:284,TVTerrestrialAnalog:285,TVTerrestrialDigital:286,TVTimer:287,Tab:288,Teletext:289,Undo:290,Unidentified:291,VideoModeNext:292,VoiceDial:293,WakeUp:294,Wink:295,Zenkaku:296,ZenkakuHankaku:297,ZoomIn:298,ZoomOut:299,ZoomToggle:300} +B.Gt=new A.bt(B.r_,[4294970632,4294970633,4294967553,4294968577,4294968578,4294969089,4294969090,4294967555,4294971393,4294968065,4294968066,4294968067,4294968068,4294968579,4294970625,4294970626,4294970627,4294970882,4294970628,4294970629,4294970630,4294970631,4294970884,4294970885,4294969871,4294969873,4294969872,4294967304,4294968833,4294968834,4294970369,4294970370,4294970371,4294970372,4294970373,4294970374,4294970375,4294971394,4294968835,4294971395,4294968580,4294967556,4294970634,4294970635,4294968321,4294969857,4294970642,4294969091,4294970636,4294970637,4294970638,4294970639,4294970640,4294970641,4294969092,4294968581,4294969093,4294968322,4294968323,4294968324,4294970703,4294967423,4294970643,4294970644,4294969108,4294968836,4294968069,4294971396,4294967309,4294968325,4294967323,4294967323,4294968326,4294968582,4294970645,4294969345,4294969354,4294969355,4294969356,4294969357,4294969358,4294969359,4294969360,4294969361,4294969362,4294969363,4294969346,4294969364,4294969365,4294969366,4294969367,4294969368,4294969347,4294969348,4294969349,4294969350,4294969351,4294969352,4294969353,4294970646,4294970647,4294970648,4294970649,4294970650,4294970651,4294970652,4294970653,4294970654,4294970655,4294970656,4294970657,4294969094,4294968583,4294967558,4294967559,4294971397,4294971398,4294969095,4294969096,4294969097,4294969098,4294970658,4294970659,4294970660,4294969105,4294969106,4294969109,4294971399,4294968584,4294968841,4294969110,4294969111,4294968070,4294967560,4294970661,4294968327,4294970662,4294969107,4294969112,4294969113,4294969114,4294971905,4294971906,4294971400,4294970118,4294970113,4294970126,4294970114,4294970124,4294970127,4294970115,4294970116,4294970117,4294970125,4294970119,4294970120,4294970121,4294970122,4294970123,4294970663,4294970664,4294970665,4294970666,4294968837,4294969858,4294969859,4294969860,4294971402,4294970667,4294970704,4294970715,4294970668,4294970669,4294970670,4294970671,4294969861,4294970672,4294970673,4294970674,4294970705,4294970706,4294970707,4294970708,4294969863,4294970709,4294969864,4294969865,4294970886,4294970887,4294970889,4294970888,4294969099,4294970710,4294970711,4294970712,4294970713,4294969866,4294969100,4294970675,4294970676,4294969101,4294971401,4294967562,4294970677,4294969867,4294968071,4294968072,4294970714,4294968328,4294968585,4294970678,4294970679,4294970680,4294970681,4294968586,4294970682,4294970683,4294970684,4294968838,4294968839,4294969102,4294969868,4294968840,4294969103,4294968587,4294970685,4294970686,4294970687,4294968329,4294970688,4294969115,4294970693,4294970694,4294969869,4294970689,4294970690,4294967564,4294968588,4294970691,4294967569,4294969104,4294969601,4294969602,4294969603,4294969604,4294969605,4294969606,4294969607,4294969608,4294971137,4294971138,4294969870,4294970692,4294968842,4294970695,4294967566,4294967567,4294967568,4294970697,4294971649,4294971650,4294971651,4294971652,4294971653,4294971654,4294971655,4294970698,4294971656,4294971657,4294971658,4294971659,4294971660,4294971661,4294971662,4294971663,4294971664,4294971665,4294971666,4294971667,4294970699,4294971668,4294971669,4294971670,4294971671,4294971672,4294971673,4294971674,4294971675,4294967305,4294970696,4294968330,4294967297,4294970700,4294971403,4294968843,4294970701,4294969116,4294969117,4294968589,4294968590,4294970702],t.eL) +B.Gu=new A.bt(B.r_,[B.og,B.oh,B.lX,B.mb,B.mc,B.mA,B.mB,B.eV,B.pK,B.aY,B.aQ,B.aR,B.aZ,B.md,B.o9,B.oa,B.ob,B.pB,B.oc,B.od,B.oe,B.of,B.pC,B.pD,B.nL,B.nN,B.nM,B.aj,B.mp,B.mq,B.o2,B.o3,B.o4,B.o5,B.o6,B.o7,B.o8,B.pL,B.mr,B.pM,B.me,B.dt,B.oi,B.oj,B.ij,B.ny,B.oq,B.mC,B.ok,B.ol,B.om,B.on,B.oo,B.op,B.mD,B.mf,B.mE,B.m3,B.m4,B.m5,B.po,B.af,B.or,B.os,B.mT,B.ms,B.bU,B.pN,B.eU,B.m6,B.ds,B.ds,B.m7,B.mg,B.ot,B.n2,B.nb,B.nc,B.nd,B.ne,B.nf,B.ng,B.nh,B.ni,B.nj,B.nk,B.n3,B.nl,B.nm,B.nn,B.no,B.np,B.n4,B.n5,B.n6,B.n7,B.n8,B.n9,B.na,B.ou,B.ov,B.ow,B.ox,B.oy,B.oz,B.oA,B.oB,B.oC,B.oD,B.oE,B.oF,B.mF,B.mh,B.ii,B.lY,B.pO,B.pP,B.mG,B.mH,B.mI,B.mJ,B.oG,B.oH,B.oI,B.mQ,B.mR,B.mU,B.pQ,B.mi,B.mx,B.mV,B.mW,B.bV,B.lZ,B.oJ,B.ik,B.oK,B.mS,B.mX,B.mY,B.mZ,B.ql,B.qm,B.pR,B.nT,B.nO,B.o0,B.nP,B.nZ,B.o1,B.nQ,B.nR,B.nS,B.o_,B.nU,B.nV,B.nW,B.nX,B.nY,B.oL,B.oM,B.oN,B.oO,B.mt,B.nz,B.nA,B.nB,B.pT,B.oP,B.pp,B.pA,B.oQ,B.oR,B.oS,B.oT,B.nC,B.oU,B.oV,B.oW,B.pq,B.pr,B.ps,B.pt,B.nD,B.pu,B.nE,B.nF,B.pE,B.pF,B.pH,B.pG,B.mK,B.pv,B.pw,B.px,B.py,B.nG,B.mL,B.oX,B.oY,B.mM,B.pS,B.eW,B.oZ,B.nH,B.du,B.dv,B.pz,B.m8,B.mj,B.p_,B.p0,B.p1,B.p2,B.mk,B.p3,B.p4,B.p5,B.mu,B.mv,B.mN,B.nI,B.mw,B.mO,B.ml,B.p6,B.p7,B.p8,B.m9,B.p9,B.n_,B.pe,B.pf,B.nJ,B.pa,B.pb,B.eX,B.mm,B.pc,B.m2,B.mP,B.nq,B.nr,B.ns,B.nt,B.nu,B.nv,B.nw,B.nx,B.pI,B.pJ,B.nK,B.pd,B.my,B.pg,B.m_,B.m0,B.m1,B.pi,B.pV,B.pW,B.pX,B.pY,B.pZ,B.q_,B.q0,B.pj,B.q1,B.q2,B.q3,B.q4,B.q5,B.q6,B.q7,B.q8,B.q9,B.qa,B.qb,B.qc,B.pk,B.qd,B.qe,B.qf,B.qg,B.qh,B.qi,B.qj,B.qk,B.eT,B.ph,B.ma,B.lW,B.pl,B.pU,B.mz,B.pm,B.n0,B.n1,B.mn,B.mo,B.pn],A.aj("bt")) +B.K9=new A.a0(B.aj,!1,!1,!1,!1,B.j) +B.Ka=new A.a0(B.aj,!1,!0,!1,!1,B.j) +B.Kg=new A.a0(B.af,!1,!1,!1,!1,B.j) +B.Kh=new A.a0(B.af,!1,!0,!1,!1,B.j) +B.Kb=new A.a0(B.aj,!1,!0,!0,!1,B.j) +B.Kc=new A.a0(B.aj,!1,!1,!0,!1,B.j) +B.Ki=new A.a0(B.af,!1,!0,!0,!1,B.j) +B.Kj=new A.a0(B.af,!1,!1,!0,!1,B.j) +B.qP=new A.d3([B.K9,B.k,B.Ka,B.k,B.Kg,B.k,B.Kh,B.k,B.Kb,B.k,B.Kc,B.k,B.Ki,B.k,B.Kj,B.k],t.Fp) +B.H1={type:0} +B.Gv=new A.bt(B.H1,["line"],t.li) +B.GY={Abort:0,Again:1,AltLeft:2,AltRight:3,ArrowDown:4,ArrowLeft:5,ArrowRight:6,ArrowUp:7,AudioVolumeDown:8,AudioVolumeMute:9,AudioVolumeUp:10,Backquote:11,Backslash:12,Backspace:13,BracketLeft:14,BracketRight:15,BrightnessDown:16,BrightnessUp:17,BrowserBack:18,BrowserFavorites:19,BrowserForward:20,BrowserHome:21,BrowserRefresh:22,BrowserSearch:23,BrowserStop:24,CapsLock:25,Comma:26,ContextMenu:27,ControlLeft:28,ControlRight:29,Convert:30,Copy:31,Cut:32,Delete:33,Digit0:34,Digit1:35,Digit2:36,Digit3:37,Digit4:38,Digit5:39,Digit6:40,Digit7:41,Digit8:42,Digit9:43,DisplayToggleIntExt:44,Eject:45,End:46,Enter:47,Equal:48,Escape:49,Esc:50,F1:51,F10:52,F11:53,F12:54,F13:55,F14:56,F15:57,F16:58,F17:59,F18:60,F19:61,F2:62,F20:63,F21:64,F22:65,F23:66,F24:67,F3:68,F4:69,F5:70,F6:71,F7:72,F8:73,F9:74,Find:75,Fn:76,FnLock:77,GameButton1:78,GameButton10:79,GameButton11:80,GameButton12:81,GameButton13:82,GameButton14:83,GameButton15:84,GameButton16:85,GameButton2:86,GameButton3:87,GameButton4:88,GameButton5:89,GameButton6:90,GameButton7:91,GameButton8:92,GameButton9:93,GameButtonA:94,GameButtonB:95,GameButtonC:96,GameButtonLeft1:97,GameButtonLeft2:98,GameButtonMode:99,GameButtonRight1:100,GameButtonRight2:101,GameButtonSelect:102,GameButtonStart:103,GameButtonThumbLeft:104,GameButtonThumbRight:105,GameButtonX:106,GameButtonY:107,GameButtonZ:108,Help:109,Home:110,Hyper:111,Insert:112,IntlBackslash:113,IntlRo:114,IntlYen:115,KanaMode:116,KeyA:117,KeyB:118,KeyC:119,KeyD:120,KeyE:121,KeyF:122,KeyG:123,KeyH:124,KeyI:125,KeyJ:126,KeyK:127,KeyL:128,KeyM:129,KeyN:130,KeyO:131,KeyP:132,KeyQ:133,KeyR:134,KeyS:135,KeyT:136,KeyU:137,KeyV:138,KeyW:139,KeyX:140,KeyY:141,KeyZ:142,KeyboardLayoutSelect:143,Lang1:144,Lang2:145,Lang3:146,Lang4:147,Lang5:148,LaunchApp1:149,LaunchApp2:150,LaunchAssistant:151,LaunchControlPanel:152,LaunchMail:153,LaunchScreenSaver:154,MailForward:155,MailReply:156,MailSend:157,MediaFastForward:158,MediaPause:159,MediaPlay:160,MediaPlayPause:161,MediaRecord:162,MediaRewind:163,MediaSelect:164,MediaStop:165,MediaTrackNext:166,MediaTrackPrevious:167,MetaLeft:168,MetaRight:169,MicrophoneMuteToggle:170,Minus:171,NonConvert:172,NumLock:173,Numpad0:174,Numpad1:175,Numpad2:176,Numpad3:177,Numpad4:178,Numpad5:179,Numpad6:180,Numpad7:181,Numpad8:182,Numpad9:183,NumpadAdd:184,NumpadBackspace:185,NumpadClear:186,NumpadClearEntry:187,NumpadComma:188,NumpadDecimal:189,NumpadDivide:190,NumpadEnter:191,NumpadEqual:192,NumpadMemoryAdd:193,NumpadMemoryClear:194,NumpadMemoryRecall:195,NumpadMemoryStore:196,NumpadMemorySubtract:197,NumpadMultiply:198,NumpadParenLeft:199,NumpadParenRight:200,NumpadSubtract:201,Open:202,PageDown:203,PageUp:204,Paste:205,Pause:206,Period:207,Power:208,PrintScreen:209,PrivacyScreenToggle:210,Props:211,Quote:212,Resume:213,ScrollLock:214,Select:215,SelectTask:216,Semicolon:217,ShiftLeft:218,ShiftRight:219,ShowAllWindows:220,Slash:221,Sleep:222,Space:223,Super:224,Suspend:225,Tab:226,Turbo:227,Undo:228,WakeUp:229,ZoomToggle:230} +B.qR=new A.bt(B.GY,[B.uP,B.uv,B.cC,B.cE,B.tV,B.tU,B.tT,B.tW,B.uD,B.uB,B.uC,B.tv,B.ts,B.tl,B.tq,B.tr,B.v4,B.v3,B.vp,B.vt,B.vq,B.vo,B.vs,B.vn,B.vr,B.c2,B.tw,B.ud,B.cA,B.dJ,B.uI,B.uy,B.ux,B.tQ,B.tj,B.ta,B.tb,B.tc,B.td,B.te,B.tf,B.tg,B.th,B.ti,B.v2,B.vd,B.tR,B.tk,B.tp,B.iJ,B.iJ,B.tz,B.tI,B.tJ,B.tK,B.ug,B.uh,B.ui,B.uj,B.uk,B.ul,B.um,B.tA,B.un,B.uo,B.up,B.uq,B.ur,B.tB,B.tC,B.tD,B.tE,B.tF,B.tG,B.tH,B.uA,B.dI,B.ra,B.rg,B.rp,B.rq,B.rr,B.rs,B.rt,B.ru,B.rv,B.rh,B.ri,B.rj,B.rk,B.rl,B.rm,B.rn,B.ro,B.rw,B.rx,B.ry,B.rz,B.rA,B.rB,B.rC,B.rD,B.rE,B.rF,B.rG,B.rH,B.rI,B.rJ,B.rK,B.ut,B.tO,B.r8,B.tN,B.uc,B.uF,B.uH,B.uG,B.rL,B.rM,B.rN,B.rO,B.rP,B.rQ,B.rR,B.rS,B.rT,B.rU,B.rV,B.rW,B.rX,B.rY,B.rZ,B.t_,B.t0,B.t1,B.t2,B.t3,B.t4,B.t5,B.t6,B.t7,B.t8,B.t9,B.vy,B.uK,B.uL,B.uM,B.uN,B.uO,B.vi,B.vh,B.vm,B.vj,B.vg,B.vl,B.vw,B.vv,B.vx,B.v8,B.v6,B.v5,B.ve,B.v7,B.v9,B.vf,B.vc,B.va,B.vb,B.cD,B.dL,B.rf,B.to,B.uJ,B.f7,B.ua,B.u1,B.u2,B.u3,B.u4,B.u5,B.u6,B.u7,B.u8,B.u9,B.u_,B.uT,B.uZ,B.v_,B.uE,B.ub,B.tX,B.u0,B.uf,B.uX,B.uW,B.uV,B.uU,B.uY,B.tY,B.uR,B.uS,B.tZ,B.us,B.tS,B.tP,B.uz,B.tM,B.tx,B.ue,B.tL,B.re,B.uQ,B.tu,B.rc,B.f6,B.uu,B.vk,B.tt,B.cB,B.dK,B.vz,B.ty,B.v0,B.tn,B.r9,B.rb,B.tm,B.rd,B.uw,B.v1,B.vu],A.aj("bt")) +B.Gw=new A.wX(null,null,null,null,null,null,null,null) +B.As=new A.w(4284790262) +B.Ao=new A.w(4282557941) +B.Ad=new A.w(4279592384) +B.Ab=new A.w(4279060385) +B.Gr=new A.d3([50,B.kV,100,B.kT,200,B.kS,300,B.As,400,B.Ao,500,B.kK,600,B.kJ,700,B.kI,800,B.Ad,900,B.Ab],A.aj("d3")) +B.cr=new A.Hl(B.Gr,4280391411) +B.Gx=new A.nI(0,"padded") +B.Gy=new A.nI(1,"shrinkWrap") +B.cs=new A.nJ(0,"canvas") +B.ix=new A.nJ(1,"card") +B.qS=new A.nJ(2,"circle") +B.f2=new A.nJ(3,"button") +B.dE=new A.nJ(4,"transparency") +B.Gz=new A.Ht(null) +B.GA=new A.x3(null) +B.GB=new A.qq(null) +B.GC=new A.hd("popRoute",null) +B.GD=new A.du("plugins.flutter.io/image_picker",B.ah) +B.iy=new A.du("plugins.flutter.io/shared_preferences",B.ah) +B.GE=new A.du("flutter/service_worker",B.ah) +B.GF=new A.du("flutter.io/cameraPlugin/device",B.ah) +B.GG=new A.du("dev.fluttercommunity.plus/share",B.ah) +B.ct=new A.du("flutter_ocr_sdk",B.ah) +B.qT=new A.du("flutter/platform_views",B.ah) +B.GH=new A.du("plugins.flutter.io/path_provider",B.ah) +B.dF=new A.du("plugins.flutter.io/camera",B.ah) +B.GI=new A.du("plugins.flutter.io/url_launcher",B.ah) +B.cy=new A.HE(0,"latestPointer") +B.iD=new A.HE(1,"averageBoundaryPointers") +B.qV=new A.nN(0,"clipRect") +B.qW=new A.nN(1,"clipRRect") +B.qX=new A.nN(2,"clipPath") +B.GJ=new A.nN(3,"transform") +B.GK=new A.nN(4,"opacity") +B.GL=new A.HF(null) +B.GM=new A.xf(null,null,null,null,null,null,null,null,null,null,null) +B.GN=new A.xg(null,null,null,null,null,null,null,null,null,null) +B.iF=new A.HM(0,"traditional") +B.qZ=new A.HM(1,"directional") +B.GO=new A.lv(!0) +B.GP=new A.xh(null,null,null,null,null,null,null,null,null,null,null,null,null) +B.h=new A.n(0,0) +B.r0=new A.hY(B.h,B.h) +B.H4=new A.n(1/0,1/0) +B.T5=new A.n(0,-0.005) +B.Hc=new A.n(-0.3333333333333333,0) +B.Hd=new A.n(1/0,0) +B.ak=new A.jR(0,"iOs") +B.f5=new A.jR(1,"android") +B.iG=new A.jR(2,"linux") +B.r3=new A.jR(3,"windows") +B.b0=new A.jR(4,"macOs") +B.He=new A.jR(5,"unknown") +B.hi=new A.a0Q() +B.r4=new A.hZ("flutter/textinput",B.hi) +B.iH=new A.hZ("flutter/navigation",B.hi) +B.Hf=new A.hZ("flutter/mousecursor",B.ah) +B.bg=new A.hZ("flutter/platform",B.hi) +B.Hg=new A.hZ("flutter/keyboard",B.ah) +B.iI=new A.hZ("flutter/restoration",B.ah) +B.r5=new A.hZ("flutter/menu",B.ah) +B.Hh=new A.hZ("flutter/backgesture",B.ah) +B.Hi=new A.qv(0,null) +B.Hj=new A.qv(1,null) +B.Hk=new A.I_(0,"portrait") +B.Hl=new A.I_(1,"landscape") +B.Hm=new A.xq(null) +B.r6=new A.qz(null) +B.b1=new A.Ir(0,"fill") +B.X=new A.Ir(1,"stroke") +B.Hn=new A.ly(1/0) +B.b2=new A.It(0,"nonZero") +B.dH=new A.It(1,"evenOdd") +B.aO=new A.nV(0,"created") +B.al=new A.nV(1,"active") +B.cz=new A.nV(2,"pendingRetention") +B.Ho=new A.nV(3,"pendingUpdate") +B.r7=new A.nV(4,"released") +B.Hp=new A.xK(null) +B.vA=new A.lA(0,"baseline") +B.vB=new A.lA(1,"aboveBaseline") +B.vC=new A.lA(2,"belowBaseline") +B.vD=new A.lA(3,"top") +B.iK=new A.lA(4,"bottom") +B.vE=new A.lA(5,"middle") +B.I2=new A.xL(B.O,B.iK,null,null) +B.vG=new A.ID(0,"opaque") +B.vH=new A.ID(2,"transparent") +B.vI=new A.jY(0,"cancel") +B.iL=new A.jY(1,"add") +B.I3=new A.jY(2,"remove") +B.c3=new A.jY(3,"hover") +B.I4=new A.jY(4,"down") +B.f8=new A.jY(5,"move") +B.vJ=new A.jY(6,"up") +B.dM=new A.iN(0,"touch") +B.cF=new A.iN(1,"mouse") +B.f9=new A.iN(2,"stylus") +B.bv=new A.iN(4,"trackpad") +B.iM=new A.iN(5,"unknown") +B.fa=new A.qD(0,"none") +B.I5=new A.qD(1,"scroll") +B.I6=new A.qD(3,"scale") +B.I7=new A.qD(4,"unknown") +B.c8=new A.m(!0,B.i,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Q8=new A.cT("View",null,B.c8,null,null,null,null,null) +B.I8=new A.lE(2,B.Q8,null,t.nE) +B.PZ=new A.cT("Delete",null,B.c8,null,null,null,null,null) +B.I9=new A.lE(0,B.PZ,null,t.nE) +B.Q_=new A.cT("Share",null,B.c8,null,null,null,null,null) +B.Ia=new A.lE(1,B.Q_,null,t.nE) +B.Ib=new A.qF(null,null,null,null,null,null,null,null,null,null,null,null,null) +B.x6=new A.m(!0,B.i,null,null,null,null,12,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Q9=new A.cT("Powered by Dynamsoft",null,B.x6,B.e_,null,null,null,null) +B.Ic=new A.lF(122,null,122,28,null,null,B.Q9,null) +B.vL=new A.o5(1,"inAppWebView") +B.vM=new A.o5(2,"inAppBrowserView") +B.Id=new A.o5(3,"externalApplication") +B.vN=new A.o5(4,"externalNonBrowserApplication") +B.vO=new A.fJ(0,"incrementable") +B.iN=new A.fJ(1,"scrollable") +B.iO=new A.fJ(10,"link") +B.iP=new A.fJ(2,"button") +B.vP=new A.fJ(3,"textField") +B.iQ=new A.fJ(4,"checkable") +B.vQ=new A.fJ(5,"heading") +B.vR=new A.fJ(6,"image") +B.fc=new A.fJ(7,"dialog") +B.iR=new A.fJ(8,"platformView") +B.iS=new A.fJ(9,"generic") +B.Ie=new A.qI(null,null,null,null,null) +B.If=new A.xV(null,null,null,null,null,null) +B.Ig=new A.aT(8,8) +B.Ih=new A.aT(1.5,1.5) +B.Ii=new A.av(0,0) +B.Ij=new A.av(0,!0) +B.dS=new A.co(32,"scrollDown") +B.dR=new A.co(16,"scrollUp") +B.Ik=new A.av(B.dS,B.dR) +B.dU=new A.co(8,"scrollRight") +B.dT=new A.co(4,"scrollLeft") +B.Il=new A.av(B.dU,B.dT) +B.Im=new A.av(!1,!1) +B.In=new A.av(!1,null) +B.Io=new A.av(!1,!0) +B.Ip=new A.av(B.dR,B.dS) +B.Iq=new A.av(B.dT,B.dU) +B.T6=new A.Bv(null,null) +B.Ir=new A.av(!0,!1) +B.Is=new A.av(!0,!0) +B.vS=new A.Bz(0,0,1) +B.I=new A.x(0,0,0,0) +B.dO=new A.x(-1e9,-1e9,1e9,1e9) +B.dP=new A.y7(0,"identical") +B.It=new A.y7(2,"paint") +B.c4=new A.y7(3,"layout") +B.Iu=new A.a7N(5,"max") +B.Iv=new A.d_(B.ag,B.v) +B.fg=new A.aT(2,2) +B.y3=new A.cE(B.fg,B.fg,B.fg,B.fg) +B.vT=new A.d_(B.y3,B.v) +B.iU=new A.d_(B.h2,B.v) +B.fd=new A.aT(12,12) +B.y4=new A.cE(B.fd,B.fd,B.fd,B.fd) +B.Iw=new A.d_(B.y4,B.v) +B.fe=new A.aT(16,16) +B.y5=new A.cE(B.fe,B.fe,B.fe,B.fe) +B.vU=new A.d_(B.y5,B.v) +B.ff=new A.aT(28,28) +B.y6=new A.cE(B.ff,B.ff,B.ff,B.ff) +B.Ix=new A.d_(B.y6,B.v) +B.vV=new A.a8_(0,"none") +B.fh=new A.qU(0,"pop") +B.cG=new A.qU(1,"doNotPop") +B.vW=new A.qU(2,"bubble") +B.vX=new A.i2(null,null) +B.cc=new A.abU(1,"down") +B.Cs=new A.hQ(983712,!1) +B.Cu=new A.lc(B.Cs,20,B.i,null,null) +B.OK=new A.m(!0,B.i,null,null,null,null,14,B.cm,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Qa=new A.cT(" License expired! Renew your license ->",null,B.OK,null,null,null,null,null) +B.DS=A.b(s([B.Cu,B.Qa]),t.E) +B.Iy=new A.yz(B.aJ,B.U,B.at,B.N,null,B.cc,null,B.DS,null) +B.Iz=new A.yA(1333) +B.iV=new A.yA(2222) +B.IA=new A.JF(null,null) +B.cH=new A.oe(0,"idle") +B.IB=new A.oe(1,"transientCallbacks") +B.IC=new A.oe(2,"midFrameMicrotasks") +B.iW=new A.oe(3,"persistentCallbacks") +B.vY=new A.oe(4,"postFrameCallbacks") +B.vZ=new A.a8v(0,"englishLike") +B.fi=new A.yK(0,"idle") +B.iX=new A.yK(1,"forward") +B.iY=new A.yK(2,"reverse") +B.II=new A.oh(0,"explicit") +B.bw=new A.oh(1,"keepVisibleAtEnd") +B.bx=new A.oh(2,"keepVisibleAtStart") +B.IJ=new A.JW(0,"manual") +B.IK=new A.JW(1,"onDrag") +B.w1=new A.r_(0,"left") +B.w2=new A.r_(1,"right") +B.IL=new A.r_(2,"top") +B.w3=new A.r_(3,"bottom") +B.IM=new A.yR(null,null,null,null,null,null,null,null,null,null,null) +B.IN=new A.yS(null,null,null,null,null,null,null,null,null,null,null,null) +B.IO=new A.yT(null,null,null,null,null,null,null,null,null,null) +B.IP=new A.yU(null,null) +B.IQ=new A.ok(0,"startEdgeUpdate") +B.c5=new A.ok(1,"endEdgeUpdate") +B.IS=new A.ok(4,"selectWord") +B.IT=new A.ok(5,"selectParagraph") +B.j0=new A.r0(0,"previousLine") +B.j1=new A.r0(1,"nextLine") +B.fk=new A.r0(2,"forward") +B.fl=new A.r0(3,"backward") +B.by=new A.yX(2,"none") +B.w5=new A.lO(null,null,B.by,B.ic,!1) +B.w4=new A.lO(null,null,B.by,B.ic,!0) +B.u=new A.lP(0,"next") +B.w=new A.lP(1,"previous") +B.x=new A.lP(2,"end") +B.j2=new A.lP(3,"pending") +B.dQ=new A.lP(4,"none") +B.j3=new A.yX(0,"uncollapsed") +B.IU=new A.yX(1,"collapsed") +B.IV=new A.co(1048576,"moveCursorBackwardByWord") +B.w6=new A.co(128,"decrease") +B.IW=new A.co(16384,"paste") +B.fm=new A.co(1,"tap") +B.IX=new A.co(2048,"setSelection") +B.IY=new A.co(2097152,"setText") +B.IZ=new A.co(256,"showOnScreen") +B.J_=new A.co(262144,"dismiss") +B.w7=new A.co(2,"longPress") +B.j4=new A.co(32768,"didGainAccessibilityFocus") +B.J0=new A.co(4096,"copy") +B.J1=new A.co(4194304,"focus") +B.J2=new A.co(512,"moveCursorForwardByCharacter") +B.J3=new A.co(524288,"moveCursorForwardByWord") +B.w8=new A.co(64,"increase") +B.j5=new A.co(65536,"didLoseAccessibilityFocus") +B.J4=new A.co(8192,"cut") +B.J5=new A.co(1024,"moveCursorBackwardByCharacter") +B.J6=new A.c3(1024,"isObscured") +B.J7=new A.c3(1048576,"isReadOnly") +B.w9=new A.c3(128,"isEnabled") +B.J8=new A.c3(131072,"isToggled") +B.J9=new A.c3(134217728,"isExpanded") +B.wa=new A.c3(16384,"isImage") +B.Ja=new A.c3(16777216,"isKeyboardKey") +B.Jb=new A.c3(16,"isTextField") +B.wb=new A.c3(1,"hasCheckedState") +B.wc=new A.c3(2048,"scopesRoute") +B.wd=new A.c3(2097152,"isFocusable") +B.Jc=new A.c3(256,"isInMutuallyExclusiveGroup") +B.Jd=new A.c3(262144,"hasImplicitScrolling") +B.Je=new A.c3(2,"isChecked") +B.we=new A.c3(32768,"isLiveRegion") +B.wf=new A.c3(32,"isFocused") +B.Jf=new A.c3(33554432,"isCheckStateMixed") +B.wg=new A.c3(4096,"namesRoute") +B.Jg=new A.c3(4194304,"isLink") +B.wh=new A.c3(4,"isSelected") +B.wi=new A.c3(512,"isHeader") +B.Jh=new A.c3(524288,"isMultiline") +B.wj=new A.c3(64,"hasEnabledState") +B.Ji=new A.c3(65536,"hasToggledState") +B.Jj=new A.c3(67108864,"hasExpandedState") +B.j6=new A.c3(8192,"isHidden") +B.Jk=new A.c3(8388608,"isSlider") +B.wk=new A.c3(8,"isButton") +B.wl=new A.on("RenderViewport.twoPane") +B.Jl=new A.on("RenderViewport.excludeFromScrolling") +B.a0=new A.c_(4,"selected") +B.wm=new A.dt([B.a0],t.El) +B.H0={javascript:0} +B.Jm=new A.dV(B.H0,1,t.fF) +B.j7=new A.dt([B.b0,B.iG,B.r3],A.aj("dt")) +B.GV={click:0,keyup:1,keydown:2,mouseup:3,mousedown:4,pointerdown:5,pointerup:6} +B.Jn=new A.dV(B.GV,7,t.fF) +B.GR={click:0,touchstart:1,touchend:2,pointerdown:3,pointermove:4,pointerup:5} +B.Jo=new A.dV(B.GR,6,t.fF) +B.vK=new A.iN(3,"invertedStylus") +B.wn=new A.dt([B.dM,B.f9,B.vK,B.bv,B.iM],t.Lu) +B.Jp=new A.dt([32,8203],t.Ih) +B.GS={serif:0,"sans-serif":1,monospace:2,cursive:3,fantasy:4,"system-ui":5,math:6,emoji:7,fangsong:8} +B.Jq=new A.dV(B.GS,9,t.fF) +B.Jr=new A.dt([B.au,B.av,B.bh],A.aj("dt")) +B.a_=new A.c_(0,"hovered") +B.Js=new A.dt([B.a_],t.El) +B.GX={"canvaskit.js":0} +B.Jt=new A.dV(B.GX,1,t.fF) +B.V=new A.c_(2,"pressed") +B.Ju=new A.dt([B.V],t.El) +B.a8=new A.c_(1,"focused") +B.Jv=new A.dt([B.a8],t.El) +B.Jx=new A.dV(B.aD,0,A.aj("dV>")) +B.Jw=new A.dV(B.aD,0,A.aj("dV")) +B.j8=new A.dV(B.aD,0,A.aj("dV")) +B.Jy=new A.dt([10,11,12,13,133,8232,8233],t.Ih) +B.Jz=new A.dt([B.vK,B.f9,B.dM,B.iM,B.bv],t.Lu) +B.GU={mailto:0,tel:1,sms:2} +B.JA=new A.dV(B.GU,3,t.fF) +B.JB=new A.z3(0,"success") +B.wo=new A.z3(1,"dismissed") +B.wp=new A.z3(2,"unavailable") +B.wq=new A.or(u.a,B.wp) +B.JC=new A.or("",B.wo) +B.aB=new A.wP(1,"locked") +B.JD=new A.a0(B.bX,!1,!0,!1,!1,B.aB) +B.JE=new A.a0(B.bX,!0,!0,!1,!1,B.aB) +B.fo=new A.a0(B.bU,!1,!1,!1,!1,B.j) +B.fn=new A.a0(B.bV,!1,!1,!1,!1,B.j) +B.ws=new A.a0(B.aY,!1,!0,!1,!1,B.j) +B.j9=new A.a0(B.aQ,!1,!0,!1,!1,B.j) +B.ja=new A.a0(B.aR,!1,!0,!1,!1,B.j) +B.wr=new A.a0(B.aZ,!1,!0,!1,!1,B.j) +B.fs=new A.a0(B.bU,!1,!0,!1,!1,B.j) +B.fr=new A.a0(B.bV,!1,!0,!1,!1,B.j) +B.jj=new A.a0(B.du,!1,!0,!1,!1,B.j) +B.JJ=new A.a0(B.aY,!1,!0,!1,!0,B.j) +B.wB=new A.a0(B.aQ,!1,!0,!1,!0,B.j) +B.wC=new A.a0(B.aR,!1,!0,!1,!0,B.j) +B.JI=new A.a0(B.aZ,!1,!0,!1,!0,B.j) +B.wE=new A.a0(B.bU,!0,!1,!1,!1,B.j) +B.wD=new A.a0(B.bV,!0,!1,!1,!1,B.j) +B.JH=new A.a0(B.aY,!0,!0,!1,!1,B.j) +B.JG=new A.a0(B.aZ,!0,!0,!1,!1,B.j) +B.JL=new A.a0(B.bU,!0,!0,!1,!1,B.j) +B.JK=new A.a0(B.bV,!0,!0,!1,!1,B.j) +B.ji=new A.a0(B.aY,!1,!0,!0,!1,B.j) +B.jf=new A.a0(B.aQ,!1,!0,!0,!1,B.j) +B.jg=new A.a0(B.aR,!1,!0,!0,!1,B.j) +B.jh=new A.a0(B.aZ,!1,!0,!0,!1,B.j) +B.JM=new A.a0(B.c0,!1,!0,!1,!1,B.aB) +B.JO=new A.a0(B.dC,!1,!0,!1,!1,B.aB) +B.JN=new A.a0(B.c0,!0,!0,!1,!1,B.aB) +B.wI=new A.a0(B.it,!1,!1,!1,!0,B.j) +B.wK=new A.a0(B.iu,!1,!1,!1,!0,B.j) +B.wL=new A.a0(B.ig,!1,!1,!1,!0,B.j) +B.wJ=new A.a0(B.ih,!1,!1,!1,!0,B.j) +B.JP=new A.a0(B.dr,!1,!1,!1,!0,B.j) +B.JQ=new A.a0(B.dr,!1,!0,!1,!0,B.j) +B.jk=new A.a0(B.it,!0,!1,!1,!1,B.j) +B.JT=new A.a0(B.qF,!0,!1,!1,!1,B.j) +B.wG=new A.a0(B.iu,!0,!1,!1,!1,B.j) +B.JR=new A.a0(B.lP,!0,!1,!1,!1,B.j) +B.JS=new A.a0(B.lQ,!0,!1,!1,!1,B.j) +B.JU=new A.a0(B.lR,!0,!1,!1,!1,B.j) +B.JV=new A.a0(B.lS,!0,!1,!1,!1,B.j) +B.JY=new A.a0(B.lT,!0,!1,!1,!1,B.j) +B.wH=new A.a0(B.ig,!0,!1,!1,!1,B.j) +B.wF=new A.a0(B.ih,!0,!1,!1,!1,B.j) +B.JW=new A.a0(B.dr,!0,!1,!1,!1,B.j) +B.JX=new A.a0(B.dr,!0,!0,!1,!1,B.j) +B.aC=new A.wP(2,"unlocked") +B.K6=new A.a0(B.dz,!1,!1,!1,!1,B.aC) +B.K0=new A.a0(B.bY,!1,!1,!1,!1,B.aC) +B.K4=new A.a0(B.dA,!1,!1,!1,!1,B.aC) +B.K_=new A.a0(B.bZ,!1,!1,!1,!1,B.aC) +B.JZ=new A.a0(B.c_,!1,!1,!1,!1,B.aC) +B.K5=new A.a0(B.dB,!1,!1,!1,!1,B.aC) +B.K3=new A.a0(B.bY,!0,!1,!1,!1,B.aC) +B.K2=new A.a0(B.bZ,!0,!1,!1,!1,B.aC) +B.K1=new A.a0(B.c_,!0,!1,!1,!1,B.aC) +B.K7=new A.a0(B.bX,!1,!1,!1,!1,B.aC) +B.K8=new A.a0(B.bX,!0,!1,!1,!1,B.aC) +B.Kd=new A.a0(B.c0,!1,!1,!1,!1,B.aC) +B.Kf=new A.a0(B.dC,!1,!1,!1,!1,B.aC) +B.Ke=new A.a0(B.c0,!0,!1,!1,!1,B.aC) +B.jl=new A.a0(B.dv,!1,!0,!1,!1,B.j) +B.Ks=new A.a0(B.dz,!1,!0,!1,!1,B.aB) +B.Km=new A.a0(B.bY,!1,!0,!1,!1,B.aB) +B.Kq=new A.a0(B.dA,!1,!0,!1,!1,B.aB) +B.Kl=new A.a0(B.bZ,!1,!0,!1,!1,B.aB) +B.Kk=new A.a0(B.c_,!1,!0,!1,!1,B.aB) +B.Kr=new A.a0(B.dB,!1,!0,!1,!1,B.aB) +B.Kp=new A.a0(B.bY,!0,!0,!1,!1,B.aB) +B.Ko=new A.a0(B.bZ,!0,!0,!1,!1,B.aB) +B.Kn=new A.a0(B.c_,!0,!0,!1,!1,B.aB) +B.Ku=new A.K(1e5,1e5) +B.Kv=new A.K(1280,720) +B.Kw=new A.K(1920,1080) +B.wP=new A.K(320,240) +B.Kx=new A.K(4096,2160) +B.Kz=new A.K(720,480) +B.KA=new A.K(1/0,46) +B.jm=new A.iS(0,0,null,null) +B.KB=new A.iS(null,34,null,null) +B.b3=new A.iS(null,3,null,null) +B.b4=new A.iS(null,6,null,null) +B.KC=new A.iS(1/0,1/0,null,null) +B.x7=new A.m(!0,B.i,null,null,null,null,18,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Q0=new A.cT("Recognizes MRZ code & extracts data from passports, visas, and ID cards",null,B.x7,null,null,null,null,null) +B.KD=new A.iS(271,null,B.Q0,null) +B.KE=new A.zb(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.wQ=new A.Kl(0,0,0,0,0,0,!1,!1,null,0) +B.KF=new A.Kr(0,"fixed") +B.KG=new A.Kr(1,"floating") +B.KH=new A.iU(1,"dismiss") +B.KI=new A.iU(2,"swipe") +B.KJ=new A.iU(3,"hide") +B.T8=new A.iU(4,"remove") +B.wR=new A.iU(5,"timeout") +B.KK=new A.rc(null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.wS=new A.ze(0,"permissive") +B.KL=new A.ze(1,"normal") +B.KM=new A.ze(2,"forced") +B.KN=new A.zh(0,"criticallyDamped") +B.KO=new A.zh(1,"underDamped") +B.KP=new A.zh(2,"overDamped") +B.cI=new A.zj(0,"loose") +B.KQ=new A.zj(1,"expand") +B.KR=new A.zj(2,"passthrough") +B.KS=new A.i5("",-1,"","","",-1,-1,"","asynchronous suspension") +B.KT=new A.i5("...",-1,"","","",-1,-1,"","...") +B.fx=new A.KC(0,"butt") +B.wT=new A.KC(2,"square") +B.dX=new A.aah(0,"miter") +B.KV=new A.c6(0) +B.L5=new A.c6(0) +B.L3=new A.c6(0) +B.L1=new A.c6(0) +B.L2=new A.c6(0) +B.L0=new A.c6(0) +B.L4=new A.c6(0) +B.L_=new A.c6(0) +B.KX=new A.c6(0) +B.KZ=new A.c6(0) +B.KW=new A.c6(0) +B.KY=new A.c6(0) +B.L6=new A.c6(1) +B.L7=new A.c6(10) +B.L8=new A.c6(11) +B.L9=new A.c6(12) +B.La=new A.c6(13) +B.Lb=new A.c6(14) +B.Lc=new A.c6(15) +B.Ld=new A.c6(16) +B.Le=new A.c6(2) +B.Lf=new A.c6(3) +B.Lg=new A.c6(4) +B.Lh=new A.c6(5) +B.Li=new A.c6(6) +B.Lj=new A.c6(7) +B.Lk=new A.c6(8) +B.Ll=new A.c6(9) +B.Lo=new A.zp(null,null,null,null,null,null,null,null,null) +B.Lp=new A.e0("_notificationCallStackDepth=") +B.Lq=new A.e0("_listeners=") +B.Lr=new A.e0("_reentrantlyRemovedListeners=") +B.Ls=new A.e0("_count") +B.Lt=new A.e0("_listeners") +B.Lu=new A.e0("_notificationCallStackDepth") +B.Lv=new A.e0("_reentrantlyRemovedListeners") +B.Lw=new A.e0("_removeAt") +B.Lx=new A.e0("_count=") +B.Ly=new A.iV("text") +B.wU=new A.KE(0,"click") +B.Lz=new A.KE(1,"alert") +B.LA=new A.iW(B.o,null,B.a6,null,null,B.a6,B.a5,null) +B.LB=new A.iW(B.o,null,B.a6,null,null,B.a5,B.a6,null) +B.wV=new A.aav(2,"fill") +B.wW=new A.aaw(1,"label") +B.LC=new A.rk(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.LD=new A.ox(null) +B.LE=new A.aaD("tap") +B.l=new A.lX(0,"alphabetic") +B.E=new A.lX(1,"ideographic") +B.LF=new A.zv(null) +B.jp=new A.rn(3,"none") +B.wX=new A.zw(B.jp) +B.wY=new A.rn(0,"words") +B.wZ=new A.rn(1,"sentences") +B.x_=new A.rn(2,"characters") +B.e=new A.zx(0) +B.jq=new A.oz(0,"character") +B.LI=new A.oz(1,"word") +B.x0=new A.oz(2,"paragraph") +B.LJ=new A.oz(3,"line") +B.LK=new A.oz(4,"document") +B.x1=new A.KP(0,"proportional") +B.t=new A.KP(1,"even") +B.aI=new A.zA(2,"ellipsis") +B.LL=new A.zA(3,"visible") +B.x2=new A.ao(0,B.n) +B.x3=new A.ch(-1,-1) +B.x4=new A.KQ(0,"left") +B.x5=new A.KQ(1,"right") +B.LM=new A.zD(null,null,null) +B.aS=new A.m(!0,B.i,null,null,null,null,14,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.NH=new A.m(!0,B.i,null,null,null,null,11,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,B.aI) +B.O_=new A.m(!0,null,null,null,null,null,null,B.cm,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.A9=new A.w(3506372608) +B.LH=new A.zx(1) +B.AM=new A.w(4294967040) +B.LG=new A.aaI(1,"double") +B.OV=new A.m(!0,B.A9,null,"monospace",null,null,48,B.lj,null,null,null,null,null,null,null,null,null,B.LH,B.AM,B.LG,null,"fallback style; consider putting your text in a Material",null,null,null,null) +B.Np=new A.m(!0,B.B,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity displayLarge",null,null,null,null) +B.NR=new A.m(!0,B.B,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity displayMedium",null,null,null,null) +B.Nq=new A.m(!0,B.B,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity displaySmall",null,null,null,null) +B.Py=new A.m(!0,B.B,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity headlineLarge",null,null,null,null) +B.Oo=new A.m(!0,B.B,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity headlineMedium",null,null,null,null) +B.Mh=new A.m(!0,B.D,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity headlineSmall",null,null,null,null) +B.PG=new A.m(!0,B.D,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity titleLarge",null,null,null,null) +B.Nt=new A.m(!0,B.D,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity titleMedium",null,null,null,null) +B.Ny=new A.m(!0,B.o,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity titleSmall",null,null,null,null) +B.Oy=new A.m(!0,B.D,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity bodyLarge",null,null,null,null) +B.O7=new A.m(!0,B.D,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity bodyMedium",null,null,null,null) +B.Pa=new A.m(!0,B.B,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity bodySmall",null,null,null,null) +B.LN=new A.m(!0,B.D,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity labelLarge",null,null,null,null) +B.OD=new A.m(!0,B.o,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity labelMedium",null,null,null,null) +B.M5=new A.m(!0,B.o,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedwoodCity labelSmall",null,null,null,null) +B.PH=new A.d5(B.Np,B.NR,B.Nq,B.Py,B.Oo,B.Mh,B.PG,B.Nt,B.Ny,B.Oy,B.O7,B.Pa,B.LN,B.OD,B.M5) +B.NX=new A.m(!1,null,null,null,null,null,112,B.hR,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike displayLarge 2014",null,null,null,null) +B.LX=new A.m(!1,null,null,null,null,null,56,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike displayMedium 2014",null,null,null,null) +B.NS=new A.m(!1,null,null,null,null,null,45,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike displaySmall 2014",null,null,null,null) +B.Of=new A.m(!1,null,null,null,null,null,40,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike headlineLarge 2014",null,null,null,null) +B.Mc=new A.m(!1,null,null,null,null,null,34,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike headlineMedium 2014",null,null,null,null) +B.Ns=new A.m(!1,null,null,null,null,null,24,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike headlineSmall 2014",null,null,null,null) +B.NI=new A.m(!1,null,null,null,null,null,20,B.Q,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike titleLarge 2014",null,null,null,null) +B.N6=new A.m(!1,null,null,null,null,null,16,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike titleMedium 2014",null,null,null,null) +B.O1=new A.m(!1,null,null,null,null,null,14,B.Q,null,0.1,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike titleSmall 2014",null,null,null,null) +B.Nc=new A.m(!1,null,null,null,null,null,14,B.Q,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike bodyLarge 2014",null,null,null,null) +B.Nz=new A.m(!1,null,null,null,null,null,14,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike bodyMedium 2014",null,null,null,null) +B.Nr=new A.m(!1,null,null,null,null,null,12,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike bodySmall 2014",null,null,null,null) +B.NQ=new A.m(!1,null,null,null,null,null,14,B.Q,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike labelLarge 2014",null,null,null,null) +B.MT=new A.m(!1,null,null,null,null,null,12,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike labelMedium 2014",null,null,null,null) +B.OS=new A.m(!1,null,null,null,null,null,10,B.m,null,1.5,null,B.l,null,null,null,null,null,null,null,null,null,"englishLike labelSmall 2014",null,null,null,null) +B.PI=new A.d5(B.NX,B.LX,B.NS,B.Of,B.Mc,B.Ns,B.NI,B.N6,B.O1,B.Nc,B.Nz,B.Nr,B.NQ,B.MT,B.OS) +B.PC=new A.m(!0,B.B,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond displayLarge",null,null,null,null) +B.Mu=new A.m(!0,B.B,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond displayMedium",null,null,null,null) +B.Nl=new A.m(!0,B.B,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond displaySmall",null,null,null,null) +B.P_=new A.m(!0,B.B,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond headlineLarge",null,null,null,null) +B.OL=new A.m(!0,B.B,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond headlineMedium",null,null,null,null) +B.Mm=new A.m(!0,B.D,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond headlineSmall",null,null,null,null) +B.P1=new A.m(!0,B.D,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond titleLarge",null,null,null,null) +B.P4=new A.m(!0,B.D,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond titleMedium",null,null,null,null) +B.Ps=new A.m(!0,B.o,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond titleSmall",null,null,null,null) +B.P3=new A.m(!0,B.D,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond bodyLarge",null,null,null,null) +B.N9=new A.m(!0,B.D,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond bodyMedium",null,null,null,null) +B.M4=new A.m(!0,B.B,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond bodySmall",null,null,null,null) +B.PB=new A.m(!0,B.D,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond labelLarge",null,null,null,null) +B.Nn=new A.m(!0,B.o,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond labelMedium",null,null,null,null) +B.OR=new A.m(!0,B.o,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackRedmond labelSmall",null,null,null,null) +B.PJ=new A.d5(B.PC,B.Mu,B.Nl,B.P_,B.OL,B.Mm,B.P1,B.P4,B.Ps,B.P3,B.N9,B.M4,B.PB,B.Nn,B.OR) +B.Ow=new A.m(!0,B.C,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity displayLarge",null,null,null,null) +B.Pg=new A.m(!0,B.C,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity displayMedium",null,null,null,null) +B.Ox=new A.m(!0,B.C,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity displaySmall",null,null,null,null) +B.Pl=new A.m(!0,B.C,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity headlineLarge",null,null,null,null) +B.NW=new A.m(!0,B.C,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity headlineMedium",null,null,null,null) +B.Oi=new A.m(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity headlineSmall",null,null,null,null) +B.N5=new A.m(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity titleLarge",null,null,null,null) +B.Me=new A.m(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity titleMedium",null,null,null,null) +B.MG=new A.m(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity titleSmall",null,null,null,null) +B.Ot=new A.m(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity bodyLarge",null,null,null,null) +B.Pe=new A.m(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity bodyMedium",null,null,null,null) +B.M7=new A.m(!0,B.C,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity bodySmall",null,null,null,null) +B.MH=new A.m(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity labelLarge",null,null,null,null) +B.MQ=new A.m(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity labelMedium",null,null,null,null) +B.Ma=new A.m(!0,B.i,null,".AppleSystemUIFont",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedwoodCity labelSmall",null,null,null,null) +B.PK=new A.d5(B.Ow,B.Pg,B.Ox,B.Pl,B.NW,B.Oi,B.N5,B.Me,B.MG,B.Ot,B.Pe,B.M7,B.MH,B.MQ,B.Ma) +B.NZ=new A.m(!0,B.C,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView displayLarge",null,null,null,null) +B.Ng=new A.m(!0,B.C,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView displayMedium",null,null,null,null) +B.Pv=new A.m(!0,B.C,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView displaySmall",null,null,null,null) +B.Mf=new A.m(!0,B.C,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView headlineLarge",null,null,null,null) +B.ME=new A.m(!0,B.C,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView headlineMedium",null,null,null,null) +B.OC=new A.m(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView headlineSmall",null,null,null,null) +B.Mx=new A.m(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView titleLarge",null,null,null,null) +B.MN=new A.m(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView titleMedium",null,null,null,null) +B.O0=new A.m(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView titleSmall",null,null,null,null) +B.OA=new A.m(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView bodyLarge",null,null,null,null) +B.Mt=new A.m(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView bodyMedium",null,null,null,null) +B.Mz=new A.m(!0,B.C,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView bodySmall",null,null,null,null) +B.Pm=new A.m(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView labelLarge",null,null,null,null) +B.Pz=new A.m(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView labelMedium",null,null,null,null) +B.Pc=new A.m(!0,B.i,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteMountainView labelSmall",null,null,null,null) +B.PL=new A.d5(B.NZ,B.Ng,B.Pv,B.Mf,B.ME,B.OC,B.Mx,B.MN,B.O0,B.OA,B.Mt,B.Mz,B.Pm,B.Pz,B.Pc) +B.OU=new A.m(!0,B.B,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino displayLarge",null,null,null,null) +B.OP=new A.m(!0,B.B,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino displayMedium",null,null,null,null) +B.Pw=new A.m(!0,B.B,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino displaySmall",null,null,null,null) +B.MP=new A.m(!0,B.B,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino headlineLarge",null,null,null,null) +B.OW=new A.m(!0,B.B,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino headlineMedium",null,null,null,null) +B.LW=new A.m(!0,B.D,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino headlineSmall",null,null,null,null) +B.Mj=new A.m(!0,B.D,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino titleLarge",null,null,null,null) +B.MF=new A.m(!0,B.D,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino titleMedium",null,null,null,null) +B.OF=new A.m(!0,B.o,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino titleSmall",null,null,null,null) +B.LS=new A.m(!0,B.D,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino bodyLarge",null,null,null,null) +B.Os=new A.m(!0,B.D,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino bodyMedium",null,null,null,null) +B.Oc=new A.m(!0,B.B,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino bodySmall",null,null,null,null) +B.OY=new A.m(!0,B.D,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino labelLarge",null,null,null,null) +B.MD=new A.m(!0,B.o,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino labelMedium",null,null,null,null) +B.O9=new A.m(!0,B.o,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackCupertino labelSmall",null,null,null,null) +B.PM=new A.d5(B.OU,B.OP,B.Pw,B.MP,B.OW,B.LW,B.Mj,B.MF,B.OF,B.LS,B.Os,B.Oc,B.OY,B.MD,B.O9) +B.Po=new A.m(!1,null,null,null,null,null,57,B.m,null,-0.25,null,B.E,1.12,B.t,null,null,null,null,null,null,null,"dense displayLarge 2021",null,null,null,null) +B.LV=new A.m(!1,null,null,null,null,null,45,B.m,null,0,null,B.E,1.16,B.t,null,null,null,null,null,null,null,"dense displayMedium 2021",null,null,null,null) +B.LY=new A.m(!1,null,null,null,null,null,36,B.m,null,0,null,B.E,1.22,B.t,null,null,null,null,null,null,null,"dense displaySmall 2021",null,null,null,null) +B.OQ=new A.m(!1,null,null,null,null,null,32,B.m,null,0,null,B.E,1.25,B.t,null,null,null,null,null,null,null,"dense headlineLarge 2021",null,null,null,null) +B.PF=new A.m(!1,null,null,null,null,null,28,B.m,null,0,null,B.E,1.29,B.t,null,null,null,null,null,null,null,"dense headlineMedium 2021",null,null,null,null) +B.MI=new A.m(!1,null,null,null,null,null,24,B.m,null,0,null,B.E,1.33,B.t,null,null,null,null,null,null,null,"dense headlineSmall 2021",null,null,null,null) +B.N2=new A.m(!1,null,null,null,null,null,22,B.m,null,0,null,B.E,1.27,B.t,null,null,null,null,null,null,null,"dense titleLarge 2021",null,null,null,null) +B.Nd=new A.m(!1,null,null,null,null,null,16,B.Q,null,0.15,null,B.E,1.5,B.t,null,null,null,null,null,null,null,"dense titleMedium 2021",null,null,null,null) +B.M0=new A.m(!1,null,null,null,null,null,14,B.Q,null,0.1,null,B.E,1.43,B.t,null,null,null,null,null,null,null,"dense titleSmall 2021",null,null,null,null) +B.MZ=new A.m(!1,null,null,null,null,null,16,B.m,null,0.5,null,B.E,1.5,B.t,null,null,null,null,null,null,null,"dense bodyLarge 2021",null,null,null,null) +B.P7=new A.m(!1,null,null,null,null,null,14,B.m,null,0.25,null,B.E,1.43,B.t,null,null,null,null,null,null,null,"dense bodyMedium 2021",null,null,null,null) +B.P8=new A.m(!1,null,null,null,null,null,12,B.m,null,0.4,null,B.E,1.33,B.t,null,null,null,null,null,null,null,"dense bodySmall 2021",null,null,null,null) +B.O4=new A.m(!1,null,null,null,null,null,14,B.Q,null,0.1,null,B.E,1.43,B.t,null,null,null,null,null,null,null,"dense labelLarge 2021",null,null,null,null) +B.Mo=new A.m(!1,null,null,null,null,null,12,B.Q,null,0.5,null,B.E,1.33,B.t,null,null,null,null,null,null,null,"dense labelMedium 2021",null,null,null,null) +B.OG=new A.m(!1,null,null,null,null,null,11,B.Q,null,0.5,null,B.E,1.45,B.t,null,null,null,null,null,null,null,"dense labelSmall 2021",null,null,null,null) +B.PN=new A.d5(B.Po,B.LV,B.LY,B.OQ,B.PF,B.MI,B.N2,B.Nd,B.M0,B.MZ,B.P7,B.P8,B.O4,B.Mo,B.OG) +B.G=A.b(s(["Ubuntu","Cantarell","DejaVu Sans","Liberation Sans","Arial"]),t.s) +B.P9=new A.m(!0,B.C,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki displayLarge",null,null,null,null) +B.OM=new A.m(!0,B.C,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki displayMedium",null,null,null,null) +B.PD=new A.m(!0,B.C,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki displaySmall",null,null,null,null) +B.Pi=new A.m(!0,B.C,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki headlineLarge",null,null,null,null) +B.NU=new A.m(!0,B.C,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki headlineMedium",null,null,null,null) +B.Na=new A.m(!0,B.i,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki headlineSmall",null,null,null,null) +B.PA=new A.m(!0,B.i,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki titleLarge",null,null,null,null) +B.Ok=new A.m(!0,B.i,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki titleMedium",null,null,null,null) +B.M_=new A.m(!0,B.i,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki titleSmall",null,null,null,null) +B.Ph=new A.m(!0,B.i,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki bodyLarge",null,null,null,null) +B.Ne=new A.m(!0,B.i,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki bodyMedium",null,null,null,null) +B.P2=new A.m(!0,B.C,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki bodySmall",null,null,null,null) +B.NV=new A.m(!0,B.i,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki labelLarge",null,null,null,null) +B.Pj=new A.m(!0,B.i,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki labelMedium",null,null,null,null) +B.LO=new A.m(!0,B.i,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteHelsinki labelSmall",null,null,null,null) +B.PO=new A.d5(B.P9,B.OM,B.PD,B.Pi,B.NU,B.Na,B.PA,B.Ok,B.M_,B.Ph,B.Ne,B.P2,B.NV,B.Pj,B.LO) +B.OT=new A.m(!0,B.C,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond displayLarge",null,null,null,null) +B.ML=new A.m(!0,B.C,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond displayMedium",null,null,null,null) +B.Px=new A.m(!0,B.C,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond displaySmall",null,null,null,null) +B.OE=new A.m(!0,B.C,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond headlineLarge",null,null,null,null) +B.Mq=new A.m(!0,B.C,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond headlineMedium",null,null,null,null) +B.LP=new A.m(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond headlineSmall",null,null,null,null) +B.OJ=new A.m(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond titleLarge",null,null,null,null) +B.MR=new A.m(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond titleMedium",null,null,null,null) +B.P0=new A.m(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond titleSmall",null,null,null,null) +B.LQ=new A.m(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond bodyLarge",null,null,null,null) +B.Or=new A.m(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond bodyMedium",null,null,null,null) +B.Ob=new A.m(!0,B.C,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond bodySmall",null,null,null,null) +B.Mk=new A.m(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond labelLarge",null,null,null,null) +B.Mr=new A.m(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond labelMedium",null,null,null,null) +B.LR=new A.m(!0,B.i,null,"Segoe UI",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteRedmond labelSmall",null,null,null,null) +B.PP=new A.d5(B.OT,B.ML,B.Px,B.OE,B.Mq,B.LP,B.OJ,B.MR,B.P0,B.LQ,B.Or,B.Ob,B.Mk,B.Mr,B.LR) +B.NK=new A.m(!0,B.B,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView displayLarge",null,null,null,null) +B.Pr=new A.m(!0,B.B,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView displayMedium",null,null,null,null) +B.MC=new A.m(!0,B.B,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView displaySmall",null,null,null,null) +B.Pf=new A.m(!0,B.B,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView headlineLarge",null,null,null,null) +B.Od=new A.m(!0,B.B,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView headlineMedium",null,null,null,null) +B.N0=new A.m(!0,B.D,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView headlineSmall",null,null,null,null) +B.Op=new A.m(!0,B.D,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView titleLarge",null,null,null,null) +B.O8=new A.m(!0,B.D,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView titleMedium",null,null,null,null) +B.NE=new A.m(!0,B.o,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView titleSmall",null,null,null,null) +B.N1=new A.m(!0,B.D,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView bodyLarge",null,null,null,null) +B.MJ=new A.m(!0,B.D,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView bodyMedium",null,null,null,null) +B.NF=new A.m(!0,B.B,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView bodySmall",null,null,null,null) +B.NB=new A.m(!0,B.D,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView labelLarge",null,null,null,null) +B.Ni=new A.m(!0,B.o,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView labelMedium",null,null,null,null) +B.N8=new A.m(!0,B.o,null,"Roboto",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackMountainView labelSmall",null,null,null,null) +B.PQ=new A.d5(B.NK,B.Pr,B.MC,B.Pf,B.Od,B.N0,B.Op,B.O8,B.NE,B.N1,B.MJ,B.NF,B.NB,B.Ni,B.N8) +B.Oa=new A.m(!1,null,null,null,null,null,112,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall displayLarge 2014",null,null,null,null) +B.Pb=new A.m(!1,null,null,null,null,null,56,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall displayMedium 2014",null,null,null,null) +B.O6=new A.m(!1,null,null,null,null,null,45,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall displaySmall 2014",null,null,null,null) +B.NN=new A.m(!1,null,null,null,null,null,40,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall headlineLarge 2014",null,null,null,null) +B.MK=new A.m(!1,null,null,null,null,null,34,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall headlineMedium 2014",null,null,null,null) +B.NJ=new A.m(!1,null,null,null,null,null,24,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall headlineSmall 2014",null,null,null,null) +B.NA=new A.m(!1,null,null,null,null,null,21,B.cm,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall titleLarge 2014",null,null,null,null) +B.NG=new A.m(!1,null,null,null,null,null,17,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall titleMedium 2014",null,null,null,null) +B.Og=new A.m(!1,null,null,null,null,null,15,B.Q,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall titleSmall 2014",null,null,null,null) +B.Nk=new A.m(!1,null,null,null,null,null,15,B.cm,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall bodyLarge 2014",null,null,null,null) +B.Pu=new A.m(!1,null,null,null,null,null,15,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall bodyMedium 2014",null,null,null,null) +B.MS=new A.m(!1,null,null,null,null,null,13,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall bodySmall 2014",null,null,null,null) +B.Nf=new A.m(!1,null,null,null,null,null,15,B.cm,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall labelLarge 2014",null,null,null,null) +B.NC=new A.m(!1,null,null,null,null,null,12,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall labelMedium 2014",null,null,null,null) +B.Nj=new A.m(!1,null,null,null,null,null,11,B.m,null,null,null,B.l,null,null,null,null,null,null,null,null,null,"tall labelSmall 2014",null,null,null,null) +B.PR=new A.d5(B.Oa,B.Pb,B.O6,B.NN,B.MK,B.NJ,B.NA,B.NG,B.Og,B.Nk,B.Pu,B.MS,B.Nf,B.NC,B.Nj) +B.Mw=new A.m(!1,null,null,null,null,null,112,B.hR,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense displayLarge 2014",null,null,null,null) +B.P5=new A.m(!1,null,null,null,null,null,56,B.m,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense displayMedium 2014",null,null,null,null) +B.Mi=new A.m(!1,null,null,null,null,null,45,B.m,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense displaySmall 2014",null,null,null,null) +B.NL=new A.m(!1,null,null,null,null,null,40,B.m,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense headlineLarge 2014",null,null,null,null) +B.NP=new A.m(!1,null,null,null,null,null,34,B.m,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense headlineMedium 2014",null,null,null,null) +B.Pk=new A.m(!1,null,null,null,null,null,24,B.m,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense headlineSmall 2014",null,null,null,null) +B.M1=new A.m(!1,null,null,null,null,null,21,B.Q,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense titleLarge 2014",null,null,null,null) +B.ND=new A.m(!1,null,null,null,null,null,17,B.m,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense titleMedium 2014",null,null,null,null) +B.N4=new A.m(!1,null,null,null,null,null,15,B.Q,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense titleSmall 2014",null,null,null,null) +B.NY=new A.m(!1,null,null,null,null,null,15,B.Q,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense bodyLarge 2014",null,null,null,null) +B.Nm=new A.m(!1,null,null,null,null,null,15,B.m,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense bodyMedium 2014",null,null,null,null) +B.Mv=new A.m(!1,null,null,null,null,null,13,B.m,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense bodySmall 2014",null,null,null,null) +B.NT=new A.m(!1,null,null,null,null,null,15,B.Q,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense labelLarge 2014",null,null,null,null) +B.M2=new A.m(!1,null,null,null,null,null,12,B.m,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense labelMedium 2014",null,null,null,null) +B.NM=new A.m(!1,null,null,null,null,null,11,B.m,null,null,null,B.E,null,null,null,null,null,null,null,null,null,"dense labelSmall 2014",null,null,null,null) +B.PS=new A.d5(B.Mw,B.P5,B.Mi,B.NL,B.NP,B.Pk,B.M1,B.ND,B.N4,B.NY,B.Nm,B.Mv,B.NT,B.M2,B.NM) +B.M3=new A.m(!0,B.C,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino displayLarge",null,null,null,null) +B.P6=new A.m(!0,B.C,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino displayMedium",null,null,null,null) +B.Pq=new A.m(!0,B.C,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino displaySmall",null,null,null,null) +B.MY=new A.m(!0,B.C,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino headlineLarge",null,null,null,null) +B.NO=new A.m(!0,B.C,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino headlineMedium",null,null,null,null) +B.Ml=new A.m(!0,B.i,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino headlineSmall",null,null,null,null) +B.Nx=new A.m(!0,B.i,null,"CupertinoSystemDisplay",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino titleLarge",null,null,null,null) +B.Md=new A.m(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino titleMedium",null,null,null,null) +B.MV=new A.m(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino titleSmall",null,null,null,null) +B.MM=new A.m(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino bodyLarge",null,null,null,null) +B.N3=new A.m(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino bodyMedium",null,null,null,null) +B.Oq=new A.m(!0,B.C,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino bodySmall",null,null,null,null) +B.Oj=new A.m(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino labelLarge",null,null,null,null) +B.N7=new A.m(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino labelMedium",null,null,null,null) +B.Mp=new A.m(!0,B.i,null,"CupertinoSystemText",null,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"whiteCupertino labelSmall",null,null,null,null) +B.PT=new A.d5(B.M3,B.P6,B.Pq,B.MY,B.NO,B.Ml,B.Nx,B.Md,B.MV,B.MM,B.N3,B.Oq,B.Oj,B.N7,B.Mp) +B.Mg=new A.m(!1,null,null,null,null,null,57,B.m,null,-0.25,null,B.l,1.12,B.t,null,null,null,null,null,null,null,"englishLike displayLarge 2021",null,null,null,null) +B.Nb=new A.m(!1,null,null,null,null,null,45,B.m,null,0,null,B.l,1.16,B.t,null,null,null,null,null,null,null,"englishLike displayMedium 2021",null,null,null,null) +B.Pd=new A.m(!1,null,null,null,null,null,36,B.m,null,0,null,B.l,1.22,B.t,null,null,null,null,null,null,null,"englishLike displaySmall 2021",null,null,null,null) +B.On=new A.m(!1,null,null,null,null,null,32,B.m,null,0,null,B.l,1.25,B.t,null,null,null,null,null,null,null,"englishLike headlineLarge 2021",null,null,null,null) +B.OI=new A.m(!1,null,null,null,null,null,28,B.m,null,0,null,B.l,1.29,B.t,null,null,null,null,null,null,null,"englishLike headlineMedium 2021",null,null,null,null) +B.Mn=new A.m(!1,null,null,null,null,null,24,B.m,null,0,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"englishLike headlineSmall 2021",null,null,null,null) +B.O3=new A.m(!1,null,null,null,null,null,22,B.m,null,0,null,B.l,1.27,B.t,null,null,null,null,null,null,null,"englishLike titleLarge 2021",null,null,null,null) +B.Ou=new A.m(!1,null,null,null,null,null,16,B.Q,null,0.15,null,B.l,1.5,B.t,null,null,null,null,null,null,null,"englishLike titleMedium 2021",null,null,null,null) +B.OX=new A.m(!1,null,null,null,null,null,14,B.Q,null,0.1,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"englishLike titleSmall 2021",null,null,null,null) +B.Pt=new A.m(!1,null,null,null,null,null,16,B.m,null,0.5,null,B.l,1.5,B.t,null,null,null,null,null,null,null,"englishLike bodyLarge 2021",null,null,null,null) +B.Oh=new A.m(!1,null,null,null,null,null,14,B.m,null,0.25,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"englishLike bodyMedium 2021",null,null,null,null) +B.PE=new A.m(!1,null,null,null,null,null,12,B.m,null,0.4,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"englishLike bodySmall 2021",null,null,null,null) +B.Nh=new A.m(!1,null,null,null,null,null,14,B.Q,null,0.1,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"englishLike labelLarge 2021",null,null,null,null) +B.Mb=new A.m(!1,null,null,null,null,null,12,B.Q,null,0.5,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"englishLike labelMedium 2021",null,null,null,null) +B.Nw=new A.m(!1,null,null,null,null,null,11,B.Q,null,0.5,null,B.l,1.45,B.t,null,null,null,null,null,null,null,"englishLike labelSmall 2021",null,null,null,null) +B.PU=new A.d5(B.Mg,B.Nb,B.Pd,B.On,B.OI,B.Mn,B.O3,B.Ou,B.OX,B.Pt,B.Oh,B.PE,B.Nh,B.Mb,B.Nw) +B.Pn=new A.m(!0,B.B,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki displayLarge",null,null,null,null) +B.Ms=new A.m(!0,B.B,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki displayMedium",null,null,null,null) +B.No=new A.m(!0,B.B,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki displaySmall",null,null,null,null) +B.Ol=new A.m(!0,B.B,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki headlineLarge",null,null,null,null) +B.OB=new A.m(!0,B.B,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki headlineMedium",null,null,null,null) +B.LT=new A.m(!0,B.D,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki headlineSmall",null,null,null,null) +B.MX=new A.m(!0,B.D,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki titleLarge",null,null,null,null) +B.LZ=new A.m(!0,B.D,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki titleMedium",null,null,null,null) +B.O2=new A.m(!0,B.o,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki titleSmall",null,null,null,null) +B.ON=new A.m(!0,B.D,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki bodyLarge",null,null,null,null) +B.Nu=new A.m(!0,B.D,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki bodyMedium",null,null,null,null) +B.OO=new A.m(!0,B.B,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki bodySmall",null,null,null,null) +B.OZ=new A.m(!0,B.D,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki labelLarge",null,null,null,null) +B.Om=new A.m(!0,B.o,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki labelMedium",null,null,null,null) +B.Oz=new A.m(!0,B.o,null,"Roboto",B.G,null,null,null,null,null,null,null,null,null,null,null,null,B.e,null,null,null,"blackHelsinki labelSmall",null,null,null,null) +B.PV=new A.d5(B.Pn,B.Ms,B.No,B.Ol,B.OB,B.LT,B.MX,B.LZ,B.O2,B.ON,B.Nu,B.OO,B.OZ,B.Om,B.Oz) +B.Ov=new A.m(!1,null,null,null,null,null,57,B.m,null,-0.25,null,B.l,1.12,B.t,null,null,null,null,null,null,null,"tall displayLarge 2021",null,null,null,null) +B.MO=new A.m(!1,null,null,null,null,null,45,B.m,null,0,null,B.l,1.16,B.t,null,null,null,null,null,null,null,"tall displayMedium 2021",null,null,null,null) +B.OH=new A.m(!1,null,null,null,null,null,36,B.m,null,0,null,B.l,1.22,B.t,null,null,null,null,null,null,null,"tall displaySmall 2021",null,null,null,null) +B.M9=new A.m(!1,null,null,null,null,null,32,B.m,null,0,null,B.l,1.25,B.t,null,null,null,null,null,null,null,"tall headlineLarge 2021",null,null,null,null) +B.Pp=new A.m(!1,null,null,null,null,null,28,B.m,null,0,null,B.l,1.29,B.t,null,null,null,null,null,null,null,"tall headlineMedium 2021",null,null,null,null) +B.MA=new A.m(!1,null,null,null,null,null,24,B.m,null,0,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"tall headlineSmall 2021",null,null,null,null) +B.LU=new A.m(!1,null,null,null,null,null,22,B.m,null,0,null,B.l,1.27,B.t,null,null,null,null,null,null,null,"tall titleLarge 2021",null,null,null,null) +B.MB=new A.m(!1,null,null,null,null,null,16,B.Q,null,0.15,null,B.l,1.5,B.t,null,null,null,null,null,null,null,"tall titleMedium 2021",null,null,null,null) +B.MU=new A.m(!1,null,null,null,null,null,14,B.Q,null,0.1,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"tall titleSmall 2021",null,null,null,null) +B.Nv=new A.m(!1,null,null,null,null,null,16,B.m,null,0.5,null,B.l,1.5,B.t,null,null,null,null,null,null,null,"tall bodyLarge 2021",null,null,null,null) +B.O5=new A.m(!1,null,null,null,null,null,14,B.m,null,0.25,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"tall bodyMedium 2021",null,null,null,null) +B.MW=new A.m(!1,null,null,null,null,null,12,B.m,null,0.4,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"tall bodySmall 2021",null,null,null,null) +B.N_=new A.m(!1,null,null,null,null,null,14,B.Q,null,0.1,null,B.l,1.43,B.t,null,null,null,null,null,null,null,"tall labelLarge 2021",null,null,null,null) +B.Oe=new A.m(!1,null,null,null,null,null,12,B.Q,null,0.5,null,B.l,1.33,B.t,null,null,null,null,null,null,null,"tall labelMedium 2021",null,null,null,null) +B.My=new A.m(!1,null,null,null,null,null,11,B.Q,null,0.5,null,B.l,1.45,B.t,null,null,null,null,null,null,null,"tall labelSmall 2021",null,null,null,null) +B.PW=new A.d5(B.Ov,B.MO,B.OH,B.M9,B.Pp,B.MA,B.LU,B.MB,B.MU,B.Nv,B.O5,B.MW,B.N_,B.Oe,B.My) +B.PX=new A.cT("Result",null,B.c8,null,null,null,null,null) +B.PY=new A.cT("App Source Code >",null,B.aS,null,null,null,null,null) +B.Q1=new A.cT("SDK Version",null,B.aS,null,null,null,null,null) +B.x8=new A.m(!0,B.i,null,null,null,null,16,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null) +B.Q2=new A.cT("Image Scan",null,B.x8,null,null,B.aI,null,null) +B.Q4=new A.cT("Camera Scan",null,B.x8,null,null,B.aI,null,null) +B.Q5=new A.cT("GET FREE TRIAL SDK",null,B.c8,null,null,null,null,null) +B.Q6=new A.cT("P>") +B.QB=A.ba("ha") +B.xf=A.ba("hW") +B.xg=A.ba("aqJ") +B.QC=A.ba("wY") +B.bD=A.ba("nH") +B.QD=A.ba("nS") +B.QE=A.ba("J") +B.QF=A.ba("qw") +B.ju=A.ba("i_") +B.QG=A.ba("iM") +B.QH=A.ba("o6") +B.QI=A.ba("k1") +B.jv=A.ba("fy") +B.QJ=A.ba("lK") +B.QK=A.ba("dj") +B.QL=A.ba("ami") +B.xh=A.ba("eu") +B.QM=A.ba("op") +B.QN=A.ba("os") +B.QO=A.ba("q") +B.xi=A.ba("f8") +B.QP=A.ba("abE") +B.QQ=A.ba("rx") +B.QR=A.ba("abF") +B.QS=A.ba("iZ") +B.QT=A.ba("amN") +B.QU=A.ba("zX") +B.QV=A.ba("rL") +B.QW=A.ba("mh<@>") +B.QX=A.ba("jd") +B.QY=A.ba("mb") +B.QZ=A.ba("mr") +B.R_=new A.L9(0,"scope") +B.jw=new A.L9(1,"previouslyFocusedChild") +B.R0=new A.ci(11264,55297,B.p,t.O) +B.R1=new A.ci(1425,1775,B.P,t.O) +B.R2=new A.ci(1786,2303,B.P,t.O) +B.R3=new A.ci(192,214,B.p,t.O) +B.R4=new A.ci(216,246,B.p,t.O) +B.R5=new A.ci(2304,8191,B.p,t.O) +B.R6=new A.ci(248,696,B.p,t.O) +B.R7=new A.ci(55298,55299,B.P,t.O) +B.R8=new A.ci(55300,55353,B.p,t.O) +B.R9=new A.ci(55354,55355,B.P,t.O) +B.Ra=new A.ci(55356,56319,B.p,t.O) +B.Rb=new A.ci(63744,64284,B.p,t.O) +B.Rc=new A.ci(64285,65023,B.P,t.O) +B.Rd=new A.ci(65024,65135,B.p,t.O) +B.Re=new A.ci(65136,65276,B.P,t.O) +B.Rf=new A.ci(65277,65535,B.p,t.O) +B.Rg=new A.ci(65,90,B.p,t.O) +B.Rh=new A.ci(768,1424,B.p,t.O) +B.Ri=new A.ci(8206,8206,B.p,t.O) +B.Rj=new A.ci(8207,8207,B.P,t.O) +B.Rk=new A.ci(97,122,B.p,t.O) +B.cJ=new A.Lg(!1) +B.Rl=new A.Lg(!0) +B.Rm=new A.dS("dismissible",A.aj("dS")) +B.Y=new A.i8(0,"monochrome") +B.Rn=new A.i8(1,"neutral") +B.Ro=new A.i8(2,"tonalSpot") +B.Rp=new A.i8(3,"vibrant") +B.Rq=new A.i8(4,"expressive") +B.ca=new A.i8(5,"content") +B.cb=new A.i8(6,"fidelity") +B.Rr=new A.i8(7,"rainbow") +B.Rs=new A.i8(8,"fruitSalad") +B.xj=new A.m2(B.h,0,B.r,B.h) +B.jy=new A.m2(B.h,1,B.r,B.h) +B.cK=new A.hs(B.h) +B.xk=new A.Lj(1,"forward") +B.Ru=new A.Lj(2,"backward") +B.Rv=new A.ac0(1,"focused") +B.cM=new A.kh(0,0) +B.Rw=new A.kh(-2,-2) +B.fz=new A.dl(0,t.XR) +B.fA=new A.dl(24,t.XR) +B.KU=new A.ew(B.v) +B.fB=new A.dl(B.KU,A.aj("dl")) +B.Kt=new A.K(1/0,1/0) +B.fC=new A.dl(B.Kt,t.W7) +B.bE=new A.dl(B.M,A.aj("dl")) +B.Rx=new A.dl(B.M,A.aj("dl")) +B.Ky=new A.K(40,40) +B.fD=new A.dl(B.Ky,t.W7) +B.fE=new A.dl(B.lf,A.aj("dl")) +B.xl=new A.c_(3,"dragged") +B.jz=new A.c_(5,"scrolledUnder") +B.S=new A.c_(6,"disabled") +B.cd=new A.m3(0,"start") +B.Rz=new A.m3(1,"end") +B.RA=new A.m3(2,"center") +B.RB=new A.m3(3,"spaceBetween") +B.RC=new A.m3(4,"spaceAround") +B.RD=new A.m3(5,"spaceEvenly") +B.jF=new A.zY(0,"start") +B.RE=new A.zY(1,"end") +B.RF=new A.zY(2,"center") +B.an=new A.rK(0,"forward") +B.fI=new A.rK(1,"reverse") +B.RG=new A.Ab(0,"checkbox") +B.RH=new A.Ab(1,"radio") +B.RI=new A.Ab(2,"toggle") +B.RJ=new A.Ad(0,"inside") +B.RK=new A.Ad(1,"higher") +B.RL=new A.Ad(2,"lower") +B.AQ=new A.w(67108864) +B.E0=A.b(s([B.AQ,B.M]),t.t_) +B.RM=new A.ic(B.E0) +B.RN=new A.ic(null) +B.cO=new A.Nd(0,"horizontal") +B.cP=new A.Nd(1,"vertical") +B.bn=new A.Au(0,"ready") +B.xr=new A.Au(1,"possible") +B.e6=new A.Au(2,"accepted") +B.a1=new A.rY(0,"initial") +B.ce=new A.rY(1,"active") +B.RT=new A.rY(2,"inactive") +B.xs=new A.rY(3,"defunct") +B.S_=new A.Nw(1,0,"forward") +B.S0=new A.Nw(-1,1,"backward") +B.jH=new A.AB(0,"none") +B.S1=new A.AB(1,"forward") +B.S2=new A.AB(2,"reverse") +B.S3=new A.AE(0,"regular") +B.S4=new A.AE(1,"small") +B.S5=new A.AE(3,"extended") +B.fJ=new A.t4(0,"idle") +B.S6=new A.t4(1,"absorb") +B.fK=new A.t4(2,"pull") +B.xt=new A.t4(3,"recede") +B.cf=new A.ma(0,"pressed") +B.cQ=new A.ma(1,"hover") +B.xu=new A.ma(2,"focus") +B.S7=new A.afc(0,"standard") +B.ac=new A.AT(1,"maxWidth") +B.ax=new A.AT(3,"maxHeight") +B.ao=new A.id(1) +B.xv=new A.dT(0,"size") +B.jI=new A.dT(11,"accessibleNavigation") +B.S8=new A.dT(12,"invertColors") +B.xw=new A.dT(13,"highContrast") +B.S9=new A.dT(16,"boldText") +B.xx=new A.dT(17,"navigationMode") +B.xy=new A.dT(18,"gestureSettings") +B.e7=new A.dT(2,"devicePixelRatio") +B.xz=new A.dT(4,"textScaler") +B.xA=new A.dT(5,"platformBrightness") +B.bF=new A.dT(6,"padding") +B.jJ=new A.dT(7,"viewInsets") +B.Sa=new A.dT(9,"viewPadding") +B.xB=new A.mg(1/0,1/0,1/0,1/0,1/0,1/0) +B.Sb=new A.cw(B.cu,B.co) +B.eD=new A.nB(1,"left") +B.Sc=new A.cw(B.cu,B.eD) +B.eE=new A.nB(2,"right") +B.Sd=new A.cw(B.cu,B.eE) +B.Se=new A.cw(B.cu,B.be) +B.Sf=new A.cw(B.cv,B.co) +B.Sg=new A.cw(B.cv,B.eD) +B.Sh=new A.cw(B.cv,B.eE) +B.Si=new A.cw(B.cv,B.be) +B.Sj=new A.cw(B.cw,B.co) +B.Sk=new A.cw(B.cw,B.eD) +B.Sl=new A.cw(B.cw,B.eE) +B.Sm=new A.cw(B.cw,B.be) +B.Sn=new A.cw(B.cx,B.co) +B.So=new A.cw(B.cx,B.eD) +B.Sp=new A.cw(B.cx,B.eE) +B.Sq=new A.cw(B.cx,B.be) +B.Sr=new A.cw(B.iz,B.be) +B.Ss=new A.cw(B.iA,B.be) +B.St=new A.cw(B.iB,B.be) +B.Su=new A.cw(B.iC,B.be) +B.Sv=new A.OZ(null) +B.Sw=new A.P0(null) +B.jK=new A.e2(1,"add") +B.Sz=new A.e2(10,"remove") +B.SA=new A.e2(11,"popping") +B.SB=new A.e2(12,"removing") +B.jL=new A.e2(13,"dispose") +B.SC=new A.e2(14,"disposing") +B.fL=new A.e2(15,"disposed") +B.SD=new A.e2(2,"adding") +B.xC=new A.e2(3,"push") +B.jM=new A.e2(4,"pushReplace") +B.xD=new A.e2(5,"pushing") +B.SE=new A.e2(6,"replace") +B.e8=new A.e2(7,"idle") +B.SF=new A.e2(8,"pop") +B.SG=new A.e2(9,"complete") +B.fM=new A.fh(0,"body") +B.fN=new A.fh(1,"appBar") +B.jO=new A.fh(10,"endDrawer") +B.fO=new A.fh(11,"statusBar") +B.fP=new A.fh(2,"bodyScrim") +B.fQ=new A.fh(3,"bottomSheet") +B.cR=new A.fh(4,"snackBar") +B.fR=new A.fh(5,"materialBanner") +B.jP=new A.fh(6,"persistentFooter") +B.fS=new A.fh(7,"bottomNavigationBar") +B.fT=new A.fh(8,"floatingActionButton") +B.jQ=new A.fh(9,"drawer") +B.jR=new A.RA(0,"trailing") +B.xF=new A.RA(1,"leading") +B.jS=new A.tA(0,"idle") +B.SH=new A.tA(1,"absorb") +B.jT=new A.tA(2,"pull") +B.jU=new A.tA(3,"recede") +B.SI=new A.Cu(B.l1,B.hD) +B.fU=new A.Cy(0,"leading") +B.fV=new A.Cy(1,"middle") +B.fW=new A.Cy(2,"trailing") +B.SJ=new A.S8(0,"minimize") +B.SK=new A.S8(1,"maximize")})();(function staticFields(){$.anc=null +$.fi=null +$.be=A.bj("canvasKit") +$.W0=A.bj("_instance") +$.azk=A.E(t.N,A.aj("a7")) +$.asa=!1 +$.atM=null +$.auM=0 +$.anh=!1 +$.ii=A.b([],t.kZ) +$.alL=A.b([],t.no) +$.alK=0 +$.alJ=0 +$.asb=0 +$.aj_=0 +$.kD=A.b([],A.aj("v")) +$.akp=A.b([],t.nx) +$.anH=null +$.aBr=A.bj("_instance") +$.a7P=null +$.aal=null +$.asz=null +$.anU=A.b([],t.l) +$.au3=B.Bu +$.kC=A.b([],t.c) +$.Dc=B.l3 +$.tL=null +$.alW=null +$.ar3=0 +$.avl=null +$.avh=null +$.atD=null +$.at4=0 +$.IY=null +$.a_g=A.bj("_programCache") +$.ar4=null +$.Kf=null +$.bh=null +$.z0=null +$.au4=null +$.as7=A.E(A.aj("zy"),A.aj("KN")) +$.ajx=null +$.au7=-1 +$.au6=-1 +$.au8="" +$.au5="" +$.au9=-1 +$.TX=A.E(t.N,t.e) +$.atT=null +$.auc=1 +$.p9=null +$.afu=null +$.pd=A.b([],t.jl) +$.arp=null +$.a6w=0 +$.IQ=A.aHt() +$.aoU=null +$.aoT=null +$.auW=null +$.aus=null +$.avi=null +$.ajU=null +$.akh=null +$.anI=null +$.agT=A.b([],A.aj("v?>")) +$.tN=null +$.Dd=null +$.De=null +$.anl=!1 +$.ad=B.ad +$.asu="" +$.asv=null +$.atV=A.E(t.N,t.xd) +$.aF6=A.E(t.S,A.aj("aNa")) +$.aug=A.E(t.C_,t.e) +$.ix=A.aHX() +$.alB=0 +$.aB1=A.b([],A.aj("v")) +$.aqC=null +$.TL=0 +$.aja=null +$.anf=!1 +$.dY=null +$.an2=!0 +$.an1=!1 +$.oE=A.b([],A.aj("v")) +$.jU=null +$.iP=null +$.bC=null +$.K3=null +$.aph=0 +$.apf=A.E(t.S,t.I7) +$.apg=A.E(t.I7,t.S) +$.a9b=0 +$.eb=null +$.rj=null +$.amD=null +$.am=null +$.amb=-9007199254740992 +$.aBm=function(){var s=t.n +return A.b([A.b([0.001200833568784504,0.002389694492170889,0.0002795742885861124],s),A.b([0.0005891086651375999,0.0029785502573438758,0.0003270666104008398],s),A.b([0.00010146692491640572,0.0005364214359186694,0.0032979401770712076],s)],t.zg)}() +$.aBk=function(){var s=t.n +return A.b([A.b([1373.2198709594231,-1100.4251190754821,-7.278681089101213],s),A.b([-271.815969077903,559.6580465940733,-32.46047482791194],s),A.b([1.9622899599665666,-57.173814538844006,308.7233197812385],s)],t.zg)}() +$.wb=A.b([0.2126,0.7152,0.0722],t.n) +$.aBi=A.b([0.015176349177441876,0.045529047532325624,0.07588174588720938,0.10623444424209313,0.13658714259697685,0.16693984095186062,0.19729253930674434,0.2276452376616281,0.2579979360165119,0.28835063437139563,0.3188300904430532,0.350925934958123,0.3848314933096426,0.42057480301049466,0.458183274052838,0.4976837250274023,0.5391024159806381,0.5824650784040898,0.6277969426914107,0.6751227633498623,0.7244668422128921,0.775853049866786,0.829304845476233,0.8848452951698498,0.942497089126609,1.0022825574869039,1.0642236851973577,1.1283421258858297,1.1946592148522128,1.2631959812511864,1.3339731595349034,1.407011200216447,1.4823302800086415,1.5599503113873272,1.6398909516233677,1.7221716113234105,1.8068114625156377,1.8938294463134073,1.9832442801866852,2.075074464868551,2.1693382909216234,2.2660538449872063,2.36523901573795,2.4669114995532007,2.5710888059345764,2.6777882626779785,2.7870270208169257,2.898822059350997,3.0131901897720907,3.1301480604002863,3.2497121605402226,3.3718988244681087,3.4967242352587946,3.624204428461639,3.754355295633311,3.887192587735158,4.022731918402185,4.160988767090289,4.301978482107941,4.445716283538092,4.592217266055746,4.741496401646282,4.893568542229298,5.048448422192488,5.20615066083972,5.3666897647573375,5.5300801301023865,5.696336044816294,5.865471690767354,6.037501145825082,6.212438385869475,6.390297286737924,6.571091626112461,6.7548350853498045,6.941541251256611,7.131223617812143,7.323895587840543,7.5195704746346665,7.7182615035334345,7.919981813454504,8.124744458384042,8.332562408825165,8.543448553206703,8.757415699253682,8.974476575321063,9.194643831691977,9.417930041841839,9.644347703669503,9.873909240696694,10.106627003236781,10.342513269534024,10.58158024687427,10.8238400726681,11.069304815507364,11.317986476196008,11.569896988756009,11.825048221409341,12.083451977536606,12.345119996613247,12.610063955123938,12.878295467455942,13.149826086772048,13.42466730586372,13.702830557985108,13.984327217668513,14.269168601521828,14.55736596900856,14.848930523210871,15.143873411576273,15.44220572664832,15.743938506781891,16.04908273684337,16.35764934889634,16.66964922287304,16.985093187232053,17.30399201960269,17.62635644741625,17.95219714852476,18.281524751807332,18.614349837764564,18.95068293910138,19.290534541298456,19.633915083172692,19.98083495742689,20.331304511189067,20.685334046541502,21.042933821039977,21.404114048223256,21.76888489811322,22.137256497705877,22.50923893145328,22.884842241736916,23.264076429332462,23.6469514538663,24.033477234264016,24.42366364919083,24.817520537484558,25.21505769858089,25.61628489293138,26.021211842414342,26.429848230738664,26.842203703840827,27.258287870275353,27.678110301598522,28.10168053274597,28.529008062403893,28.96010235337422,29.39497283293396,29.83362889318845,30.276079891419332,30.722335150426627,31.172403958865512,31.62629557157785,32.08401920991837,32.54558406207592,33.010999283389665,33.4802739966603,33.953417292456834,34.430438229418264,34.911345834551085,35.39614910352207,35.88485700094671,36.37747846067349,36.87402238606382,37.37449765026789,37.87891309649659,38.38727753828926,38.89959975977785,39.41588851594697,39.93615253289054,40.460400508064545,40.98864111053629,41.520882981230194,42.05713473317016,42.597404951718396,43.141702194811224,43.6900349931913,44.24241185063697,44.798841244188324,45.35933162437017,45.92389141541209,46.49252901546552,47.065252796817916,47.64207110610409,48.22299226451468,48.808024568002054,49.3971762874833,49.9904556690408,50.587870934119984,51.189430279724725,51.79514187861014,52.40501387947288,53.0190544071392,53.637271562750364,54.259673423945976,54.88626804504493,55.517063457223934,56.15206766869424,56.79128866487574,57.43473440856916,58.08241284012621,58.734331877617365,59.39049941699807,60.05092333227251,60.715611475655585,61.38457167773311,62.057811747619894,62.7353394731159,63.417162620860914,64.10328893648692,64.79372614476921,65.48848194977529,66.18756403501224,66.89098006357258,67.59873767827808,68.31084450182222,69.02730813691093,69.74813616640164,70.47333615344107,71.20291564160104,71.93688215501312,72.67524319850172,73.41800625771542,74.16517879925733,74.9167682708136,75.67278210128072,76.43322770089146,77.1981124613393,77.96744375590167,78.74122893956174,79.51947534912904,80.30219030335869,81.08938110306934,81.88105503125999,82.67721935322541,83.4778813166706,84.28304815182372,85.09272707154808,85.90692527145302,86.72564993000343,87.54890820862819,88.3767072518277,89.2090541872801,90.04595612594655,90.88742016217518,91.73345337380438,92.58406282226491,93.43925555268066,94.29903859396902,95.16341895893969,96.03240364439274,96.9059996312159,97.78421388448044,98.6670533535366,99.55452497210776],t.n) +$.arM=A.b([0,21,51,121,151,191,271,321,360],t.n) +$.aDv=A.b([45,95,45,20,45,90,45,45,45],t.n) +$.aDw=A.b([120,120,20,45,20,15,20,120,120],t.n) +$.arN=A.b([0,41,61,101,131,181,251,301,360],t.n) +$.aDx=A.b([18,15,10,12,15,18,15,12,12],t.n) +$.aDy=A.b([35,30,20,25,30,35,30,25,25],t.n) +$.hF=function(){var s=t.n +return A.b([A.b([0.41233895,0.35762064,0.18051042],s),A.b([0.2126,0.7152,0.0722],s),A.b([0.01932141,0.11916382,0.95034478],s)],t.zg)}() +$.pG=A.b([95.047,100,108.883],t.n) +$.av2=!1 +$.a9y=null +$.aBN=A.E(t.S,A.aj("aBM"))})();(function lazyInitializers(){var s=hunkHelpers.lazyFinal,r=hunkHelpers.lazy +s($,"aKi","ao3",()=>A.HG(8)) +s($,"aNN","Ud",()=>A.I(A.I(A.ag(),"ClipOp"),"Intersect")) +s($,"aOB","axU",()=>{var q="FontWeight" +return A.b([A.I(A.I(A.ag(),q),"Thin"),A.I(A.I(A.ag(),q),"ExtraLight"),A.I(A.I(A.ag(),q),"Light"),A.I(A.I(A.ag(),q),"Normal"),A.I(A.I(A.ag(),q),"Medium"),A.I(A.I(A.ag(),q),"SemiBold"),A.I(A.I(A.ag(),q),"Bold"),A.I(A.I(A.ag(),q),"ExtraBold"),A.I(A.I(A.ag(),q),"ExtraBlack")],t.J)}) +s($,"aOJ","ay1",()=>{var q="TextDirection" +return A.b([A.I(A.I(A.ag(),q),"RTL"),A.I(A.I(A.ag(),q),"LTR")],t.J)}) +s($,"aOG","axZ",()=>{var q="TextAlign" +return A.b([A.I(A.I(A.ag(),q),"Left"),A.I(A.I(A.ag(),q),"Right"),A.I(A.I(A.ag(),q),"Center"),A.I(A.I(A.ag(),q),"Justify"),A.I(A.I(A.ag(),q),"Start"),A.I(A.I(A.ag(),q),"End")],t.J)}) +s($,"aOK","ay2",()=>{var q="TextHeightBehavior" +return A.b([A.I(A.I(A.ag(),q),"All"),A.I(A.I(A.ag(),q),"DisableFirstAscent"),A.I(A.I(A.ag(),q),"DisableLastDescent"),A.I(A.I(A.ag(),q),"DisableAll")],t.J)}) +s($,"aOD","axW",()=>{var q="RectHeightStyle" +return A.b([A.I(A.I(A.ag(),q),"Tight"),A.I(A.I(A.ag(),q),"Max"),A.I(A.I(A.ag(),q),"IncludeLineSpacingMiddle"),A.I(A.I(A.ag(),q),"IncludeLineSpacingTop"),A.I(A.I(A.ag(),q),"IncludeLineSpacingBottom"),A.I(A.I(A.ag(),q),"Strut")],t.J)}) +s($,"aOE","axX",()=>{var q="RectWidthStyle" +return A.b([A.I(A.I(A.ag(),q),"Tight"),A.I(A.I(A.ag(),q),"Max")],t.J)}) +s($,"aOz","aov",()=>A.b([A.I(A.I(A.ag(),"ClipOp"),"Difference"),A.I(A.I(A.ag(),"ClipOp"),"Intersect")],t.J)) +s($,"aOA","Uh",()=>{var q="FillType" +return A.b([A.I(A.I(A.ag(),q),"Winding"),A.I(A.I(A.ag(),q),"EvenOdd")],t.J)}) +s($,"aOy","axT",()=>{var q="BlurStyle" +return A.b([A.I(A.I(A.ag(),q),"Normal"),A.I(A.I(A.ag(),q),"Solid"),A.I(A.I(A.ag(),q),"Outer"),A.I(A.I(A.ag(),q),"Inner")],t.J)}) +s($,"aOF","axY",()=>{var q="StrokeCap" +return A.b([A.I(A.I(A.ag(),q),"Butt"),A.I(A.I(A.ag(),q),"Round"),A.I(A.I(A.ag(),q),"Square")],t.J)}) +s($,"aOC","axV",()=>{var q="PaintStyle" +return A.b([A.I(A.I(A.ag(),q),"Fill"),A.I(A.I(A.ag(),q),"Stroke")],t.J)}) +s($,"aOx","aou",()=>{var q="BlendMode" +return A.b([A.I(A.I(A.ag(),q),"Clear"),A.I(A.I(A.ag(),q),"Src"),A.I(A.I(A.ag(),q),"Dst"),A.I(A.I(A.ag(),q),"SrcOver"),A.I(A.I(A.ag(),q),"DstOver"),A.I(A.I(A.ag(),q),"SrcIn"),A.I(A.I(A.ag(),q),"DstIn"),A.I(A.I(A.ag(),q),"SrcOut"),A.I(A.I(A.ag(),q),"DstOut"),A.I(A.I(A.ag(),q),"SrcATop"),A.I(A.I(A.ag(),q),"DstATop"),A.I(A.I(A.ag(),q),"Xor"),A.I(A.I(A.ag(),q),"Plus"),A.I(A.I(A.ag(),q),"Modulate"),A.I(A.I(A.ag(),q),"Screen"),A.I(A.I(A.ag(),q),"Overlay"),A.I(A.I(A.ag(),q),"Darken"),A.I(A.I(A.ag(),q),"Lighten"),A.I(A.I(A.ag(),q),"ColorDodge"),A.I(A.I(A.ag(),q),"ColorBurn"),A.I(A.I(A.ag(),q),"HardLight"),A.I(A.I(A.ag(),q),"SoftLight"),A.I(A.I(A.ag(),q),"Difference"),A.I(A.I(A.ag(),q),"Exclusion"),A.I(A.I(A.ag(),q),"Multiply"),A.I(A.I(A.ag(),q),"Hue"),A.I(A.I(A.ag(),q),"Saturation"),A.I(A.I(A.ag(),q),"Color"),A.I(A.I(A.ag(),q),"Luminosity")],t.J)}) +s($,"aOL","ay3",()=>{var q="TileMode" +return A.b([A.I(A.I(A.ag(),q),"Clamp"),A.I(A.I(A.ag(),q),"Repeat"),A.I(A.I(A.ag(),q),"Mirror"),A.I(A.I(A.ag(),q),"Decal")],t.J)}) +s($,"aNR","axo",()=>{var q="FilterMode",p="MipmapMode",o="Linear",n=t.e +return A.as([B.hN,n.a({filter:A.I(A.I(A.ag(),q),"Nearest"),mipmap:A.I(A.I(A.ag(),p),"None")}),B.ex,n.a({filter:A.I(A.I(A.ag(),q),o),mipmap:A.I(A.I(A.ag(),p),"None")}),B.dc,n.a({filter:A.I(A.I(A.ag(),q),o),mipmap:A.I(A.I(A.ag(),p),o)}),B.lh,n.a({B:0.3333333333333333,C:0.3333333333333333})],A.aj("nb"),n)}) +s($,"aO_","axu",()=>{var q=A.HG(2) +q[0]=0 +q[1]=1 +return q}) +s($,"aOv","Ug",()=>A.aJr(4)) +s($,"aOI","ay0",()=>{var q="DecorationStyle" +return A.b([A.I(A.I(A.ag(),q),"Solid"),A.I(A.I(A.ag(),q),"Double"),A.I(A.I(A.ag(),q),"Dotted"),A.I(A.I(A.ag(),q),"Dashed"),A.I(A.I(A.ag(),q),"Wavy")],t.J)}) +s($,"aOH","ay_",()=>{var q="TextBaseline" +return A.b([A.I(A.I(A.ag(),q),"Alphabetic"),A.I(A.I(A.ag(),q),"Ideographic")],t.J)}) +r($,"aHa","axq",()=>A.aGx()) +r($,"aOs","axQ",()=>A.d9().gDC()+"roboto/v20/KFOmCnqEu92Fr1Me5WZLCzYlKw.ttf") +r($,"aNS","aoo",()=>A.aGi(A.p5(A.p5(A.anX(),"window"),"FinalizationRegistry"),A.b6(new A.ajf()))) +r($,"aP5","aoD",()=>new A.a5b()) +s($,"aNY","axs",()=>A.aCl(B.EH)) +s($,"aNX","akM",()=>A.a1z(A.azv($.axs()))) +s($,"aNM","axm",()=>A.arY(A.I(A.ag(),"ParagraphBuilder"))) +s($,"aKm","avw",()=>A.atK(A.p5(A.p5(A.p5(A.anX(),"window"),"flutterCanvasKit"),"Paint"))) +s($,"aKl","avv",()=>{var q=A.atK(A.p5(A.p5(A.p5(A.anX(),"window"),"flutterCanvasKit"),"Paint")) +A.aDY(q,0) +return q}) +s($,"aPd","ayd",()=>{var q=t.N,p=A.aj("+breaks,graphemes,words(rx,rx,rx)"),o=A.am1(1e5,q,p),n=A.am1(1e4,q,p) +return new A.Qd(A.am1(20,q,p),n,o)}) +s($,"aNW","axr",()=>A.as([B.lu,A.anw("grapheme"),B.lv,A.anw("word")],A.aj("wx"),t.e)) +s($,"aOS","ay8",()=>A.auL()) +s($,"aKM","bq",()=>{var q,p=A.I(self.window,"screen") +p=p==null?null:A.I(p,"width") +if(p==null)p=0 +q=A.I(self.window,"screen") +q=q==null?null:A.I(q,"height") +return new A.FT(A.aDW(p,q==null?0:q))}) +s($,"aOR","ay7",()=>{var q=A.I(self.window,"trustedTypes") +q.toString +return A.aGo(q,"createPolicy","flutter-engine",t.e.a({createScriptURL:A.b6(new A.ajF())}))}) +r($,"aOU","aoy",()=>self.window.FinalizationRegistry!=null) +r($,"aOW","akO",()=>self.window.OffscreenCanvas!=null) +s($,"aNT","axp",()=>B.L.bA(A.as(["type","fontsChange"],t.N,t.z))) +r($,"aB8","avD",()=>A.q2()) +s($,"aP3","akP",()=>{var q=A.auJ() +A.apx(q,"width",0) +A.apx(q,"height",0) +A.aps(A.I(q,"style"),"absolute") +return q}) +s($,"aNh","aom",()=>A.HG(4)) +r($,"aOu","aot",()=>new A.a9u()) +s($,"aMU","awN",()=>A.ar_(A.b([0,1,2,2,3,0],t.t))) +s($,"aOM","ay4",()=>A.anF(A.anF(A.anF(self.window,"Image"),"prototype"),"decode")!=null) +s($,"aNK","axk",()=>A.azE("ftyp")) +s($,"aO1","aop",()=>8589934852) +s($,"aO2","axw",()=>8589934853) +s($,"aO3","aoq",()=>8589934848) +s($,"aO4","axx",()=>8589934849) +s($,"aO8","aos",()=>8589934850) +s($,"aO9","axA",()=>8589934851) +s($,"aO6","aor",()=>8589934854) +s($,"aO7","axz",()=>8589934855) +s($,"aOe","axF",()=>458978) +s($,"aOf","axG",()=>458982) +s($,"aP1","aoB",()=>458976) +s($,"aP2","aoC",()=>458980) +s($,"aOi","axJ",()=>458977) +s($,"aOj","axK",()=>458981) +s($,"aOg","axH",()=>458979) +s($,"aOh","axI",()=>458983) +s($,"aO5","axy",()=>A.as([$.aop(),new A.ajo(),$.axw(),new A.ajp(),$.aoq(),new A.ajq(),$.axx(),new A.ajr(),$.aos(),new A.ajs(),$.axA(),new A.ajt(),$.aor(),new A.aju(),$.axz(),new A.ajv()],t.S,A.aj("O(iy)"))) +s($,"aP9","akQ",()=>A.aIw(new A.akq())) +r($,"aKV","akF",()=>new A.Gw(A.b([],A.aj("v<~(O)>")),A.alz(self.window,"(forced-colors: active)"))) +s($,"aKN","az",()=>A.aAK()) +r($,"aM0","DF",()=>{var q=t.N,p=t.S +q=new A.a65(A.E(q,t._8),A.E(p,t.e),A.aA(q),A.E(p,q)) +q.ae0("_default_document_create_element_visible",A.atU()) +q.xK("_default_document_create_element_invisible",A.atU(),!1) +return q}) +r($,"aM1","awg",()=>new A.a67($.DF())) +s($,"aM5","awi",()=>new A.a8a()) +s($,"aM6","aod",()=>new A.EM()) +s($,"aM7","jj",()=>new A.aeN(A.E(t.S,A.aj("tn")))) +s($,"aOr","ap",()=>(A.d9().gRO()!=null?A.d9().gRO()==="canvaskit":$.aw().gacf())?new A.uE(A.azj(),A.aEa(!1),A.E(t.S,A.aj("rG"))):new A.GB()) +r($,"aOV","ay9",()=>{var q=self.window.ImageDecoder +q=(q==null?null:A.alT(q))!=null&&$.aw().gby()===B.bH +return q}) +s($,"aKX","avE",()=>A.bO("[a-z0-9\\s]+",!1,!1)) +s($,"aKY","avF",()=>A.bO("\\b\\d",!0,!1)) +s($,"aPe","pf",()=>A.aAo(A.mz(0,0))) +s($,"aMv","awu",()=>{var q=A.aIv("flt-ruler-host"),p=new A.JB(q),o=A.I(q,"style") +A.aps(o,"fixed") +A.aAl(o,"hidden") +A.aAj(o,"hidden") +A.aAk(o,"0") +A.aAi(o,"0") +A.aAm(o,"0") +A.aAh(o,"0") +A.aGn($.az().gabE().gcs().c,"appendChild",q) +A.aJD(p.gkr()) +return p}) +s($,"aOQ","aox",()=>A.aEE(A.b([B.Rg,B.Rk,B.R3,B.R4,B.R6,B.Rh,B.R1,B.R2,B.R5,B.Ri,B.Rj,B.R0,B.R7,B.R8,B.R9,B.Ra,B.Rb,B.Rc,B.Rd,B.Re,B.Rf],A.aj("v>")),null,A.aj("iX?"))) +r($,"aPi","DL",()=>A.aEF("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",231,B.EE,B.xm,A.aj("cU"))) +s($,"aKe","avt",()=>{var q=t.N +return new A.Vf(A.as(["birthday","bday","birthdayDay","bday-day","birthdayMonth","bday-month","birthdayYear","bday-year","countryCode","country","countryName","country-name","creditCardExpirationDate","cc-exp","creditCardExpirationMonth","cc-exp-month","creditCardExpirationYear","cc-exp-year","creditCardFamilyName","cc-family-name","creditCardGivenName","cc-given-name","creditCardMiddleName","cc-additional-name","creditCardName","cc-name","creditCardNumber","cc-number","creditCardSecurityCode","cc-csc","creditCardType","cc-type","email","email","familyName","family-name","fullStreetAddress","street-address","gender","sex","givenName","given-name","impp","impp","jobTitle","organization-title","language","language","middleName","additional-name","name","name","namePrefix","honorific-prefix","nameSuffix","honorific-suffix","newPassword","new-password","nickname","nickname","oneTimeCode","one-time-code","organizationName","organization","password","current-password","photo","photo","postalCode","postal-code","streetAddressLevel1","address-level1","streetAddressLevel2","address-level2","streetAddressLevel3","address-level3","streetAddressLevel4","address-level4","streetAddressLine1","address-line1","streetAddressLine2","address-line2","streetAddressLine3","address-line3","telephoneNumber","tel","telephoneNumberAreaCode","tel-area-code","telephoneNumberCountryCode","tel-country-code","telephoneNumberExtension","tel-extension","telephoneNumberLocal","tel-local","telephoneNumberLocalPrefix","tel-local-prefix","telephoneNumberLocalSuffix","tel-local-suffix","telephoneNumberNational","tel-national","transactionAmount","transaction-amount","transactionCurrency","transaction-currency","url","url","username","username"],q,q))}) +s($,"aPf","DK",()=>new A.a_Q()) +s($,"aOP","ay6",()=>A.HG(4)) +s($,"aON","aow",()=>A.HG(16)) +s($,"aOO","ay5",()=>A.aC4($.aow())) +r($,"aPa","dc",()=>A.aAp(A.I(self.window,"console"))) +r($,"aKJ","avC",()=>{var q=$.bq(),p=A.hp(!1,t.i) +p=new A.Fz(q,q.gnI(0),p) +p.Mk() +return p}) +s($,"aNV","akL",()=>new A.ajm().$0()) +s($,"aKx","U5",()=>A.aJ4("_$dart_dartClosure")) +s($,"aP6","ayb",()=>B.ad.eI(new A.ako())) +s($,"aMJ","awC",()=>A.ke(A.abD({ +toString:function(){return"$receiver$"}}))) +s($,"aMK","awD",()=>A.ke(A.abD({$method$:null, +toString:function(){return"$receiver$"}}))) +s($,"aML","awE",()=>A.ke(A.abD(null))) +s($,"aMM","awF",()=>A.ke(function(){var $argumentsExpr$="$arguments$" +try{null.$method$($argumentsExpr$)}catch(q){return q.message}}())) +s($,"aMP","awI",()=>A.ke(A.abD(void 0))) +s($,"aMQ","awJ",()=>A.ke(function(){var $argumentsExpr$="$arguments$" +try{(void 0).$method$($argumentsExpr$)}catch(q){return q.message}}())) +s($,"aMO","awH",()=>A.ke(A.ass(null))) +s($,"aMN","awG",()=>A.ke(function(){try{null.$method$}catch(q){return q.message}}())) +s($,"aMS","awL",()=>A.ke(A.ass(void 0))) +s($,"aMR","awK",()=>A.ke(function(){try{(void 0).$method$}catch(q){return q.message}}())) +s($,"aOo","axO",()=>A.amA(254)) +s($,"aOa","axB",()=>97) +s($,"aOm","axM",()=>65) +s($,"aOb","axC",()=>122) +s($,"aOn","axN",()=>90) +s($,"aOc","axD",()=>48) +s($,"aN_","aoj",()=>A.aET()) +s($,"aKT","pe",()=>A.aj("a9").a($.ayb())) +s($,"aNt","axa",()=>A.am8(4096)) +s($,"aNr","ax8",()=>new A.aiw().$0()) +s($,"aNs","ax9",()=>new A.aiv().$0()) +s($,"aN1","aok",()=>A.aCn(A.p4(A.b([-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-1,-2,-2,-2,-2,-2,62,-2,62,-2,63,52,53,54,55,56,57,58,59,60,61,-2,-2,-2,-1,-2,-2,-2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-2,-2,-2,-2,63,-2,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-2,-2,-2,-2,-2],t.t)))) +r($,"aN0","awR",()=>A.am8(0)) +s($,"aNu","Ub",()=>A.aG8()) +s($,"aNp","ax6",()=>A.bO("^[\\-\\.0-9A-Z_a-z~]*$",!0,!1)) +s($,"aNq","ax7",()=>typeof URLSearchParams=="function") +s($,"aNU","dp",()=>A.pc(B.QE)) +s($,"aMy","DG",()=>{A.aD4() +return $.a6w}) +s($,"aOt","axR",()=>A.aGC()) +s($,"aNf","ax1",()=>{var q=A.as8() +q.le(0) +return q}) +s($,"aNe","ax0",()=>A.azW().a) +s($,"aNZ","axt",()=>new A.J()) +s($,"aM4","aoc",()=>A.aFp()) +s($,"aM2","awh",()=>{$.aoc() +return!1}) +s($,"aM3","aob",()=>{$.aoc() +return!1}) +s($,"aKL","db",()=>A.es(A.ar_(A.b([1],t.t)).buffer,0,null).getInt8(0)===1?B.aa:B.yy) +s($,"aOX","Ui",()=>new A.Wa(A.E(t.N,A.aj("kl")))) +s($,"aKf","avu",()=>new A.Vh()) +r($,"aOT","aw",()=>$.avu()) +r($,"aOq","akN",()=>B.yN) +s($,"aP7","aoE",()=>new A.a68()) +s($,"aKh","ao2",()=>new A.J()) +r($,"azg","mE",()=>A.aCc()) +s($,"aO0","axv",()=>A.amw(1,1,500)) +r($,"aKb","ao1",()=>new A.DZ(B.r,B.r)) +s($,"aOk","axL",()=>A.fR(B.dG,B.h,t.o)) +s($,"aOd","axE",()=>A.fR(B.h,B.Hc,t.o)) +r($,"aN9","awX",()=>new A.Fh(B.RN,B.RM)) +s($,"aNL","axl",()=>A.aHE($.aw().gbX())) +s($,"aKj","aN",()=>A.b8(0,null,!1,t.Nw)) +s($,"aN8","DI",()=>new A.m5(0,$.awW())) +s($,"aN7","awW",()=>A.aHw(0)) +s($,"aNP","Ue",()=>A.lr(null,t.N)) +s($,"aNQ","aon",()=>A.as8()) +s($,"aMZ","awQ",()=>A.am8(8)) +s($,"aMx","awv",()=>A.bO("^\\s*at ([^\\s]+).*$",!0,!1)) +s($,"aP0","aoA",()=>A.ap7(4294967295)) +s($,"aP_","aoz",()=>A.ap7(3707764736)) +s($,"aNk","ax3",()=>A.fR(0.75,1,t.i)) +s($,"aNl","ax4",()=>A.eQ(B.Qe)) +s($,"aL0","avH",()=>A.eQ(B.aA)) +s($,"aL1","avI",()=>A.eQ(B.CS)) +s($,"aND","axi",()=>{var q=t.i +return A.b([A.asr(A.fR(0,0.4,q).h1(A.eQ(B.AS)),0.166666,q),A.asr(A.fR(0.4,1,q).h1(A.eQ(B.AT)),0.833334,q)],t.x0)}) +s($,"aNC","Uc",()=>A.asq($.axi(),t.i)) +s($,"aNv","axb",()=>A.fR(0,1,t.i).h1(A.eQ(B.CV))) +s($,"aNw","axc",()=>A.fR(1.1,1,t.i).h1($.Uc())) +s($,"aNx","axd",()=>A.fR(0.85,1,t.i).h1($.Uc())) +s($,"aNy","axe",()=>A.fR(0,0.6,t.PM).h1(A.eQ(B.CX))) +s($,"aNz","axf",()=>A.fR(1,0,t.i).h1(A.eQ(B.CO))) +s($,"aNB","axh",()=>A.fR(1,1.05,t.i).h1($.Uc())) +s($,"aNA","axg",()=>A.fR(1,0.9,t.i).h1($.Uc())) +s($,"aN5","awU",()=>A.eQ(B.CQ).h1(A.eQ(B.iV))) +s($,"aN6","awV",()=>A.eQ(B.CP).h1(A.eQ(B.iV))) +s($,"aN3","awS",()=>A.eQ(B.iV)) +s($,"aN4","awT",()=>A.eQ(B.Iz)) +s($,"aNb","awY",()=>A.fR(0.875,1,t.i).h1(A.eQ(B.es))) +s($,"aMI","awB",()=>A.aEo()) +s($,"aMH","awA",()=>new A.Nq(A.E(A.aj("t7"),t.we),5,A.aj("Nq"))) +s($,"aLS","akH",()=>A.aCm(4)) +r($,"aMe","awl",()=>B.Aa) +r($,"aMg","awn",()=>{var q=null +return A.ash(q,B.kL,q,q,q,q,"sans-serif",q,q,18,q,q,q,q,q,q,q,q,q,q,q)}) +r($,"aMf","awm",()=>{var q=null +return A.ard(q,q,q,q,q,q,q,q,q,B.dZ,B.p,q)}) +s($,"aNo","ax5",()=>A.aC5()) +s($,"aMh","awo",()=>A.amA(65532)) +s($,"aNm","DJ",()=>A.amA(65532)) +s($,"aNn","u3",()=>$.DJ().length) +s($,"aOl","Uf",()=>98304) +s($,"aMo","akI",()=>A.lR()) +s($,"aMn","awq",()=>A.aqY(0)) +s($,"aMp","awr",()=>A.aqY(0)) +s($,"aMq","aws",()=>A.aC6().a) +s($,"aPb","u4",()=>{var q=t.N,p=t.L0 +return new A.a6_(A.E(q,A.aj("a7")),A.E(q,p),A.E(q,p))}) +s($,"aL2","avJ",()=>A.as([4294967562,B.hX,4294967564,B.D5,4294967556,B.D6],t.S,t.SQ)) +s($,"aL3","avK",()=>{var q=t.r +return A.as([B.im,A.bX([B.bW,B.cq],q),B.ip,A.bX([B.dy,B.f_],q),B.io,A.bX([B.dx,B.eZ],q),B.il,A.bX([B.dw,B.eY],q)],q,A.aj("bd"))}) +s($,"aP8","ayc",()=>new A.a6a()) +s($,"aMc","aof",()=>new A.a6E(A.b([],A.aj("v<~(k3)>")),A.E(t.v3,t.r))) +s($,"aMb","awk",()=>{var q=t.v3 +return A.as([B.Sk,A.bX([B.cC],q),B.Sl,A.bX([B.cE],q),B.Sm,A.bX([B.cC,B.cE],q),B.Sj,A.bX([B.cC],q),B.Sg,A.bX([B.cB],q),B.Sh,A.bX([B.dK],q),B.Si,A.bX([B.cB,B.dK],q),B.Sf,A.bX([B.cB],q),B.Sc,A.bX([B.cA],q),B.Sd,A.bX([B.dJ],q),B.Se,A.bX([B.cA,B.dJ],q),B.Sb,A.bX([B.cA],q),B.So,A.bX([B.cD],q),B.Sp,A.bX([B.dL],q),B.Sq,A.bX([B.cD,B.dL],q),B.Sn,A.bX([B.cD],q),B.Sr,A.bX([B.c2],q),B.Ss,A.bX([B.f7],q),B.St,A.bX([B.f6],q),B.Su,A.bX([B.dI],q)],A.aj("cw"),A.aj("bd"))}) +s($,"aMa","aoe",()=>A.as([B.cC,B.dx,B.cE,B.eZ,B.cB,B.bW,B.dK,B.cq,B.cA,B.dw,B.dJ,B.eY,B.cD,B.dy,B.dL,B.f_,B.c2,B.dt,B.f7,B.eW,B.f6,B.eX],t.v3,t.r)) +s($,"aM9","awj",()=>{var q=A.E(t.v3,t.r) +q.n(0,B.dI,B.ii) +q.L(0,$.aoe()) +return q}) +s($,"aMG","awz",()=>{var q=$.ax2() +q=new A.KO(q,A.bX([q],A.aj("zz")),A.E(t.N,A.aj("aMi"))) +q.c=B.r4 +q.gYX().iY(q.ga37()) +return q}) +s($,"aNi","ax2",()=>new A.Ph()) +r($,"aMY","awP",()=>{var q=A.aj("~(bn)") +return A.as([B.Qr,A.apr(!0),B.Qv,A.apr(!1),B.QL,new A.Ju(A.xn(q)),B.QD,new A.HO(A.xn(q)),B.QH,new A.IN(A.xn(q)),B.Qq,new A.Fv(A.xn(q)),B.xh,A.aDA(),B.QI,new A.IR(A.xn(q)),B.QT,new A.Lm(A.xn(q))],t.u,t.od)}) +s($,"aKz","akE",()=>{var q,p,o,n=t.v,m=A.E(t.Vz,n) +for(q=A.aj("a0"),p=0;p<2;++p){o=B.id[p] +m.L(0,A.as([A.dy(B.aj,!1,!1,!1,o),B.k6,A.dy(B.aj,!1,!0,!1,o),B.k9,A.dy(B.aj,!0,!1,!1,o),B.k7,A.dy(B.af,!1,!1,!1,o),B.ed,A.dy(B.af,!1,!0,!1,o),B.ee,A.dy(B.af,!0,!1,!1,o),B.k8],q,n))}m.n(0,B.ft,B.ef) +m.n(0,B.fu,B.eg) +m.n(0,B.fp,B.cX) +m.n(0,B.fq,B.cY) +m.n(0,B.j9,B.h7) +m.n(0,B.ja,B.h8) +m.n(0,B.wr,B.eh) +m.n(0,B.ws,B.ei) +m.n(0,B.jb,B.cV) +m.n(0,B.jc,B.cW) +m.n(0,B.jd,B.h9) +m.n(0,B.je,B.ha) +m.n(0,B.jf,B.kg) +m.n(0,B.jg,B.kh) +m.n(0,B.jh,B.ke) +m.n(0,B.ji,B.kf) +m.n(0,B.wt,B.hb) +m.n(0,B.wu,B.hc) +m.n(0,B.wv,B.kk) +m.n(0,B.ww,B.kl) +m.n(0,B.JG,B.ki) +m.n(0,B.JH,B.kj) +m.n(0,B.dW,B.hd) +m.n(0,B.dV,B.he) +m.n(0,B.jl,B.hf) +m.n(0,B.jj,B.hg) +m.n(0,B.wF,B.k4) +m.n(0,B.wG,B.k5) +m.n(0,B.wH,B.kp) +m.n(0,B.jk,B.kr) +m.n(0,B.JW,B.kt) +m.n(0,B.JX,B.kq) +m.n(0,B.fv,B.k) +m.n(0,B.fw,B.k) +return m}) +s($,"aKy","ao4",()=>$.akE()) +s($,"aKA","avx",()=>$.ao4()) +s($,"aKC","ao5",()=>A.as([B.Kk,B.h8,B.Kl,B.h7,B.JM,B.eh,B.Km,B.ei,B.Kn,B.kl,B.Ko,B.kk,B.JN,B.ki,B.Kp,B.kj,B.JO,B.hf,B.Kq,B.hg,B.Kr,B.eh,B.Ks,B.ei,B.JD,B.ed,B.JE,B.ee,B.JZ,B.eg,B.K_,B.ef,B.Kd,B.cX,B.K0,B.cY,B.K1,B.hc,B.K2,B.hb,B.Ke,B.yG,B.K3,B.yH,B.Kf,B.hd,B.K4,B.he,B.K5,B.cX,B.K6,B.cY,B.K7,B.ed,B.K8,B.ee],t.Vz,t.v)) +s($,"aKD","avz",()=>{var q=A.lq($.akE(),t.Vz,t.v) +q.L(0,$.ao5()) +q.n(0,B.fn,B.cV) +q.n(0,B.fo,B.cW) +q.n(0,B.fr,B.kg) +q.n(0,B.fs,B.kh) +return q}) +s($,"aKF","ao6",()=>{var q,p,o,n=t.v,m=A.E(t.Vz,n) +for(q=A.aj("a0"),p=0;p<2;++p){o=B.id[p] +m.L(0,A.as([A.dy(B.aj,!1,!1,!1,o),B.k6,A.dy(B.aj,!0,!1,!1,o),B.k9,A.dy(B.aj,!1,!1,!0,o),B.k7,A.dy(B.af,!1,!1,!1,o),B.ed,A.dy(B.af,!0,!1,!1,o),B.ee,A.dy(B.af,!1,!1,!0,o),B.k8],q,n))}m.n(0,B.ft,B.ef) +m.n(0,B.fu,B.eg) +m.n(0,B.fp,B.cX) +m.n(0,B.fq,B.cY) +m.n(0,B.j9,B.h7) +m.n(0,B.ja,B.h8) +m.n(0,B.wr,B.eh) +m.n(0,B.ws,B.ei) +m.n(0,B.jb,B.hb) +m.n(0,B.jc,B.hc) +m.n(0,B.jd,B.cV) +m.n(0,B.je,B.cW) +m.n(0,B.jf,B.yK) +m.n(0,B.jg,B.yL) +m.n(0,B.jh,B.yI) +m.n(0,B.ji,B.yJ) +m.n(0,B.wx,B.cV) +m.n(0,B.wy,B.cW) +m.n(0,B.wz,B.h9) +m.n(0,B.wA,B.ha) +m.n(0,B.wB,B.yA) +m.n(0,B.wC,B.yB) +m.n(0,B.JI,B.kc) +m.n(0,B.JJ,B.kd) +m.n(0,B.JY,B.zn) +m.n(0,B.fn,B.zb) +m.n(0,B.fo,B.zc) +m.n(0,B.fr,B.kc) +m.n(0,B.fs,B.kd) +m.n(0,B.dW,B.w0) +m.n(0,B.dV,B.j_) +m.n(0,B.jl,B.hf) +m.n(0,B.jj,B.hg) +m.n(0,B.wJ,B.k4) +m.n(0,B.wK,B.k5) +m.n(0,B.wL,B.kp) +m.n(0,B.wI,B.kr) +m.n(0,B.JP,B.kt) +m.n(0,B.JQ,B.kq) +m.n(0,B.JR,B.cW) +m.n(0,B.jk,B.cV) +m.n(0,B.JS,B.eg) +m.n(0,B.JT,B.ef) +m.n(0,B.JU,B.cY) +m.n(0,B.JV,B.cX) +m.n(0,B.fv,B.k) +m.n(0,B.fw,B.k) +return m}) +s($,"aKB","avy",()=>$.ao6()) +s($,"aKH","avB",()=>{var q=A.lq($.akE(),t.Vz,t.v) +q.n(0,B.dW,B.hd) +q.n(0,B.dV,B.he) +q.n(0,B.fn,B.yC) +q.n(0,B.fo,B.yD) +q.n(0,B.fr,B.yE) +q.n(0,B.fs,B.yF) +q.n(0,B.wD,B.h9) +q.n(0,B.wE,B.ha) +q.n(0,B.JK,B.ke) +q.n(0,B.JL,B.kf) +return q}) +s($,"aKG","ao7",()=>{var q,p,o,n=t.v,m=A.E(t.Vz,n) +for(q=A.aj("a0"),p=0;p<2;++p){o=B.id[p] +m.L(0,A.as([A.dy(B.aj,!1,!1,!1,o),B.k,A.dy(B.af,!1,!1,!1,o),B.k,A.dy(B.aj,!0,!1,!1,o),B.k,A.dy(B.af,!0,!1,!1,o),B.k,A.dy(B.aj,!1,!0,!1,o),B.k,A.dy(B.af,!1,!0,!1,o),B.k,A.dy(B.aj,!1,!1,!0,o),B.k,A.dy(B.af,!1,!1,!0,o),B.k],q,n))}m.L(0,B.qJ) +m.n(0,B.wF,B.k) +m.n(0,B.wJ,B.k) +m.n(0,B.wG,B.k) +m.n(0,B.wK,B.k) +m.n(0,B.wH,B.k) +m.n(0,B.wL,B.k) +m.n(0,B.jk,B.k) +m.n(0,B.wI,B.k) +return m}) +s($,"aKE","avA",()=>{var q=A.lq(B.qJ,t.Vz,t.v) +q.L(0,B.qP) +q.n(0,B.wO,B.k) +q.n(0,B.wM,B.k) +q.n(0,B.wN,B.k) +q.n(0,B.ji,B.k) +q.n(0,B.jh,B.k) +q.n(0,B.j9,B.k) +q.n(0,B.ja,B.k) +q.n(0,B.jf,B.k) +q.n(0,B.jg,B.k) +q.n(0,B.wB,B.k) +q.n(0,B.wC,B.k) +q.n(0,B.dW,B.k) +q.n(0,B.dV,B.k) +q.n(0,B.fo,B.k) +q.n(0,B.fn,B.k) +q.n(0,B.jl,B.k) +q.n(0,B.jj,B.k) +q.n(0,B.fs,B.k) +q.n(0,B.fr,B.k) +q.n(0,B.wE,B.k) +q.n(0,B.wD,B.k) +return q}) +r($,"aNg","aol",()=>new A.OY(B.Sw,B.a1)) +s($,"aNd","ax_",()=>A.fR(1,0,t.i)) +s($,"aLU","ik",()=>A.aq0()) +s($,"aNc","awZ",()=>A.cP(16667,0)) +s($,"aMj","awp",()=>A.amw(0.5,1.1,100)) +s($,"aKo","akD",()=>A.av4(0.78)/A.av4(0.9)) +s($,"aNO","axn",()=>A.a1u(A.bX([B.il],t.r))) +s($,"aOw","axS",()=>A.a1u(A.bX([B.im],t.r))) +s($,"aNE","axj",()=>A.a1u(A.bX([B.io],t.r))) +s($,"aOp","axP",()=>A.a1u(A.bX([B.ip],t.r))) +s($,"aKR","ao8",()=>new A.J()) +r($,"aB2","U6",()=>{var q=new A.a4o() +q.mX($.ao8()) +return q}) +s($,"aPh","aye",()=>new A.a6b(A.E(t.N,A.aj("a7?(cr?)")))) +s($,"aL_","ao9",()=>new A.J()) +r($,"aBv","avG",()=>{var q=new A.a4p() +q.mX($.ao9()) +return q}) +r($,"aL5","aoa",()=>{var q=null +return A.bb(q,q,!0,"background",new A.a1D(),q,new A.a1E(),q)}) +r($,"aLb","avN",()=>A.bb(new A.a1V(),A.bG(3,3,4.5,7),!1,"on_background",new A.a1W(),null,new A.a1X(),null)) +r($,"aLE","aw7",()=>{var q=null +return A.bb(q,q,!0,"surface",new A.a3K(),q,new A.a3L(),q)}) +r($,"aLL","dE",()=>{var q=null +return A.bb(q,q,!0,"surface_dim",new A.a3G(),q,new A.a3H(),q)}) +r($,"aLF","dD",()=>{var q=null +return A.bb(q,q,!0,"surface_bright",new A.a3u(),q,new A.a3v(),q)}) +r($,"aLK","awc",()=>{var q=null +return A.bb(q,q,!0,"surface_container_lowest",new A.a3C(),q,new A.a3D(),q)}) +r($,"aLJ","awb",()=>{var q=null +return A.bb(q,q,!0,"surface_container_low",new A.a3A(),q,new A.a3B(),q)}) +r($,"aLG","aw8",()=>{var q=null +return A.bb(q,q,!0,"surface_container",new A.a3E(),q,new A.a3F(),q)}) +r($,"aLH","aw9",()=>{var q=null +return A.bb(q,q,!0,"surface_container_high",new A.a3w(),q,new A.a3x(),q)}) +r($,"aLI","awa",()=>{var q=null +return A.bb(q,q,!0,"surface_container_highest",new A.a3y(),q,new A.a3z(),q)}) +r($,"aLm","avY",()=>A.bb(new A.a2y(),A.bG(4.5,7,11,21),!1,"on_surface",new A.a2z(),null,new A.a2A(),null)) +r($,"aLM","awd",()=>{var q=null +return A.bb(q,q,!0,"surface_variant",new A.a3I(),q,new A.a3J(),q)}) +r($,"aLn","avZ",()=>A.bb(new A.a2v(),A.bG(3,4.5,7,11),!1,"on_surface_variant",new A.a2w(),null,new A.a2x(),null)) +r($,"aLa","akG",()=>{var q=null +return A.bb(q,q,!1,"inverse_surface",new A.a1T(),q,new A.a1U(),q)}) +r($,"aL8","avL",()=>A.bb(new A.a1N(),A.bG(4.5,7,11,21),!1,"inverse_on_surface",new A.a1O(),null,new A.a1P(),null)) +r($,"aLs","aw3",()=>A.bb(new A.a2S(),A.bG(1.5,3,4.5,7),!1,"outline",new A.a2T(),null,new A.a2U(),null)) +r($,"aLt","aw4",()=>A.bb(new A.a2P(),A.bG(1,1,3,4.5),!1,"outline_variant",new A.a2Q(),null,new A.a2R(),null)) +r($,"aLD","aw6",()=>{var q=null +return A.bb(q,q,!1,"shadow",new A.a3s(),q,new A.a3t(),q)}) +r($,"aLy","aw5",()=>{var q=null +return A.bb(q,q,!1,"scrim",new A.a3a(),q,new A.a3b(),q)}) +r($,"aLu","Dv",()=>A.bb(new A.a36(),A.bG(3,4.5,7,7),!0,"primary",new A.a37(),null,new A.a38(),new A.a39())) +r($,"aLe","avQ",()=>A.bb(new A.a2e(),A.bG(4.5,7,11,21),!1,"on_primary",new A.a2f(),null,new A.a2g(),null)) +r($,"aLv","Dw",()=>A.bb(new A.a2V(),A.bG(1,1,3,4.5),!0,"primary_container",new A.a2W(),null,new A.a2X(),new A.a2Y())) +r($,"aLf","avR",()=>A.bb(new A.a23(),A.bG(4.5,7,11,21),!1,"on_primary_container",new A.a24(),null,new A.a25(),null)) +r($,"aL9","avM",()=>A.bb(new A.a1Q(),A.bG(3,4.5,7,7),!1,"inverse_primary",new A.a1R(),null,new A.a1S(),null)) +r($,"aLz","U9",()=>A.bb(new A.a3o(),A.bG(3,4.5,7,7),!0,"secondary",new A.a3p(),null,new A.a3q(),new A.a3r())) +r($,"aLi","avU",()=>A.bb(new A.a2s(),A.bG(4.5,7,11,21),!1,"on_secondary",new A.a2t(),null,new A.a2u(),null)) +r($,"aLA","Dz",()=>A.bb(new A.a3c(),A.bG(1,1,3,4.5),!0,"secondary_container",new A.a3d(),null,new A.a3e(),new A.a3f())) +r($,"aLj","avV",()=>A.bb(new A.a2h(),A.bG(4.5,7,11,21),!1,"on_secondary_container",new A.a2i(),null,new A.a2j(),null)) +r($,"aLN","Ua",()=>A.bb(new A.a3Y(),A.bG(3,4.5,7,7),!0,"tertiary",new A.a3Z(),null,new A.a4_(),new A.a40())) +r($,"aLo","aw_",()=>A.bb(new A.a2M(),A.bG(4.5,7,11,21),!1,"on_tertiary",new A.a2N(),null,new A.a2O(),null)) +r($,"aLO","DC",()=>A.bb(new A.a3M(),A.bG(1,1,3,4.5),!0,"tertiary_container",new A.a3N(),null,new A.a3O(),new A.a3P())) +r($,"aLp","aw0",()=>A.bb(new A.a2B(),A.bG(4.5,7,11,21),!1,"on_tertiary_container",new A.a2C(),null,new A.a2D(),null)) +r($,"aL6","U7",()=>A.bb(new A.a1J(),A.bG(3,4.5,7,7),!0,"error",new A.a1K(),null,new A.a1L(),new A.a1M())) +r($,"aLc","avO",()=>A.bb(new A.a20(),A.bG(4.5,7,11,21),!1,"on_error",new A.a21(),null,new A.a22(),null)) +r($,"aL7","U8",()=>A.bb(new A.a1F(),A.bG(1,1,3,4.5),!0,"error_container",new A.a1G(),null,new A.a1H(),new A.a1I())) +r($,"aLd","avP",()=>A.bb(new A.a1Y(),A.bG(4.5,7,11,21),!1,"on_error_container",new A.a1Z(),null,new A.a2_(),null)) +r($,"aLw","Dx",()=>A.bb(new A.a32(),A.bG(1,1,3,4.5),!0,"primary_fixed",new A.a33(),null,new A.a34(),new A.a35())) +r($,"aLx","Dy",()=>A.bb(new A.a2Z(),A.bG(1,1,3,4.5),!0,"primary_fixed_dim",new A.a3_(),null,new A.a30(),new A.a31())) +r($,"aLg","avS",()=>A.bb(new A.a2a(),A.bG(4.5,7,11,21),!1,"on_primary_fixed",new A.a2b(),new A.a2c(),new A.a2d(),null)) +r($,"aLh","avT",()=>A.bb(new A.a26(),A.bG(3,4.5,7,11),!1,"on_primary_fixed_variant",new A.a27(),new A.a28(),new A.a29(),null)) +r($,"aLB","DA",()=>A.bb(new A.a3k(),A.bG(1,1,3,4.5),!0,"secondary_fixed",new A.a3l(),null,new A.a3m(),new A.a3n())) +r($,"aLC","DB",()=>A.bb(new A.a3g(),A.bG(1,1,3,4.5),!0,"secondary_fixed_dim",new A.a3h(),null,new A.a3i(),new A.a3j())) +r($,"aLk","avW",()=>A.bb(new A.a2o(),A.bG(4.5,7,11,21),!1,"on_secondary_fixed",new A.a2p(),new A.a2q(),new A.a2r(),null)) +r($,"aLl","avX",()=>A.bb(new A.a2k(),A.bG(3,4.5,7,11),!1,"on_secondary_fixed_variant",new A.a2l(),new A.a2m(),new A.a2n(),null)) +r($,"aLP","DD",()=>A.bb(new A.a3U(),A.bG(1,1,3,4.5),!0,"tertiary_fixed",new A.a3V(),null,new A.a3W(),new A.a3X())) +r($,"aLQ","DE",()=>A.bb(new A.a3Q(),A.bG(1,1,3,4.5),!0,"tertiary_fixed_dim",new A.a3R(),null,new A.a3S(),new A.a3T())) +r($,"aLq","aw1",()=>A.bb(new A.a2I(),A.bG(4.5,7,11,21),!1,"on_tertiary_fixed",new A.a2J(),new A.a2K(),new A.a2L(),null)) +r($,"aLr","aw2",()=>A.bb(new A.a2E(),A.bG(3,4.5,7,11),!1,"on_tertiary_fixed_variant",new A.a2F(),new A.a2G(),new A.a2H(),null)) +s($,"aMW","awO",()=>$.DH()) +s($,"aMV","DH",()=>{var q,p,o,n,m,l,k,j,i,h,g=63.66197723675813*A.mU(50)/100,f=A.aJs(0.1,50),e=$.pG[0],d=$.pG[1],c=$.pG[2],b=e*0.401288+d*0.650173+c*-0.051461,a=e*-0.250268+d*1.204414+c*0.045854,a0=e*-0.002079+d*0.048952+c*0.953127,a1=A.am3(0.59,0.69,0.9999999999999998),a2=1-0.2777777777777778*A.aIR((-g-42)/92) +if(a2>1)a2=1 +else if(a2<0)a2=0 +q=A.b([a2*(100/b)+1-a2,a2*(100/a)+1-a2,a2*(100/a0)+1-a2],t.n) +e=5*g +p=1/(e+1) +o=p*p*p*p +n=1-o +m=o*g+0.1*n*n*A.Dq(e,0.3333333333333333) +l=A.mU(f)/$.pG[1] +e=A.aJL(l) +k=0.725/A.Dq(l,0.2) +j=[A.Dq(m*q[0]*b/100,0.42),A.Dq(m*q[1]*a/100,0.42),A.Dq(m*q[2]*a0/100,0.42)] +d=j[0] +c=j[1] +i=j[2] +h=[400*d/(d+27.13),400*c/(c+27.13),400*i/(i+27.13)] +return new A.ac1(l,(40*h[0]+20*h[1]+h[2])/20*k,k,k,a1,1,q,m,A.Dq(m,0.25),1.48+e)}) +r($,"aP4","Uj",()=>new A.Zm()) +s($,"aOY","aya",()=>new A.WS($.aww())) +s($,"aMB","awx",()=>new A.a6p(A.bO("/",!0,!1),A.bO("[^/]$",!0,!1),A.bO("^/",!0,!1))) +s($,"aMD","awy",()=>new A.ac7(A.bO("[/\\\\]",!0,!1),A.bO("[^/\\\\]$",!0,!1),A.bO("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])",!0,!1),A.bO("^[/\\\\](?![/\\\\])",!0,!1))) +s($,"aMC","aoi",()=>new A.abQ(A.bO("/",!0,!1),A.bO("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$",!0,!1),A.bO("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*",!0,!1),A.bO("^/",!0,!1))) +s($,"aMA","aww",()=>A.aE9()) +s($,"aLX","awf",()=>new A.J()) +r($,"aLW","awe",()=>{var q=new A.a4q() +q.mX($.awf()) +return q}) +s($,"aLZ","u2",()=>A.aq0()) +s($,"aMs","aog",()=>new A.J()) +r($,"aDT","awt",()=>{var q=new A.a4r() +q.mX($.aog()) +return q}) +s($,"aMt","aoh",()=>new A.J()) +r($,"aDU","akJ",()=>{var q=new A.a4s() +q.mX($.aoh()) +return q}) +s($,"aMT","akK",()=>new A.J()) +r($,"aEK","awM",()=>{var q=new A.a4t() +q.mX($.akK()) +return q})})();(function nativeSupport(){!function(){var s=function(a){var m={} +m[a]=1 +return Object.keys(hunkHelpers.convertToFastObject(m))[0]} +v.getIsolateTag=function(a){return s("___dart_"+a+v.isolateTag)} +var r="___dart_isolate_tags_" +var q=Object[r]||(Object[r]=Object.create(null)) +var p="_ZxYxX" +for(var o=0;;o++){var n=s(p+"_"+o+"_") +if(!(n in q)){q[n]=1 +v.isolateTag=n +break}}v.dispatchPropertyName=v.getIsolateTag("dispatch_record")}() +hunkHelpers.setOrUpdateInterceptorsByTag({WebGL:J.qh,AbortPaymentEvent:J.d,AnimationEffectReadOnly:J.d,AnimationEffectTiming:J.d,AnimationEffectTimingReadOnly:J.d,AnimationEvent:J.d,AnimationPlaybackEvent:J.d,AnimationTimeline:J.d,AnimationWorkletGlobalScope:J.d,ApplicationCacheErrorEvent:J.d,AuthenticatorAssertionResponse:J.d,AuthenticatorAttestationResponse:J.d,AuthenticatorResponse:J.d,BackgroundFetchClickEvent:J.d,BackgroundFetchEvent:J.d,BackgroundFetchFailEvent:J.d,BackgroundFetchFetch:J.d,BackgroundFetchManager:J.d,BackgroundFetchSettledFetch:J.d,BackgroundFetchedEvent:J.d,BarProp:J.d,BarcodeDetector:J.d,BeforeInstallPromptEvent:J.d,BeforeUnloadEvent:J.d,BlobEvent:J.d,BluetoothRemoteGATTDescriptor:J.d,Body:J.d,BudgetState:J.d,CacheStorage:J.d,CanMakePaymentEvent:J.d,CanvasGradient:J.d,CanvasPattern:J.d,CanvasRenderingContext2D:J.d,Client:J.d,Clients:J.d,ClipboardEvent:J.d,CloseEvent:J.d,CompositionEvent:J.d,CookieStore:J.d,Coordinates:J.d,Credential:J.d,CredentialUserData:J.d,CredentialsContainer:J.d,Crypto:J.d,CryptoKey:J.d,CSS:J.d,CSSVariableReferenceValue:J.d,CustomElementRegistry:J.d,CustomEvent:J.d,DataTransfer:J.d,DataTransferItem:J.d,DeprecatedStorageInfo:J.d,DeprecatedStorageQuota:J.d,DeprecationReport:J.d,DetectedBarcode:J.d,DetectedFace:J.d,DetectedText:J.d,DeviceAcceleration:J.d,DeviceMotionEvent:J.d,DeviceOrientationEvent:J.d,DeviceRotationRate:J.d,DirectoryEntry:J.d,webkitFileSystemDirectoryEntry:J.d,FileSystemDirectoryEntry:J.d,DirectoryReader:J.d,WebKitDirectoryReader:J.d,webkitFileSystemDirectoryReader:J.d,FileSystemDirectoryReader:J.d,DocumentOrShadowRoot:J.d,DocumentTimeline:J.d,DOMError:J.d,DOMImplementation:J.d,Iterator:J.d,DOMMatrix:J.d,DOMMatrixReadOnly:J.d,DOMParser:J.d,DOMPoint:J.d,DOMPointReadOnly:J.d,DOMQuad:J.d,DOMStringMap:J.d,Entry:J.d,webkitFileSystemEntry:J.d,FileSystemEntry:J.d,ErrorEvent:J.d,Event:J.d,InputEvent:J.d,SubmitEvent:J.d,ExtendableEvent:J.d,ExtendableMessageEvent:J.d,External:J.d,FaceDetector:J.d,FederatedCredential:J.d,FetchEvent:J.d,FileEntry:J.d,webkitFileSystemFileEntry:J.d,FileSystemFileEntry:J.d,DOMFileSystem:J.d,WebKitFileSystem:J.d,webkitFileSystem:J.d,FileSystem:J.d,FocusEvent:J.d,FontFace:J.d,FontFaceSetLoadEvent:J.d,FontFaceSource:J.d,ForeignFetchEvent:J.d,FormData:J.d,GamepadButton:J.d,GamepadEvent:J.d,GamepadPose:J.d,Geolocation:J.d,Position:J.d,GeolocationPosition:J.d,HashChangeEvent:J.d,Headers:J.d,HTMLHyperlinkElementUtils:J.d,IdleDeadline:J.d,ImageBitmap:J.d,ImageBitmapRenderingContext:J.d,ImageCapture:J.d,ImageData:J.d,InputDeviceCapabilities:J.d,InstallEvent:J.d,IntersectionObserver:J.d,IntersectionObserverEntry:J.d,InterventionReport:J.d,KeyboardEvent:J.d,KeyframeEffect:J.d,KeyframeEffectReadOnly:J.d,MediaCapabilities:J.d,MediaCapabilitiesInfo:J.d,MediaDeviceInfo:J.d,MediaEncryptedEvent:J.d,MediaError:J.d,MediaKeyMessageEvent:J.d,MediaKeyStatusMap:J.d,MediaKeySystemAccess:J.d,MediaKeys:J.d,MediaKeysPolicy:J.d,MediaMetadata:J.d,MediaQueryListEvent:J.d,MediaSession:J.d,MediaSettingsRange:J.d,MediaStreamEvent:J.d,MediaStreamTrackEvent:J.d,MemoryInfo:J.d,MessageChannel:J.d,MessageEvent:J.d,Metadata:J.d,MIDIConnectionEvent:J.d,MIDIMessageEvent:J.d,MouseEvent:J.d,DragEvent:J.d,MutationEvent:J.d,MutationObserver:J.d,WebKitMutationObserver:J.d,MutationRecord:J.d,NavigationPreloadManager:J.d,Navigator:J.d,NavigatorAutomationInformation:J.d,NavigatorConcurrentHardware:J.d,NavigatorCookies:J.d,NavigatorUserMediaError:J.d,NodeFilter:J.d,NodeIterator:J.d,NonDocumentTypeChildNode:J.d,NonElementParentNode:J.d,NoncedElement:J.d,NotificationEvent:J.d,OffscreenCanvasRenderingContext2D:J.d,OverconstrainedError:J.d,PageTransitionEvent:J.d,PaintRenderingContext2D:J.d,PaintSize:J.d,PaintWorkletGlobalScope:J.d,PasswordCredential:J.d,Path2D:J.d,PaymentAddress:J.d,PaymentInstruments:J.d,PaymentManager:J.d,PaymentRequestEvent:J.d,PaymentRequestUpdateEvent:J.d,PaymentResponse:J.d,PerformanceEntry:J.d,PerformanceLongTaskTiming:J.d,PerformanceMark:J.d,PerformanceMeasure:J.d,PerformanceNavigation:J.d,PerformanceNavigationTiming:J.d,PerformanceObserver:J.d,PerformanceObserverEntryList:J.d,PerformancePaintTiming:J.d,PerformanceResourceTiming:J.d,PerformanceServerTiming:J.d,PerformanceTiming:J.d,Permissions:J.d,PhotoCapabilities:J.d,PointerEvent:J.d,PopStateEvent:J.d,PositionError:J.d,GeolocationPositionError:J.d,Presentation:J.d,PresentationConnectionAvailableEvent:J.d,PresentationConnectionCloseEvent:J.d,PresentationReceiver:J.d,ProgressEvent:J.d,PromiseRejectionEvent:J.d,PublicKeyCredential:J.d,PushEvent:J.d,PushManager:J.d,PushMessageData:J.d,PushSubscription:J.d,PushSubscriptionOptions:J.d,Range:J.d,RelatedApplication:J.d,ReportBody:J.d,ReportingObserver:J.d,ResizeObserver:J.d,ResizeObserverEntry:J.d,RTCCertificate:J.d,RTCDataChannelEvent:J.d,RTCDTMFToneChangeEvent:J.d,RTCIceCandidate:J.d,mozRTCIceCandidate:J.d,RTCLegacyStatsReport:J.d,RTCPeerConnectionIceEvent:J.d,RTCRtpContributingSource:J.d,RTCRtpReceiver:J.d,RTCRtpSender:J.d,RTCSessionDescription:J.d,mozRTCSessionDescription:J.d,RTCStatsResponse:J.d,RTCTrackEvent:J.d,Screen:J.d,ScrollState:J.d,ScrollTimeline:J.d,SecurityPolicyViolationEvent:J.d,Selection:J.d,SensorErrorEvent:J.d,SharedArrayBuffer:J.d,SpeechRecognitionAlternative:J.d,SpeechRecognitionError:J.d,SpeechRecognitionEvent:J.d,SpeechSynthesisEvent:J.d,SpeechSynthesisVoice:J.d,StaticRange:J.d,StorageEvent:J.d,StorageManager:J.d,StyleMedia:J.d,StylePropertyMap:J.d,StylePropertyMapReadonly:J.d,SyncEvent:J.d,SyncManager:J.d,TaskAttributionTiming:J.d,TextDetector:J.d,TextEvent:J.d,TextMetrics:J.d,TouchEvent:J.d,TrackDefault:J.d,TrackEvent:J.d,TransitionEvent:J.d,WebKitTransitionEvent:J.d,TreeWalker:J.d,TrustedHTML:J.d,TrustedScriptURL:J.d,TrustedURL:J.d,UIEvent:J.d,UnderlyingSourceBase:J.d,URLSearchParams:J.d,VRCoordinateSystem:J.d,VRDeviceEvent:J.d,VRDisplayCapabilities:J.d,VRDisplayEvent:J.d,VREyeParameters:J.d,VRFrameData:J.d,VRFrameOfReference:J.d,VRPose:J.d,VRSessionEvent:J.d,VRStageBounds:J.d,VRStageBoundsPoint:J.d,VRStageParameters:J.d,ValidityState:J.d,VideoPlaybackQuality:J.d,VideoTrack:J.d,VTTRegion:J.d,WheelEvent:J.d,WindowClient:J.d,WorkletAnimation:J.d,WorkletGlobalScope:J.d,XPathEvaluator:J.d,XPathExpression:J.d,XPathNSResolver:J.d,XPathResult:J.d,XMLSerializer:J.d,XSLTProcessor:J.d,Bluetooth:J.d,BluetoothCharacteristicProperties:J.d,BluetoothRemoteGATTServer:J.d,BluetoothRemoteGATTService:J.d,BluetoothUUID:J.d,BudgetService:J.d,Cache:J.d,DOMFileSystemSync:J.d,DirectoryEntrySync:J.d,DirectoryReaderSync:J.d,EntrySync:J.d,FileEntrySync:J.d,FileReaderSync:J.d,FileWriterSync:J.d,HTMLAllCollection:J.d,Mojo:J.d,MojoHandle:J.d,MojoInterfaceRequestEvent:J.d,MojoWatcher:J.d,NFC:J.d,PagePopupController:J.d,Report:J.d,Request:J.d,ResourceProgressEvent:J.d,Response:J.d,SubtleCrypto:J.d,USBAlternateInterface:J.d,USBConfiguration:J.d,USBConnectionEvent:J.d,USBDevice:J.d,USBEndpoint:J.d,USBInTransferResult:J.d,USBInterface:J.d,USBIsochronousInTransferPacket:J.d,USBIsochronousInTransferResult:J.d,USBIsochronousOutTransferPacket:J.d,USBIsochronousOutTransferResult:J.d,USBOutTransferResult:J.d,WorkerLocation:J.d,WorkerNavigator:J.d,Worklet:J.d,IDBCursor:J.d,IDBCursorWithValue:J.d,IDBFactory:J.d,IDBIndex:J.d,IDBKeyRange:J.d,IDBObjectStore:J.d,IDBObservation:J.d,IDBObserver:J.d,IDBObserverChanges:J.d,IDBVersionChangeEvent:J.d,SVGAngle:J.d,SVGAnimatedAngle:J.d,SVGAnimatedBoolean:J.d,SVGAnimatedEnumeration:J.d,SVGAnimatedInteger:J.d,SVGAnimatedLength:J.d,SVGAnimatedLengthList:J.d,SVGAnimatedNumber:J.d,SVGAnimatedNumberList:J.d,SVGAnimatedPreserveAspectRatio:J.d,SVGAnimatedRect:J.d,SVGAnimatedString:J.d,SVGAnimatedTransformList:J.d,SVGMatrix:J.d,SVGPoint:J.d,SVGPreserveAspectRatio:J.d,SVGRect:J.d,SVGUnitTypes:J.d,AudioListener:J.d,AudioParam:J.d,AudioProcessingEvent:J.d,AudioTrack:J.d,AudioWorkletGlobalScope:J.d,AudioWorkletProcessor:J.d,OfflineAudioCompletionEvent:J.d,PeriodicWave:J.d,WebGLActiveInfo:J.d,ANGLEInstancedArrays:J.d,ANGLE_instanced_arrays:J.d,WebGLBuffer:J.d,WebGLCanvas:J.d,WebGLColorBufferFloat:J.d,WebGLCompressedTextureASTC:J.d,WebGLCompressedTextureATC:J.d,WEBGL_compressed_texture_atc:J.d,WebGLCompressedTextureETC1:J.d,WEBGL_compressed_texture_etc1:J.d,WebGLCompressedTextureETC:J.d,WebGLCompressedTexturePVRTC:J.d,WEBGL_compressed_texture_pvrtc:J.d,WebGLCompressedTextureS3TC:J.d,WEBGL_compressed_texture_s3tc:J.d,WebGLCompressedTextureS3TCsRGB:J.d,WebGLContextEvent:J.d,WebGLDebugRendererInfo:J.d,WEBGL_debug_renderer_info:J.d,WebGLDebugShaders:J.d,WEBGL_debug_shaders:J.d,WebGLDepthTexture:J.d,WEBGL_depth_texture:J.d,WebGLDrawBuffers:J.d,WEBGL_draw_buffers:J.d,EXTsRGB:J.d,EXT_sRGB:J.d,EXTBlendMinMax:J.d,EXT_blend_minmax:J.d,EXTColorBufferFloat:J.d,EXTColorBufferHalfFloat:J.d,EXTDisjointTimerQuery:J.d,EXTDisjointTimerQueryWebGL2:J.d,EXTFragDepth:J.d,EXT_frag_depth:J.d,EXTShaderTextureLOD:J.d,EXT_shader_texture_lod:J.d,EXTTextureFilterAnisotropic:J.d,EXT_texture_filter_anisotropic:J.d,WebGLFramebuffer:J.d,WebGLGetBufferSubDataAsync:J.d,WebGLLoseContext:J.d,WebGLExtensionLoseContext:J.d,WEBGL_lose_context:J.d,OESElementIndexUint:J.d,OES_element_index_uint:J.d,OESStandardDerivatives:J.d,OES_standard_derivatives:J.d,OESTextureFloat:J.d,OES_texture_float:J.d,OESTextureFloatLinear:J.d,OES_texture_float_linear:J.d,OESTextureHalfFloat:J.d,OES_texture_half_float:J.d,OESTextureHalfFloatLinear:J.d,OES_texture_half_float_linear:J.d,OESVertexArrayObject:J.d,OES_vertex_array_object:J.d,WebGLProgram:J.d,WebGLQuery:J.d,WebGLRenderbuffer:J.d,WebGLRenderingContext:J.d,WebGL2RenderingContext:J.d,WebGLSampler:J.d,WebGLShader:J.d,WebGLShaderPrecisionFormat:J.d,WebGLSync:J.d,WebGLTexture:J.d,WebGLTimerQueryEXT:J.d,WebGLTransformFeedback:J.d,WebGLUniformLocation:J.d,WebGLVertexArrayObject:J.d,WebGLVertexArrayObjectOES:J.d,WebGL2RenderingContextBase:J.d,ArrayBuffer:A.nQ,ArrayBufferView:A.xd,DataView:A.xa,Float32Array:A.xb,Float64Array:A.HH,Int16Array:A.HI,Int32Array:A.xc,Int8Array:A.HJ,Uint16Array:A.HK,Uint32Array:A.HL,Uint8ClampedArray:A.xe,CanvasPixelArray:A.xe,Uint8Array:A.jN,HTMLAudioElement:A.au,HTMLBRElement:A.au,HTMLBaseElement:A.au,HTMLBodyElement:A.au,HTMLButtonElement:A.au,HTMLCanvasElement:A.au,HTMLContentElement:A.au,HTMLDListElement:A.au,HTMLDataElement:A.au,HTMLDataListElement:A.au,HTMLDetailsElement:A.au,HTMLDialogElement:A.au,HTMLDivElement:A.au,HTMLEmbedElement:A.au,HTMLFieldSetElement:A.au,HTMLHRElement:A.au,HTMLHeadElement:A.au,HTMLHeadingElement:A.au,HTMLHtmlElement:A.au,HTMLIFrameElement:A.au,HTMLImageElement:A.au,HTMLInputElement:A.au,HTMLLIElement:A.au,HTMLLabelElement:A.au,HTMLLegendElement:A.au,HTMLLinkElement:A.au,HTMLMapElement:A.au,HTMLMediaElement:A.au,HTMLMenuElement:A.au,HTMLMetaElement:A.au,HTMLMeterElement:A.au,HTMLModElement:A.au,HTMLOListElement:A.au,HTMLObjectElement:A.au,HTMLOptGroupElement:A.au,HTMLOptionElement:A.au,HTMLOutputElement:A.au,HTMLParagraphElement:A.au,HTMLParamElement:A.au,HTMLPictureElement:A.au,HTMLPreElement:A.au,HTMLProgressElement:A.au,HTMLQuoteElement:A.au,HTMLScriptElement:A.au,HTMLShadowElement:A.au,HTMLSlotElement:A.au,HTMLSourceElement:A.au,HTMLSpanElement:A.au,HTMLStyleElement:A.au,HTMLTableCaptionElement:A.au,HTMLTableCellElement:A.au,HTMLTableDataCellElement:A.au,HTMLTableHeaderCellElement:A.au,HTMLTableColElement:A.au,HTMLTableElement:A.au,HTMLTableRowElement:A.au,HTMLTableSectionElement:A.au,HTMLTemplateElement:A.au,HTMLTextAreaElement:A.au,HTMLTimeElement:A.au,HTMLTitleElement:A.au,HTMLTrackElement:A.au,HTMLUListElement:A.au,HTMLUnknownElement:A.au,HTMLVideoElement:A.au,HTMLDirectoryElement:A.au,HTMLFontElement:A.au,HTMLFrameElement:A.au,HTMLFrameSetElement:A.au,HTMLMarqueeElement:A.au,HTMLElement:A.au,AccessibleNodeList:A.DS,HTMLAnchorElement:A.DW,HTMLAreaElement:A.E1,Blob:A.up,CDATASection:A.ir,CharacterData:A.ir,Comment:A.ir,ProcessingInstruction:A.ir,Text:A.ir,CSSPerspective:A.F5,CSSCharsetRule:A.bQ,CSSConditionRule:A.bQ,CSSFontFaceRule:A.bQ,CSSGroupingRule:A.bQ,CSSImportRule:A.bQ,CSSKeyframeRule:A.bQ,MozCSSKeyframeRule:A.bQ,WebKitCSSKeyframeRule:A.bQ,CSSKeyframesRule:A.bQ,MozCSSKeyframesRule:A.bQ,WebKitCSSKeyframesRule:A.bQ,CSSMediaRule:A.bQ,CSSNamespaceRule:A.bQ,CSSPageRule:A.bQ,CSSRule:A.bQ,CSSStyleRule:A.bQ,CSSSupportsRule:A.bQ,CSSViewportRule:A.bQ,CSSStyleDeclaration:A.pL,MSStyleCSSProperties:A.pL,CSS2Properties:A.pL,CSSImageValue:A.ep,CSSKeywordValue:A.ep,CSSNumericValue:A.ep,CSSPositionValue:A.ep,CSSResourceValue:A.ep,CSSUnitValue:A.ep,CSSURLImageValue:A.ep,CSSStyleValue:A.ep,CSSMatrixComponent:A.hG,CSSRotation:A.hG,CSSScale:A.hG,CSSSkew:A.hG,CSSTranslation:A.hG,CSSTransformComponent:A.hG,CSSTransformValue:A.F6,CSSUnparsedValue:A.F7,DataTransferItemList:A.Fc,DOMException:A.FD,ClientRectList:A.vn,DOMRectList:A.vn,DOMRectReadOnly:A.vo,DOMStringList:A.FI,DOMTokenList:A.FK,MathMLElement:A.ar,SVGAElement:A.ar,SVGAnimateElement:A.ar,SVGAnimateMotionElement:A.ar,SVGAnimateTransformElement:A.ar,SVGAnimationElement:A.ar,SVGCircleElement:A.ar,SVGClipPathElement:A.ar,SVGDefsElement:A.ar,SVGDescElement:A.ar,SVGDiscardElement:A.ar,SVGEllipseElement:A.ar,SVGFEBlendElement:A.ar,SVGFEColorMatrixElement:A.ar,SVGFEComponentTransferElement:A.ar,SVGFECompositeElement:A.ar,SVGFEConvolveMatrixElement:A.ar,SVGFEDiffuseLightingElement:A.ar,SVGFEDisplacementMapElement:A.ar,SVGFEDistantLightElement:A.ar,SVGFEFloodElement:A.ar,SVGFEFuncAElement:A.ar,SVGFEFuncBElement:A.ar,SVGFEFuncGElement:A.ar,SVGFEFuncRElement:A.ar,SVGFEGaussianBlurElement:A.ar,SVGFEImageElement:A.ar,SVGFEMergeElement:A.ar,SVGFEMergeNodeElement:A.ar,SVGFEMorphologyElement:A.ar,SVGFEOffsetElement:A.ar,SVGFEPointLightElement:A.ar,SVGFESpecularLightingElement:A.ar,SVGFESpotLightElement:A.ar,SVGFETileElement:A.ar,SVGFETurbulenceElement:A.ar,SVGFilterElement:A.ar,SVGForeignObjectElement:A.ar,SVGGElement:A.ar,SVGGeometryElement:A.ar,SVGGraphicsElement:A.ar,SVGImageElement:A.ar,SVGLineElement:A.ar,SVGLinearGradientElement:A.ar,SVGMarkerElement:A.ar,SVGMaskElement:A.ar,SVGMetadataElement:A.ar,SVGPathElement:A.ar,SVGPatternElement:A.ar,SVGPolygonElement:A.ar,SVGPolylineElement:A.ar,SVGRadialGradientElement:A.ar,SVGRectElement:A.ar,SVGScriptElement:A.ar,SVGSetElement:A.ar,SVGStopElement:A.ar,SVGStyleElement:A.ar,SVGElement:A.ar,SVGSVGElement:A.ar,SVGSwitchElement:A.ar,SVGSymbolElement:A.ar,SVGTSpanElement:A.ar,SVGTextContentElement:A.ar,SVGTextElement:A.ar,SVGTextPathElement:A.ar,SVGTextPositioningElement:A.ar,SVGTitleElement:A.ar,SVGUseElement:A.ar,SVGViewElement:A.ar,SVGGradientElement:A.ar,SVGComponentTransferFunctionElement:A.ar,SVGFEDropShadowElement:A.ar,SVGMPathElement:A.ar,Element:A.ar,AbsoluteOrientationSensor:A.Y,Accelerometer:A.Y,AccessibleNode:A.Y,AmbientLightSensor:A.Y,Animation:A.Y,ApplicationCache:A.Y,DOMApplicationCache:A.Y,OfflineResourceList:A.Y,BackgroundFetchRegistration:A.Y,BatteryManager:A.Y,BroadcastChannel:A.Y,CanvasCaptureMediaStreamTrack:A.Y,DedicatedWorkerGlobalScope:A.Y,EventSource:A.Y,FileReader:A.Y,FontFaceSet:A.Y,Gyroscope:A.Y,XMLHttpRequest:A.Y,XMLHttpRequestEventTarget:A.Y,XMLHttpRequestUpload:A.Y,LinearAccelerationSensor:A.Y,Magnetometer:A.Y,MediaDevices:A.Y,MediaKeySession:A.Y,MediaQueryList:A.Y,MediaRecorder:A.Y,MediaSource:A.Y,MediaStream:A.Y,MediaStreamTrack:A.Y,MessagePort:A.Y,MIDIAccess:A.Y,MIDIInput:A.Y,MIDIOutput:A.Y,MIDIPort:A.Y,NetworkInformation:A.Y,Notification:A.Y,OffscreenCanvas:A.Y,OrientationSensor:A.Y,PaymentRequest:A.Y,Performance:A.Y,PermissionStatus:A.Y,PresentationAvailability:A.Y,PresentationConnection:A.Y,PresentationConnectionList:A.Y,PresentationRequest:A.Y,RelativeOrientationSensor:A.Y,RemotePlayback:A.Y,RTCDataChannel:A.Y,DataChannel:A.Y,RTCDTMFSender:A.Y,RTCPeerConnection:A.Y,webkitRTCPeerConnection:A.Y,mozRTCPeerConnection:A.Y,ScreenOrientation:A.Y,Sensor:A.Y,ServiceWorker:A.Y,ServiceWorkerContainer:A.Y,ServiceWorkerGlobalScope:A.Y,ServiceWorkerRegistration:A.Y,SharedWorker:A.Y,SharedWorkerGlobalScope:A.Y,SpeechRecognition:A.Y,webkitSpeechRecognition:A.Y,SpeechSynthesis:A.Y,SpeechSynthesisUtterance:A.Y,VR:A.Y,VRDevice:A.Y,VRDisplay:A.Y,VRSession:A.Y,VisualViewport:A.Y,WebSocket:A.Y,Window:A.Y,DOMWindow:A.Y,Worker:A.Y,WorkerGlobalScope:A.Y,WorkerPerformance:A.Y,BluetoothDevice:A.Y,BluetoothRemoteGATTCharacteristic:A.Y,Clipboard:A.Y,MojoInterfaceInterceptor:A.Y,USB:A.Y,IDBDatabase:A.Y,IDBOpenDBRequest:A.Y,IDBVersionChangeRequest:A.Y,IDBRequest:A.Y,IDBTransaction:A.Y,AnalyserNode:A.Y,RealtimeAnalyserNode:A.Y,AudioBufferSourceNode:A.Y,AudioDestinationNode:A.Y,AudioNode:A.Y,AudioScheduledSourceNode:A.Y,AudioWorkletNode:A.Y,BiquadFilterNode:A.Y,ChannelMergerNode:A.Y,AudioChannelMerger:A.Y,ChannelSplitterNode:A.Y,AudioChannelSplitter:A.Y,ConstantSourceNode:A.Y,ConvolverNode:A.Y,DelayNode:A.Y,DynamicsCompressorNode:A.Y,GainNode:A.Y,AudioGainNode:A.Y,IIRFilterNode:A.Y,MediaElementAudioSourceNode:A.Y,MediaStreamAudioDestinationNode:A.Y,MediaStreamAudioSourceNode:A.Y,OscillatorNode:A.Y,Oscillator:A.Y,PannerNode:A.Y,AudioPannerNode:A.Y,webkitAudioPannerNode:A.Y,ScriptProcessorNode:A.Y,JavaScriptAudioNode:A.Y,StereoPannerNode:A.Y,WaveShaperNode:A.Y,EventTarget:A.Y,File:A.eT,FileList:A.G4,FileWriter:A.G5,HTMLFormElement:A.Gh,Gamepad:A.eV,History:A.Gx,HTMLCollection:A.np,HTMLFormControlsCollection:A.np,HTMLOptionsCollection:A.np,Location:A.Hf,MediaList:A.Hr,MIDIInputMap:A.Hv,MIDIOutputMap:A.Hw,MimeType:A.f2,MimeTypeArray:A.Hx,Document:A.b5,DocumentFragment:A.b5,HTMLDocument:A.b5,ShadowRoot:A.b5,XMLDocument:A.b5,Attr:A.b5,DocumentType:A.b5,Node:A.b5,NodeList:A.xk,RadioNodeList:A.xk,Plugin:A.f3,PluginArray:A.IG,RTCStatsReport:A.JA,HTMLSelectElement:A.K_,SourceBuffer:A.f5,SourceBufferList:A.Ku,SpeechGrammar:A.f6,SpeechGrammarList:A.Kw,SpeechRecognitionResult:A.f7,Storage:A.Kz,CSSStyleSheet:A.ec,StyleSheet:A.ec,TextTrack:A.f9,TextTrackCue:A.ef,VTTCue:A.ef,TextTrackCueList:A.KR,TextTrackList:A.KS,TimeRanges:A.KY,Touch:A.fa,TouchList:A.L_,TrackDefaultList:A.L0,URL:A.Le,VideoTrackList:A.Lh,CSSRuleList:A.MD,ClientRect:A.Ap,DOMRect:A.Ap,GamepadList:A.NN,NamedNodeMap:A.B9,MozNamedAttrMap:A.B9,SpeechRecognitionResultList:A.Ru,StyleSheetList:A.RF,SVGLength:A.fA,SVGLengthList:A.H6,SVGNumber:A.fH,SVGNumberList:A.HS,SVGPointList:A.IH,SVGStringList:A.KB,SVGTransform:A.fQ,SVGTransformList:A.L3,AudioBuffer:A.E5,AudioParamMap:A.E6,AudioTrackList:A.E7,AudioContext:A.kP,webkitAudioContext:A.kP,BaseAudioContext:A.kP,OfflineAudioContext:A.HU}) +hunkHelpers.setOrUpdateLeafTags({WebGL:true,AbortPaymentEvent:true,AnimationEffectReadOnly:true,AnimationEffectTiming:true,AnimationEffectTimingReadOnly:true,AnimationEvent:true,AnimationPlaybackEvent:true,AnimationTimeline:true,AnimationWorkletGlobalScope:true,ApplicationCacheErrorEvent:true,AuthenticatorAssertionResponse:true,AuthenticatorAttestationResponse:true,AuthenticatorResponse:true,BackgroundFetchClickEvent:true,BackgroundFetchEvent:true,BackgroundFetchFailEvent:true,BackgroundFetchFetch:true,BackgroundFetchManager:true,BackgroundFetchSettledFetch:true,BackgroundFetchedEvent:true,BarProp:true,BarcodeDetector:true,BeforeInstallPromptEvent:true,BeforeUnloadEvent:true,BlobEvent:true,BluetoothRemoteGATTDescriptor:true,Body:true,BudgetState:true,CacheStorage:true,CanMakePaymentEvent:true,CanvasGradient:true,CanvasPattern:true,CanvasRenderingContext2D:true,Client:true,Clients:true,ClipboardEvent:true,CloseEvent:true,CompositionEvent:true,CookieStore:true,Coordinates:true,Credential:true,CredentialUserData:true,CredentialsContainer:true,Crypto:true,CryptoKey:true,CSS:true,CSSVariableReferenceValue:true,CustomElementRegistry:true,CustomEvent:true,DataTransfer:true,DataTransferItem:true,DeprecatedStorageInfo:true,DeprecatedStorageQuota:true,DeprecationReport:true,DetectedBarcode:true,DetectedFace:true,DetectedText:true,DeviceAcceleration:true,DeviceMotionEvent:true,DeviceOrientationEvent:true,DeviceRotationRate:true,DirectoryEntry:true,webkitFileSystemDirectoryEntry:true,FileSystemDirectoryEntry:true,DirectoryReader:true,WebKitDirectoryReader:true,webkitFileSystemDirectoryReader:true,FileSystemDirectoryReader:true,DocumentOrShadowRoot:true,DocumentTimeline:true,DOMError:true,DOMImplementation:true,Iterator:true,DOMMatrix:true,DOMMatrixReadOnly:true,DOMParser:true,DOMPoint:true,DOMPointReadOnly:true,DOMQuad:true,DOMStringMap:true,Entry:true,webkitFileSystemEntry:true,FileSystemEntry:true,ErrorEvent:true,Event:true,InputEvent:true,SubmitEvent:true,ExtendableEvent:true,ExtendableMessageEvent:true,External:true,FaceDetector:true,FederatedCredential:true,FetchEvent:true,FileEntry:true,webkitFileSystemFileEntry:true,FileSystemFileEntry:true,DOMFileSystem:true,WebKitFileSystem:true,webkitFileSystem:true,FileSystem:true,FocusEvent:true,FontFace:true,FontFaceSetLoadEvent:true,FontFaceSource:true,ForeignFetchEvent:true,FormData:true,GamepadButton:true,GamepadEvent:true,GamepadPose:true,Geolocation:true,Position:true,GeolocationPosition:true,HashChangeEvent:true,Headers:true,HTMLHyperlinkElementUtils:true,IdleDeadline:true,ImageBitmap:true,ImageBitmapRenderingContext:true,ImageCapture:true,ImageData:true,InputDeviceCapabilities:true,InstallEvent:true,IntersectionObserver:true,IntersectionObserverEntry:true,InterventionReport:true,KeyboardEvent:true,KeyframeEffect:true,KeyframeEffectReadOnly:true,MediaCapabilities:true,MediaCapabilitiesInfo:true,MediaDeviceInfo:true,MediaEncryptedEvent:true,MediaError:true,MediaKeyMessageEvent:true,MediaKeyStatusMap:true,MediaKeySystemAccess:true,MediaKeys:true,MediaKeysPolicy:true,MediaMetadata:true,MediaQueryListEvent:true,MediaSession:true,MediaSettingsRange:true,MediaStreamEvent:true,MediaStreamTrackEvent:true,MemoryInfo:true,MessageChannel:true,MessageEvent:true,Metadata:true,MIDIConnectionEvent:true,MIDIMessageEvent:true,MouseEvent:true,DragEvent:true,MutationEvent:true,MutationObserver:true,WebKitMutationObserver:true,MutationRecord:true,NavigationPreloadManager:true,Navigator:true,NavigatorAutomationInformation:true,NavigatorConcurrentHardware:true,NavigatorCookies:true,NavigatorUserMediaError:true,NodeFilter:true,NodeIterator:true,NonDocumentTypeChildNode:true,NonElementParentNode:true,NoncedElement:true,NotificationEvent:true,OffscreenCanvasRenderingContext2D:true,OverconstrainedError:true,PageTransitionEvent:true,PaintRenderingContext2D:true,PaintSize:true,PaintWorkletGlobalScope:true,PasswordCredential:true,Path2D:true,PaymentAddress:true,PaymentInstruments:true,PaymentManager:true,PaymentRequestEvent:true,PaymentRequestUpdateEvent:true,PaymentResponse:true,PerformanceEntry:true,PerformanceLongTaskTiming:true,PerformanceMark:true,PerformanceMeasure:true,PerformanceNavigation:true,PerformanceNavigationTiming:true,PerformanceObserver:true,PerformanceObserverEntryList:true,PerformancePaintTiming:true,PerformanceResourceTiming:true,PerformanceServerTiming:true,PerformanceTiming:true,Permissions:true,PhotoCapabilities:true,PointerEvent:true,PopStateEvent:true,PositionError:true,GeolocationPositionError:true,Presentation:true,PresentationConnectionAvailableEvent:true,PresentationConnectionCloseEvent:true,PresentationReceiver:true,ProgressEvent:true,PromiseRejectionEvent:true,PublicKeyCredential:true,PushEvent:true,PushManager:true,PushMessageData:true,PushSubscription:true,PushSubscriptionOptions:true,Range:true,RelatedApplication:true,ReportBody:true,ReportingObserver:true,ResizeObserver:true,ResizeObserverEntry:true,RTCCertificate:true,RTCDataChannelEvent:true,RTCDTMFToneChangeEvent:true,RTCIceCandidate:true,mozRTCIceCandidate:true,RTCLegacyStatsReport:true,RTCPeerConnectionIceEvent:true,RTCRtpContributingSource:true,RTCRtpReceiver:true,RTCRtpSender:true,RTCSessionDescription:true,mozRTCSessionDescription:true,RTCStatsResponse:true,RTCTrackEvent:true,Screen:true,ScrollState:true,ScrollTimeline:true,SecurityPolicyViolationEvent:true,Selection:true,SensorErrorEvent:true,SharedArrayBuffer:true,SpeechRecognitionAlternative:true,SpeechRecognitionError:true,SpeechRecognitionEvent:true,SpeechSynthesisEvent:true,SpeechSynthesisVoice:true,StaticRange:true,StorageEvent:true,StorageManager:true,StyleMedia:true,StylePropertyMap:true,StylePropertyMapReadonly:true,SyncEvent:true,SyncManager:true,TaskAttributionTiming:true,TextDetector:true,TextEvent:true,TextMetrics:true,TouchEvent:true,TrackDefault:true,TrackEvent:true,TransitionEvent:true,WebKitTransitionEvent:true,TreeWalker:true,TrustedHTML:true,TrustedScriptURL:true,TrustedURL:true,UIEvent:true,UnderlyingSourceBase:true,URLSearchParams:true,VRCoordinateSystem:true,VRDeviceEvent:true,VRDisplayCapabilities:true,VRDisplayEvent:true,VREyeParameters:true,VRFrameData:true,VRFrameOfReference:true,VRPose:true,VRSessionEvent:true,VRStageBounds:true,VRStageBoundsPoint:true,VRStageParameters:true,ValidityState:true,VideoPlaybackQuality:true,VideoTrack:true,VTTRegion:true,WheelEvent:true,WindowClient:true,WorkletAnimation:true,WorkletGlobalScope:true,XPathEvaluator:true,XPathExpression:true,XPathNSResolver:true,XPathResult:true,XMLSerializer:true,XSLTProcessor:true,Bluetooth:true,BluetoothCharacteristicProperties:true,BluetoothRemoteGATTServer:true,BluetoothRemoteGATTService:true,BluetoothUUID:true,BudgetService:true,Cache:true,DOMFileSystemSync:true,DirectoryEntrySync:true,DirectoryReaderSync:true,EntrySync:true,FileEntrySync:true,FileReaderSync:true,FileWriterSync:true,HTMLAllCollection:true,Mojo:true,MojoHandle:true,MojoInterfaceRequestEvent:true,MojoWatcher:true,NFC:true,PagePopupController:true,Report:true,Request:true,ResourceProgressEvent:true,Response:true,SubtleCrypto:true,USBAlternateInterface:true,USBConfiguration:true,USBConnectionEvent:true,USBDevice:true,USBEndpoint:true,USBInTransferResult:true,USBInterface:true,USBIsochronousInTransferPacket:true,USBIsochronousInTransferResult:true,USBIsochronousOutTransferPacket:true,USBIsochronousOutTransferResult:true,USBOutTransferResult:true,WorkerLocation:true,WorkerNavigator:true,Worklet:true,IDBCursor:true,IDBCursorWithValue:true,IDBFactory:true,IDBIndex:true,IDBKeyRange:true,IDBObjectStore:true,IDBObservation:true,IDBObserver:true,IDBObserverChanges:true,IDBVersionChangeEvent:true,SVGAngle:true,SVGAnimatedAngle:true,SVGAnimatedBoolean:true,SVGAnimatedEnumeration:true,SVGAnimatedInteger:true,SVGAnimatedLength:true,SVGAnimatedLengthList:true,SVGAnimatedNumber:true,SVGAnimatedNumberList:true,SVGAnimatedPreserveAspectRatio:true,SVGAnimatedRect:true,SVGAnimatedString:true,SVGAnimatedTransformList:true,SVGMatrix:true,SVGPoint:true,SVGPreserveAspectRatio:true,SVGRect:true,SVGUnitTypes:true,AudioListener:true,AudioParam:true,AudioProcessingEvent:true,AudioTrack:true,AudioWorkletGlobalScope:true,AudioWorkletProcessor:true,OfflineAudioCompletionEvent:true,PeriodicWave:true,WebGLActiveInfo:true,ANGLEInstancedArrays:true,ANGLE_instanced_arrays:true,WebGLBuffer:true,WebGLCanvas:true,WebGLColorBufferFloat:true,WebGLCompressedTextureASTC:true,WebGLCompressedTextureATC:true,WEBGL_compressed_texture_atc:true,WebGLCompressedTextureETC1:true,WEBGL_compressed_texture_etc1:true,WebGLCompressedTextureETC:true,WebGLCompressedTexturePVRTC:true,WEBGL_compressed_texture_pvrtc:true,WebGLCompressedTextureS3TC:true,WEBGL_compressed_texture_s3tc:true,WebGLCompressedTextureS3TCsRGB:true,WebGLContextEvent:true,WebGLDebugRendererInfo:true,WEBGL_debug_renderer_info:true,WebGLDebugShaders:true,WEBGL_debug_shaders:true,WebGLDepthTexture:true,WEBGL_depth_texture:true,WebGLDrawBuffers:true,WEBGL_draw_buffers:true,EXTsRGB:true,EXT_sRGB:true,EXTBlendMinMax:true,EXT_blend_minmax:true,EXTColorBufferFloat:true,EXTColorBufferHalfFloat:true,EXTDisjointTimerQuery:true,EXTDisjointTimerQueryWebGL2:true,EXTFragDepth:true,EXT_frag_depth:true,EXTShaderTextureLOD:true,EXT_shader_texture_lod:true,EXTTextureFilterAnisotropic:true,EXT_texture_filter_anisotropic:true,WebGLFramebuffer:true,WebGLGetBufferSubDataAsync:true,WebGLLoseContext:true,WebGLExtensionLoseContext:true,WEBGL_lose_context:true,OESElementIndexUint:true,OES_element_index_uint:true,OESStandardDerivatives:true,OES_standard_derivatives:true,OESTextureFloat:true,OES_texture_float:true,OESTextureFloatLinear:true,OES_texture_float_linear:true,OESTextureHalfFloat:true,OES_texture_half_float:true,OESTextureHalfFloatLinear:true,OES_texture_half_float_linear:true,OESVertexArrayObject:true,OES_vertex_array_object:true,WebGLProgram:true,WebGLQuery:true,WebGLRenderbuffer:true,WebGLRenderingContext:true,WebGL2RenderingContext:true,WebGLSampler:true,WebGLShader:true,WebGLShaderPrecisionFormat:true,WebGLSync:true,WebGLTexture:true,WebGLTimerQueryEXT:true,WebGLTransformFeedback:true,WebGLUniformLocation:true,WebGLVertexArrayObject:true,WebGLVertexArrayObjectOES:true,WebGL2RenderingContextBase:true,ArrayBuffer:true,ArrayBufferView:false,DataView:true,Float32Array:true,Float64Array:true,Int16Array:true,Int32Array:true,Int8Array:true,Uint16Array:true,Uint32Array:true,Uint8ClampedArray:true,CanvasPixelArray:true,Uint8Array:false,HTMLAudioElement:true,HTMLBRElement:true,HTMLBaseElement:true,HTMLBodyElement:true,HTMLButtonElement:true,HTMLCanvasElement:true,HTMLContentElement:true,HTMLDListElement:true,HTMLDataElement:true,HTMLDataListElement:true,HTMLDetailsElement:true,HTMLDialogElement:true,HTMLDivElement:true,HTMLEmbedElement:true,HTMLFieldSetElement:true,HTMLHRElement:true,HTMLHeadElement:true,HTMLHeadingElement:true,HTMLHtmlElement:true,HTMLIFrameElement:true,HTMLImageElement:true,HTMLInputElement:true,HTMLLIElement:true,HTMLLabelElement:true,HTMLLegendElement:true,HTMLLinkElement:true,HTMLMapElement:true,HTMLMediaElement:true,HTMLMenuElement:true,HTMLMetaElement:true,HTMLMeterElement:true,HTMLModElement:true,HTMLOListElement:true,HTMLObjectElement:true,HTMLOptGroupElement:true,HTMLOptionElement:true,HTMLOutputElement:true,HTMLParagraphElement:true,HTMLParamElement:true,HTMLPictureElement:true,HTMLPreElement:true,HTMLProgressElement:true,HTMLQuoteElement:true,HTMLScriptElement:true,HTMLShadowElement:true,HTMLSlotElement:true,HTMLSourceElement:true,HTMLSpanElement:true,HTMLStyleElement:true,HTMLTableCaptionElement:true,HTMLTableCellElement:true,HTMLTableDataCellElement:true,HTMLTableHeaderCellElement:true,HTMLTableColElement:true,HTMLTableElement:true,HTMLTableRowElement:true,HTMLTableSectionElement:true,HTMLTemplateElement:true,HTMLTextAreaElement:true,HTMLTimeElement:true,HTMLTitleElement:true,HTMLTrackElement:true,HTMLUListElement:true,HTMLUnknownElement:true,HTMLVideoElement:true,HTMLDirectoryElement:true,HTMLFontElement:true,HTMLFrameElement:true,HTMLFrameSetElement:true,HTMLMarqueeElement:true,HTMLElement:false,AccessibleNodeList:true,HTMLAnchorElement:true,HTMLAreaElement:true,Blob:false,CDATASection:true,CharacterData:true,Comment:true,ProcessingInstruction:true,Text:true,CSSPerspective:true,CSSCharsetRule:true,CSSConditionRule:true,CSSFontFaceRule:true,CSSGroupingRule:true,CSSImportRule:true,CSSKeyframeRule:true,MozCSSKeyframeRule:true,WebKitCSSKeyframeRule:true,CSSKeyframesRule:true,MozCSSKeyframesRule:true,WebKitCSSKeyframesRule:true,CSSMediaRule:true,CSSNamespaceRule:true,CSSPageRule:true,CSSRule:true,CSSStyleRule:true,CSSSupportsRule:true,CSSViewportRule:true,CSSStyleDeclaration:true,MSStyleCSSProperties:true,CSS2Properties:true,CSSImageValue:true,CSSKeywordValue:true,CSSNumericValue:true,CSSPositionValue:true,CSSResourceValue:true,CSSUnitValue:true,CSSURLImageValue:true,CSSStyleValue:false,CSSMatrixComponent:true,CSSRotation:true,CSSScale:true,CSSSkew:true,CSSTranslation:true,CSSTransformComponent:false,CSSTransformValue:true,CSSUnparsedValue:true,DataTransferItemList:true,DOMException:true,ClientRectList:true,DOMRectList:true,DOMRectReadOnly:false,DOMStringList:true,DOMTokenList:true,MathMLElement:true,SVGAElement:true,SVGAnimateElement:true,SVGAnimateMotionElement:true,SVGAnimateTransformElement:true,SVGAnimationElement:true,SVGCircleElement:true,SVGClipPathElement:true,SVGDefsElement:true,SVGDescElement:true,SVGDiscardElement:true,SVGEllipseElement:true,SVGFEBlendElement:true,SVGFEColorMatrixElement:true,SVGFEComponentTransferElement:true,SVGFECompositeElement:true,SVGFEConvolveMatrixElement:true,SVGFEDiffuseLightingElement:true,SVGFEDisplacementMapElement:true,SVGFEDistantLightElement:true,SVGFEFloodElement:true,SVGFEFuncAElement:true,SVGFEFuncBElement:true,SVGFEFuncGElement:true,SVGFEFuncRElement:true,SVGFEGaussianBlurElement:true,SVGFEImageElement:true,SVGFEMergeElement:true,SVGFEMergeNodeElement:true,SVGFEMorphologyElement:true,SVGFEOffsetElement:true,SVGFEPointLightElement:true,SVGFESpecularLightingElement:true,SVGFESpotLightElement:true,SVGFETileElement:true,SVGFETurbulenceElement:true,SVGFilterElement:true,SVGForeignObjectElement:true,SVGGElement:true,SVGGeometryElement:true,SVGGraphicsElement:true,SVGImageElement:true,SVGLineElement:true,SVGLinearGradientElement:true,SVGMarkerElement:true,SVGMaskElement:true,SVGMetadataElement:true,SVGPathElement:true,SVGPatternElement:true,SVGPolygonElement:true,SVGPolylineElement:true,SVGRadialGradientElement:true,SVGRectElement:true,SVGScriptElement:true,SVGSetElement:true,SVGStopElement:true,SVGStyleElement:true,SVGElement:true,SVGSVGElement:true,SVGSwitchElement:true,SVGSymbolElement:true,SVGTSpanElement:true,SVGTextContentElement:true,SVGTextElement:true,SVGTextPathElement:true,SVGTextPositioningElement:true,SVGTitleElement:true,SVGUseElement:true,SVGViewElement:true,SVGGradientElement:true,SVGComponentTransferFunctionElement:true,SVGFEDropShadowElement:true,SVGMPathElement:true,Element:false,AbsoluteOrientationSensor:true,Accelerometer:true,AccessibleNode:true,AmbientLightSensor:true,Animation:true,ApplicationCache:true,DOMApplicationCache:true,OfflineResourceList:true,BackgroundFetchRegistration:true,BatteryManager:true,BroadcastChannel:true,CanvasCaptureMediaStreamTrack:true,DedicatedWorkerGlobalScope:true,EventSource:true,FileReader:true,FontFaceSet:true,Gyroscope:true,XMLHttpRequest:true,XMLHttpRequestEventTarget:true,XMLHttpRequestUpload:true,LinearAccelerationSensor:true,Magnetometer:true,MediaDevices:true,MediaKeySession:true,MediaQueryList:true,MediaRecorder:true,MediaSource:true,MediaStream:true,MediaStreamTrack:true,MessagePort:true,MIDIAccess:true,MIDIInput:true,MIDIOutput:true,MIDIPort:true,NetworkInformation:true,Notification:true,OffscreenCanvas:true,OrientationSensor:true,PaymentRequest:true,Performance:true,PermissionStatus:true,PresentationAvailability:true,PresentationConnection:true,PresentationConnectionList:true,PresentationRequest:true,RelativeOrientationSensor:true,RemotePlayback:true,RTCDataChannel:true,DataChannel:true,RTCDTMFSender:true,RTCPeerConnection:true,webkitRTCPeerConnection:true,mozRTCPeerConnection:true,ScreenOrientation:true,Sensor:true,ServiceWorker:true,ServiceWorkerContainer:true,ServiceWorkerGlobalScope:true,ServiceWorkerRegistration:true,SharedWorker:true,SharedWorkerGlobalScope:true,SpeechRecognition:true,webkitSpeechRecognition:true,SpeechSynthesis:true,SpeechSynthesisUtterance:true,VR:true,VRDevice:true,VRDisplay:true,VRSession:true,VisualViewport:true,WebSocket:true,Window:true,DOMWindow:true,Worker:true,WorkerGlobalScope:true,WorkerPerformance:true,BluetoothDevice:true,BluetoothRemoteGATTCharacteristic:true,Clipboard:true,MojoInterfaceInterceptor:true,USB:true,IDBDatabase:true,IDBOpenDBRequest:true,IDBVersionChangeRequest:true,IDBRequest:true,IDBTransaction:true,AnalyserNode:true,RealtimeAnalyserNode:true,AudioBufferSourceNode:true,AudioDestinationNode:true,AudioNode:true,AudioScheduledSourceNode:true,AudioWorkletNode:true,BiquadFilterNode:true,ChannelMergerNode:true,AudioChannelMerger:true,ChannelSplitterNode:true,AudioChannelSplitter:true,ConstantSourceNode:true,ConvolverNode:true,DelayNode:true,DynamicsCompressorNode:true,GainNode:true,AudioGainNode:true,IIRFilterNode:true,MediaElementAudioSourceNode:true,MediaStreamAudioDestinationNode:true,MediaStreamAudioSourceNode:true,OscillatorNode:true,Oscillator:true,PannerNode:true,AudioPannerNode:true,webkitAudioPannerNode:true,ScriptProcessorNode:true,JavaScriptAudioNode:true,StereoPannerNode:true,WaveShaperNode:true,EventTarget:false,File:true,FileList:true,FileWriter:true,HTMLFormElement:true,Gamepad:true,History:true,HTMLCollection:true,HTMLFormControlsCollection:true,HTMLOptionsCollection:true,Location:true,MediaList:true,MIDIInputMap:true,MIDIOutputMap:true,MimeType:true,MimeTypeArray:true,Document:true,DocumentFragment:true,HTMLDocument:true,ShadowRoot:true,XMLDocument:true,Attr:true,DocumentType:true,Node:false,NodeList:true,RadioNodeList:true,Plugin:true,PluginArray:true,RTCStatsReport:true,HTMLSelectElement:true,SourceBuffer:true,SourceBufferList:true,SpeechGrammar:true,SpeechGrammarList:true,SpeechRecognitionResult:true,Storage:true,CSSStyleSheet:true,StyleSheet:true,TextTrack:true,TextTrackCue:true,VTTCue:true,TextTrackCueList:true,TextTrackList:true,TimeRanges:true,Touch:true,TouchList:true,TrackDefaultList:true,URL:true,VideoTrackList:true,CSSRuleList:true,ClientRect:true,DOMRect:true,GamepadList:true,NamedNodeMap:true,MozNamedAttrMap:true,SpeechRecognitionResultList:true,StyleSheetList:true,SVGLength:true,SVGLengthList:true,SVGNumber:true,SVGNumberList:true,SVGPointList:true,SVGStringList:true,SVGTransform:true,SVGTransformList:true,AudioBuffer:true,AudioParamMap:true,AudioTrackList:true,AudioContext:true,webkitAudioContext:true,BaseAudioContext:false,OfflineAudioContext:true}) +A.qu.$nativeSuperclassTag="ArrayBufferView" +A.Ba.$nativeSuperclassTag="ArrayBufferView" +A.Bb.$nativeSuperclassTag="ArrayBufferView" +A.lu.$nativeSuperclassTag="ArrayBufferView" +A.Bc.$nativeSuperclassTag="ArrayBufferView" +A.Bd.$nativeSuperclassTag="ArrayBufferView" +A.fG.$nativeSuperclassTag="ArrayBufferView" +A.Cd.$nativeSuperclassTag="EventTarget" +A.Ce.$nativeSuperclassTag="EventTarget" +A.Cv.$nativeSuperclassTag="EventTarget" +A.Cw.$nativeSuperclassTag="EventTarget"})() +Function.prototype.$0=function(){return this()} +Function.prototype.$1=function(a){return this(a)} +Function.prototype.$2=function(a,b){return this(a,b)} +Function.prototype.$3=function(a,b,c){return this(a,b,c)} +Function.prototype.$4=function(a,b,c,d){return this(a,b,c,d)} +Function.prototype.$1$1=function(a){return this(a)} +Function.prototype.$1$0=function(){return this()} +Function.prototype.$2$1=function(a){return this(a)} +Function.prototype.$1$2=function(a,b){return this(a,b)} +Function.prototype.$2$0=function(){return this()} +Function.prototype.$5=function(a,b,c,d,e){return this(a,b,c,d,e)} +Function.prototype.$1$5=function(a,b,c,d,e){return this(a,b,c,d,e)} +Function.prototype.$6=function(a,b,c,d,e,f){return this(a,b,c,d,e,f)} +convertAllToFastObject(w) +convertToFastObject($);(function(a){if(typeof document==="undefined"){a(null) +return}if(typeof document.currentScript!="undefined"){a(document.currentScript) +return}var s=document.scripts +function onLoad(b){for(var q=0;q=2.18.5 <3.0.0' - flutter: ">=2.5.0" - -dependencies: - flutter: - sdk: flutter - flutter_web_plugins: - sdk: flutter - plugin_platform_interface: ^2.0.2 - js: ^0.6.3 - path_provider: ^2.0.11 - path: ^1.8.2 - -dev_dependencies: - flutter_test: - sdk: flutter - flutter_lints: ^2.0.0 - -flutter: - plugin: - platforms: - android: - package: com.dynamsoft.flutter_ocr_sdk - pluginClass: FlutterOcrSdkPlugin - ios: - pluginClass: FlutterOcrSdkPlugin - linux: - pluginClass: FlutterOcrSdkPlugin - windows: - pluginClass: FlutterOcrSdkPluginCApi - web: - pluginClass: FlutterOcrSdkWeb - fileName: flutter_ocr_sdk_web.dart - - assets: - - lib/model/ diff --git a/version.json b/version.json new file mode 100644 index 0000000..994ca0e --- /dev/null +++ b/version.json @@ -0,0 +1 @@ +{"app_name":"mrzscanner","version":"1.0.0","build_number":"1","package_name":"mrzscanner"} \ No newline at end of file diff --git a/windows/.gitignore b/windows/.gitignore deleted file mode 100644 index b3eb2be..0000000 --- a/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ - -# 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/windows/CMakeLists.txt b/windows/CMakeLists.txt deleted file mode 100644 index 870a417..0000000 --- a/windows/CMakeLists.txt +++ /dev/null @@ -1,55 +0,0 @@ -# The Flutter tooling requires that developers have a version of Visual Studio -# installed that includes CMake 3.14 or later. You should not increase this -# version, as doing so will cause the plugin to fail to compile for some -# customers of the plugin. -cmake_minimum_required(VERSION 3.14) - -# Project-level configuration. -set(PROJECT_NAME "flutter_ocr_sdk") -project(${PROJECT_NAME} LANGUAGES CXX) - -# This value is used when generating builds using this plugin, so it must -# not be changed -set(PLUGIN_NAME "flutter_ocr_sdk_plugin") - -link_directories("${PROJECT_SOURCE_DIR}/lib/") - -# Any new source files that you add to the plugin should be added here. -list(APPEND PLUGIN_SOURCES - "flutter_ocr_sdk_plugin.cpp" - "flutter_ocr_sdk_plugin.h" -) - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -add_library(${PLUGIN_NAME} SHARED - "include/flutter_ocr_sdk/flutter_ocr_sdk_plugin_c_api.h" - "flutter_ocr_sdk_plugin_c_api.cpp" - ${PLUGIN_SOURCES} -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PRIVATE flutter flutter_wrapper_plugin "DynamsoftLabelRecognizerx64") - -# List of absolute paths to libraries that should be bundled with the plugin. -# This list could contain prebuilt libraries, or libraries created by an -# external build triggered from this build file. -set(flutter_ocr_sdk_bundled_libraries - "${PROJECT_SOURCE_DIR}/bin/" - PARENT_SCOPE -) diff --git a/windows/bin/DynamicPdfx64.dll b/windows/bin/DynamicPdfx64.dll deleted file mode 100644 index f896d64..0000000 Binary files a/windows/bin/DynamicPdfx64.dll and /dev/null differ diff --git a/windows/bin/DynamsoftLabelRecognizerx64.dll b/windows/bin/DynamsoftLabelRecognizerx64.dll deleted file mode 100644 index 55efe16..0000000 Binary files a/windows/bin/DynamsoftLabelRecognizerx64.dll and /dev/null differ diff --git a/windows/bin/DynamsoftLicenseClientx64.dll b/windows/bin/DynamsoftLicenseClientx64.dll deleted file mode 100644 index 9377639..0000000 Binary files a/windows/bin/DynamsoftLicenseClientx64.dll and /dev/null differ diff --git a/windows/bin/vcomp140.dll b/windows/bin/vcomp140.dll deleted file mode 100644 index 18eb202..0000000 Binary files a/windows/bin/vcomp140.dll and /dev/null differ diff --git a/windows/flutter_ocr_sdk_plugin.cpp b/windows/flutter_ocr_sdk_plugin.cpp deleted file mode 100644 index 067c86f..0000000 --- a/windows/flutter_ocr_sdk_plugin.cpp +++ /dev/null @@ -1,177 +0,0 @@ -#include "flutter_ocr_sdk_plugin.h" - -// This must be included before many other Windows headers. -#include - -// For getPlatformVersion; remove unless needed for your plugin implementation. -#include - -#include -#include -#include - -#include -#include - -namespace flutter_ocr_sdk -{ - - // static - void FlutterOcrSdkPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarWindows *registrar) - { - auto channel = - std::make_unique>( - registrar->messenger(), "flutter_ocr_sdk", - &flutter::StandardMethodCodec::GetInstance()); - - auto plugin = std::make_unique(); - - channel->SetMethodCallHandler( - [plugin_pointer = plugin.get()](const auto &call, auto result) - { - plugin_pointer->HandleMethodCall(call, std::move(result)); - }); - - registrar->AddPlugin(std::move(plugin)); - } - - FlutterOcrSdkPlugin::FlutterOcrSdkPlugin() { - manager = new DlrManager(); - } - - FlutterOcrSdkPlugin::~FlutterOcrSdkPlugin() { - delete manager; - } - - void FlutterOcrSdkPlugin::HandleMethodCall( - const flutter::MethodCall &method_call, - std::unique_ptr> result) - { - - const auto *arguments = std::get_if(method_call.arguments()); - - if (method_call.method_name().compare("getPlatformVersion") == 0) - { - std::ostringstream version_stream; - version_stream << "Windows "; - if (IsWindows10OrGreater()) - { - version_stream << "10+"; - } - else if (IsWindows8OrGreater()) - { - version_stream << "8"; - } - else if (IsWindows7OrGreater()) - { - version_stream << "7"; - } - result->Success(flutter::EncodableValue(version_stream.str())); - } - else if (method_call.method_name().compare("init") == 0) - { - std::string license; - int ret = 0; - - if (arguments) - { - auto license_it = arguments->find(EncodableValue("key")); - if (license_it != arguments->end()) - { - license = std::get(license_it->second); - } - ret = manager->Init(license.c_str()); - } - - result->Success(EncodableValue(ret)); - } - else if (method_call.method_name().compare("loadModel") == 0) - { - std::string path, params; - int ret = 0; - - if (arguments) - { - auto path_it = arguments->find(EncodableValue("path")); - if (path_it != arguments->end()) - { - path = std::get(path_it->second); - } - - auto params_it = arguments->find(EncodableValue("template")); - if (params_it != arguments->end()) - { - params = std::get(params_it->second); - } - ret = manager->LoadModel(path.c_str(), params.c_str()); - } - - result->Success(EncodableValue(ret)); - } - else if (method_call.method_name().compare("recognizeByFile") == 0) - { - std::string filename; - EncodableList results; - - if (arguments) - { - auto filename_it = arguments->find(EncodableValue("filename")); - if (filename_it != arguments->end()) - { - filename = std::get(filename_it->second); - } - - results = manager->RecognizeFile(filename.c_str()); - } - - result->Success(results); - } - else if (method_call.method_name().compare("recognizeByBuffer") == 0) - { - EncodableList results; - - std::vector bytes; - int width = 0, height = 0, stride = 0, format = 0; - - if (arguments) - { - auto bytes_it = arguments->find(EncodableValue("bytes")); - if (bytes_it != arguments->end()) - { - bytes = std::get>(bytes_it->second); - } - - auto width_it = arguments->find(EncodableValue("width")); - if (width_it != arguments->end()) - { - width = std::get(width_it->second); - } - - auto height_it = arguments->find(EncodableValue("height")); - if (height_it != arguments->end()) - { - height = std::get(height_it->second); - } - - auto stride_it = arguments->find(EncodableValue("stride")); - if (stride_it != arguments->end()) - { - stride = std::get(stride_it->second); - } - - auto format_it = arguments->find(EncodableValue("format")); - if (format_it != arguments->end()) - { - format = std::get(format_it->second); - } - manager->RecognizeBuffer(result, reinterpret_cast(bytes.data()), width, height, stride, format); - } - } - else - { - result->NotImplemented(); - } - } - -} // namespace flutter_ocr_sdk diff --git a/windows/flutter_ocr_sdk_plugin.h b/windows/flutter_ocr_sdk_plugin.h deleted file mode 100644 index bfc1ecf..0000000 --- a/windows/flutter_ocr_sdk_plugin.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef FLUTTER_PLUGIN_FLUTTER_OCR_SDK_PLUGIN_H_ -#define FLUTTER_PLUGIN_FLUTTER_OCR_SDK_PLUGIN_H_ - -#include -#include - -#include - -#include "include/dlr_manager.h" - -namespace flutter_ocr_sdk { - -class FlutterOcrSdkPlugin : public flutter::Plugin { - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows *registrar); - - FlutterOcrSdkPlugin(); - - virtual ~FlutterOcrSdkPlugin(); - - // Disallow copy and assign. - FlutterOcrSdkPlugin(const FlutterOcrSdkPlugin&) = delete; - FlutterOcrSdkPlugin& operator=(const FlutterOcrSdkPlugin&) = delete; - - private: - DlrManager *manager; - // Called when a method is called on this plugin's channel from Dart. - void HandleMethodCall( - const flutter::MethodCall &method_call, - std::unique_ptr> result); -}; - -} // namespace flutter_ocr_sdk - -#endif // FLUTTER_PLUGIN_FLUTTER_OCR_SDK_PLUGIN_H_ diff --git a/windows/flutter_ocr_sdk_plugin_c_api.cpp b/windows/flutter_ocr_sdk_plugin_c_api.cpp deleted file mode 100644 index afb2904..0000000 --- a/windows/flutter_ocr_sdk_plugin_c_api.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "include/flutter_ocr_sdk/flutter_ocr_sdk_plugin_c_api.h" - -#include - -#include "flutter_ocr_sdk_plugin.h" - -void FlutterOcrSdkPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) { - flutter_ocr_sdk::FlutterOcrSdkPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} diff --git a/windows/include/DynamsoftCore.h b/windows/include/DynamsoftCore.h deleted file mode 100644 index fd21693..0000000 --- a/windows/include/DynamsoftCore.h +++ /dev/null @@ -1,833 +0,0 @@ -#ifndef __DYNAMSOFT_CORE_H__ -#define __DYNAMSOFT_CORE_H__ - -#define DYNAMSOFT_CORE_VERSION "1.0.0.0826" - - - -/**Successful. */ -#define DM_OK 0 - -/**Unknown error. */ -#define DMERR_UNKNOWN -10000 - -/**Not enough memory to perform the operation. */ -#define DMERR_NO_MEMORY -10001 - -/**Null pointer */ -#define DMERR_NULL_POINTER -10002 - -/**License invalid*/ -#define DMERR_LICENSE_INVALID -10003 - -/**License expired*/ -#define DMERR_LICENSE_EXPIRED -10004 - -/**File not found*/ -#define DMERR_FILE_NOT_FOUND -10005 - -/**The file type is not supported. */ -#define DMERR_FILETYPE_NOT_SUPPORTED -10006 - -/**The BPP (Bits Per Pixel) is not supported. */ -#define DMERR_BPP_NOT_SUPPORTED -10007 - -/**Failed to read the image. */ -#define DMERR_IMAGE_READ_FAILED -10012 - -/**Failed to read the TIFF image. */ -#define DMERR_TIFF_READ_FAILED -10013 - -/**The DIB (Device-Independent Bitmaps) buffer is invalid. */ -#define DMERR_DIB_BUFFER_INVALID -10018 - -/**Failed to read the PDF image. */ -#define DMERR_PDF_READ_FAILED -10021 - -/**The PDF DLL is missing. */ -#define DMERR_PDF_DLL_MISSING -10022 - -/**Recognition timeout. */ -#define DMERR_RECOGNITION_TIMEOUT -10026 - -/**Json parse failed*/ -#define DMERR_JSON_PARSE_FAILED -10030 - -/**Json type invalid*/ -#define DMERR_JSON_TYPE_INVALID -10031 - -/**Json key invalid*/ -#define DMERR_JSON_KEY_INVALID -10032 - -/**Json value invalid*/ -#define DMERR_JSON_VALUE_INVALID -10033 - -/**Json name key missing*/ -#define DMERR_JSON_NAME_KEY_MISSING -10034 - -/**The value of the key "Name" is duplicated.*/ -#define DMERR_JSON_NAME_VALUE_DUPLICATED -10035 - -/**Template name invalid*/ -#define DMERR_TEMPLATE_NAME_INVALID -10036 - -/**Parameter value invalid*/ -#define DMERR_PARAMETER_VALUE_INVALID -10038 - -/**Failed to set mode's argument.*/ -#define DMERR_SET_MODE_ARGUMENT_ERROR -10051 - -/**Failed to get mode's argument.*/ -#define DMERR_GET_MODE_ARGUMENT_ERROR -10055 - - -#ifndef _COMMON_PART1_ -#define _COMMON_PART1_ - -/**No license.*/ -#define DMERR_NO_LICENSE -20000 - -/**The Handshake Code is invalid.*/ -#define DMERR_HANDSHAKE_CODE_INVALID -20001 - -/**Failed to read or write license buffer. */ -#define DMERR_LICENSE_BUFFER_FAILED -20002 - -/**Failed to synchronize license info with license server. */ -#define DMERR_LICENSE_SYNC_FAILED -20003 - -/**Device dose not match with buffer. */ -#define DMERR_DEVICE_NOT_MATCH -20004 - -/**Failed to bind device. */ -#define DMERR_BIND_DEVICE_FAILED -20005 - -/**Interface InitLicenseFromDLS can not be used together with other license initiation interfaces. */ -#define DMERR_LICENSE_INTERFACE_CONFLICT -20006 - -/**License Client dll is missing.*/ -#define DMERR_LICENSE_CLIENT_DLL_MISSING -20007 - -/**Instance count is over limit.*/ -#define DMERR_INSTANCE_COUNT_OVER_LIMIT -20008 - -/**Interface InitLicenseFromDLS has to be called before creating any SDK objects.*/ -#define DMERR_LICENSE_INIT_SEQUENCE_FAILED -20009 - -/**Trial License*/ -#define DMERR_TRIAL_LICENSE -20010 - -/**Failed to reach License Server.*/ -#define DMERR_FAILED_TO_REACH_LTS -20200 - -/**Failed to reach License Server.*/ -#define DMERR_FAILED_TO_REACH_DLS -20200 - - -/** -* @enum DM_DeploymentType -* -* Describes the deployment type. -*/ -typedef enum DM_DeploymentType -{ - /**Server deployment type*/ - DM_DT_SERVER = 1, - - /**Desktop*/ - DM_DT_DESKTOP = 2, - - /**Embedded device deployment type*/ - DM_DT_EMBEDDED_DEVICE = 6, - - /**OEM deployment type*/ - DM_DT_OEM = 7, - - /**Mobile deployment type*/ - DM_DT_MOBILE = 9 -}DM_DeploymentType; - -/** -* @enum DM_LicenseModule -* -* Describes the license module. -*/ -typedef enum DM_LicenseModule -{ - /**One-D barcodes license module*/ - DM_LM_ONED = 1, - - /**QR Code barcodes license module*/ - DM_LM_QR_CODE = 2, - - /**PDF417 barcodes license module*/ - DM_LM_PDF417 = 3, - - /**Datamatrix barcodes license module*/ - DM_LM_DATAMATRIX = 4, - - /**Aztec barcodes license module*/ - DM_LM_AZTEC = 5, - - /**MAXICODE barcodes license module*/ - DM_LM_MAXICODE = 6, - - /**Patch code barcodes license module*/ - DM_LM_PATCHCODE = 7, - - /**GS1 Databar barcodes license module*/ - DM_LM_GS1_DATABAR = 8, - - /**GS1 Composite barcodes license module*/ - DM_LM_GS1_COMPOSITE = 9, - - /**Postal code barcodes license module*/ - DM_LM_POSTALCODE = 10, - - /**DotCode barcodes license module*/ - DM_LM_DOTCODE = 11, - - /**Intermediate result license module*/ - DM_LM_INTERMEDIATE_RESULT = 12, - - /**Datamatrix DPM(Direct Part Marking) license module*/ - DM_LM_DPM = 13, - - /**Nonstandard barcodes license module*/ - DM_LM_NONSTANDARD_BARCODE = 16 -}DM_LicenseModule; - -/** -* @enum DM_UUIDGenerationMethod -* -* Describes the UUID generation method. -*/ -typedef enum DM_UUIDGenerationMethod -{ - /**Generates UUID with randon values.*/ - DM_UUIDGM_RANDOM = 1, - - /**Generates UUID based on hardware info.*/ - DM_UUIDGM_HARDWARE = 2 -}DM_UUIDGenerationMethod; - -/** -* @enum DM_ChargeWay -* -* Describes the charge way. -*/ -typedef enum DM_ChargeWay -{ - /**The charge way automatically determined by the license server.*/ - DM_CW_AUTO = 0, - - /**Charges by the count of devices.*/ - DM_CW_DEVICE_COUNT = 1, - - /**Charges by the count of barcode scans.*/ - DM_CW_SCAN_COUNT = 2, - - /**Charges by the count of concurrent devices.*/ - DM_CW_CONCURRENT_DEVICE_COUNT = 3, - - /**Charges by the count of app domains.*/ - DM_CW_APP_DOMIAN_COUNT = 6, - - /**Charges by the count of active devices.*/ - DM_CW_ACTIVE_DEVICE_COUNT = 8, - - /**Charges by the count of instances.*/ - DM_CW_INSTANCE_COUNT = 9, - - /**Charges by the count of concurrent instances.*/ - DM_CW_CONCURRENT_INSTANCE_COUNT = 10 -}DM_ChargeWay; - -/** -* @enum Product -* -* Describes the Product. -*/ -typedef enum Product -{ - /** Dynamsoft Barcode Reader */ - PROD_DBR = 0x01, - - /** Dynamsoft Label Recognition */ - PROD_DLR = 0x02, - - /** Dynamic Web Twain */ - PROD_DWT = 0x04, - - /** Dynamsoft Camera Enhancer */ - PROD_DCE = 0x08, - - /** Dynamsoft Panorama */ - PROD_DPS = 0x10, - - /** All Products */ - PROD_ALL = 0xffff -}Product; - -#endif - -#ifndef _COMMON_PART2_ -#define _COMMON_PART2_ -/** -* @enum ImagePixelFormat -* -* Describes the image pixel format. -* -*/ -typedef enum ImagePixelFormat -{ - /**0:Black, 1:White */ - IPF_BINARY, - - /**0:White, 1:Black */ - IPF_BINARYINVERTED, - - /**8bit gray */ - IPF_GRAYSCALED, - - /**NV21 */ - IPF_NV21, - - /**16bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_565, - - /**16bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_555, - - /**24bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_888, - - /**32bit with ARGB channel order stored in memory from high to low address*/ - IPF_ARGB_8888, - - /**48bit with RGB channel order stored in memory from high to low address*/ - IPF_RGB_161616, - - /**64bit with ARGB channel order stored in memory from high to low address*/ - IPF_ARGB_16161616, - - /**32bit with ABGR channel order stored in memory from high to low address*/ - IPF_ABGR_8888, - - /**64bit with ABGR channel order stored in memory from high to low address*/ - IPF_ABGR_16161616, - - /**24bit with BGR channel order stored in memory from high to low address*/ - IPF_BGR_888 - -}ImagePixelFormat; - -/** -* @enum GrayscaleTransformationMode -* -* Describes the grayscale transformation mode. -*/ -typedef enum GrayscaleTransformationMode -{ - /**Transforms to inverted grayscale. Recommended for light on dark images. */ - GTM_INVERTED = 0x01, - - /**Keeps the original grayscale. Recommended for dark on light images. */ - GTM_ORIGINAL = 0x02, - - /**Lets the library choose an algorithm automatically for grayscale transformation.*/ - GTM_AUTO = 0x04, - - /**Reserved setting for grayscale transformation mode.*/ -#if defined(_WIN32) || defined(_WIN64) - GTM_REV = 0x80000000, -#else - GTM_REV = -2147483648, -#endif - - /**Skips grayscale transformation. */ - GTM_SKIP = 0x00 - -}GrayscaleTransformationMode; - -/** -* @enum RegionPredetectionMode -* -* Describes the region predetection mode. -* -*/ -typedef enum RegionPredetectionMode -{ - /**Auto*/ - RPM_AUTO = 0x01, - - /**Takes the whole image as a region*/ - RPM_GENERAL = 0x02, - - /**Detects region using the general algorithm based on RGB colour contrast*/ - RPM_GENERAL_RGB_CONTRAST = 0x04, - - /**Detects region using the general algorithm based on gray contrast*/ - RPM_GENERAL_GRAY_CONTRAST = 0x08, - - /**Detects region using the general algorithm based on HSV colour contrast*/ - RPM_GENERAL_HSV_CONTRAST = 0x10, - - /**Reserved setting for region predection mode.*/ -#if defined(_WIN32) || defined(_WIN64) - RPM_REV = 0x80000000, -#else - RPM_REV = -2147483648, -#endif - - /**Skip*/ - RPM_SKIP = 0 -}RegionPredetectionMode; - -/** -* @enum BinarizationMode -* -* Describes the binarization mode. -* -*/ -typedef enum BinarizationMode -{ - /**Not supported yet. */ - BM_AUTO = 0x01, - - /**Binarizes the image based on the local block. Check @ref BM for available argument settings.*/ - BM_LOCAL_BLOCK = 0x02, - - /**Performs image binarization based on the given threshold. Check @ref BM for available argument settings.*/ - BM_THRESHOLD = 0x04, - - /**Reserved setting for binarization mode.*/ -#if defined(_WIN32) || defined(_WIN64) - BM_REV = 0x80000000, -#else - BM_REV = -2147483648, -#endif - - /**Skips the binarization. */ - BM_SKIP = 0x00 -}BinarizationMode; - - -/** -* @enum ScaleUpMode -* -* Describes scale up mode. -* -*/ -typedef enum ScaleUpMode -{ - /**Skip the scale-up process.*/ - SUM_SKIP = 0x00, - - /**The library chooses an interpolation method automatically to scale up.*/ - SUM_AUTO = 0x01, - - /**Scales up using the linear interpolation method.*/ - SUM_LINEAR_INTERPOLATION = 0x02, - - /**Scales up using the nearest-neighbour interpolation method.*/ - SUM_NEAREST_NEIGHBOUR_INTERPOLATION = 0x04, - - /**Reserved setting for scale up mode.*/ -#if defined(_WIN32) || defined(_WIN64) - SUM_REV = 0x80000000 -#else - SUM_REV = -2147483648 -#endif -}ScaleUpMode; - -/** -* @enum ColourConversionMode -* -* Describes colour conversion mode. -* -*/ -typedef enum ColourConversionMode -{ - /**Skips the colour conversion.*/ - CICM_SKIP = 0x00, - - /**Converts a colour image to a grayscale image using the general RGB converting algorithm.*/ - CICM_GENERAL = 0x01, - - /**Converts a colour image to a grayscale image using one of the HSV channels.*/ - CICM_HSV = 0x02, - -#if defined(_WIN32) || defined(_WIN64) - CICM_REV = 0x80000000 -#else - CICM_REV = -2147483648 -#endif - -}ColourConversionMode; - -/** -* @enum TextureDetectionMode -* -* Describes the texture detection mode. -*/ -typedef enum TextureDetectionMode -{ - /**Not supported yet. */ - TDM_AUTO = 0x01, - - /**Detects texture using the general algorithm. Check @ref TDM for available argument settings.*/ - TDM_GENERAL_WIDTH_CONCENTRATION = 0x02, - - /**Reserved setting for texture detection mode.*/ -#if defined(_WIN32) || defined(_WIN64) - TDM_REV = 0x80000000, -#else - TDM_REV = -2147483648, -#endif - - /**Skips texture detection. */ - TDM_SKIP = 0x00 - -}TextureDetectionMode; - -/** -* @enum PDFReadingMode -* -* Describes the PDF reading mode. -*/ -typedef enum PDFReadingMode -{ - /** Lets the library choose the reading mode automatically. */ - PDFRM_AUTO = 0x01, - - /** Detects barcode from vector data in PDF file.*/ - PDFRM_VECTOR = 0x02, - - /** Converts the PDF file to image(s) first, then perform barcode recognition.*/ - PDFRM_RASTER = 0x04, - - /**Reserved setting for PDF reading mode.*/ -#if defined(_WIN32) || defined(_WIN64) - PDFRM_REV = 0x80000000, -#else - PDFRM_REV = -2147483648, -#endif -}PDFReadingMode; - -/** -* @enum BarcodeFormat -* -* Describes the barcode types in BarcodeFormat group 1. All the formats can be combined, such as BF_CODE_39 | BF_CODE_128. -* Note: The barcode format our library will search for is composed of [BarcodeFormat group 1](@ref BarcodeFormat) and [BarcodeFormat group 2](@ref BarcodeFormat_2), so you need to specify the barcode format in group 1 and group 2 individually. -*/ -typedef enum BarcodeFormat -{ - /**All supported formats in BarcodeFormat group 1*/ -#if defined(_WIN32) || defined(_WIN64) - BF_ALL = 0xFE1FFFFF, -#else - BF_ALL = -31457281, -#endif - - /**Combined value of BF_CODABAR, BF_CODE_128, BF_CODE_39, BF_CODE_39_Extended, BF_CODE_93, BF_EAN_13, BF_EAN_8, INDUSTRIAL_25, BF_ITF, BF_UPC_A, BF_UPC_E, BF_MSI_CODE; */ - BF_ONED = 0x001007FF, - - /**Combined value of BF_GS1_DATABAR_OMNIDIRECTIONAL, BF_GS1_DATABAR_TRUNCATED, BF_GS1_DATABAR_STACKED, BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL, BF_GS1_DATABAR_EXPANDED, BF_GS1_DATABAR_EXPANDED_STACKED, BF_GS1_DATABAR_LIMITED*/ - BF_GS1_DATABAR = 0x0003F800, - - /**Code 39 */ - BF_CODE_39 = 0x1, - - /**Code 128 */ - BF_CODE_128 = 0x2, - - /**Code 93 */ - BF_CODE_93 = 0x4, - - /**Codabar */ - BF_CODABAR = 0x8, - - /**Interleaved 2 of 5 */ - BF_ITF = 0x10, - - /**EAN-13 */ - BF_EAN_13 = 0x20, - - /**EAN-8 */ - BF_EAN_8 = 0x40, - - /**UPC-A */ - BF_UPC_A = 0x80, - - /**UPC-E */ - BF_UPC_E = 0x100, - - /**Industrial 2 of 5 */ - BF_INDUSTRIAL_25 = 0x200, - - /**CODE39 Extended */ - BF_CODE_39_EXTENDED = 0x400, - - /**GS1 Databar Omnidirectional*/ - BF_GS1_DATABAR_OMNIDIRECTIONAL = 0x800, - - /**GS1 Databar Truncated*/ - BF_GS1_DATABAR_TRUNCATED = 0x1000, - - /**GS1 Databar Stacked*/ - BF_GS1_DATABAR_STACKED = 0x2000, - - /**GS1 Databar Stacked Omnidirectional*/ - BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL = 0x4000, - - /**GS1 Databar Expanded*/ - BF_GS1_DATABAR_EXPANDED = 0x8000, - - /**GS1 Databar Expaned Stacked*/ - BF_GS1_DATABAR_EXPANDED_STACKED = 0x10000, - - /**GS1 Databar Limited*/ - BF_GS1_DATABAR_LIMITED = 0x20000, - - /**Patch code. */ - BF_PATCHCODE = 0x00040000, - - /**PDF417 */ - BF_PDF417 = 0x02000000, - - /**QRCode */ - BF_QR_CODE = 0x04000000, - - /**DataMatrix */ - BF_DATAMATRIX = 0x08000000, - - /**AZTEC */ - BF_AZTEC = 0x10000000, - - /**MAXICODE */ - BF_MAXICODE = 0x20000000, - - /**Micro QR Code*/ - BF_MICRO_QR = 0x40000000, - - /**Micro PDF417*/ - BF_MICRO_PDF417 = 0x00080000, - - /**GS1 Composite Code*/ -#if defined(_WIN32) || defined(_WIN64) - BF_GS1_COMPOSITE = 0x80000000, -#else - BF_GS1_COMPOSITE = -2147483648, -#endif - - /**MSI Code*/ - BF_MSI_CODE = 0x100000, - - /**No barcode format in BarcodeFormat group 1*/ - BF_NULL = 0x00 - -}BarcodeFormat; - -/** -* @enum BarcodeFormat_2 -* -* Describes the barcode types in BarcodeFormat group 2. -* Note: The barcode format our library will search for is composed of [BarcodeFormat group 1](@ref BarcodeFormat) and [BarcodeFormat group 2](@ref BarcodeFormat_2), so you need to specify the barcode format in group 1 and group 2 individually. -*/ -typedef enum BarcodeFormat_2 -{ - /**No barcode format in BarcodeFormat group 2*/ - BF2_NULL = 0x00, - - /**Combined value of BF2_USPSINTELLIGENTMAIL, BF2_POSTNET, BF2_PLANET, BF2_AUSTRALIANPOST, BF2_RM4SCC. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_POSTALCODE = 0x01F00000, - - /**Nonstandard barcode */ - BF2_NONSTANDARD_BARCODE = 0x01, - - /**USPS Intelligent Mail. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_USPSINTELLIGENTMAIL = 0x00100000, - - /**Postnet. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_POSTNET = 0x00200000, - - /**Planet. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_PLANET = 0x00400000, - - /**Australian Post. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_AUSTRALIANPOST = 0x00800000, - - /**Royal Mail 4-State Customer Barcode. - When you set this barcode format, the library will automatically add LM_STATISTICS_POSTAL_CODE to LocalizationModes if you doesn't set it.*/ - BF2_RM4SCC = 0x01000000, - - /**DotCode. When you set this barcode format, the library will automatically add LM_STATISTICS_MARKS to LocalizationModes if you doesn't set it.*/ - BF2_DOTCODE = 0x02 -}BarcodeFormat_2; - -#pragma pack(push) -#pragma pack(1) - -typedef struct tagDMPoint -{ - /**The X coordinate of the point.*/ - int x; - - /**The Y coordinate of the point.*/ - int y; -}DM_Point; - -typedef struct tagQuadrilateral -{ - /**The four points of the quadrilateral.*/ - DM_Point points[4]; - -}Quadrilateral; - -/** -* @struct ImageData -* -* Stores the image data. -* -*/ -typedef struct tagImageData -{ - /**The length of the image data byte.*/ - int bytesLength; - - /**The image data content in a byte array.*/ - unsigned char* bytes; - - /**The width of the image in pixels.*/ - int width; - - /**The height of the image in pixels.*/ - int height; - - /**The stride(or scan width) of the image.*/ - int stride; - - /**The image pixel format used in the image byte array.*/ - ImagePixelFormat format; -}ImageData; - - -/** -* Stores Dynamsoft License Server connection parameters. -* -*/ -typedef struct tagDM_DLSConnectionParameters -{ - /**The URL of the license server.*/ - char* mainServerURL; - - /**The URL of the standby license server.*/ - char* standbyServerURL; - - /**The handshake code.*/ - char* handshakeCode; - - /**The session password of the handshake code set in license server.*/ - char* sessionPassword; - - /**Sets the deployment type.*/ - DM_DeploymentType deploymentType; - - /**Sets the charge way.*/ - DM_ChargeWay chargeWay; - - /**Sets the method to generate UUID.*/ - DM_UUIDGenerationMethod UUIDGenerationMethod; - - /**Sets the max days to buffer the license info.*/ - int maxBufferDays; - - /**Sets the count of license modules to use.*/ - int limitedLicenseModulesCount; - - /**Sets the license modules to use.*/ - DM_LicenseModule* limitedLicenseModules; - - /**Sets the max concurrent instance count.*/ - int maxConcurrentInstanceCount; - - /**Sets the organization ID.*/ - char* organizationID; - - /* Sets the products. A combined value of Product Enumeration items. */ - int products; - - /**Reserved memory for struct. The length of this array indicates the size of the memory reserved for this struct.*/ - char reserved[52]; -}DM_DLSConnectionParameters; - -#pragma pack(pop) - -#endif - -/** -* @enum ImagePreprocessingMode -* -* Describes the image preprocessing mode. -* -*/ -typedef enum GrayscaleEnhancementMode -{ - /**Not supported yet. */ - GEM_AUTO = 0x01, - - /**Takes the unpreprocessed image for following operations. */ - GEM_GENERAL = 0x02, - - /**Preprocesses the image using the gray equalization algorithm. Check @ref IPM for available argument settings.*/ - GEM_GRAY_EQUALIZE = 0x04, - - /**Preprocesses the image using the gray smoothing algorithm. Check @ref IPM for available argument settings.*/ - GEM_GRAY_SMOOTH = 0x08, - - /**Preprocesses the image using the sharpening and smoothing algorithm. Check @ref IPM for available argument settings.*/ - GEM_SHARPEN_SMOOTH = 0x10, - - /**Reserved setting for image preprocessing mode.*/ -#if defined(_WIN32) || defined(_WIN64) - GEM_REV = 0x80000000, -#else - GEM_REV = -2147483648, -#endif - - /**Skips image preprocessing. */ - GEM_SKIP = 0x00 -}GrayscaleEnhancementMode; - - -#pragma pack(push) -#pragma pack(1) - -typedef struct tagBarcodeResult -{ - BarcodeFormat barcodeFormat; - BarcodeFormat_2 barcodeFormat_2; - const char* text; - unsigned char* bytes; - int bytesLength; - Quadrilateral location; - int moduleSize; - int pageNumber; - char reserved[64]; -}BarcodeResult; - -typedef struct tagBarcodeResultArray -{ - int resultsCount; - BarcodeResult** results; -}BarcodeResultArray; - -#pragma pack(pop) - -#endif \ No newline at end of file diff --git a/windows/include/DynamsoftLabelRecognizer.h b/windows/include/DynamsoftLabelRecognizer.h deleted file mode 100644 index 0c40e0f..0000000 --- a/windows/include/DynamsoftLabelRecognizer.h +++ /dev/null @@ -1,947 +0,0 @@ -#pragma once - -#if !defined(_WIN32) && !defined(_WIN64) -#define DLR_API __attribute__((visibility("default"))) -#include -#else -#ifdef DLR_EXPORTS -#define DLR_API __declspec(dllexport) -#else -#define DLR_API -#endif -#include -#endif - -#include "DynamsoftCore.h" - - -#define DLR_VERSION "2.2.10.0616" - -/**Recognition timeout*/ -#define DLRERR_RECOGNITION_TIMEOUT -10026 - -/**Character Model file is not found*/ -#define DLRERR_CHARACTER_MODEL_FILE_NOT_FOUND -10100 - - -/** -* @enum LocalizationSourceType -* -* Describes localization source type. -* -*/ -typedef enum LocalizationSourceType -{ - /**Define the reference region using the manually specified location.*/ - LST_MANUAL_SPECIFICATION = 0x01, - - /**Define the reference region using the result(s) of region predetection process.*/ - LST_PREDETECTED_REGION = 0x02, - - /**Define the reference region using the barcode info.*/ - LST_BARCODE = 0x04 -}LocalizationSourceType; - - - -#pragma pack(push) -#pragma pack(1) - - -/** -* @struct DLR_DictionaryCorrectionThreshold -* -* Stores the dictionary correction threshold. -*/ -typedef struct tagDLRDictionaryCorrectionThreshold -{ - int minWordLength; - int maxWordLength; - int threshold; -}DLR_DictionaryCorrectionThreshold; - -/** -* @struct DLR_Region -* -* Stores the region info. -* -*/ -typedef struct tagDLRReferenceRegion -{ - /**The source type used to localize the reference region(s). - * - * @par Value range: - * A value of the LocalizationSourceType Enumeration items. - * @par Default value: - * LST_MANUAL_SPECIFICATION - * @sa DLRLocalizationSourceType - * - */ - LocalizationSourceType localizationSourceType; - - /**Four vertexes in a clockwise direction of a quadrilateral. Index 0 represents the left-most vertex. - * - * @par Remarks: - * It works only when localizationSourceType is settings to DLR_LST_MANUAL_SPECIFICATION. - * The library will localize reference region(s) based on the quadrilateral set by current setting. - * - */ - Quadrilateral location; - - /**Whether or not to use percentage to measure the coordinate. - * - * @par Value range: - * [0, 1] - * @par Default value: - * 1 - * @par Remarks: - * It works only when localizationSourceType is settings to DLR_LST_MANUAL_SPECIFICATION. - * 0: not by percentage - * 1: by percentage - * When it's set to 1, the values of points indicate percentage (from 0 to 100); Otherwise, they indicate coordinates in pixel. - * - */ - int regionMeasuredByPercentage; - - /**The index of a specific region predetection mode in the regionPredetectionModes parameter. - * - * @par Value range: - * [-1, 0x7fffffff] - * @par Default value: - * -1 - * @par Remarks: - * It works only when localizationSourceType is settings to DLR_LST_PREDETECTED_REGION. - * The library will localize reference region(s) based on the detected regions from the specified region predetection mode. - * - */ - int regionPredetectionModesIndex; - - /**The formats of the barcode in BarcodeFormat group 1. - * - * @par Value range: - * A combined value of BarcodeFormat Enumeration items. - * @par Default value: - * DLR_BF_ALL - * @par Remarks: - * Barcode formats in BarcodeFormat group 1 can be combined. - * It works only when localizationSourceType is settings to LST_BARCODE. - * The library will localize reference region(s) based on the barcodes whose format meets current setting. - * - */ - int barcodeFormatIds; - - /**The formats of the barcode in BarcodeFormat group 2. - * - * @par Value range: - * A combined value of BarcodeFormat_2 Enumeration items. - * @par Default value: - * DLR_BF2_NULL - * @par Remarks: - * Barcode formats in BarcodeFormat group 2 can be combined. - * It works only when localizationSourceType is settings to LST_BARCODE. - * The library will localize reference region(s) based on the barcodes whose format meets current setting. - * - */ - int barcodeFormatIds_2; - - /**The regular express pattern of barcode text. - * - * @par Remarks: - * It works only when localizationSourceType is settings to DLR_LST_BARCODE. - * The library will localize reference region(s) based on the barcodes whose format meets current setting. - * - */ - char barcodeTextRegExPattern[64]; - - /**Resered memory for struct. The length of this array indicates the size of the memory reserved for this struct.*/ - char reserved[64]; -}DLR_ReferenceRegion; - -/** -* Stores the FurtherModes. -* -*/ -typedef struct tagDLRFurtherModes -{ - /**Sets the mode and priority for converting a colour image to a grayscale image. - * - * @par Value range: - * Each array item can be any one of the ColourConversionMode Enumeration items. - * @par Default value: - * [CICM_GENERAL,CICM_SKIP,CICM_SKIP,CICM_SKIP,CICM_SKIP,CICM_SKIP,CICM_SKIP,CICM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * @sa ColourConversionMode - */ - ColourConversionMode colourConversionModes[8]; - - /**Sets the mode and priority for the grayscale image conversion. - * - * @par Value range: - * Each array item can be any one of the DLRGrayscaleTransformationMode Enumeration items. - * @par Default value: - * [GTM_ORIGINAL,GTM_SKIP,GTM_SKIP,GTM_SKIP,GTM_SKIP,GTM_SKIP,GTM_SKIP,GTM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * @sa GrayscaleTransformationMode - */ - GrayscaleTransformationMode grayscaleTransformationModes[8]; - - /**Sets the region pre-detection mode for barcodes search. - * - * @par Value range: - * Each array item can be any one of the RegionPredetectionMode Enumeration items - * @par Default value: - * [RPM_GENERAL,RPM_SKIP,RPM_SKIP,RPM_SKIP,RPM_SKIP,RPM_SKIP,RPM_SKIP,RPM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * If the image is large and the barcode on the image is very small, it is recommended to enable region predetection to speed up the localization process and recognition accuracy. - * @sa RegionPredetectionMode - */ - RegionPredetectionMode regionPredetectionModes[8]; - - /**Sets the mode and priority for image preprocessing algorithms. - * - * @par Value range: - * Each array item can be any one of the GrayscaleEnhancementMode Enumeration items. - * @par Default value: - * [GEM_GENERAL,GEM_SKIP,GEM_SKIP,GEM_SKIP,GEM_SKIP,GEM_SKIP,GEM_SKIP,GEM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * @sa GrayscaleEnhancementMode - */ - GrayscaleEnhancementMode grayscaleEnhancementModes[8]; - - /**Sets the mode and priority for texture detection. - * - * @par Value range: - * Each array item can be any one of the TextureDetectionMode Enumeration items - * @par Default value: - * [TDM_GENERAL_WIDTH_CONCENTRATION,TDM_SKIP,TDM_SKIP,TDM_SKIP,TDM_SKIP,TDM_SKIP,TDM_SKIP,TDM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * @sa TextureDetectionMode - */ - TextureDetectionMode textureDetectionModes[8]; - - /**Reserved memory for struct. The length of this array indicates the size of the memory reserved for this struct. - * - */ - char reserved[128]; -}DLR_FurtherModes; - -/** -* @struct DLR_RuntimeSettings -* -* Defines a struct to configure the runtime settings. These settings control the recognition process. -* -*/ -typedef struct tagDLRRuntimeSettings -{ - /**Sets the number of the threads the algorithm will use to recognize label. - * - * @par Value range: - * [1, 4] - * @par Default value: - * 4 - * @par Remarks: - * To keep a balance between speed and quality, the library concurrently runs four different threads by default. - * - */ - int maxThreadCount; - - /**Sets the name of the CharacterModel. - * - * @par Value range: - * ["Letter", "NumberLetter", "NumberUppercase", "Number"] or other customized character model name. - * - */ - char characterModelName[64]; - - - /**Sets the reference region to search for text.*/ - DLR_ReferenceRegion referenceRegion; - - /**Sets the text area relative to the reference region.*/ - Quadrilateral textArea; - - /**Sets the dictionnary path.*/ - char dictionaryPath[256]; - - /**Sets the dictionary correction threshold.*/ - DLR_DictionaryCorrectionThreshold dictionaryCorrectionThreshold; - - /**Sets the mode and priority for binarization. - * - * @par Value range: - * Each array item can be any one of the BinarizationMode Enumeration items. - * @par Default value: - * [BM_LOCAL_BLOCK,BM_SKIP,BM_SKIP,BM_SKIP,BM_SKIP,BM_SKIP,BM_SKIP,BM_SKIP] - * @par Remarks: - * The array index represents the priority of the item. The smaller index is, the higher priority is. - * @sa BinarizationMode - */ - BinarizationMode binarizationModes[8]; - - /**Sets further modes.*/ - DLR_FurtherModes furtherModes; - /**Sets the maximum amount of time (in milliseconds) . - * - * @par Value range: - * [0, 0x7fffffff] - * @par Default value: - * 10000 - * @par Remarks: - * If you want to stop reading after a certain period of time, you can use this parameter to set a timeout. - */ - int timeout; - - /**Reserved memory for the struct.*/ - char reserved[60]; -}DLR_RuntimeSettings; - -/** -* @struct DLR_CharacterResult -* -* Stores character result. -* -*/ -typedef struct tagDLRCharacterResult -{ - /**The recognized character with highest confidence.*/ - char characterH; - - /**The recognized character with middle confidence.*/ - char characterM; - - /**The recognized character with lowest confidence.*/ - char characterL; - - /**The location of current character.*/ - Quadrilateral location; - - /**The confidence of the recognized character with highest confidence.*/ - int characterHConfidence; - - /**The confidence of the recognized character with middle confidence.*/ - int characterMConfidence; - - /**The confidence of the recognized character with lowest confidence.*/ - int characterLConfidence; - - /**Reserved memory for the struct.*/ - char reserved[32]; -}DLR_CharacterResult, *PDLR_CharacterResult; - -/** -* @struct DLRLineResult -* -* Stores line result. -* -*/ -typedef struct tagLineResult -{ - /**The name of the line specification used to recognize current line result.*/ - const char* lineSpecificationName; - - /**The recognized text, ends by '\0'.*/ - const char* text; - - /**The character model used to recognize the text.*/ - const char* characterModelName; - - /**The localization of current line.*/ - Quadrilateral location; - - /**The confidence of the result.*/ - int confidence; - - /**The character result count.*/ - int characterResultsCount; - - /**The character results array.*/ - PDLR_CharacterResult* characterResults; - - /**Reserved memory for the struct.*/ - char reserved[64]; -}DLR_LineResult, *PDLR_LineResult; - -/** -* @struct DLR_Result -* -* Stores result. -* -*/ -typedef struct tagDLRResult -{ - /**The name of the reference region used to recognize current result.*/ - const char* referenceRegionName; - - /**The name of the text area used to recognize current result.*/ - const char* textAreaName; - - /**The localization result.*/ - Quadrilateral location; - - /**The confidence of the result.*/ - int confidence; - - /**The line result count.*/ - int lineResultsCount; - - /**The line results array.*/ - PDLR_LineResult* lineResults; - - /**Page number.*/ - int pageNumber; - - /**Reserved memory for the struct.*/ - char reserved[60]; -}DLR_Result, *PDLR_Result; - -/** -* @struct DLR_ResultArray -* -* Stores result array. -* -*/ -typedef struct tagDLRResultArray -{ - /**The recognized results array.*/ - PDLR_Result* results; - - /**The total count of recognized results.*/ - int resultsCount; -}DLR_ResultArray; - - -#pragma pack(pop) - -#ifdef __cplusplus -extern "C" { -#endif - - /** - * Returns the error info string. - * - * @param [in] errorCode The error code. - * - * @return The error message. - * - */ - DLR_API const char* DLR_GetErrorString(const int errorCode); - - /** - * Returns the version info of the SDK. - * - * @return The version info string. - * - */ - DLR_API const char* DLR_GetVersion(); - - /** - * Creates a Dynamsoft DLR instance. - * - * @return An DLR instance. If failed, return NULL. - * - */ - DLR_API void* DLR_CreateInstance(); - - /** - * Destorys an instance of Dynamsoft DLR instance. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * - */ - DLR_API void DLR_DestroyInstance(void* recognizer); - - /** - * Reads product key and activates the SDK. - * - * @param [in] pLicense The product key. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - DLR_API int DLR_InitLicense(const char* pLicense, char errorMsgBuffer[], const int errorMsgBufferLen); - - /** - * Gets current settings and save it into a struct. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in, out] pSettings The struct of runtime settings. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - DLR_API int DLR_GetRuntimeSettings(void* recognizer, DLR_RuntimeSettings* pSettings); - - /** - * Updates runtime settings with a given struct. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] pSettings The struct of runtime settings. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - */ - DLR_API int DLR_UpdateRuntimeSettings(void* recognizer, DLR_RuntimeSettings* pSettings, char errorMsgBuffer[], const int errorMsgBufferLen); - - - /** - * Initializes runtime settings with the settings in a given JSON string. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] content A JSON string that represents the content of the settings. - * @param [in,out] errorMsgBuffer (Optional) The buffer is allocated by caller and the recommended length - * is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen (Optional) The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * GetErrorString() to get detailed error message. - * - */ - DLR_API int DLR_UpdateRuntimeSettingsFromString(void* recognizer, const char* content, char errorMsgBuffer[], int errorMsgBufferLen); - - /** - * Reset runtime settings. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * - */ - DLR_API int DLR_ResetRuntimeSettings(void* recognizer); - - /** - * Sets the optional argument for a specified mode in Modes parameters. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] pModesName The mode parameter name to set argument. - * @param [in] index The array index of mode parameter to indicate a specific mode. - * @param [in] pArgumentName The name of the argument to set. - * @param [in] pArgumentValue The value of the argument to set. - * @param [in,out] errorMsgBuffer The buffer is allocated by the caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - DLR_API int DLR_SetModeArgument(void *recognizer, const char *pModesName, const int index, const char *pArgumentName, const char *pArgumentValue, char errorMsgBuffer[], const int errorMsgBufferLen); - - /** - * Gets the optional argument for a specified mode in Modes parameters. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] pModesName The mode parameter name to get argument. - * @param [in] index The array index of mode parameter to indicate a specific mode. - * @param [in] pArgumentName The name of the argument to get. - * @param [in,out] valueBuffer The buffer is allocated by caller and the recommended length is 480. The argument value would be copied to the buffer. - * @param [in] valueBufferLen The length of allocated buffer. - * @param [in,out] errorMsgBuffer The buffer is allocated by the caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - DLR_API int DLR_GetModeArgument(void *recognizer, const char *pModesName, const int index, const char *pArgumentName, char valueBuffer[], const int valueBufferLen, char errorMsgBuffer[], const int errorMsgBufferLen); - - /** - * - * Get all template settings' names; - * - */ - DLR_API int DLR_GetAllTemplateSettingsNames(void* recognizer, char(*names)[64], int arrLen); - - /** - * Clear template settings. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * - */ - DLR_API int DLR_ClearAppendedSettings(void* recognizer); - - /** - * Appends DLRParameter settings in a string to the SDK object. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] content A json string that represents the content of the settings. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - DLR_API int DLR_AppendSettingsFromString(void* recognizer, const char* content, char errorMsgBuffer[], const int errorMsgBufferLen); - - /** - * Appends DLRParameter settings in a file to the SDK object. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] filePath The settings file path. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - DLR_API int DLR_AppendSettingsFromFile(void* recognizer, const char* filePath, char errorMsgBuffer[], const int errorMsgBufferLen); - - /** - * Output DLRParameter settings into a file(JSON file). - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] outputFilePath The output file path which stores settings. - * @param [in] templateName The name of the template which is to be output. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - DLR_API int DLR_OutputSettingsToFile(void* recognizer, const char* outputFilePath, const char* templateName); - - /** - * Output DLRParameter settings into a file(JSON file). - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in,out] content The output string which stores the contents of current settings. - * @param [in] contentLen The length of output string. - * @param [in] templateName The name of the template which is to be output. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - DLR_API int DLR_OutputSettingsToString(void* recognizer, char content[], const int contentLen, const char* templateName); - - /** - * Recognizes text from memory buffer containing image pixels in defined format. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] pImageDate A struct of DLRImageData that represents an image. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - DLR_API int DLR_RecognizeByBuffer(void* recognizer, const ImageData* pImageData, const char* templateName); - - /** - * Recognizes text from a specified image file. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] fileName A string defining the file name. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - DLR_API int DLR_RecognizeByFile(void* recognizer, const char* fileName, const char* templateName); - - /** - * Recognizes text from a specified image file in memory. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] pFileBytes The image file bytes in memory. - * @param [in] fileSize The length of the file bytes in memory. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - DLR_API int DLR_RecognizeFileInMemory(void* recognizer, const unsigned char* pFileBytes, int fileSize, const char* templateName); - - /** - * Get all recognized results. - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param[in, out] pResults The results are allocated by our SDK and should be freed by calling the function DLR_FreeDLRResults. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - DLR_API int DLR_GetAllResults(void* recognizer, DLR_ResultArray** pResults); - - /** - * Free memory allocated for recognized results. - * - * @param[in] pResults Recognized results. - * - */ - DLR_API void DLR_FreeResults(DLR_ResultArray** pResults); - - /** - * Updates reference region which is defined with source type DLR_LST_BARCODE - * - * @param [in] recognizer Handle of Dynamsoft DLR instance. - * @param [in] barcodeResults The barcode results used to localize reference region. - * @param [in] templateName The template name. A template name is the value of key LabelRecognitionParameter.Name defined in JSON formatted settings. - * If no template name is specified, current runtime settings will be used. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - DLR_API int DLR_UpdateReferenceRegionFromBarcodeResults(void* recognizer, BarcodeResultArray* barcodeResults, const char * templateName); - -#ifdef __cplusplus -} -#endif - -#ifdef __cplusplus - -class LabelRecognizerInner; - -namespace dynamsoft -{ - namespace dlr - { - - class DLR_API CLabelRecognizer - { - protected: - LabelRecognizerInner * m_DLRInner; - - public: - CLabelRecognizer(); - - ~CLabelRecognizer(); - - /** - * Returns the error info string. - * - * @param [in] errorCode The error code. - * - * @return The error message. - * - */ - static const char* GetErrorString(const int errorCode); - - /** - * Returns the version info of the SDK. - * - * @return The version info string. - * - */ - static const char* GetVersion(); - - /** - * Reads product key and activates the SDK. - * - * @param [in] pLicense The product key. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - static int InitLicense(const char* pLicense, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0); - - /** - * Gets current settings and save it into a struct. - * - * @param [in, out] pSettings The struct of runtime settings. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - int GetRuntimeSettings(DLR_RuntimeSettings* pSettings); - - /** - * Updates runtime settings with a given struct. - * - * @param [in] pSettings The struct of runtime settings. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - int UpdateRuntimeSettings(DLR_RuntimeSettings* pSettings, char errorMsgBuffer[] = NULL, const int errorMsgBufferLen = 0); - - /** - * Initializes runtime settings with the settings in a given JSON string. - * - * @param [in] content A JSON string that represents the content of the settings. - * @param [in,out] errorMsgBuffer (Optional) The buffer is allocated by caller and the recommended length - * is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen (Optional) The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * GetErrorString() to get detailed error message. - * - */ - int UpdateRuntimeSettingsFromString(const char* content, char errorMsgBuffer[] = NULL, int errorMsgBufferLen = 0); - /** - * Reset runtime settings. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int ResetRuntimeSettings(); - - /** - * Sets the optional argument for a specified mode in Modes parameters. - * - * @param [in] pModesName The mode parameter name to set argument. - * @param [in] index The array index of mode parameter to indicate a specific mode. - * @param [in] pArgumentName The name of the argument to set. - * @param [in] pArgumentValue The value of the argument to set. - * @param [in,out] errorMsgBuffer The buffer is allocated by the caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - int SetModeArgument(const char *pModesName, const int index, const char *pArgumentName, const char *pArgumentValue, char errorMsgBuffer[] = NULL, const int errorMsgBufferLen = 0); - - /** - * Gets the optional argument for a specified mode in Modes parameters. - * - * @param [in] pModesName The mode parameter name to get argument. - * @param [in] index The array index of mode parameter to indicate a specific mode. - * @param [in] pArgumentName The name of the argument to get. - * @param [in,out] valueBuffer The buffer is allocated by caller and the recommended length is 480. The argument value would be copied to the buffer. - * @param [in] valueBufferLen The length of allocated buffer. - * @param [in,out] errorMsgBuffer The buffer is allocated by the caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - int GetModeArgument(const char *pModesName, const int index, const char *pArgumentName, char valueBuffer[], const int valueBufferLen, char errorMsgBuffer[] = NULL, const int errorMsgBufferLen = 0); - - - int GetAllTemplateSettingsNames(char(*names)[64], int arrLen); - - /** - * Clear template settings. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int ClearAppendedSettings(); - - /** - * Appends DLRParameter settings in a string to the SDK object. - * - * @param [in] content A json string that represents the content of the settings. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - int AppendSettingsFromString(const char* content, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0); - - /** - * Appends DLRParameter settings in a file to the SDK object. - * - * @param [in] filePath The settings file path. - * @param [in, out] errorMsgBuffer The buffer is allocated by caller and the recommended length is 256. The error message will be copied to the buffer. - * @param [in] errorMsgBufferLen The length of the allocated buffer. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can check errorMsgBuffer to get detailed error message. - * - */ - int AppendSettingsFromFile(const char* filePath, char errorMsgBuffer[]=NULL, const int errorMsgBufferLen=0); - - /** - * Output DLRParameter settings into a file(JSON file). - * - * @param [in] outputFilePath The output file path which stores settings. - * @param [in] templateName The name of the template which is to be output. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int OutputSettingsToFile(const char* outputFilePath, const char* templateName); - - /** - * Output DLRParameter settings into a file(JSON file). - * - * @param [in,out] content The output string which stores the contents of current settings. - * @param [in] contentLen The length of output string. - * @param [in] templateName The name of the template which is to be output. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - */ - int OutputSettingsToString(char content[], const int contentLen, const char* templateName); - - /** - * Recognizes text from memory buffer containing image pixels in defined format. - * - * @param [in] pImageDate A struct of DLRImageData that represents an image. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int RecognizeByBuffer(const ImageData* pImageData, const char* templateName); - - /** - * Recognizes text from a specified image file. - * - * @param [in] fileName A string defining the file name. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int RecognizeByFile(const char* fileName, const char* templateName); - - /** - * Recognizes text from a specified image file in memory. - * - * @param [in] pFileBytes The image file bytes in memory. - * @param [in] fileSize The length of the file bytes in memory. - * @param [in] templateName The template name. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int RecognizeFileInMemory(const unsigned char* pFileBytes, int fileSize, const char* templateName); - - /** - * Get all recognized results. - * - * @param[in, out] pResults The results are allocated by our SDK and should be freed by calling the function DLR_FreeDLRResults. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * DLR_GetErrorString() to get detailed error message. - * - */ - int GetAllResults(DLR_ResultArray** pResults); - - /** - * Free memory allocated for recognized results. - * - * @param[in] pResults Recognized results. - * - */ - static void FreeResults(DLR_ResultArray** pResults); - - /** - * Updates reference region which is defined with source type DLR_LST_BARCODE - * - * @param [in] barcodeResults The barcode results used to localize reference region. - * @param [in] templateName The template name. A template name is the value of key LabelRecognizerParameter.Name defined in JSON formatted settings. - * If no template name is specified, current runtime settings will be used. - * - * @return Returns error code. Returns 0 if the function operates successfully. You can call - * GetErrorString() to get detailed error message. - */ - int UpdateReferenceRegionFromBarcodeResults(const BarcodeResultArray* barcodeResults, const char * templateName); - - private: - CLabelRecognizer(const CLabelRecognizer& r); - CLabelRecognizer& operator=(const CLabelRecognizer& r); - }; - } -} -#endif \ No newline at end of file diff --git a/windows/include/dlr_manager.h b/windows/include/dlr_manager.h deleted file mode 100644 index 2c8c087..0000000 --- a/windows/include/dlr_manager.h +++ /dev/null @@ -1,298 +0,0 @@ -#ifndef DLR_MANAGER_H_ -#define DLR_MANAGER_H_ - -#include "DynamsoftCore.h" -#include "DynamsoftLabelRecognizer.h" - -#include -#include -#include - -#include - -#include -#include -#include -#include -#include - -using namespace std; -using namespace dynamsoft::dlr; - -using flutter::EncodableList; -using flutter::EncodableMap; -using flutter::EncodableValue; - -class Task -{ -public: - std::function func; - unsigned char *buffer; -}; - -class WorkerThread -{ -public: - std::mutex m; - std::condition_variable cv; - std::queue tasks = {}; - volatile bool running; - std::thread t; -}; - -class DlrManager -{ -public: - ~DlrManager() - { - clear(); - if (recognizer != NULL) - { - DLR_DestroyInstance(recognizer); - recognizer = NULL; - } - }; - - void clearTasks() - { - if (worker->tasks.size() > 0) - { - for (int i = 0; i < worker->tasks.size(); i++) - { - free(worker->tasks.front().buffer); - worker->tasks.pop(); - } - } - } - - void clear() - { - if (worker) - { - std::unique_lock lk(worker->m); - worker->running = false; - - clearTasks(); - - worker->cv.notify_one(); - lk.unlock(); - - worker->t.join(); - delete worker; - worker = NULL; - printf("Quit native thread.\n"); - } - } - - int Init(const char *license) - { - // Click https://www.dynamsoft.com/customer/license/trialLicense/?product=dcv&package=cross-platform to get a trial license. - char errorMsgBuffer[512]; - int ret = DLR_InitLicense(license, errorMsgBuffer, 512); - printf("DC_InitLicense: %s\n", errorMsgBuffer); - recognizer = DLR_CreateInstance(); - worker = new WorkerThread(); - worker->running = true; - worker->t = thread(&run, this); - return ret; - } - - int LoadModel(const char *modelPath, const char *params) - { - if (!recognizer) - return -1; - - char errorMessage[256]; - - int ret = DLR_AppendSettingsFromString(recognizer, params, errorMessage, 256); - - return ret; - } - - static void run(DlrManager *self) - { - while (self->worker->running) - { - std::function task; - std::unique_lock lk(self->worker->m); - self->worker->cv.wait(lk, [&] - { return !self->worker->tasks.empty() || !self->worker->running; }); - if (!self->worker->running) - { - break; - } - task = std::move(self->worker->tasks.front().func); - self->worker->tasks.pop(); - lk.unlock(); - - task(); - } - } - - void queueTask(unsigned char *imageBuffer, int width, int height, int stride, int format, int len) - { - unsigned char *data = (unsigned char *)malloc(len); - memcpy(data, imageBuffer, len); - - std::unique_lock lk(worker->m); - clearTasks(); - std::function task_function = std::bind(processBuffer, this, data, width, height, stride, format); - Task task; - task.func = task_function; - task.buffer = data; - worker->tasks.push(task); - worker->cv.notify_one(); - lk.unlock(); - } - - ImagePixelFormat getPixelFormat(int format) - { - ImagePixelFormat pixelFormat = IPF_BGR_888; - switch (format) - { - case 0: - pixelFormat = IPF_BINARY; - break; - case 1: - pixelFormat = IPF_BINARYINVERTED; - break; - case 2: - pixelFormat = IPF_GRAYSCALED; - break; - case 3: - pixelFormat = IPF_NV21; - break; - case 4: - pixelFormat = IPF_RGB_565; - break; - case 5: - pixelFormat = IPF_RGB_555; - break; - case 6: - pixelFormat = IPF_RGB_888; - break; - case 7: - pixelFormat = IPF_ARGB_8888; - break; - case 8: - pixelFormat = IPF_RGB_161616; - break; - case 9: - pixelFormat = IPF_ARGB_16161616; - break; - case 10: - pixelFormat = IPF_ABGR_8888; - break; - case 11: - pixelFormat = IPF_ABGR_16161616; - break; - case 12: - pixelFormat = IPF_BGR_888; - break; - } - - return pixelFormat; - } - - static void processBuffer(DlrManager *self, unsigned char *buffer, int width, int height, int stride, int format) - { - ImageData data; - data.bytes = buffer; - data.width = width; - data.height = height; - data.stride = stride; - data.format = self->getPixelFormat(format); - data.bytesLength = stride * height; - - int ret = DLR_RecognizeByBuffer(self->recognizer, &data, "locr"); - if (ret) - { - printf("Detection error: %s\n", DLR_GetErrorString(ret)); - } - - free(buffer); - EncodableList results = self->WrapResults(); - std::unique_ptr> result = std::move(self->pendingResults.front()); - self->pendingResults.erase(self->pendingResults.begin()); - result->Success(results); - } - - EncodableList RecognizeFile(const char *filename) - { - EncodableList out; - if (recognizer == NULL) - return out; - - int ret = DLR_RecognizeByFile(recognizer, filename, "locr"); - if (ret) - { - printf("Detection error: %s\n", DLR_GetErrorString(ret)); - } - return WrapResults(); - } - - EncodableList WrapResults() - { - EncodableList out; - DLR_ResultArray *pResults = NULL; - DLR_GetAllResults(recognizer, &pResults); - if (!pResults) - { - return out; - } - - int count = pResults->resultsCount; - - for (int i = 0; i < count; i++) - { - EncodableList area; - DLR_Result *mrzResult = pResults->results[i]; - int lCount = mrzResult->lineResultsCount; - for (int j = 0; j < lCount; j++) - { - EncodableMap map; - - DM_Point *points = mrzResult->lineResults[j]->location.points; - int x1 = points[0].x; - int y1 = points[0].y; - int x2 = points[1].x; - int y2 = points[1].y; - int x3 = points[2].x; - int y3 = points[2].y; - int x4 = points[3].x; - int y4 = points[3].y; - - map[EncodableValue("confidence")] = EncodableValue(mrzResult->lineResults[j]->confidence); - map[EncodableValue("text")] = EncodableValue(mrzResult->lineResults[j]->text); - map[EncodableValue("x1")] = EncodableValue(x1); - map[EncodableValue("y1")] = EncodableValue(y1); - map[EncodableValue("x2")] = EncodableValue(x2); - map[EncodableValue("y2")] = EncodableValue(y2); - map[EncodableValue("x3")] = EncodableValue(x3); - map[EncodableValue("y3")] = EncodableValue(y3); - map[EncodableValue("x4")] = EncodableValue(x4); - map[EncodableValue("y4")] = EncodableValue(y4); - area.push_back(map); - } - - out.push_back(area); - } - - // Release memory - DLR_FreeResults(&pResults); - return out; - } - - void RecognizeBuffer(std::unique_ptr> &pendingResult, const unsigned char *buffer, int width, int height, int stride, int format) - { - pendingResults.push_back(std::move(pendingResult)); - queueTask((unsigned char *)buffer, width, height, stride, format, stride * height); - } - -private: - void *recognizer; - WorkerThread *worker; - vector>> pendingResults = {}; -}; - -#endif \ No newline at end of file diff --git a/windows/include/flutter_ocr_sdk/flutter_ocr_sdk_plugin_c_api.h b/windows/include/flutter_ocr_sdk/flutter_ocr_sdk_plugin_c_api.h deleted file mode 100644 index 5fee7ab..0000000 --- a/windows/include/flutter_ocr_sdk/flutter_ocr_sdk_plugin_c_api.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef FLUTTER_PLUGIN_FLUTTER_OCR_SDK_PLUGIN_C_API_H_ -#define FLUTTER_PLUGIN_FLUTTER_OCR_SDK_PLUGIN_C_API_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void FlutterOcrSdkPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // FLUTTER_PLUGIN_FLUTTER_OCR_SDK_PLUGIN_C_API_H_ diff --git a/windows/lib/DynamsoftLabelRecognizerx64.lib b/windows/lib/DynamsoftLabelRecognizerx64.lib deleted file mode 100644 index ce0707e..0000000 Binary files a/windows/lib/DynamsoftLabelRecognizerx64.lib and /dev/null differ